[DebianGIS-dev] r1105 - in packages/hdf5/trunk: . bin c++ c++/config c++/examples c++/src c++/src/header_files c++/test config config/site-specific debian doc/html doc/html/ADGuide doc/html/Graphics doc/html/Intro doc/html/PSandPDF doc/html/TechNotes doc/html/TechNotes/TestReview doc/html/Tutor doc/html/Tutor/Graphics doc/html/Tutor/examples doc/html/cpplus doc/html/cpplus_RM doc/html/cpplus_RM/header_files doc/html/ed_libs doc/html/ed_styles doc/html/fortran examples fortran fortran/config fortran/examples fortran/src fortran/test fortran/testpar hl hl/src hl/test perform release_docs src test testpar tools tools/h5diff tools/h5dump tools/h5import tools/h5jam tools/h5ls tools/h5repack tools/lib tools/misc tools/testfiles windows

frankie at alioth.debian.org frankie at alioth.debian.org
Tue Sep 25 08:53:37 UTC 2007


Author: frankie
Date: 2007-09-25 08:53:17 +0000 (Tue, 25 Sep 2007)
New Revision: 1105

Added:
   packages/hdf5/trunk/bin/COPYING
   packages/hdf5/trunk/bin/makehelp
   packages/hdf5/trunk/c++/COPYING
   packages/hdf5/trunk/c++/examples/strtype.cpp
   packages/hdf5/trunk/c++/examples/testh5c++.sh.in
   packages/hdf5/trunk/c++/src/H5cxx_config.h.in
   packages/hdf5/trunk/c++/test/tattr.cpp
   packages/hdf5/trunk/c++/test/tcompound.cpp
   packages/hdf5/trunk/c++/test/tfilter.cpp
   packages/hdf5/trunk/c++/test/trefer.cpp
   packages/hdf5/trunk/c++/test/ttypes.cpp
   packages/hdf5/trunk/c++/test/tvlstr.cpp
   packages/hdf5/trunk/config/COPYING
   packages/hdf5/trunk/config/i686-apple
   packages/hdf5/trunk/doc/html/Graphics/THGnoTextSm.jpg
   packages/hdf5/trunk/doc/html/Graphics/THGwTextSm.jpg
   packages/hdf5/trunk/doc/html/Graphics/XRD100.gif
   packages/hdf5/trunk/doc/html/Graphics/hdf2.gif
   packages/hdf5/trunk/doc/html/Graphics/help.gif
   packages/hdf5/trunk/doc/html/Graphics/help.jpg
   packages/hdf5/trunk/doc/html/Graphics/help.png
   packages/hdf5/trunk/doc/html/cpplus_RM/globals.html
   packages/hdf5/trunk/doc/html/cpplus_RM/globals_defs.html
   packages/hdf5/trunk/doc/html/ed_libs/copyright-html.lbi
   packages/hdf5/trunk/examples/testh5cc.sh.in
   packages/hdf5/trunk/fortran/COPYING
   packages/hdf5/trunk/fortran/config/i686-apple
   packages/hdf5/trunk/fortran/examples/ph5example.f90
   packages/hdf5/trunk/fortran/examples/testh5fc.sh.in
   packages/hdf5/trunk/hl/COPYING
   packages/hdf5/trunk/hl/examples/
   packages/hdf5/trunk/hl/src/COPYING
   packages/hdf5/trunk/hl/test/COPYING
   packages/hdf5/trunk/hl/tools/
   packages/hdf5/trunk/perform/COPYING
   packages/hdf5/trunk/release_docs/COPYING
   packages/hdf5/trunk/release_docs/INSTALL_Cygwin.txt
   packages/hdf5/trunk/release_docs/INSTALL_Windows_Short_VS6.0.txt
   packages/hdf5/trunk/src/COPYING
   packages/hdf5/trunk/src/H5Bcache.c
   packages/hdf5/trunk/src/H5Gname.c
   packages/hdf5/trunk/src/H5Gtest.c
   packages/hdf5/trunk/src/H5Gtraverse.c
   packages/hdf5/trunk/src/H5Ocache.c
   packages/hdf5/trunk/test/COPYING
   packages/hdf5/trunk/test/group_new.h5
   packages/hdf5/trunk/test/le_extlink1.h5
   packages/hdf5/trunk/test/mergemsg.h5
   packages/hdf5/trunk/testpar/COPYING
   packages/hdf5/trunk/testpar/t_chunk_alloc.c
   packages/hdf5/trunk/testpar/t_filter_read.c
   packages/hdf5/trunk/tools/COPYING
   packages/hdf5/trunk/tools/h5diff/h5diffgentest.c
   packages/hdf5/trunk/tools/h5dump/binread.c
   packages/hdf5/trunk/tools/h5repack/h5repacktst.c
   packages/hdf5/trunk/tools/testfiles/h5diff_100.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_101.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_102.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_16_1.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_16_2.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_16_3.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_26.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_27.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_28.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_58.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_90.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_attr1.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_attr2.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_basic1.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_basic2.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_dset1.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_dset2.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_dtypes.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_hyper1.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_hyper2.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_types.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_attr.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_big.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_deflate.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_early.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_early2.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_ext.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_fill.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_filters.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_fletcher.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_hlink.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_layout.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_objs.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_shuffle.h5
   packages/hdf5/trunk/tools/testfiles/h5repack_szip.h5
   packages/hdf5/trunk/tools/testfiles/info.h5repack
   packages/hdf5/trunk/tools/testfiles/nosuchfile.ls
   packages/hdf5/trunk/tools/testfiles/out3.h5import
   packages/hdf5/trunk/tools/testfiles/tbigdims.ddl
   packages/hdf5/trunk/tools/testfiles/tbigdims.h5
   packages/hdf5/trunk/tools/testfiles/tbin1.ddl
   packages/hdf5/trunk/tools/testfiles/tbin2.ddl
   packages/hdf5/trunk/tools/testfiles/tbin3.ddl
   packages/hdf5/trunk/tools/testfiles/tbin4.ddl
   packages/hdf5/trunk/tools/testfiles/tbinary.h5
   packages/hdf5/trunk/tools/testfiles/thyperslab.ddl
   packages/hdf5/trunk/tools/testfiles/thyperslab.h5
   packages/hdf5/trunk/tools/testfiles/tldouble.h5
   packages/hdf5/trunk/windows/COPYING
Removed:
   packages/hdf5/trunk/c++/config/rs6000-ibm-aix4.x
   packages/hdf5/trunk/config/dec-osf4.x
   packages/hdf5/trunk/config/hpux10.20
   packages/hdf5/trunk/config/hpux9.03
   packages/hdf5/trunk/config/intel-osf1
   packages/hdf5/trunk/config/irix5.x
   packages/hdf5/trunk/config/powerpc-ibm-aix4.x
   packages/hdf5/trunk/config/rs6000-ibm-aix4.x
   packages/hdf5/trunk/config/unicosmk2.0.5.X
   packages/hdf5/trunk/doc/html/ph5design.html
   packages/hdf5/trunk/doc/html/ph5example.c
   packages/hdf5/trunk/doc/html/ph5implement.txt
   packages/hdf5/trunk/fortran/config/dec-osf4.x
   packages/hdf5/trunk/fortran/config/hpux10.20
   packages/hdf5/trunk/fortran/config/hpux9.03
   packages/hdf5/trunk/fortran/config/intel-osf1
   packages/hdf5/trunk/fortran/config/irix5.x
   packages/hdf5/trunk/fortran/config/powerpc-ibm-aix4.x
   packages/hdf5/trunk/fortran/config/rs6000-ibm-aix4.x
   packages/hdf5/trunk/fortran/config/unicosmk2.0.5.X
   packages/hdf5/trunk/release_docs/INSTALL_TFLOPS
   packages/hdf5/trunk/release_docs/INSTALL_VFL
   packages/hdf5/trunk/release_docs/INSTALL_Windows_Short.txt
   packages/hdf5/trunk/release_docs/INSTALL_codewarrior.txt
   packages/hdf5/trunk/tools/gifconv/
   packages/hdf5/trunk/tools/h5diff/testh5diff.h
   packages/hdf5/trunk/tools/h5diff/testh5diff_attr.c
   packages/hdf5/trunk/tools/h5diff/testh5diff_basic.c
   packages/hdf5/trunk/tools/h5diff/testh5diff_dset.c
   packages/hdf5/trunk/tools/h5diff/testh5diff_main.c
   packages/hdf5/trunk/tools/h5diff/testh5diff_util.c
   packages/hdf5/trunk/tools/h5repack/testh5repack_attr.c
   packages/hdf5/trunk/tools/h5repack/testh5repack_dset.c
   packages/hdf5/trunk/tools/h5repack/testh5repack_main.c
   packages/hdf5/trunk/tools/h5repack/testh5repack_make.c
   packages/hdf5/trunk/tools/h5repack/testh5repack_util.c
   packages/hdf5/trunk/tools/lib/h5trav_table.c
   packages/hdf5/trunk/tools/testfiles/file1.h5
   packages/hdf5/trunk/tools/testfiles/file2.h5
   packages/hdf5/trunk/tools/testfiles/file3.h5
   packages/hdf5/trunk/tools/testfiles/file4.h5
   packages/hdf5/trunk/tools/testfiles/file5.h5
   packages/hdf5/trunk/tools/testfiles/file6.h5
   packages/hdf5/trunk/tools/testfiles/file7.h5
   packages/hdf5/trunk/tools/testfiles/file8.h5
   packages/hdf5/trunk/tools/testfiles/h5diff_16.txt
   packages/hdf5/trunk/tools/testfiles/h5repack_info.txt
   packages/hdf5/trunk/tools/testfiles/test0.h5
   packages/hdf5/trunk/tools/testfiles/test1.h5
   packages/hdf5/trunk/tools/testfiles/test3.h5
   packages/hdf5/trunk/tools/testfiles/test4.h5
   packages/hdf5/trunk/tools/testfiles/test5.h5
Modified:
   packages/hdf5/trunk/COPYING
   packages/hdf5/trunk/MANIFEST
   packages/hdf5/trunk/Makefile
   packages/hdf5/trunk/Makefile.dist
   packages/hdf5/trunk/Makefile.in
   packages/hdf5/trunk/README.txt
   packages/hdf5/trunk/aclocal.m4
   packages/hdf5/trunk/bin/buildhdf5
   packages/hdf5/trunk/bin/chkmanifest
   packages/hdf5/trunk/bin/config.guess
   packages/hdf5/trunk/bin/config.sub
   packages/hdf5/trunk/bin/config_para_ibm_sp.sh
   packages/hdf5/trunk/bin/dependencies
   packages/hdf5/trunk/bin/deploy
   packages/hdf5/trunk/bin/distdep
   packages/hdf5/trunk/bin/h5vers
   packages/hdf5/trunk/bin/iostats
   packages/hdf5/trunk/bin/locate_sw
   packages/hdf5/trunk/bin/ltmain.sh
   packages/hdf5/trunk/bin/mkdirs
   packages/hdf5/trunk/bin/release
   packages/hdf5/trunk/bin/snapshot
   packages/hdf5/trunk/bin/trace
   packages/hdf5/trunk/bin/yodconfigure
   packages/hdf5/trunk/c++/Makefile.in
   packages/hdf5/trunk/c++/aclocal.m4
   packages/hdf5/trunk/c++/config/BlankForm
   packages/hdf5/trunk/c++/config/commence.in
   packages/hdf5/trunk/c++/config/conclude.in
   packages/hdf5/trunk/c++/config/dec-osf5.x
   packages/hdf5/trunk/c++/config/depend1.in
   packages/hdf5/trunk/c++/config/depend2.in
   packages/hdf5/trunk/c++/config/depend3.in
   packages/hdf5/trunk/c++/config/depend4.in
   packages/hdf5/trunk/c++/config/dependN.in
   packages/hdf5/trunk/c++/config/freebsd
   packages/hdf5/trunk/c++/config/hpux11.00
   packages/hdf5/trunk/c++/config/hpux11.23
   packages/hdf5/trunk/c++/config/ia64-linux-gnu
   packages/hdf5/trunk/c++/config/irix6.x
   packages/hdf5/trunk/c++/config/linux-gnu
   packages/hdf5/trunk/c++/config/linux-gnulibc1
   packages/hdf5/trunk/c++/config/linux-gnulibc2
   packages/hdf5/trunk/c++/config/nv1-cray
   packages/hdf5/trunk/c++/config/powerpc-ibm-aix
   packages/hdf5/trunk/c++/config/solaris2.x
   packages/hdf5/trunk/c++/config/sv1-cray
   packages/hdf5/trunk/c++/config/unicos10.0.X
   packages/hdf5/trunk/c++/config/unicosmk2.0.6.X
   packages/hdf5/trunk/c++/configure
   packages/hdf5/trunk/c++/configure.in
   packages/hdf5/trunk/c++/examples/Dependencies
   packages/hdf5/trunk/c++/examples/Makefile.in
   packages/hdf5/trunk/c++/examples/chunks.cpp
   packages/hdf5/trunk/c++/examples/compound.cpp
   packages/hdf5/trunk/c++/examples/create.cpp
   packages/hdf5/trunk/c++/examples/expected.out
   packages/hdf5/trunk/c++/examples/extend_ds.cpp
   packages/hdf5/trunk/c++/examples/h5group.cpp
   packages/hdf5/trunk/c++/examples/readdata.cpp
   packages/hdf5/trunk/c++/examples/testexamples.sh
   packages/hdf5/trunk/c++/examples/writedata.cpp
   packages/hdf5/trunk/c++/src/Dependencies
   packages/hdf5/trunk/c++/src/H5AbstractDs.cpp
   packages/hdf5/trunk/c++/src/H5AbstractDs.h
   packages/hdf5/trunk/c++/src/H5Alltypes.h
   packages/hdf5/trunk/c++/src/H5ArrayType.cpp
   packages/hdf5/trunk/c++/src/H5ArrayType.h
   packages/hdf5/trunk/c++/src/H5AtomType.cpp
   packages/hdf5/trunk/c++/src/H5AtomType.h
   packages/hdf5/trunk/c++/src/H5Attribute.cpp
   packages/hdf5/trunk/c++/src/H5Attribute.h
   packages/hdf5/trunk/c++/src/H5Classes.h
   packages/hdf5/trunk/c++/src/H5CommonFG.cpp
   packages/hdf5/trunk/c++/src/H5CommonFG.h
   packages/hdf5/trunk/c++/src/H5CompType.cpp
   packages/hdf5/trunk/c++/src/H5CompType.h
   packages/hdf5/trunk/c++/src/H5Cpp.h
   packages/hdf5/trunk/c++/src/H5CppDoc.h
   packages/hdf5/trunk/c++/src/H5DataSet.cpp
   packages/hdf5/trunk/c++/src/H5DataSet.h
   packages/hdf5/trunk/c++/src/H5DataSpace.cpp
   packages/hdf5/trunk/c++/src/H5DataSpace.h
   packages/hdf5/trunk/c++/src/H5DataType.cpp
   packages/hdf5/trunk/c++/src/H5DataType.h
   packages/hdf5/trunk/c++/src/H5DcreatProp.cpp
   packages/hdf5/trunk/c++/src/H5DcreatProp.h
   packages/hdf5/trunk/c++/src/H5DxferProp.cpp
   packages/hdf5/trunk/c++/src/H5DxferProp.h
   packages/hdf5/trunk/c++/src/H5EnumType.cpp
   packages/hdf5/trunk/c++/src/H5EnumType.h
   packages/hdf5/trunk/c++/src/H5Exception.cpp
   packages/hdf5/trunk/c++/src/H5Exception.h
   packages/hdf5/trunk/c++/src/H5FaccProp.cpp
   packages/hdf5/trunk/c++/src/H5FaccProp.h
   packages/hdf5/trunk/c++/src/H5FcreatProp.cpp
   packages/hdf5/trunk/c++/src/H5FcreatProp.h
   packages/hdf5/trunk/c++/src/H5File.cpp
   packages/hdf5/trunk/c++/src/H5File.h
   packages/hdf5/trunk/c++/src/H5FloatType.cpp
   packages/hdf5/trunk/c++/src/H5FloatType.h
   packages/hdf5/trunk/c++/src/H5Group.cpp
   packages/hdf5/trunk/c++/src/H5Group.h
   packages/hdf5/trunk/c++/src/H5IdComponent.cpp
   packages/hdf5/trunk/c++/src/H5IdComponent.h
   packages/hdf5/trunk/c++/src/H5Include.h
   packages/hdf5/trunk/c++/src/H5IntType.cpp
   packages/hdf5/trunk/c++/src/H5IntType.h
   packages/hdf5/trunk/c++/src/H5Library.cpp
   packages/hdf5/trunk/c++/src/H5Library.h
   packages/hdf5/trunk/c++/src/H5Object.cpp
   packages/hdf5/trunk/c++/src/H5Object.h
   packages/hdf5/trunk/c++/src/H5PredType.cpp
   packages/hdf5/trunk/c++/src/H5PredType.h
   packages/hdf5/trunk/c++/src/H5PropList.cpp
   packages/hdf5/trunk/c++/src/H5PropList.h
   packages/hdf5/trunk/c++/src/H5StrType.cpp
   packages/hdf5/trunk/c++/src/H5StrType.h
   packages/hdf5/trunk/c++/src/H5VarLenType.cpp
   packages/hdf5/trunk/c++/src/H5VarLenType.h
   packages/hdf5/trunk/c++/src/Makefile.in
   packages/hdf5/trunk/c++/src/RM_stylesheet.css
   packages/hdf5/trunk/c++/src/cpp_doc_config
   packages/hdf5/trunk/c++/src/h5c++.in
   packages/hdf5/trunk/c++/src/header.html
   packages/hdf5/trunk/c++/src/header_files/filelist.xml
   packages/hdf5/trunk/c++/test/Dependencies
   packages/hdf5/trunk/c++/test/Makefile.in
   packages/hdf5/trunk/c++/test/dsets.cpp
   packages/hdf5/trunk/c++/test/h5cpputil.cpp
   packages/hdf5/trunk/c++/test/h5cpputil.h
   packages/hdf5/trunk/c++/test/testhdf5.cpp
   packages/hdf5/trunk/c++/test/tfile.cpp
   packages/hdf5/trunk/c++/test/th5s.cpp
   packages/hdf5/trunk/config/BlankForm
   packages/hdf5/trunk/config/commence.in
   packages/hdf5/trunk/config/conclude.in
   packages/hdf5/trunk/config/dec-flags
   packages/hdf5/trunk/config/dec-osf5.x
   packages/hdf5/trunk/config/depend1.in
   packages/hdf5/trunk/config/depend2.in
   packages/hdf5/trunk/config/depend3.in
   packages/hdf5/trunk/config/depend4.in
   packages/hdf5/trunk/config/dependN.in
   packages/hdf5/trunk/config/freebsd
   packages/hdf5/trunk/config/gnu-flags
   packages/hdf5/trunk/config/hpux11.00
   packages/hdf5/trunk/config/hpux11.23
   packages/hdf5/trunk/config/i386-pc-cygwin32
   packages/hdf5/trunk/config/i686-pc-cygwin
   packages/hdf5/trunk/config/ia64-linux-gnu
   packages/hdf5/trunk/config/intel-flags
   packages/hdf5/trunk/config/irix6.x
   packages/hdf5/trunk/config/linux-gnu
   packages/hdf5/trunk/config/linux-gnuaout
   packages/hdf5/trunk/config/linux-gnulibc1
   packages/hdf5/trunk/config/linux-gnulibc2
   packages/hdf5/trunk/config/mpich
   packages/hdf5/trunk/config/nv1-cray
   packages/hdf5/trunk/config/pgi-flags
   packages/hdf5/trunk/config/powerpc-apple
   packages/hdf5/trunk/config/powerpc-ibm-aix5.x
   packages/hdf5/trunk/config/powerpc-ibm-linux-gnu
   packages/hdf5/trunk/config/site-specific/BlankForm
   packages/hdf5/trunk/config/solaris2.x
   packages/hdf5/trunk/config/sv1-cray
   packages/hdf5/trunk/config/unicos
   packages/hdf5/trunk/config/unicos10.0.X
   packages/hdf5/trunk/config/unicosmk
   packages/hdf5/trunk/config/unicosmk2.0.6.X
   packages/hdf5/trunk/config/unicosmk2.0.X
   packages/hdf5/trunk/configure
   packages/hdf5/trunk/configure.in
   packages/hdf5/trunk/debian/changelog
   packages/hdf5/trunk/debian/control
   packages/hdf5/trunk/doc/html/ADGuide.html
   packages/hdf5/trunk/doc/html/ADGuide/Changes.html
   packages/hdf5/trunk/doc/html/ADGuide/HISTORY.txt
   packages/hdf5/trunk/doc/html/ADGuide/ImageSpec.html
   packages/hdf5/trunk/doc/html/ADGuide/Makefile.in
   packages/hdf5/trunk/doc/html/ADGuide/RELEASE.txt
   packages/hdf5/trunk/doc/html/Attributes.html
   packages/hdf5/trunk/doc/html/Big.html
   packages/hdf5/trunk/doc/html/Caching.html
   packages/hdf5/trunk/doc/html/Chunking.html
   packages/hdf5/trunk/doc/html/Coding.html
   packages/hdf5/trunk/doc/html/Copyright.html
   packages/hdf5/trunk/doc/html/Datasets.html
   packages/hdf5/trunk/doc/html/Dataspaces.html
   packages/hdf5/trunk/doc/html/Datatypes.html
   packages/hdf5/trunk/doc/html/DatatypesEnum.html
   packages/hdf5/trunk/doc/html/Debugging.html
   packages/hdf5/trunk/doc/html/Environment.html
   packages/hdf5/trunk/doc/html/Errors.html
   packages/hdf5/trunk/doc/html/Files.html
   packages/hdf5/trunk/doc/html/Filters.html
   packages/hdf5/trunk/doc/html/Glossary.html
   packages/hdf5/trunk/doc/html/Graphics/Makefile.in
   packages/hdf5/trunk/doc/html/Groups.html
   packages/hdf5/trunk/doc/html/H5.format.html
   packages/hdf5/trunk/doc/html/H5.intro.html
   packages/hdf5/trunk/doc/html/H5.user.PrintGen.html
   packages/hdf5/trunk/doc/html/H5.user.html
   packages/hdf5/trunk/doc/html/IOPipe.html
   packages/hdf5/trunk/doc/html/Intro/IntroExamples.html
   packages/hdf5/trunk/doc/html/Intro/Makefile.in
   packages/hdf5/trunk/doc/html/Makefile.in
   packages/hdf5/trunk/doc/html/MountingFiles.html
   packages/hdf5/trunk/doc/html/PSandPDF/Makefile.in
   packages/hdf5/trunk/doc/html/Performance.html
   packages/hdf5/trunk/doc/html/PredefDTypes.html
   packages/hdf5/trunk/doc/html/Properties.html
   packages/hdf5/trunk/doc/html/RM_H5.html
   packages/hdf5/trunk/doc/html/RM_H5A.html
   packages/hdf5/trunk/doc/html/RM_H5D.html
   packages/hdf5/trunk/doc/html/RM_H5E.html
   packages/hdf5/trunk/doc/html/RM_H5F.html
   packages/hdf5/trunk/doc/html/RM_H5Front.html
   packages/hdf5/trunk/doc/html/RM_H5G.html
   packages/hdf5/trunk/doc/html/RM_H5I.html
   packages/hdf5/trunk/doc/html/RM_H5P.html
   packages/hdf5/trunk/doc/html/RM_H5R.html
   packages/hdf5/trunk/doc/html/RM_H5S.html
   packages/hdf5/trunk/doc/html/RM_H5T.html
   packages/hdf5/trunk/doc/html/RM_H5Z.html
   packages/hdf5/trunk/doc/html/References.html
   packages/hdf5/trunk/doc/html/TechNotes.html
   packages/hdf5/trunk/doc/html/TechNotes/Basic_perform.html
   packages/hdf5/trunk/doc/html/TechNotes/BigDataSmMach.html
   packages/hdf5/trunk/doc/html/TechNotes/ChunkingStudy.html
   packages/hdf5/trunk/doc/html/TechNotes/CodeReview.html
   packages/hdf5/trunk/doc/html/TechNotes/Daily_Test_Explained.htm
   packages/hdf5/trunk/doc/html/TechNotes/ExternalFiles.html
   packages/hdf5/trunk/doc/html/TechNotes/FreeLists.html
   packages/hdf5/trunk/doc/html/TechNotes/H4-H5Compat.html
   packages/hdf5/trunk/doc/html/TechNotes/HeapMgmt.html
   packages/hdf5/trunk/doc/html/TechNotes/IOPipe.html
   packages/hdf5/trunk/doc/html/TechNotes/LibMaint.html
   packages/hdf5/trunk/doc/html/TechNotes/Makefile.in
   packages/hdf5/trunk/doc/html/TechNotes/MemoryMgmt.html
   packages/hdf5/trunk/doc/html/TechNotes/MoveDStruct.html
   packages/hdf5/trunk/doc/html/TechNotes/NamingScheme.html
   packages/hdf5/trunk/doc/html/TechNotes/ObjectHeader.html
   packages/hdf5/trunk/doc/html/TechNotes/RawDStorage.html
   packages/hdf5/trunk/doc/html/TechNotes/ReservedFileSpace.html
   packages/hdf5/trunk/doc/html/TechNotes/SWControls.html
   packages/hdf5/trunk/doc/html/TechNotes/SymbolTables.html
   packages/hdf5/trunk/doc/html/TechNotes/TestReview.html
   packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Dget_offset.html
   packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Tget_native_type.html
   packages/hdf5/trunk/doc/html/TechNotes/ThreadSafeLibrary.html
   packages/hdf5/trunk/doc/html/TechNotes/VFL.html
   packages/hdf5/trunk/doc/html/TechNotes/VFLfunc.html
   packages/hdf5/trunk/doc/html/TechNotes/Version.html
   packages/hdf5/trunk/doc/html/TechNotes/openmp-hdf5.html
   packages/hdf5/trunk/doc/html/Tools.html
   packages/hdf5/trunk/doc/html/Tutor/Graphics/Makefile.in
   packages/hdf5/trunk/doc/html/Tutor/Makefile.in
   packages/hdf5/trunk/doc/html/Tutor/examples/Makefile.in
   packages/hdf5/trunk/doc/html/Version.html
   packages/hdf5/trunk/doc/html/compat.html
   packages/hdf5/trunk/doc/html/cpplus/Makefile.in
   packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8cpp.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h-source.html
   packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h.html
   packages/hdf5/trunk/doc/html/cpplus_RM/Makefile.in
   packages/hdf5/trunk/doc/html/cpplus_RM/annotated.html
   packages/hdf5/trunk/doc/html/cpplus_RM/chunks_8cpp-example.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType-members.html
   packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType.html
   packages/hdf5/trunk/doc/html/cpplus_RM/compound_8cpp-example.html
   packages/hdf5/trunk/doc/html/cpplus_RM/create_8cpp-example.html
   packages/hdf5/trunk/doc/html/cpplus_RM/examples.html
   packages/hdf5/trunk/doc/html/cpplus_RM/extend__ds_8cpp-example.html
   packages/hdf5/trunk/doc/html/cpplus_RM/files.html
   packages/hdf5/trunk/doc/html/cpplus_RM/functions.html
   packages/hdf5/trunk/doc/html/cpplus_RM/functions_func.html
   packages/hdf5/trunk/doc/html/cpplus_RM/functions_vars.html
   packages/hdf5/trunk/doc/html/cpplus_RM/h5group_8cpp-example.html
   packages/hdf5/trunk/doc/html/cpplus_RM/header.html
   packages/hdf5/trunk/doc/html/cpplus_RM/header_files/Makefile.in
   packages/hdf5/trunk/doc/html/cpplus_RM/header_files/filelist.xml
   packages/hdf5/trunk/doc/html/cpplus_RM/hierarchy.html
   packages/hdf5/trunk/doc/html/cpplus_RM/index.html
   packages/hdf5/trunk/doc/html/cpplus_RM/namespaceH5.html
   packages/hdf5/trunk/doc/html/cpplus_RM/namespaces.html
   packages/hdf5/trunk/doc/html/cpplus_RM/readdata_8cpp-example.html
   packages/hdf5/trunk/doc/html/cpplus_RM/writedata_8cpp-example.html
   packages/hdf5/trunk/doc/html/ddl.html
   packages/hdf5/trunk/doc/html/ed_libs/Footer.lbi
   packages/hdf5/trunk/doc/html/ed_libs/Makefile.in
   packages/hdf5/trunk/doc/html/ed_libs/NavBar_ADevG.lbi
   packages/hdf5/trunk/doc/html/ed_libs/NavBar_Common.lbi
   packages/hdf5/trunk/doc/html/ed_libs/NavBar_Intro.lbi
   packages/hdf5/trunk/doc/html/ed_libs/NavBar_RM.lbi
   packages/hdf5/trunk/doc/html/ed_libs/NavBar_TechN.lbi
   packages/hdf5/trunk/doc/html/ed_libs/NavBar_UG.lbi
   packages/hdf5/trunk/doc/html/ed_libs/styles_Format.lbi
   packages/hdf5/trunk/doc/html/ed_libs/styles_Gen.lbi
   packages/hdf5/trunk/doc/html/ed_libs/styles_Index.lbi
   packages/hdf5/trunk/doc/html/ed_libs/styles_Intro.lbi
   packages/hdf5/trunk/doc/html/ed_libs/styles_RM.lbi
   packages/hdf5/trunk/doc/html/ed_libs/styles_UG.lbi
   packages/hdf5/trunk/doc/html/ed_styles/Makefile.in
   packages/hdf5/trunk/doc/html/fortran/F90Flags.html
   packages/hdf5/trunk/doc/html/fortran/F90UserNotes.html
   packages/hdf5/trunk/doc/html/fortran/Makefile.in
   packages/hdf5/trunk/doc/html/index.html
   packages/hdf5/trunk/examples/Dependencies
   packages/hdf5/trunk/examples/Makefile.in
   packages/hdf5/trunk/examples/h5_attribute.c
   packages/hdf5/trunk/examples/h5_chunk_read.c
   packages/hdf5/trunk/examples/h5_compound.c
   packages/hdf5/trunk/examples/h5_drivers.c
   packages/hdf5/trunk/examples/h5_extend_write.c
   packages/hdf5/trunk/examples/h5_group.c
   packages/hdf5/trunk/examples/h5_mount.c
   packages/hdf5/trunk/examples/h5_read.c
   packages/hdf5/trunk/examples/h5_reference.c
   packages/hdf5/trunk/examples/h5_select.c
   packages/hdf5/trunk/examples/h5_write.c
   packages/hdf5/trunk/examples/ph5example.c
   packages/hdf5/trunk/fortran/Makefile.dist
   packages/hdf5/trunk/fortran/Makefile.in
   packages/hdf5/trunk/fortran/config/BlankForm
   packages/hdf5/trunk/fortran/config/commence.in
   packages/hdf5/trunk/fortran/config/conclude.in
   packages/hdf5/trunk/fortran/config/dec-flags
   packages/hdf5/trunk/fortran/config/dec-osf5.x
   packages/hdf5/trunk/fortran/config/depend1.in
   packages/hdf5/trunk/fortran/config/depend2.in
   packages/hdf5/trunk/fortran/config/depend3.in
   packages/hdf5/trunk/fortran/config/depend4.in
   packages/hdf5/trunk/fortran/config/dependN.in
   packages/hdf5/trunk/fortran/config/freebsd
   packages/hdf5/trunk/fortran/config/gnu-flags
   packages/hdf5/trunk/fortran/config/hpux11.00
   packages/hdf5/trunk/fortran/config/hpux11.23
   packages/hdf5/trunk/fortran/config/i386-pc-cygwin32
   packages/hdf5/trunk/fortran/config/ia64-linux-gnu
   packages/hdf5/trunk/fortran/config/intel-fflags
   packages/hdf5/trunk/fortran/config/intel-flags
   packages/hdf5/trunk/fortran/config/irix6.x
   packages/hdf5/trunk/fortran/config/linux-gnu
   packages/hdf5/trunk/fortran/config/linux-gnuaout
   packages/hdf5/trunk/fortran/config/linux-gnulibc1
   packages/hdf5/trunk/fortran/config/linux-gnulibc2
   packages/hdf5/trunk/fortran/config/nv1-cray
   packages/hdf5/trunk/fortran/config/pgi-fflags
   packages/hdf5/trunk/fortran/config/pgi-flags
   packages/hdf5/trunk/fortran/config/powerpc-apple
   packages/hdf5/trunk/fortran/config/powerpc-ibm-aix5.x
   packages/hdf5/trunk/fortran/config/solaris2.x
   packages/hdf5/trunk/fortran/config/sv1-cray
   packages/hdf5/trunk/fortran/config/unicos
   packages/hdf5/trunk/fortran/config/unicos10.0.X
   packages/hdf5/trunk/fortran/config/unicosmk
   packages/hdf5/trunk/fortran/config/unicosmk2.0.6.X
   packages/hdf5/trunk/fortran/config/unicosmk2.0.X
   packages/hdf5/trunk/fortran/configure
   packages/hdf5/trunk/fortran/configure.in
   packages/hdf5/trunk/fortran/examples/Dependencies
   packages/hdf5/trunk/fortran/examples/Makefile.in
   packages/hdf5/trunk/fortran/examples/attrexample.f90
   packages/hdf5/trunk/fortran/examples/compound.f90
   packages/hdf5/trunk/fortran/examples/dsetexample.f90
   packages/hdf5/trunk/fortran/examples/fileexample.f90
   packages/hdf5/trunk/fortran/examples/groupexample.f90
   packages/hdf5/trunk/fortran/examples/grpdsetexample.f90
   packages/hdf5/trunk/fortran/examples/grpit.f90
   packages/hdf5/trunk/fortran/examples/grpsexample.f90
   packages/hdf5/trunk/fortran/examples/hyperslab.f90
   packages/hdf5/trunk/fortran/examples/mountexample.f90
   packages/hdf5/trunk/fortran/examples/refobjexample.f90
   packages/hdf5/trunk/fortran/examples/refregexample.f90
   packages/hdf5/trunk/fortran/examples/rwdsetexample.f90
   packages/hdf5/trunk/fortran/examples/selectele.f90
   packages/hdf5/trunk/fortran/src/Dependencies
   packages/hdf5/trunk/fortran/src/H5Af.c
   packages/hdf5/trunk/fortran/src/H5Aff.f90
   packages/hdf5/trunk/fortran/src/H5Df.c
   packages/hdf5/trunk/fortran/src/H5Dff.f90
   packages/hdf5/trunk/fortran/src/H5Ef.c
   packages/hdf5/trunk/fortran/src/H5Eff.f90
   packages/hdf5/trunk/fortran/src/H5FDmpiof.c
   packages/hdf5/trunk/fortran/src/H5FDmpioff.f90
   packages/hdf5/trunk/fortran/src/H5Ff.c
   packages/hdf5/trunk/fortran/src/H5Fff.f90
   packages/hdf5/trunk/fortran/src/H5Gf.c
   packages/hdf5/trunk/fortran/src/H5Gff.f90
   packages/hdf5/trunk/fortran/src/H5If.c
   packages/hdf5/trunk/fortran/src/H5Iff.f90
   packages/hdf5/trunk/fortran/src/H5Pf.c
   packages/hdf5/trunk/fortran/src/H5Pff.f90
   packages/hdf5/trunk/fortran/src/H5Rf.c
   packages/hdf5/trunk/fortran/src/H5Rff.f90
   packages/hdf5/trunk/fortran/src/H5Sf.c
   packages/hdf5/trunk/fortran/src/H5Sff.f90
   packages/hdf5/trunk/fortran/src/H5Tf.c
   packages/hdf5/trunk/fortran/src/H5Tff.f90
   packages/hdf5/trunk/fortran/src/H5Zf.c
   packages/hdf5/trunk/fortran/src/H5Zff.f90
   packages/hdf5/trunk/fortran/src/H5_f.c
   packages/hdf5/trunk/fortran/src/H5_ff.f90
   packages/hdf5/trunk/fortran/src/H5f90.h
   packages/hdf5/trunk/fortran/src/H5f90global.f90
   packages/hdf5/trunk/fortran/src/H5f90i.h
   packages/hdf5/trunk/fortran/src/H5f90kit.c
   packages/hdf5/trunk/fortran/src/H5f90proto.h
   packages/hdf5/trunk/fortran/src/H5fortran_flags.f90
   packages/hdf5/trunk/fortran/src/H5fortran_types.f90.in
   packages/hdf5/trunk/fortran/src/HDF5.f90
   packages/hdf5/trunk/fortran/src/HDF5mpio.f90
   packages/hdf5/trunk/fortran/src/Makefile.in
   packages/hdf5/trunk/fortran/src/h5fc.in
   packages/hdf5/trunk/fortran/test/Dependencies
   packages/hdf5/trunk/fortran/test/Makefile.in
   packages/hdf5/trunk/fortran/test/fflush1.f90
   packages/hdf5/trunk/fortran/test/fflush2.f90
   packages/hdf5/trunk/fortran/test/fortranlib_test.f90
   packages/hdf5/trunk/fortran/test/t.c
   packages/hdf5/trunk/fortran/test/t.h
   packages/hdf5/trunk/fortran/test/tH5A.f90
   packages/hdf5/trunk/fortran/test/tH5D.f90
   packages/hdf5/trunk/fortran/test/tH5E.f90
   packages/hdf5/trunk/fortran/test/tH5F.f90
   packages/hdf5/trunk/fortran/test/tH5G.f90
   packages/hdf5/trunk/fortran/test/tH5I.f90
   packages/hdf5/trunk/fortran/test/tH5P.f90
   packages/hdf5/trunk/fortran/test/tH5R.f90
   packages/hdf5/trunk/fortran/test/tH5S.f90
   packages/hdf5/trunk/fortran/test/tH5Sselect.f90
   packages/hdf5/trunk/fortran/test/tH5T.f90
   packages/hdf5/trunk/fortran/test/tH5VL.f90
   packages/hdf5/trunk/fortran/test/tH5Z.f90
   packages/hdf5/trunk/fortran/test/tf.f90
   packages/hdf5/trunk/fortran/testpar/Dependencies
   packages/hdf5/trunk/fortran/testpar/Makefile.in
   packages/hdf5/trunk/fortran/testpar/ptesthdf5_fortran.f90
   packages/hdf5/trunk/fortran/testpar/thdf5.f90
   packages/hdf5/trunk/fortran/testpar/thyperslab_wr.f90
   packages/hdf5/trunk/hl/Makefile.in
   packages/hdf5/trunk/hl/src/Dependencies
   packages/hdf5/trunk/hl/src/H5IM.c
   packages/hdf5/trunk/hl/src/H5IM.h
   packages/hdf5/trunk/hl/src/H5LT.c
   packages/hdf5/trunk/hl/src/H5LT.h
   packages/hdf5/trunk/hl/src/H5TA.c
   packages/hdf5/trunk/hl/src/H5TA.h
   packages/hdf5/trunk/hl/src/Makefile.in
   packages/hdf5/trunk/hl/test/Dependencies
   packages/hdf5/trunk/hl/test/Makefile.in
   packages/hdf5/trunk/hl/test/test_image.c
   packages/hdf5/trunk/hl/test/test_lite.c
   packages/hdf5/trunk/hl/test/test_table.c
   packages/hdf5/trunk/perform/Dependencies
   packages/hdf5/trunk/perform/Makefile.in
   packages/hdf5/trunk/perform/benchpar.c
   packages/hdf5/trunk/perform/chunk.c
   packages/hdf5/trunk/perform/gen_report.pl
   packages/hdf5/trunk/perform/iopipe.c
   packages/hdf5/trunk/perform/mpi-perf.c
   packages/hdf5/trunk/perform/overhead.c
   packages/hdf5/trunk/perform/perf.c
   packages/hdf5/trunk/perform/perf_meta.c
   packages/hdf5/trunk/perform/pio_engine.c
   packages/hdf5/trunk/perform/pio_perf.c
   packages/hdf5/trunk/perform/pio_perf.h
   packages/hdf5/trunk/perform/pio_timer.c
   packages/hdf5/trunk/perform/pio_timer.h
   packages/hdf5/trunk/perform/zip_perf.c
   packages/hdf5/trunk/release_docs/HISTORY.txt
   packages/hdf5/trunk/release_docs/INSTALL
   packages/hdf5/trunk/release_docs/INSTALL_Windows.txt
   packages/hdf5/trunk/release_docs/INSTALL_Windows_From_Command_Line.txt
   packages/hdf5/trunk/release_docs/INSTALL_parallel
   packages/hdf5/trunk/release_docs/RELEASE.txt
   packages/hdf5/trunk/src/Dependencies
   packages/hdf5/trunk/src/H5.c
   packages/hdf5/trunk/src/H5A.c
   packages/hdf5/trunk/src/H5AC.c
   packages/hdf5/trunk/src/H5ACprivate.h
   packages/hdf5/trunk/src/H5ACpublic.h
   packages/hdf5/trunk/src/H5Apkg.h
   packages/hdf5/trunk/src/H5Aprivate.h
   packages/hdf5/trunk/src/H5Apublic.h
   packages/hdf5/trunk/src/H5B.c
   packages/hdf5/trunk/src/H5Bpkg.h
   packages/hdf5/trunk/src/H5Bprivate.h
   packages/hdf5/trunk/src/H5Bpublic.h
   packages/hdf5/trunk/src/H5C.c
   packages/hdf5/trunk/src/H5Cprivate.h
   packages/hdf5/trunk/src/H5Cpublic.h
   packages/hdf5/trunk/src/H5D.c
   packages/hdf5/trunk/src/H5Dcompact.c
   packages/hdf5/trunk/src/H5Dcontig.c
   packages/hdf5/trunk/src/H5Defl.c
   packages/hdf5/trunk/src/H5Dio.c
   packages/hdf5/trunk/src/H5Distore.c
   packages/hdf5/trunk/src/H5Dmpio.c
   packages/hdf5/trunk/src/H5Dpkg.h
   packages/hdf5/trunk/src/H5Dprivate.h
   packages/hdf5/trunk/src/H5Dpublic.h
   packages/hdf5/trunk/src/H5Dselect.c
   packages/hdf5/trunk/src/H5Dtest.c
   packages/hdf5/trunk/src/H5E.c
   packages/hdf5/trunk/src/H5Eprivate.h
   packages/hdf5/trunk/src/H5Epublic.h
   packages/hdf5/trunk/src/H5F.c
   packages/hdf5/trunk/src/H5FD.c
   packages/hdf5/trunk/src/H5FDcore.c
   packages/hdf5/trunk/src/H5FDcore.h
   packages/hdf5/trunk/src/H5FDfamily.c
   packages/hdf5/trunk/src/H5FDfamily.h
   packages/hdf5/trunk/src/H5FDgass.c
   packages/hdf5/trunk/src/H5FDgass.h
   packages/hdf5/trunk/src/H5FDlog.c
   packages/hdf5/trunk/src/H5FDlog.h
   packages/hdf5/trunk/src/H5FDmpi.c
   packages/hdf5/trunk/src/H5FDmpi.h
   packages/hdf5/trunk/src/H5FDmpio.c
   packages/hdf5/trunk/src/H5FDmpio.h
   packages/hdf5/trunk/src/H5FDmpiposix.c
   packages/hdf5/trunk/src/H5FDmpiposix.h
   packages/hdf5/trunk/src/H5FDmulti.c
   packages/hdf5/trunk/src/H5FDmulti.h
   packages/hdf5/trunk/src/H5FDprivate.h
   packages/hdf5/trunk/src/H5FDpublic.h
   packages/hdf5/trunk/src/H5FDsec2.c
   packages/hdf5/trunk/src/H5FDsec2.h
   packages/hdf5/trunk/src/H5FDsrb.c
   packages/hdf5/trunk/src/H5FDsrb.h
   packages/hdf5/trunk/src/H5FDstdio.c
   packages/hdf5/trunk/src/H5FDstdio.h
   packages/hdf5/trunk/src/H5FDstream.c
   packages/hdf5/trunk/src/H5FDstream.h
   packages/hdf5/trunk/src/H5FL.c
   packages/hdf5/trunk/src/H5FLprivate.h
   packages/hdf5/trunk/src/H5FO.c
   packages/hdf5/trunk/src/H5FOprivate.h
   packages/hdf5/trunk/src/H5FS.c
   packages/hdf5/trunk/src/H5FSprivate.h
   packages/hdf5/trunk/src/H5Fdbg.c
   packages/hdf5/trunk/src/H5Fmount.c
   packages/hdf5/trunk/src/H5Fpkg.h
   packages/hdf5/trunk/src/H5Fprivate.h
   packages/hdf5/trunk/src/H5Fpublic.h
   packages/hdf5/trunk/src/H5Fsfile.c
   packages/hdf5/trunk/src/H5Fsuper.c
   packages/hdf5/trunk/src/H5G.c
   packages/hdf5/trunk/src/H5Gent.c
   packages/hdf5/trunk/src/H5Gnode.c
   packages/hdf5/trunk/src/H5Gpkg.h
   packages/hdf5/trunk/src/H5Gprivate.h
   packages/hdf5/trunk/src/H5Gpublic.h
   packages/hdf5/trunk/src/H5Gstab.c
   packages/hdf5/trunk/src/H5HG.c
   packages/hdf5/trunk/src/H5HGdbg.c
   packages/hdf5/trunk/src/H5HGpkg.h
   packages/hdf5/trunk/src/H5HGprivate.h
   packages/hdf5/trunk/src/H5HGpublic.h
   packages/hdf5/trunk/src/H5HL.c
   packages/hdf5/trunk/src/H5HLdbg.c
   packages/hdf5/trunk/src/H5HLpkg.h
   packages/hdf5/trunk/src/H5HLprivate.h
   packages/hdf5/trunk/src/H5HLpublic.h
   packages/hdf5/trunk/src/H5HP.c
   packages/hdf5/trunk/src/H5HPprivate.h
   packages/hdf5/trunk/src/H5I.c
   packages/hdf5/trunk/src/H5Ipkg.h
   packages/hdf5/trunk/src/H5Iprivate.h
   packages/hdf5/trunk/src/H5Ipublic.h
   packages/hdf5/trunk/src/H5MF.c
   packages/hdf5/trunk/src/H5MFprivate.h
   packages/hdf5/trunk/src/H5MM.c
   packages/hdf5/trunk/src/H5MMprivate.h
   packages/hdf5/trunk/src/H5MMpublic.h
   packages/hdf5/trunk/src/H5MPprivate.h
   packages/hdf5/trunk/src/H5O.c
   packages/hdf5/trunk/src/H5Oattr.c
   packages/hdf5/trunk/src/H5Obogus.c
   packages/hdf5/trunk/src/H5Ocont.c
   packages/hdf5/trunk/src/H5Odtype.c
   packages/hdf5/trunk/src/H5Oefl.c
   packages/hdf5/trunk/src/H5Ofill.c
   packages/hdf5/trunk/src/H5Olayout.c
   packages/hdf5/trunk/src/H5Omtime.c
   packages/hdf5/trunk/src/H5Oname.c
   packages/hdf5/trunk/src/H5Onull.c
   packages/hdf5/trunk/src/H5Opkg.h
   packages/hdf5/trunk/src/H5Opline.c
   packages/hdf5/trunk/src/H5Oprivate.h
   packages/hdf5/trunk/src/H5Opublic.h
   packages/hdf5/trunk/src/H5Osdspace.c
   packages/hdf5/trunk/src/H5Oshared.c
   packages/hdf5/trunk/src/H5Ostab.c
   packages/hdf5/trunk/src/H5P.c
   packages/hdf5/trunk/src/H5Pdcpl.c
   packages/hdf5/trunk/src/H5Pdxpl.c
   packages/hdf5/trunk/src/H5Pfapl.c
   packages/hdf5/trunk/src/H5Pfcpl.c
   packages/hdf5/trunk/src/H5Ppkg.h
   packages/hdf5/trunk/src/H5Pprivate.h
   packages/hdf5/trunk/src/H5Ppublic.h
   packages/hdf5/trunk/src/H5Ptest.c
   packages/hdf5/trunk/src/H5R.c
   packages/hdf5/trunk/src/H5RC.c
   packages/hdf5/trunk/src/H5RCprivate.h
   packages/hdf5/trunk/src/H5RS.c
   packages/hdf5/trunk/src/H5RSprivate.h
   packages/hdf5/trunk/src/H5Rprivate.h
   packages/hdf5/trunk/src/H5Rpublic.h
   packages/hdf5/trunk/src/H5S.c
   packages/hdf5/trunk/src/H5SL.c
   packages/hdf5/trunk/src/H5SLprivate.h
   packages/hdf5/trunk/src/H5ST.c
   packages/hdf5/trunk/src/H5STprivate.h
   packages/hdf5/trunk/src/H5Sall.c
   packages/hdf5/trunk/src/H5Shyper.c
   packages/hdf5/trunk/src/H5Smpio.c
   packages/hdf5/trunk/src/H5Snone.c
   packages/hdf5/trunk/src/H5Spkg.h
   packages/hdf5/trunk/src/H5Spoint.c
   packages/hdf5/trunk/src/H5Sprivate.h
   packages/hdf5/trunk/src/H5Spublic.h
   packages/hdf5/trunk/src/H5Sselect.c
   packages/hdf5/trunk/src/H5Stest.c
   packages/hdf5/trunk/src/H5T.c
   packages/hdf5/trunk/src/H5TS.c
   packages/hdf5/trunk/src/H5TSprivate.h
   packages/hdf5/trunk/src/H5Tarray.c
   packages/hdf5/trunk/src/H5Tbit.c
   packages/hdf5/trunk/src/H5Tcommit.c
   packages/hdf5/trunk/src/H5Tcompound.c
   packages/hdf5/trunk/src/H5Tconv.c
   packages/hdf5/trunk/src/H5Tcset.c
   packages/hdf5/trunk/src/H5Tenum.c
   packages/hdf5/trunk/src/H5Tfields.c
   packages/hdf5/trunk/src/H5Tfixed.c
   packages/hdf5/trunk/src/H5Tfloat.c
   packages/hdf5/trunk/src/H5Tnative.c
   packages/hdf5/trunk/src/H5Toffset.c
   packages/hdf5/trunk/src/H5Topaque.c
   packages/hdf5/trunk/src/H5Torder.c
   packages/hdf5/trunk/src/H5Tpad.c
   packages/hdf5/trunk/src/H5Tpkg.h
   packages/hdf5/trunk/src/H5Tprecis.c
   packages/hdf5/trunk/src/H5Tprivate.h
   packages/hdf5/trunk/src/H5Tpublic.h
   packages/hdf5/trunk/src/H5Tstrpad.c
   packages/hdf5/trunk/src/H5Tvlen.c
   packages/hdf5/trunk/src/H5V.c
   packages/hdf5/trunk/src/H5Vprivate.h
   packages/hdf5/trunk/src/H5Z.c
   packages/hdf5/trunk/src/H5Zdeflate.c
   packages/hdf5/trunk/src/H5Zfletcher32.c
   packages/hdf5/trunk/src/H5Zpkg.h
   packages/hdf5/trunk/src/H5Zprivate.h
   packages/hdf5/trunk/src/H5Zpublic.h
   packages/hdf5/trunk/src/H5Zshuffle.c
   packages/hdf5/trunk/src/H5Zszip.c
   packages/hdf5/trunk/src/H5api_adpt.h
   packages/hdf5/trunk/src/H5config.h.in
   packages/hdf5/trunk/src/H5detect.c
   packages/hdf5/trunk/src/H5private.h
   packages/hdf5/trunk/src/H5public.h
   packages/hdf5/trunk/src/Makefile.in
   packages/hdf5/trunk/src/hdf5.h
   packages/hdf5/trunk/test/Dependencies
   packages/hdf5/trunk/test/Makefile.in
   packages/hdf5/trunk/test/big.c
   packages/hdf5/trunk/test/bittests.c
   packages/hdf5/trunk/test/cache.c
   packages/hdf5/trunk/test/cmpd_dset.c
   packages/hdf5/trunk/test/dangle.c
   packages/hdf5/trunk/test/dsets.c
   packages/hdf5/trunk/test/dtypes.c
   packages/hdf5/trunk/test/enum.c
   packages/hdf5/trunk/test/extend.c
   packages/hdf5/trunk/test/external.c
   packages/hdf5/trunk/test/file_handle.c
   packages/hdf5/trunk/test/fillval.c
   packages/hdf5/trunk/test/flush1.c
   packages/hdf5/trunk/test/flush2.c
   packages/hdf5/trunk/test/gass_append.c
   packages/hdf5/trunk/test/gass_read.c
   packages/hdf5/trunk/test/gass_write.c
   packages/hdf5/trunk/test/getname.c
   packages/hdf5/trunk/test/gheap.c
   packages/hdf5/trunk/test/h5test.c
   packages/hdf5/trunk/test/h5test.h
   packages/hdf5/trunk/test/hyperslab.c
   packages/hdf5/trunk/test/istore.c
   packages/hdf5/trunk/test/lheap.c
   packages/hdf5/trunk/test/links.c
   packages/hdf5/trunk/test/mount.c
   packages/hdf5/trunk/test/mtime.c
   packages/hdf5/trunk/test/ntypes.c
   packages/hdf5/trunk/test/ohdr.c
   packages/hdf5/trunk/test/reserved.c
   packages/hdf5/trunk/test/set_extent.c
   packages/hdf5/trunk/test/srb_append.c
   packages/hdf5/trunk/test/srb_read.c
   packages/hdf5/trunk/test/srb_write.c
   packages/hdf5/trunk/test/stab.c
   packages/hdf5/trunk/test/stream_test.c
   packages/hdf5/trunk/test/tarray.c
   packages/hdf5/trunk/test/tattr.c
   packages/hdf5/trunk/test/tconfig.c
   packages/hdf5/trunk/test/testframe.c
   packages/hdf5/trunk/test/testhdf5.c
   packages/hdf5/trunk/test/testhdf5.h
   packages/hdf5/trunk/test/testmeta.c
   packages/hdf5/trunk/test/tfile.c
   packages/hdf5/trunk/test/tgenprop.c
   packages/hdf5/trunk/test/th5s.c
   packages/hdf5/trunk/test/theap.c
   packages/hdf5/trunk/test/titerate.c
   packages/hdf5/trunk/test/tmeta.c
   packages/hdf5/trunk/test/tmisc.c
   packages/hdf5/trunk/test/trefer.c
   packages/hdf5/trunk/test/trefstr.c
   packages/hdf5/trunk/test/tselect.c
   packages/hdf5/trunk/test/tskiplist.c
   packages/hdf5/trunk/test/ttime.c
   packages/hdf5/trunk/test/ttsafe.c
   packages/hdf5/trunk/test/ttsafe.h
   packages/hdf5/trunk/test/ttsafe_acreate.c
   packages/hdf5/trunk/test/ttsafe_cancel.c
   packages/hdf5/trunk/test/ttsafe_dcreate.c
   packages/hdf5/trunk/test/ttsafe_error.c
   packages/hdf5/trunk/test/ttst.c
   packages/hdf5/trunk/test/tvlstr.c
   packages/hdf5/trunk/test/tvltypes.c
   packages/hdf5/trunk/test/unlink.c
   packages/hdf5/trunk/testpar/Dependencies
   packages/hdf5/trunk/testpar/Makefile.in
   packages/hdf5/trunk/testpar/t_coll_chunk.c
   packages/hdf5/trunk/testpar/t_dset.c
   packages/hdf5/trunk/testpar/t_file.c
   packages/hdf5/trunk/testpar/t_mdset.c
   packages/hdf5/trunk/testpar/t_mpi.c
   packages/hdf5/trunk/testpar/t_ph5basic.c
   packages/hdf5/trunk/testpar/t_span_tree.c
   packages/hdf5/trunk/testpar/testph5.sh.in
   packages/hdf5/trunk/testpar/testphdf5.c
   packages/hdf5/trunk/testpar/testphdf5.h
   packages/hdf5/trunk/tools/Makefile.in
   packages/hdf5/trunk/tools/h5diff/Dependencies
   packages/hdf5/trunk/tools/h5diff/Makefile.in
   packages/hdf5/trunk/tools/h5diff/h5diff_main.c
   packages/hdf5/trunk/tools/h5diff/testh5diff.sh
   packages/hdf5/trunk/tools/h5dump/Dependencies
   packages/hdf5/trunk/tools/h5dump/Makefile.in
   packages/hdf5/trunk/tools/h5dump/h5dump.c
   packages/hdf5/trunk/tools/h5dump/h5dump.h
   packages/hdf5/trunk/tools/h5dump/h5dumpgentest.c
   packages/hdf5/trunk/tools/h5dump/testh5dump.sh.in
   packages/hdf5/trunk/tools/h5dump/testh5dumpxml.sh
   packages/hdf5/trunk/tools/h5import/Dependencies
   packages/hdf5/trunk/tools/h5import/Makefile.in
   packages/hdf5/trunk/tools/h5import/h5import.c
   packages/hdf5/trunk/tools/h5import/h5import.h
   packages/hdf5/trunk/tools/h5import/h5importtest.c
   packages/hdf5/trunk/tools/h5import/h5importtestutil.sh
   packages/hdf5/trunk/tools/h5jam/Dependencies
   packages/hdf5/trunk/tools/h5jam/Makefile.in
   packages/hdf5/trunk/tools/h5jam/getub.c
   packages/hdf5/trunk/tools/h5jam/h5jam.c
   packages/hdf5/trunk/tools/h5jam/h5jamgentest.c
   packages/hdf5/trunk/tools/h5jam/h5unjam.c
   packages/hdf5/trunk/tools/h5jam/tellub.c
   packages/hdf5/trunk/tools/h5jam/testh5jam.sh.in
   packages/hdf5/trunk/tools/h5ls/Dependencies
   packages/hdf5/trunk/tools/h5ls/Makefile.in
   packages/hdf5/trunk/tools/h5ls/h5ls.c
   packages/hdf5/trunk/tools/h5ls/testh5ls.sh
   packages/hdf5/trunk/tools/h5repack/Dependencies
   packages/hdf5/trunk/tools/h5repack/Makefile.in
   packages/hdf5/trunk/tools/h5repack/h5repack.c
   packages/hdf5/trunk/tools/h5repack/h5repack.h
   packages/hdf5/trunk/tools/h5repack/h5repack.sh.in
   packages/hdf5/trunk/tools/h5repack/h5repack_copy.c
   packages/hdf5/trunk/tools/h5repack/h5repack_filters.c
   packages/hdf5/trunk/tools/h5repack/h5repack_list.c
   packages/hdf5/trunk/tools/h5repack/h5repack_main.c
   packages/hdf5/trunk/tools/h5repack/h5repack_opttable.c
   packages/hdf5/trunk/tools/h5repack/h5repack_parse.c
   packages/hdf5/trunk/tools/h5repack/h5repack_refs.c
   packages/hdf5/trunk/tools/h5repack/h5repack_verify.c
   packages/hdf5/trunk/tools/h5repack/testh5repack_detect_szip.c
   packages/hdf5/trunk/tools/lib/Dependencies
   packages/hdf5/trunk/tools/lib/Makefile.in
   packages/hdf5/trunk/tools/lib/h5diff.c
   packages/hdf5/trunk/tools/lib/h5diff.h
   packages/hdf5/trunk/tools/lib/h5diff_array.c
   packages/hdf5/trunk/tools/lib/h5diff_attr.c
   packages/hdf5/trunk/tools/lib/h5diff_dset.c
   packages/hdf5/trunk/tools/lib/h5diff_util.c
   packages/hdf5/trunk/tools/lib/h5tools.c
   packages/hdf5/trunk/tools/lib/h5tools.h
   packages/hdf5/trunk/tools/lib/h5tools_filters.c
   packages/hdf5/trunk/tools/lib/h5tools_ref.c
   packages/hdf5/trunk/tools/lib/h5tools_ref.h
   packages/hdf5/trunk/tools/lib/h5tools_str.c
   packages/hdf5/trunk/tools/lib/h5tools_str.h
   packages/hdf5/trunk/tools/lib/h5tools_type.c
   packages/hdf5/trunk/tools/lib/h5tools_utils.c
   packages/hdf5/trunk/tools/lib/h5tools_utils.h
   packages/hdf5/trunk/tools/lib/h5trav.c
   packages/hdf5/trunk/tools/lib/h5trav.h
   packages/hdf5/trunk/tools/lib/talign.c
   packages/hdf5/trunk/tools/misc/Dependencies
   packages/hdf5/trunk/tools/misc/Makefile.in
   packages/hdf5/trunk/tools/misc/h5cc.in
   packages/hdf5/trunk/tools/misc/h5debug.c
   packages/hdf5/trunk/tools/misc/h5redeploy.in
   packages/hdf5/trunk/tools/misc/h5repart.c
   packages/hdf5/trunk/tools/testfiles/h5diff_10.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_11.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_12.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_13.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_14.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_15.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_17.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_18.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_20.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_21.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_22.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_23.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_24.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_25.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_50.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_51.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_52.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_53.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_54.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_55.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_56.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_57.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_600.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_601.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_602.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_603.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_604.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_605.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_606.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_607.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_608.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_609.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_610.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_611.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_612.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_613.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_614.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_615.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_616.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_617.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_618.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_619.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_620.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_621.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_622.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_623.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_624.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_625.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_626.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_627.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_628.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_629.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_70.txt
   packages/hdf5/trunk/tools/testfiles/h5diff_80.txt
   packages/hdf5/trunk/tools/testfiles/taindices.h5
   packages/hdf5/trunk/tools/testfiles/tall-2A.h5.xml
   packages/hdf5/trunk/tools/testfiles/tall-4s.ddl
   packages/hdf5/trunk/tools/testfiles/tall.h5.xml
   packages/hdf5/trunk/tools/testfiles/tarray1.h5.xml
   packages/hdf5/trunk/tools/testfiles/tarray2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tarray3.h5.xml
   packages/hdf5/trunk/tools/testfiles/tarray6.h5.xml
   packages/hdf5/trunk/tools/testfiles/tarray7.h5.xml
   packages/hdf5/trunk/tools/testfiles/tattr.h5.xml
   packages/hdf5/trunk/tools/testfiles/tbitfields.h5.xml
   packages/hdf5/trunk/tools/testfiles/tcompound.h5.xml
   packages/hdf5/trunk/tools/testfiles/tcompound2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tcompound_complex.h5.xml
   packages/hdf5/trunk/tools/testfiles/tdatareg.h5.xml
   packages/hdf5/trunk/tools/testfiles/tdset-3s.ddl
   packages/hdf5/trunk/tools/testfiles/tdset.h5.xml
   packages/hdf5/trunk/tools/testfiles/tdset2-1s.ddl
   packages/hdf5/trunk/tools/testfiles/tdset2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty-dtd-2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty-dtd.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty-nons-2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty-nons.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty-ns-2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty-ns.h5.xml
   packages/hdf5/trunk/tools/testfiles/tempty.h5.xml
   packages/hdf5/trunk/tools/testfiles/tenum.h5.xml
   packages/hdf5/trunk/tools/testfiles/tgroup.h5.xml
   packages/hdf5/trunk/tools/testfiles/thlink-1.ddl
   packages/hdf5/trunk/tools/testfiles/thlink-1.ls
   packages/hdf5/trunk/tools/testfiles/thlink.h5
   packages/hdf5/trunk/tools/testfiles/thlink.h5.xml
   packages/hdf5/trunk/tools/testfiles/tindicesno.ddl
   packages/hdf5/trunk/tools/testfiles/tindicesyes.ddl
   packages/hdf5/trunk/tools/testfiles/tloop.h5.xml
   packages/hdf5/trunk/tools/testfiles/tloop2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tmany.h5.xml
   packages/hdf5/trunk/tools/testfiles/tname-amp.h5.xml
   packages/hdf5/trunk/tools/testfiles/tname-apos.h5.xml
   packages/hdf5/trunk/tools/testfiles/tname-gt.h5.xml
   packages/hdf5/trunk/tools/testfiles/tname-lt.h5.xml
   packages/hdf5/trunk/tools/testfiles/tname-quot.h5.xml
   packages/hdf5/trunk/tools/testfiles/tname-sp.h5.xml
   packages/hdf5/trunk/tools/testfiles/tnamed_dtype_attr.h5.xml
   packages/hdf5/trunk/tools/testfiles/tnestedcomp.h5.xml
   packages/hdf5/trunk/tools/testfiles/tnodata.h5.xml
   packages/hdf5/trunk/tools/testfiles/tnofilename.ddl
   packages/hdf5/trunk/tools/testfiles/tobjref.h5.xml
   packages/hdf5/trunk/tools/testfiles/topaque.h5.xml
   packages/hdf5/trunk/tools/testfiles/tref-escapes-at.h5.xml
   packages/hdf5/trunk/tools/testfiles/tref-escapes.h5.xml
   packages/hdf5/trunk/tools/testfiles/tref.h5.xml
   packages/hdf5/trunk/tools/testfiles/tsaf.h5.xml
   packages/hdf5/trunk/tools/testfiles/tslink.h5.xml
   packages/hdf5/trunk/tools/testfiles/tstr.h5.xml
   packages/hdf5/trunk/tools/testfiles/tstr2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tstring-at.h5.xml
   packages/hdf5/trunk/tools/testfiles/tstring.h5.xml
   packages/hdf5/trunk/tools/testfiles/tvldtypes1.h5.xml
   packages/hdf5/trunk/tools/testfiles/tvldtypes2.h5.xml
   packages/hdf5/trunk/tools/testfiles/tvldtypes3.h5.xml
   packages/hdf5/trunk/tools/testfiles/tvldtypes4.h5.xml
   packages/hdf5/trunk/tools/testfiles/tvldtypes5.h5.xml
   packages/hdf5/trunk/tools/testfiles/tvlstr.h5.xml
   packages/hdf5/trunk/windows/all.zip
Log:
Moving to new upstream release.


Modified: packages/hdf5/trunk/COPYING
===================================================================
--- packages/hdf5/trunk/COPYING	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,74 +1,82 @@
-Copyright Notice and Statement for NCSA Hierarchical Data Format (HDF)
-Software Library and Utilities
 
-NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities 
-Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the Board of 
-Trustees of the University of Illinois.  All rights reserved.
+Copyright Notice and License Terms for 
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+-----------------------------------------------------------------------------
 
-Contributors: National Center for Supercomputing Applications (NCSA) at the
-University of Illinois at Urbana-Champaign (UIUC), Lawrence Livermore 
-National Laboratory (LLNL), Sandia National Laboratories (SNL), Los Alamos 
-National Laboratory (LANL), Jean-loup Gailly and Mark Adler (gzip library).
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright 2006-2007 by The HDF Group (THG).
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted for any purpose (including commercial purposes)
+NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+Copyright 1998-2006 by the Board of Trustees of the University of Illinois.
+
+All rights reserved.
+
+Contributors:   National Center for Supercomputing Applications  (NCSA) at 
+the University of Illinois, Fortner Software, Unidata Program Center (netCDF), 
+The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), 
+and Digital Equipment Corporation (DEC).
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted for any purpose (including commercial purposes) 
 provided that the following conditions are met:
 
-1.  Redistributions of source code must retain the above copyright notice,
-    this list of conditions, and the following disclaimer.
+1. Redistributions of source code must retain the above copyright notice, 
+   this list of conditions, and the following disclaimer.
 
-2.  Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions, and the following disclaimer in the documentation
-    and/or materials provided with the distribution.
+2. Redistributions in binary form must reproduce the above copyright notice, 
+   this list of conditions, and the following disclaimer in the documentation 
+   and/or materials provided with the distribution.
 
-3.  In addition, redistributions of modified forms of the source or binary
-    code must carry prominent notices stating that the original code was
-    changed and the date of the change.
+3. In addition, redistributions of modified forms of the source or binary 
+   code must carry prominent notices stating that the original code was 
+   changed and the date of the change.
 
-4.  All publications or advertising materials mentioning features or use of
-    this software are asked, but not required, to acknowledge that it was 
-    developed by the National Center for Supercomputing Applications at the 
-    University of Illinois at Urbana-Champaign and to credit the contributors.
+4. All publications or advertising materials mentioning features or use of 
+   this software are asked, but not required, to acknowledge that it was 
+   developed by The HDF Group and by the National Center for Supercomputing 
+   Applications at the University of Illinois at Urbana-Champaign and 
+   credit the contributors.
 
-5.  Neither the name of the University nor the names of the Contributors may
-    be used to endorse or promote products derived from this software without
-    specific prior written permission from the University or the Contributors,
-    as appropriate for the name(s) to be used.
+5. Neither the name of The HDF Group, the name of the University, nor the 
+   name of any Contributor may be used to endorse or promote products derived 
+   from this software without specific prior written permission from the 
+   University, THG, or the Contributor, respectively.
 
-6.  THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND THE CONTRIBUTORS "AS IS"
-    WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no event
-    shall the University or the Contributors be liable for any damages
-    suffered by the users arising out of the use of this software, even if
-    advised of the possibility of such damage.
+DISCLAIMER: 
+THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE CONTRIBUTORS 
+"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no 
+event shall THG or the Contributors be liable for any damages suffered by 
+the users arising out of the use of this software, even if advised of the 
+possibility of such damage. 
 
---------------------------------------------------------------------------
+-----------------------------------------------------------------------------
 Portions of HDF5 were developed with support from the University of 
-California, Lawrence Livermore National Laboratory (UC LLNL).
-The following statement applies to those portions of the product
-and must be retained in any redistribution of source code, binaries,
-documentation, and/or accompanying materials:
+California, Lawrence Livermore National Laboratory (UC LLNL).  
+The following statement applies to those portions of the product and must 
+be retained in any redistribution of source code, binaries, documentation, 
+and/or accompanying materials:
 
-    This work was partially produced at the University of California,
-    Lawrence Livermore National Laboratory (UC LLNL) under contract no.
-    W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy 
-    (DOE) and The Regents of the University of California (University) 
-    for the operation of UC LLNL.
+   This work was partially produced at the University of California, 
+   Lawrence Livermore National Laboratory (UC LLNL) under contract 
+   no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy 
+   (DOE) and The Regents of the University of California (University) 
+   for the operation of UC LLNL.
 
-    DISCLAIMER:
-    This work was prepared as an account of work sponsored by an agency 
-    of the United States Government.  Neither the United States 
-    Government nor the University of California nor any of their 
-    employees, makes any warranty, express or implied, or assumes any 
-    liability or responsibility for the accuracy, completeness, or 
-    usefulness of any information, apparatus, product, or process 
-    disclosed, or represents that its use would not infringe privately-
-    owned rights.  Reference herein to any specific commercial products, 
-    process, or service by trade name, trademark, manufacturer, or 
-    otherwise, does not necessarily constitute or imply its endorsement, 
-    recommendation, or favoring by the United States Government or the 
-    University of California.  The views and opinions of authors 
-    expressed herein do not necessarily state or reflect those of the 
-    United States Government or the University of California, and shall 
-    not be used for advertising or product endorsement purposes.
---------------------------------------------------------------------------
+   DISCLAIMER: 
+   This work was prepared as an account of work sponsored by an agency of 
+   the United States Government. Neither the United States Government nor 
+   the University of California nor any of their employees, makes any 
+   warranty, express or implied, or assumes any liability or responsibility 
+   for the accuracy, completeness, or usefulness of any information, 
+   apparatus, product, or process disclosed, or represents that its use 
+   would not infringe privately- owned rights. Reference herein to any 
+   specific commercial products, process, or service by trade name, 
+   trademark, manufacturer, or otherwise, does not necessarily constitute 
+   or imply its endorsement, recommendation, or favoring by the United 
+   States Government or the University of California. The views and 
+   opinions of authors expressed herein do not necessarily state or reflect 
+   those of the United States Government or the University of California, 
+   and shall not be used for advertising or product endorsement purposes.
+-----------------------------------------------------------------------------
 
+

Modified: packages/hdf5/trunk/MANIFEST
===================================================================
--- packages/hdf5/trunk/MANIFEST	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/MANIFEST	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -8,8 +9,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 #------------------------------------------------------------------------------
 # This is the list of files that are part of HDF5 source distribution. 
@@ -30,6 +31,7 @@
 ./configure
 ./configure.in
 
+./bin/COPYING
 ./bin/buildhdf5
 ./bin/checkapi				_DO_NOT_DISTRIBUTE_
 ./bin/checkposix			_DO_NOT_DISTRIBUTE_
@@ -49,6 +51,7 @@
 ./bin/iostats
 ./bin/locate_sw
 ./bin/ltmain.sh
+./bin/makehelp
 ./bin/mkdirs
 ./bin/reconfigure			_DO_NOT_DISTRIBUTE_
 ./bin/release
@@ -59,11 +62,11 @@
 ./bin/trace
 ./bin/yodconfigure
 
+./config/COPYING
 ./config/BlankForm
 ./config/commence.in
 ./config/conclude.in
 ./config/dec-flags
-./config/dec-osf4.x
 ./config/dec-osf5.x
 ./config/depend1.in
 ./config/depend2.in
@@ -72,16 +75,13 @@
 ./config/dependN.in
 ./config/freebsd
 ./config/gnu-flags
-./config/hpux10.20
 ./config/hpux11.00
 ./config/hpux11.23
-./config/hpux9.03
 ./config/i386-pc-cygwin32
+./config/i686-apple
 ./config/i686-pc-cygwin
 ./config/ia64-linux-gnu
 ./config/intel-flags
-./config/intel-osf1
-./config/irix5.x
 ./config/irix6.x
 ./config/linux-gnu
 ./config/linux-gnuaout
@@ -91,17 +91,14 @@
 ./config/nv1-cray
 ./config/pgi-flags
 ./config/powerpc-apple
-./config/powerpc-ibm-aix4.x
 ./config/powerpc-ibm-aix5.x
 ./config/powerpc-ibm-linux-gnu
-./config/rs6000-ibm-aix4.x
 ./config/solaris2.x
 ./config/sv1-cray
 ./config/unicos
 ./config/unicos10.0.X
 ./config/unicosmk
 ./config/unicosmk2.0.X
-./config/unicosmk2.0.5.X
 ./config/unicosmk2.0.6.X
 
 ./config/site-specific/BlankForm
@@ -212,6 +209,13 @@
 ./doc/html/Graphics/Java.gif
 ./doc/html/Graphics/Makefile.in
 ./doc/html/Graphics/OtherAPIs.gif
+./doc/html/Graphics/THGnoTextSm.jpg
+./doc/html/Graphics/THGwTextSm.jpg
+./doc/html/Graphics/XRD100.gif
+./doc/html/Graphics/hdf2.gif
+./doc/html/Graphics/help.jpg
+./doc/html/Graphics/help.png
+./doc/html/Graphics/help.gif
 
 ./doc/html/Intro/Dependencies
 ./doc/html/Intro/IntroExamples.html
@@ -683,6 +687,8 @@
 ./doc/html/cpplus_RM/functions_func_0x76.html
 ./doc/html/cpplus_RM/functions_func_0x77.html
 ./doc/html/cpplus_RM/functions_func_0x7e.html
+./doc/html/cpplus_RM/globals.html
+./doc/html/cpplus_RM/globals_defs.html
 ./doc/html/cpplus_RM/h5group_8cpp-example.html
 ./doc/html/cpplus_RM/header.html
 ./doc/html/cpplus_RM/hierarchy.html
@@ -708,6 +714,7 @@
 ./doc/html/ed_libs/NavBar_RM.lbi
 ./doc/html/ed_libs/NavBar_TechN.lbi
 ./doc/html/ed_libs/NavBar_UG.lbi
+./doc/html/ed_libs/copyright-html.lbi
 ./doc/html/ed_libs/styles_Format.lbi
 ./doc/html/ed_libs/styles_Gen.lbi
 ./doc/html/ed_libs/styles_Index.lbi
@@ -743,9 +750,6 @@
 ./doc/html/group_p3.obj			_DO_NOT_DISTRIBUTE_
 ./doc/html/h5s.examples
 ./doc/html/hdf2.jpg
-./doc/html/ph5design.html
-./doc/html/ph5example.c
-./doc/html/ph5implement.txt
 ./doc/html/pipe1.gif
 ./doc/html/pipe1.obj			_DO_NOT_DISTRIBUTE_
 ./doc/html/pipe2.gif
@@ -789,19 +793,20 @@
 
 ./examples/Attributes.txt
 ./examples/Dependencies
-./examples/Makefile.in
+./examples/h5_attribute.c
 ./examples/h5_chunk_read.c
 ./examples/h5_compound.c
 ./examples/h5_drivers.c
 ./examples/h5_extend_write.c
 ./examples/h5_group.c
+./examples/h5_mount.c
 ./examples/h5_read.c
+./examples/h5_reference.c
+./examples/h5_select.c
 ./examples/h5_write.c
-./examples/h5_select.c
-./examples/h5_attribute.c
-./examples/h5_mount.c
-./examples/h5_reference.c
+./examples/Makefile.in
 ./examples/ph5example.c
+./examples/testh5cc.sh.in
 
 
 #------------------------------------------------------------------------------
@@ -810,6 +815,7 @@
 #
 #------------------------------------------------------------------------------
 
+./fortran/COPYING
 ./fortran/Makefile.dist
 ./fortran/Makefile.in
 ./fortran/aclocal.m4
@@ -821,7 +827,6 @@
 ./fortran/config/commence.in
 ./fortran/config/conclude.in
 ./fortran/config/dec-flags
-./fortran/config/dec-osf4.x
 ./fortran/config/dec-osf5.x
 ./fortran/config/depend
 ./fortran/config/depend1.in
@@ -831,16 +836,13 @@
 ./fortran/config/dependN.in
 ./fortran/config/freebsd
 ./fortran/config/gnu-flags
-./fortran/config/hpux10.20
 ./fortran/config/hpux11.00
 ./fortran/config/hpux11.23
-./fortran/config/hpux9.03
+./fortran/config/i686-apple
 ./fortran/config/i386-pc-cygwin32
 ./fortran/config/ia64-linux-gnu
 ./fortran/config/intel-fflags
 ./fortran/config/intel-flags
-./fortran/config/intel-osf1
-./fortran/config/irix5.x
 ./fortran/config/irix6.x
 ./fortran/config/linux-gnu
 ./fortran/config/linux-gnuaout
@@ -850,22 +852,18 @@
 ./fortran/config/pgi-fflags
 ./fortran/config/pgi-flags
 ./fortran/config/powerpc-apple
-./fortran/config/powerpc-ibm-aix4.x
 ./fortran/config/powerpc-ibm-aix5.x
-./fortran/config/rs6000-ibm-aix4.x
 ./fortran/config/solaris2.x
 ./fortran/config/sv1-cray
 ./fortran/config/unicos
 ./fortran/config/unicos10.0.X
 ./fortran/config/unicosmk
 ./fortran/config/unicosmk2.0.X
-./fortran/config/unicosmk2.0.5.X
 ./fortran/config/unicosmk2.0.6.X
 
-./fortran/examples/Dependencies
-./fortran/examples/Makefile.in
 ./fortran/examples/attrexample.f90
 ./fortran/examples/compound.f90
+./fortran/examples/Dependencies
 ./fortran/examples/dsetexample.f90
 ./fortran/examples/fileexample.f90
 ./fortran/examples/groupexample.f90
@@ -873,11 +871,14 @@
 ./fortran/examples/grpit.f90
 ./fortran/examples/grpsexample.f90
 ./fortran/examples/hyperslab.f90
+./fortran/examples/Makefile.in
 ./fortran/examples/mountexample.f90
+./fortran/examples/ph5example.f90
 ./fortran/examples/refobjexample.f90
 ./fortran/examples/refregexample.f90
 ./fortran/examples/rwdsetexample.f90
 ./fortran/examples/selectele.f90
+./fortran/examples/testh5fc.sh.in
 
 ./fortran/src/Dependencies
 ./fortran/src/H5_f.c
@@ -961,6 +962,7 @@
 #
 #------------------------------------------------------------------------------
 
+./c++/COPYING
 ./c++/Makefile.in
 ./c++/aclocal.m4
 ./c++/configure
@@ -985,23 +987,24 @@
 ./c++/config/linux-gnulibc2
 ./c++/config/nv1-cray
 ./c++/config/powerpc-ibm-aix
-./c++/config/rs6000-ibm-aix4.x
 ./c++/config/solaris2.x
 ./c++/config/sv1-cray
 ./c++/config/unicos10.0.X
 ./c++/config/unicosmk2.0.6.X
 
-./c++/examples/Dependencies
 ./c++/examples/chunks.cpp
 ./c++/examples/compound.cpp
 ./c++/examples/create.cpp
+./c++/examples/Dependencies
 ./c++/examples/expected.out
 ./c++/examples/extend_ds.cpp
 ./c++/examples/h5group.cpp
+./c++/examples/Makefile.in
 ./c++/examples/readdata.cpp
+./c++/examples/strtype.cpp
 ./c++/examples/testexamples.sh
+./c++/examples/testh5c++.sh.in
 ./c++/examples/writedata.cpp
-./c++/examples/Makefile.in
 
 ./c++/src/Dependencies
 ./c++/src/H5AbstractDs.cpp
@@ -1020,6 +1023,7 @@
 ./c++/src/H5CompType.h
 ./c++/src/H5Cpp.h
 ./c++/src/H5CppDoc.h
+./c++/src/H5cxx_config.h.in
 ./c++/src/H5DataSet.cpp
 ./c++/src/H5DataSet.h
 ./c++/src/H5DataSpace.cpp
@@ -1075,10 +1079,16 @@
 ./c++/test/dsets.cpp
 ./c++/test/h5cpputil.cpp
 ./c++/test/h5cpputil.h
+./c++/test/tattr.cpp
+./c++/test/tcompound.cpp
 ./c++/test/testhdf5.cpp
 ./c++/test/tfile.cpp
+./c++/test/tfilter.cpp
 ./c++/test/th5s.cpp
 ./c++/test/th5s.h5
+./c++/test/trefer.cpp
+./c++/test/ttypes.cpp
+./c++/test/tvlstr.cpp
 
 #------------------------------------------------------------------------------
 #
@@ -1086,6 +1096,7 @@
 #
 #------------------------------------------------------------------------------
 
+./perform/COPYING
 ./perform/Dependencies
 ./perform/Makefile.in
 ./perform/benchpar.c
@@ -1103,14 +1114,13 @@
 ./perform/pio_timer.h
 ./perform/zip_perf.c
 
+./release_docs/COPYING
 ./release_docs/INSTALL
-./release_docs/INSTALL_TFLOPS
-./release_docs/INSTALL_VFL
+./release_docs/INSTALL_Cygwin.txt
 ./release_docs/INSTALL_parallel
 ./release_docs/INSTALL_Windows.txt
 ./release_docs/INSTALL_Windows_From_Command_Line.txt
-./release_docs/INSTALL_Windows_Short.txt
-./release_docs/INSTALL_codewarrior.txt
+./release_docs/INSTALL_Windows_Short_VS6.0.txt
 ./release_docs/HISTORY.txt
 ./release_docs/RELEASE.txt
 
@@ -1118,6 +1128,7 @@
 ./src/hdf5.lnt				_DO_NOT_DISTRIBUTE_
 ./src/hdf5-lin.lnt			_DO_NOT_DISTRIBUTE_
 ./src/hdf5-win.lnt			_DO_NOT_DISTRIBUTE_
+./src/COPYING
 ./src/Dependencies
 ./src/H5.c
 ./src/H5api_adpt.h
@@ -1129,6 +1140,7 @@
 ./src/H5ACprivate.h
 ./src/H5ACpublic.h
 ./src/H5B.c
+./src/H5Bcache.c
 ./src/H5Bpkg.h
 ./src/H5Bprivate.h
 ./src/H5Bpublic.h
@@ -1193,11 +1205,14 @@
 ./src/H5FSprivate.h
 ./src/H5G.c
 ./src/H5Gent.c
+./src/H5Gname.c
 ./src/H5Gnode.c
 ./src/H5Gpkg.h
 ./src/H5Gprivate.h
 ./src/H5Gpublic.h
 ./src/H5Gstab.c
+./src/H5Gtest.c
+./src/H5Gtraverse.c
 ./src/H5HG.c
 ./src/H5HGdbg.c
 ./src/H5HGpkg.h
@@ -1223,6 +1238,7 @@
 ./src/H5O.c
 ./src/H5Oattr.c
 ./src/H5Obogus.c
+./src/H5Ocache.c
 ./src/H5Ocont.c
 ./src/H5Odtype.c
 ./src/H5Oefl.c
@@ -1311,6 +1327,7 @@
 ./src/hdf5.h
 ./src/libhdf5.settings.in
 
+./test/COPYING
 ./test/Dependencies
 ./test/Makefile.in
 ./test/big.c
@@ -1336,31 +1353,36 @@
 ./test/gass_append.c
 ./test/gass_read.c
 ./test/gass_write.c
+./test/gen_deflate.c			_DO_NOT_DISTRIBUTE_
+./test/gen_mergemsg.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_array.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_group.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_layout.c			_DO_NOT_DISTRIBUTE_
+./test/gen_old_mtime.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_array.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_fill.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_mtime.c			_DO_NOT_DISTRIBUTE_
+./test/gen_new_super.c			_DO_NOT_DISTRIBUTE_
+./test/gen_nullspace.c			_DO_NOT_DISTRIBUTE_
 ./test/getname.c
 ./test/gheap.c
+./test/group_new.h5
 ./test/h5test.c
 ./test/h5test.h
 ./test/hyperslab.c
 ./test/istore.c
+./test/le_extlink1.h5
 ./test/lheap.c
 ./test/links.c
+./test/mergemsg.h5
 ./test/mount.c
 ./test/mtime.c
 ./test/noencoder.h5
 ./test/ntypes.c
 ./test/ohdr.c
 ./test/reserved.c
+./test/set_extent.c
 ./test/space_overflow.c			_DO_NOT_DISTRIBUTE_
-./test/gen_deflate.c			_DO_NOT_DISTRIBUTE_
-./test/gen_old_array.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_array.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_fill.c			_DO_NOT_DISTRIBUTE_
-./test/gen_old_layout.c			_DO_NOT_DISTRIBUTE_
-./test/gen_old_mtime.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_mtime.c			_DO_NOT_DISTRIBUTE_
-./test/gen_new_super.c			_DO_NOT_DISTRIBUTE_
-./test/gen_nullspace.c			_DO_NOT_DISTRIBUTE_
-./test/set_extent.c
 ./test/srb_append.c
 ./test/srb_read.c
 ./test/srb_write.c
@@ -1406,6 +1428,7 @@
 ./test/test_filters_le.hdf5
 
 
+./testpar/COPYING
 ./testpar/Dependencies
 ./testpar/Makefile.in
 ./testpar/t_dset.c
@@ -1414,26 +1437,17 @@
 ./testpar/t_mpi.c
 ./testpar/t_ph5basic.c
 ./testpar/t_coll_chunk.c
+./testpar/t_chunk_alloc.c
+./testpar/t_filter_read.c
 ./testpar/t_span_tree.c
 ./testpar/testphdf5.c
 ./testpar/testphdf5.h
 ./testpar/testph5.sh.in
 
+./tools/COPYING
 ./tools/Dependencies
 ./tools/Makefile.in
 
-./tools/gifconv/Dependencies
-./tools/gifconv/Makefile.in
-./tools/gifconv/decompress.c
-./tools/gifconv/gif.h
-./tools/gifconv/gif2hdf.c
-./tools/gifconv/gif2mem.c
-./tools/gifconv/gifread.c
-./tools/gifconv/hdf2gif.c
-./tools/gifconv/hdfgifwr.c
-./tools/gifconv/readhdf.c
-./tools/gifconv/writehdf.c
-
 ./tools/h5dump/Dependencies
 ./tools/h5dump/Makefile.in
 ./tools/h5dump/h5dump.c
@@ -1441,7 +1455,9 @@
 ./tools/h5dump/h5dumpgentest.c
 ./tools/h5dump/testh5dump.sh.in
 ./tools/h5dump/testh5dumpxml.sh
+./tools/h5dump/binread.c
 
+
 ./tools/h5import/Dependencies
 ./tools/h5import/Makefile.in
 ./tools/h5import/h5import.h
@@ -1479,18 +1495,15 @@
 ./tools/h5import/testfiles/test12.h5
 ./tools/h5import/testfiles/test13.h5
 
+# h5diff sources
+./tools/h5diff/h5diffgentest.c
+./tools/h5diff/Makefile.in
 ./tools/h5diff/Dependencies
-./tools/h5diff/Makefile.in
 ./tools/h5diff/h5diff_main.c
-./tools/h5diff/testh5diff_attr.c
-./tools/h5diff/testh5diff_basic.c
-./tools/h5diff/testh5diff_dset.c
-./tools/h5diff/testh5diff_main.c
-./tools/h5diff/testh5diff_util.c
-./tools/h5diff/testh5diff.h
 ./tools/h5diff/testh5diff.sh
 
 
+
 # h5repack sources
 ./tools/h5repack/Dependencies
 ./tools/h5repack/Makefile.in
@@ -1505,11 +1518,7 @@
 ./tools/h5repack/h5repack_parse.c
 ./tools/h5repack/h5repack_refs.c
 ./tools/h5repack/h5repack_verify.c
-./tools/h5repack/testh5repack_attr.c
-./tools/h5repack/testh5repack_dset.c
-./tools/h5repack/testh5repack_main.c
-./tools/h5repack/testh5repack_make.c
-./tools/h5repack/testh5repack_util.c
+./tools/h5repack/h5repacktst.c
 ./tools/h5repack/testh5repack_detect_szip.c
 
 ./tools/h5ls/Dependencies
@@ -1527,7 +1536,6 @@
 ./tools/lib/h5diff_util.c
 ./tools/lib/h5trav.c
 ./tools/lib/h5trav.h
-./tools/lib/h5trav_table.c
 ./tools/lib/h5tools.c
 ./tools/lib/h5tools.h
 ./tools/lib/h5tools_filters.c
@@ -1547,6 +1555,7 @@
 ./tools/misc/h5redeploy.in
 ./tools/misc/h5repart.c
 
+# test files for h5dump
 ./tools/testfiles/tall-1.ddl
 ./tools/testfiles/tall-2.ddl
 ./tools/testfiles/tall-3.ddl
@@ -1701,10 +1710,21 @@
 ./tools/testfiles/test_fletcher32.h5
 ./tools/testfiles/test_shuffle.h5
 ./tools/testfiles/test_szip.h5
+./tools/testfiles/thyperslab.ddl
+./tools/testfiles/tbigdims.ddl
+./tools/testfiles/tbigdims.h5
+./tools/testfiles/thyperslab.h5
+./tools/testfiles/tbinary.h5
+./tools/testfiles/tbin2.ddl
+./tools/testfiles/tbin3.ddl
+./tools/testfiles/tldouble.h5
+./tools/testfiles/tbin4.ddl
+./tools/testfiles/tbin1.ddl
+# h5dump binary test, h5import configuration
+./tools/testfiles/out3.h5import
 
-
-
 # Expected output from h5ls tests
+./tools/testfiles/nosuchfile.ls
 ./tools/testfiles/help-1.ls
 ./tools/testfiles/help-2.ls
 ./tools/testfiles/help-3.ls
@@ -1795,21 +1815,15 @@
 ./tools/testfiles/tall-2A.h5.xml
 
 #test files for h5diff
-./tools/testfiles/file1.h5
-./tools/testfiles/file2.h5
-./tools/testfiles/file3.h5
-./tools/testfiles/file4.h5
-./tools/testfiles/file5.h5
-./tools/testfiles/file6.h5
-./tools/testfiles/file7.h5
-./tools/testfiles/file8.h5
 ./tools/testfiles/h5diff_10.txt
 ./tools/testfiles/h5diff_11.txt
 ./tools/testfiles/h5diff_12.txt
 ./tools/testfiles/h5diff_13.txt
 ./tools/testfiles/h5diff_14.txt
 ./tools/testfiles/h5diff_15.txt
-./tools/testfiles/h5diff_16.txt
+./tools/testfiles/h5diff_16_1.txt
+./tools/testfiles/h5diff_16_2.txt
+./tools/testfiles/h5diff_16_3.txt
 ./tools/testfiles/h5diff_17.txt
 ./tools/testfiles/h5diff_18.txt
 ./tools/testfiles/h5diff_20.txt
@@ -1818,6 +1832,9 @@
 ./tools/testfiles/h5diff_23.txt
 ./tools/testfiles/h5diff_24.txt
 ./tools/testfiles/h5diff_25.txt
+./tools/testfiles/h5diff_26.txt
+./tools/testfiles/h5diff_27.txt
+./tools/testfiles/h5diff_28.txt
 ./tools/testfiles/h5diff_50.txt
 ./tools/testfiles/h5diff_51.txt
 ./tools/testfiles/h5diff_52.txt
@@ -1826,6 +1843,7 @@
 ./tools/testfiles/h5diff_55.txt
 ./tools/testfiles/h5diff_56.txt
 ./tools/testfiles/h5diff_57.txt
+./tools/testfiles/h5diff_58.txt
 ./tools/testfiles/h5diff_600.txt
 ./tools/testfiles/h5diff_601.txt
 ./tools/testfiles/h5diff_602.txt
@@ -1858,15 +1876,42 @@
 ./tools/testfiles/h5diff_629.txt
 ./tools/testfiles/h5diff_70.txt
 ./tools/testfiles/h5diff_80.txt
+./tools/testfiles/h5diff_90.txt
+./tools/testfiles/h5diff_100.txt
+./tools/testfiles/h5diff_101.txt
+./tools/testfiles/h5diff_102.txt
 
+
+./tools/testfiles/h5diff_basic1.h5
+./tools/testfiles/h5diff_basic2.h5
+./tools/testfiles/h5diff_dtypes.h5
+./tools/testfiles/h5diff_dset1.h5
+./tools/testfiles/h5diff_dset2.h5
+./tools/testfiles/h5diff_hyper1.h5
+./tools/testfiles/h5diff_attr1.h5
+./tools/testfiles/h5diff_hyper2.h5
+./tools/testfiles/h5diff_attr2.h5
+./tools/testfiles/h5diff_types.h5
+
+
 # h5repack test files
-./tools/testfiles/test0.h5
-./tools/testfiles/test1.h5
-./tools/testfiles/test3.h5
-./tools/testfiles/test4.h5
-./tools/testfiles/test5.h5
-./tools/testfiles/h5repack_info.txt
+./tools/testfiles/h5repack_early.h5
+./tools/testfiles/h5repack_layout.h5
+./tools/testfiles/h5repack_filters.h5
+./tools/testfiles/h5repack_fill.h5
+./tools/testfiles/h5repack_fletcher.h5
+./tools/testfiles/h5repack_objs.h5
+./tools/testfiles/h5repack_early2.h5
+./tools/testfiles/h5repack_hlink.h5
+./tools/testfiles/info.h5repack
+./tools/testfiles/h5repack_big.h5
+./tools/testfiles/h5repack_shuffle.h5
+./tools/testfiles/h5repack_attr.h5
+./tools/testfiles/h5repack_deflate.h5
+./tools/testfiles/h5repack_szip.h5
+./tools/testfiles/h5repack_ext.h5
 
+
 # jam utility and tests
 ./tools/h5jam/Dependencies
 ./tools/h5jam/h5jam.c
@@ -1886,7 +1931,31 @@
 ./tools/testfiles/u513.txt
 
 # high level libraries
+./hl/COPYING
 ./hl/Makefile.in
+./hl/examples/Dependencies
+./hl/examples/ex_lite1.c
+./hl/examples/ex_lite2.c
+./hl/examples/ex_lite3.c
+./hl/examples/Makefile.in
+./hl/examples/ex_image1.c
+./hl/examples/ex_image2.c
+./hl/examples/ex_table_01.c
+./hl/examples/ex_table_02.c
+./hl/examples/ex_table_03.c
+./hl/examples/ex_table_04.c
+./hl/examples/ex_table_05.c
+./hl/examples/ex_table_06.c
+./hl/examples/ex_table_07.c
+./hl/examples/ex_table_08.c
+./hl/examples/ex_table_09.c
+./hl/examples/ex_table_10.c
+./hl/examples/ex_table_11.c
+./hl/examples/ex_table_12.c
+./hl/examples/image24pixel.txt
+./hl/examples/image8.txt
+./hl/examples/pal_rgb.h
+./hl/src/COPYING
 ./hl/src/Dependencies
 ./hl/src/Makefile.in
 ./hl/src/H5IM.c
@@ -1895,6 +1964,7 @@
 ./hl/src/H5LT.h
 ./hl/src/H5TA.c
 ./hl/src/H5TA.h
+./hl/test/COPYING
 ./hl/test/Dependencies
 ./hl/test/Makefile.in
 ./hl/test/test_image.c
@@ -1903,8 +1973,23 @@
 ./hl/test/test_table_le.hdf5
 ./hl/test/test_table_be.hdf5
 ./hl/test/test_table_cray.hdf5
+./hl/tools/COPYING
+./hl/tools/Makefile.in
+./hl/tools/gif2h5/Dependencies
+./hl/tools/gif2h5/Makefile.in
+./hl/tools/gif2h5/decompress.c
+./hl/tools/gif2h5/gif.h
+./hl/tools/gif2h5/gif2hdf.c
+./hl/tools/gif2h5/gif2mem.c
+./hl/tools/gif2h5/gifread.c
+./hl/tools/gif2h5/hdf2gif.c
+./hl/tools/gif2h5/hdfgifwr.c
+./hl/tools/gif2h5/writehdf.c
+./hl/tools/gif2h5/h52gifgentst.c
+./hl/tools/gif2h5/h52giftest.sh
+./hl/tools/testfiles/h52giftst.h5
+./hl/tools/testfiles/image1.gif
 
-
-
 # windows
+./windows/COPYING
 ./windows/all.zip

Modified: packages/hdf5/trunk/Makefile
===================================================================
--- packages/hdf5/trunk/Makefile	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/Makefile	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # Top-level distributed Makefile 			       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This Makefile is a stub (copied from Makefile.dist) which will run
 # configure and then invoke the same target in the new Makefile created

Modified: packages/hdf5/trunk/Makefile.dist
===================================================================
--- packages/hdf5/trunk/Makefile.dist	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/Makefile.dist	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # Top-level distributed Makefile 			       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This Makefile is a stub (copied from Makefile.dist) which will run
 # configure and then invoke the same target in the new Makefile created

Modified: packages/hdf5/trunk/Makefile.in
===================================================================
--- packages/hdf5/trunk/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -8,8 +9,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 # 
 ## This makefile mostly just reinvokes make in the various subdirectories
 ## but does so in the correct order.  You can alternatively invoke make from
@@ -25,7 +26,8 @@
 # Subdirectories in build-order (not including `examples')
 # TESTPARALLEL must be after test since it uses libtest.a.  Putting it
 # before tools allows parallel tests to run sooner.
-SUBDIRS=src test @TESTPARALLEL@ tools @HL@  @subdirs@
+# @subdirs@ is set by the macro AC_CONFIG_SUBDIRS in configure.
+SUBDIRS=src test @TESTPARALLEL@ tools @subdirs@ @HL@
 
 ##############################################################################
 ##		    T A R G E T S
@@ -77,7 +79,7 @@
 	done
 
 install-all:
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \
@@ -98,7 +100,7 @@
 	@$(LT) --mode=finish $(libdir)
 
 install-examples:
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \
@@ -106,7 +108,7 @@
 	(cd examples && $(MAKE) $@) || exit 1;
 
 uninstall-examples:
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \
@@ -125,7 +127,7 @@
 ## This requires a proper "make install" has been done.
 check-install:
 	(cd examples && $(MAKE) check) || exit 1
-	@@SETX@; for d in dummy @subdirs@; do				      \
+	@@SETX@; for d in dummy @subdirs@ @HL@; do			      \
 	  if test $$d != "dummy"; then					      \
 	    (cd $$d && $(MAKE) $@) || exit 1;				      \
 	  fi;								      \

Modified: packages/hdf5/trunk/README.txt
===================================================================
--- packages/hdf5/trunk/README.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/README.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,44 +1,45 @@
-HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
+HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007
 Please refer to the release_docs/INSTALL file for installation instructions.
 ------------------------------------------------------------------------------
 
-This release is almost fully functional for the entire API defined in the
-documentation, see the RELEASE.txt file in this directory for information
-specific to this release of the library.  The INSTALL file contains
-instructions on compiling and installing the library.  The INSTALL_parallel
-file contains instructions on installing the parallel version of the
-library.  The INSTALL* files can be found in the release_docs/ directory.
+This release is fully functional for the entire API defined in the
+documentation.  
 
-Documentation for this release is in the html directory.  Start with the
-"index.html" in that directory.
+See the RELEASE.txt file in the release_docs/ directory for information 
+specific to this release of the library.  
 
-Four mailing lists are currently set up for use with the HDF5
-library.
+Several INSTALL* files can be found in the release_docs/ directory.
+The INSTALL file contains instructions for compiling and installing the 
+library.  The INSTALL_parallel file contains instructions for installing the 
+parallel version of the library.  Other INSTALL* files have similarly
+descriptive names.
 
-   hdf5         - For general discussion of the HDF5 library with
-		  other users.
+Documentation for this release can be found in the doc/html/ directory;
+start with the file "index.html" in that directory.  Online documentation
+for the current release is available at http:/hdfgroup.org/HDF5/doc/.
 
-   hdf5dev      - For discussion of the HDF5 library development
-		  with developers and other interested parties.
+Several mailing lists are currently set up for use with the HDF5 library:
 
-   hdf5announce - For announcements of HDF5 related developments,
-		  not a discussion list.
+   news         - For announcements of HDF5 related developments,
+                  not a discussion list.
 
-   hdf5cvs      - For checkin notices of code development on the library,
-		  not a discussion list.
+   hdf-forum    - For general discussion of the HDF5 library with
+                  other users.
 
-To subscribe to a list, send mail to "majordomo at ncsa.uiuc.edu",
-with "subscribe <list>" in the _body_, not the Subject, of the message.
-E.g., subscribe hdf5 
+   hdf5dev      - For discussion of HDF5 library development
+                  with developers and other interested parties.
 
-Messages to be sent to the list should be sent to "<list>@ncsa.uiuc.edu".
+To subscribe to a list, send mail to "<list>-subscribe at hdfgroup.org".
+where <list> is the name of the list.  E.g., 
+    mail hdf5-subscribe at hdfgroup.org
 
-Nearly daily code snapshots are now being provided at the following URL:
-    ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots
-Please read the readme file in that directory before working with a library
-snapshot.
+Messages to be sent to the list should be sent to "<list>@hdfgroup.org".
 
-The HDF5 website is located at http://hdf.ncsa.uiuc.edu/HDF5/
+Periodic code snapshots are provided at the following URL:
+    ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
+Please read the README.txt file in that directory before working with a 
+library snapshot.
 
-Bugs should be reported to hdfhelp at ncsa.uiuc.edu.
+The HDF5 website is located at http://hdfgroup.org/HDF5/
 
+Bugs should be reported to help at hdfgroup.org.

Modified: packages/hdf5/trunk/aclocal.m4
===================================================================
--- packages/hdf5/trunk/aclocal.m4	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/aclocal.m4	2007-09-25 08:53:17 UTC (rev 1105)
@@ -13,7 +13,7 @@
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
+# serial 51 Debian 1.5.24-1 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -176,7 +176,7 @@
 test -z "$ac_objext" && ac_objext=o
 
 # Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
 old_postuninstall_cmds=
 
@@ -263,8 +263,9 @@
 # Check for compiler boilerplate output or warnings with
 # the simple compiler test code.
 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -276,8 +277,9 @@
 # Check for linker boilerplate output or warnings with
 # the simple link test code.
 AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -293,12 +295,20 @@
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi],[])
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 ])# _LT_AC_SYS_LIBPATH_AIX
 
@@ -529,13 +539,17 @@
   rm -rf conftest*
   ;;
 
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_i386_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
@@ -552,6 +566,9 @@
       ;;
     *64-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_x86_64_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
@@ -623,7 +640,7 @@
 AC_CACHE_CHECK([$1], [$2],
   [$2=no
   ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$3"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -664,11 +681,12 @@
 # ------------------------------------------------------------
 # Check whether the given compiler option works
 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
   [$2=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $3"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -782,24 +800,27 @@
     fi
     ;;
   *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
 	       = "XX$teststring") >/dev/null 2>&1 &&
-	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	    lt_cv_sys_max_cmd_len=$new_result &&
-	    test $i != 17 # 1/2 MB should be enough
-    do
-      i=`expr $i + 1`
-      teststring=$teststring$teststring
-    done
-    teststring=
-    # Add a significant safety factor because C++ compilers can tack on massive
-    # amounts of additional arguments before passing them to the linker.
-    # It appears as though 1/2 is a usable value.
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	      lt_cv_sys_max_cmd_len=$new_result &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on massive
+      # amounts of additional arguments before passing them to the linker.
+      # It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
     ;;
   esac
 ])
@@ -1026,7 +1047,8 @@
 # ---------------------------------
 # Check to see if options -c and -o are simultaneously supported by compiler
 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
@@ -1034,7 +1056,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -1174,6 +1196,7 @@
    darwin*)
        if test -n "$STRIP" ; then
          striplib="$STRIP -x"
+         old_striplib="$STRIP -S"
          AC_MSG_RESULT([yes])
        else
   AC_MSG_RESULT([no])
@@ -1191,7 +1214,8 @@
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -1205,20 +1229,58 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
 if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+fi])
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -1375,12 +1437,8 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+  m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -1397,18 +1455,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -1446,7 +1492,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -1509,7 +1555,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[[3-9]]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1564,7 +1610,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1580,7 +1626,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -1605,18 +1651,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -1698,6 +1732,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -1803,7 +1841,8 @@
 # _LT_AC_TAGCONFIG
 # ----------------
 AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
     [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
         [include additional configurations @<:@automatic@:>@])],
     [tagnames="$withval"])
@@ -2064,7 +2103,7 @@
 
 # AC_PATH_TOOL_PREFIX
 # -------------------
-# find a file program which can recognise shared library
+# find a file program which can recognize shared library
 AC_DEFUN([AC_PATH_TOOL_PREFIX],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_MSG_CHECKING([for $1])
@@ -2127,7 +2166,7 @@
 
 # AC_PATH_MAGIC
 # -------------
-# find a file program which can recognise a shared library
+# find a file program which can recognize a shared library
 AC_DEFUN([AC_PATH_MAGIC],
 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
 if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -2274,7 +2313,7 @@
 # how to check for library dependencies
 #  -- PORTME fill in with the dynamic library characteristics
 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
 lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=
@@ -2313,16 +2352,22 @@
 
 mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
   ;;
 
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -2360,7 +2405,7 @@
   esac
   ;;
 
-interix3*)
+interix[[3-9]]*)
   # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
   lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
   ;;
@@ -2376,11 +2421,11 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -2410,6 +2455,10 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 solaris*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -2462,7 +2511,7 @@
   lt_cv_path_NM="$NM"
 else
   lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     lt_nm_to_check="$lt_nm_to_check nm"
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
@@ -2678,10 +2727,10 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
 
 _LT_AC_SYS_COMPILER
 
@@ -2783,10 +2832,10 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -2932,7 +2981,7 @@
 	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	then
 	  # We have reworked collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  :
 	else
 	  # We have old collect2
 	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -3091,10 +3140,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -3128,7 +3177,7 @@
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd* | kfreebsd*-gnu | dragonfly*)
+  freebsd* | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -3177,9 +3226,7 @@
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
 
       case $host_cpu in
-      hppa*64*|ia64*)
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-        ;;
+      hppa*64*|ia64*) ;;
       *)
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         ;;
@@ -3247,7 +3294,7 @@
 	;;
     esac
     ;;
-  interix3*)
+  interix[[3-9]]*)
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
@@ -3287,7 +3334,7 @@
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
     ;;
-  linux*)
+  linux* | k*bsd*-gnu)
     case $cc_basename in
       KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -3367,6 +3414,29 @@
 	# dependencies.
 	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
 	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # Archives containing C++ object files must be created using
+	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	  # necessary to make sure instantiated templates are included
+	  # in the archive.
+	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
     esac
     ;;
   lynxos*)
@@ -3389,7 +3459,7 @@
 	;;
     esac
     ;;
-  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  netbsd* | netbsdelf*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -3405,16 +3475,20 @@
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   openbsd*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    if test -f /usr/libexec/ld.so; then
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
-    output_verbose_link_cmd='echo'
     ;;
   osf3*)
     case $cc_basename in
@@ -3576,15 +3650,10 @@
 	case $host_os in
 	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
 	  *)
-	    # The C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker. We must also pass each convience library through
-	    # to the system linker between allextract/defaultextract.
-	    # The C++ compiler will combine linker options so we
-	    # cannot just pass the convience library names through
-	    # without $wl.
+	    # The compiler driver will combine and reorder linker options,
+	    # but understands `-z linker_flag'.
 	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
 	    ;;
 	esac
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -3631,6 +3700,12 @@
 	  fi
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    ;;
+	  esac
 	fi
 	;;
     esac
@@ -3874,7 +3949,7 @@
 # PORTME: override above test on systems where it is broken
 ifelse([$1],[CXX],
 [case $host_os in
-interix3*)
+interix[[3-9]]*)
   # Interix 3.5 installs completely hosed .la files for C++, so rather than
   # hack all around it, let's just trust "g++" to DTRT.
   _LT_AC_TAGVAR(predep_objects,$1)=
@@ -3882,13 +3957,46 @@
   _LT_AC_TAGVAR(postdeps,$1)=
   ;;
 
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+    #
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
 solaris*)
   case $cc_basename in
   CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
     # Adding this requires a known-good setup of shared libraries for
     # Sun compiler versions before 5.6, else PIC objects from an old
     # archive will be linked into the output, leading to subtle bugs.
-    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
     ;;
   esac
   ;;
@@ -3937,10 +4045,17 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="      program t\n      end\n"
+lt_simple_link_test_code="\
+      program t
+      end
+"
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -4019,10 +4134,10 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -4075,7 +4190,7 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
 
 # Code to be used in simple link tests
 lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -4164,6 +4279,7 @@
     _LT_AC_TAGVAR(module_cmds, $1) \
     _LT_AC_TAGVAR(module_expsym_cmds, $1) \
     _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
     _LT_AC_TAGVAR(exclude_expsyms, $1) \
     _LT_AC_TAGVAR(include_expsyms, $1); do
 
@@ -4210,7 +4326,7 @@
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
@@ -4535,7 +4651,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
@@ -4618,6 +4734,7 @@
 # ---------------------------------
 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
 [AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
 AC_REQUIRE([AC_PROG_NM])
 AC_REQUIRE([AC_OBJEXT])
 # Check for command to grab the raw symbol name followed by C symbol from nm.
@@ -4654,7 +4771,7 @@
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
-linux*)
+linux* | k*bsd*-gnu)
   if test "$host_cpu" = ia64; then
     symcode='[[ABCDGIRSTW]]'
     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -4844,12 +4961,14 @@
       # like `-m68040'.
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
-    mingw* | os2* | pw32*)
+    mingw* | cygwin* | os2* | pw32*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
     darwin* | rhapsody*)
@@ -4861,7 +4980,7 @@
       # DJGPP does not support shared libraries at all
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
-    interix3*)
+    interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -4927,7 +5046,7 @@
 	    ;;
 	esac
 	;;
-      freebsd* | kfreebsd*-gnu | dragonfly*)
+      freebsd* | dragonfly*)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
@@ -4970,7 +5089,7 @@
 	    ;;
 	esac
 	;;
-      linux*)
+      linux* | k*bsd*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -4997,6 +5116,14 @@
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
 	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
 	    ;;
 	esac
 	;;
@@ -5013,7 +5140,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      netbsd* | netbsdelf*-gnu)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -5117,13 +5244,15 @@
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
 
@@ -5133,7 +5262,7 @@
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
-    interix3*)
+    interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -5191,7 +5320,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
@@ -5224,7 +5353,7 @@
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -5243,6 +5372,22 @@
         # All Alpha code is PIC.
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -5252,6 +5397,10 @@
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
+    rdos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
     solaris*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5346,7 +5495,8 @@
 # ------------------------------------
 # See if the linker supports building shared libraries.
 AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 ifelse([$1],[CXX],[
   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
@@ -5363,14 +5513,11 @@
     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
   ;;
-  kfreebsd*-gnu)
+  linux* | k*bsd*-gnu)
     _LT_AC_TAGVAR(link_all_deplibs, $1)=no
   ;;
-  linux*)
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-  ;;
   *)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
@@ -5508,7 +5655,7 @@
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(always_export_symbols, $1)=no
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -5526,7 +5673,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[[3-9]]*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
@@ -5541,7 +5688,7 @@
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -5559,13 +5706,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
       else
@@ -5573,7 +5729,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5606,7 +5762,7 @@
 
     sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
       case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	cat <<_LT_EOF 1>&2
 
@@ -5725,7 +5881,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+  	  :
 	  else
   	  # We have old collect2
   	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -5818,7 +5974,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
       _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
@@ -5860,10 +6016,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -5909,15 +6065,6 @@
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
-      
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-      ;;
 
     hpux9*)
       if test "$GCC" = yes; then
@@ -6014,7 +6161,7 @@
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -6034,24 +6181,28 @@
       ;;
 
     openbsd*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	   ;;
-	 *)
-	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
@@ -6110,17 +6261,16 @@
       case $host_os in
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
@@ -6177,7 +6327,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6252,7 +6402,7 @@
       # to ld, don't add -lc before -lgcc.
       AC_MSG_CHECKING([whether -lc should be explicitly linked in])
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
         soname=conftest
@@ -6355,6 +6505,30 @@
 [AC_CHECK_TOOL(RC, windres, no)
 ])
 
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+  as_executable_p='test -x'
+else
+  as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
 # NOTE: This macro has been submitted for inclusion into   #
 #  GNU Autoconf as AC_PROG_SED.  When it is available in   #
 #  a released version of Autoconf we should remove this    #
@@ -6375,12 +6549,13 @@
   test -z "$as_dir" && as_dir=.
   for lt_ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
         lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
       fi
     done
   done
 done
+IFS=$as_save_IFS
 lt_ac_max=0
 lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -6413,6 +6588,7 @@
 done
 ])
 SED=$lt_cv_path_SED
+AC_SUBST([SED])
 AC_MSG_RESULT([$SED])
 ])
 

Copied: packages/hdf5/trunk/bin/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/bin/COPYING)
===================================================================
--- packages/hdf5/trunk/bin/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/bin/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/bin/buildhdf5
===================================================================
--- packages/hdf5/trunk/bin/buildhdf5	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/buildhdf5	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 #!/bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 # Build HDF5 library by doing configure, make, and tests.
 # Usage: See USAGE()
 # Programmer: Albert Cheng

Modified: packages/hdf5/trunk/bin/chkmanifest
===================================================================
--- packages/hdf5/trunk/bin/chkmanifest	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/chkmanifest	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,35 +10,134 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Check that all the files in MANIFEST exist and that (if this is a
-# CVS checkout) that all the CVS-managed files appear in the
+# SVN checkout) that all the SVN-managed files appear in the
 # MANIFEST.
 
 verbose=yes
-MANIFEST=/tmp/H5_MANIFEST.$$
+MANIFEST=/tmp/HD_MANIFEST.$$
+SVNENTRY=/tmp/HD_SVNENTRY.$$
 
+# function definitions
+
+GETSVNENTRIES_13 ()
+# Purpose: Extract filenames from the svn v1.3.* entries file
+# $1: directory name in which the svn entries is.
+# steps:
+# 1. remove all single line entries so that step 2 does not fail on them. 
+# 2. merge all multiple lines entries into single lines.
+# 3. remove all non file entries.
+# 4. insert a blank line because some entries files has no kind="file"
+#    entry and ed does not like to do g on an empty file.
+# 5. remove everything except the file name.
+# 6. remove all blank lines, including the inserted one.
+{
+cp $1/entries $SVNENTRY
+chmod u+w $SVNENTRY	# entries file is not writable.
+ed - $SVNENTRY <<EOF
+g/^<.*>$/d
+g/^</.,/>$/j
+v/kind="file"/d
+a
+
+.
+g/.*name="/s///
+g/".*/s///
+g/^$/d
+w
+q
+EOF
+cat $SVNENTRY
+rm $SVNENTRY
+}
+
+GETSVNENTRIES_14 ()
+# Purpose: Extract filenames from the svn v1.4.* entries file
+# $1: directory name in which the svn entries is.
+# steps:
+# 1. all valid files are followed by a line containing "file" only.
+# 2. find them by looking for "file" first, then mark its preceding line as
+#    wanted.
+# 3. remove all non-marked line.
+# 4. insert a blank line because some entries files has no kind="file"
+#    entry and ed does not like to do g on an empty file.
+# 5. remove the marks.
+{
+cp $1/entries $SVNENTRY
+chmod u+w $SVNENTRY	# entries file is not writable.
+ed - $SVNENTRY <<EOF
+g/^file$/-s/^/%WANTED%/
+v/%WANTED%/d
+a
+
+.
+g/^%WANTED%/s///
+w
+q
+EOF
+cat $SVNENTRY
+rm $SVNENTRY
+}
+
+
+# Main
+test "$verbose" && echo "   Checking MANIFEST..." 1>&2
 # clean up $MANIFEST file when exits
 trap "rm -f $MANIFEST" 0
 
+# First make sure i am in the directory in which there is an MANIFEST file
+# and then do the checking from there.  Will try the following,
+# current directory, parent directory, the directory this command resides.
+if [ -f MANIFEST ]; then
+    continue
+elif [ -f ../MANIFEST ]; then
+    cd ..
+else
+    commanddir=`dirname $0`
+    if [ -d "$commanddir" -a -f $commanddir/MANIFEST ]; then
+	cd $commanddir
+	continue
+    else
+	echo MANIFEST file not found. Abort.
+	exit 1
+    fi
+fi
+
 # Copy the manifest file to get a list of file names.
 grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
 
-test "$verbose" && echo "   Checking MANIFEST..." 1>&2
-test -f $MANIFEST || exit 1
 for file in `cat $MANIFEST`; do
     if [ ! -f $file ]; then
        echo "- $file"
        fail=yes
     fi
 done
-for cvs in `find . -type d -name CVS -print`; do
-    path=`echo $cvs |sed 's/\/CVS//'`
-    for file in `grep '^\/' $cvs/Entries |cut -d/ -f2`; do
-	if (grep $path/$file$ $MANIFEST >/dev/null); then
+
+# Inspect the .svn/entries to figure out what version of svn file entry is
+# used.
+# The following algorithm is formed via reverse engineering.
+# I don't know what the official svn format is if such a specification exists.
+# Algorithm:
+# If the first line of the file has 'xml version="1.0"' in it, it is created
+# by svn 1.3 or older; else if it has '^file$' in it, it is created by svn 1.4.
+svn_entry_file=.svn/entries
+if head -1 $svn_entry_file | grep 'xml version="1.0"' > /dev/null 2>&1;then
+    getsvnentries=GETSVNENTRIES_13
+elif grep '^file$' $svn_entry_file > /dev/null 2>&1; then
+    getsvnentries=GETSVNENTRIES_14
+else
+    echo "Unknow svn entries format. Aborted"
+    exit 1
+fi
+
+for svn in `find . -type d -name .svn -print`; do
+    path=`echo $svn |sed 's/\/.svn//'`
+    for file in `$getsvnentries $svn`; do
+	if (grep ^$path/$file$ $MANIFEST >/dev/null); then
 	    :
 	else
 	    echo "+ $path/$file"
@@ -49,7 +149,7 @@
 if [ "X$fail" = "Xyes" ]; then
     cat 1>&2 <<EOF
 The MANIFEST is out of date. Files marked with a minus sign (-) no
-longer exist; files marked with a plus sign (+) are CVS-managed but do
+longer exist; files marked with a plus sign (+) are SVN-managed but do
 not appear in the MANIFEST.  Please remedy the situation and try again.
 EOF
     exit 1

Modified: packages/hdf5/trunk/bin/config.guess
===================================================================
--- packages/hdf5/trunk/bin/config.guess	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/config.guess	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
 
-timestamp='2006-02-23'
+timestamp='2007-07-22'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -160,6 +161,7 @@
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
@@ -210,7 +212,7 @@
 	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
 	exit ;;
     macppc:MirBSD:*:*)
-	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@@ -328,7 +330,7 @@
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
-    i86pc:SunOS:5.*:*)
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:6*:*)
@@ -770,6 +772,8 @@
 	case ${UNAME_MACHINE} in
 	    pc98)
 		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	    *)
 		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	esac
@@ -777,12 +781,9 @@
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
-    i*:MINGW*:*)
+    *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS_NT-*:*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
     i*:windows32*:*)
     	# uname -m includes "-pc" on this system.
     	echo ${UNAME_MACHINE}-mingw32
@@ -790,12 +791,15 @@
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
-    x86:Interix*:[345]*)
-	echo i586-pc-interix${UNAME_RELEASE}
-	exit ;;
-    EM64T:Interix*:[345]*)
-	echo x86_64-unknown-interix${UNAME_RELEASE}
-	exit ;;
+    *:Interix*:[3456]*)
+    	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    EM64T | authenticamd)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
 	exit ;;
@@ -831,6 +835,9 @@
     arm*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     cris:Linux:*:*)
 	echo cris-axis-linux-gnu
 	exit ;;
@@ -947,6 +954,9 @@
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
 	exit ;;
+    xtensa:Linux:*:*)
+    	echo xtensa-unknown-linux-gnu
+	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
@@ -989,7 +999,7 @@
 	LIBC=gnulibc1
 	# endif
 	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun)
+	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
 	LIBC=gnu
 	#else
 	LIBC=gnuaout
@@ -1205,6 +1215,15 @@
     SX-6:SUPER-UX:*:*)
 	echo sx6-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;

Modified: packages/hdf5/trunk/bin/config.sub
===================================================================
--- packages/hdf5/trunk/bin/config.sub	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/config.sub	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
 
-timestamp='2006-02-23'
+timestamp='2007-06-28'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -240,15 +241,16 @@
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
 	| bfin \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| fr30 | frv \
+	| fido | fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
-	| m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | mcore | mep \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
@@ -274,21 +276,19 @@
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b \
-	| strongarm \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu | strongarm \
 	| tahoe | thumb | tic4x | tic80 | tron \
 	| v850 | v850e \
 	| we32k \
-	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
 	| z8k)
 		basic_machine=$basic_machine-unknown
 		;;
-	m32c)
-		basic_machine=$basic_machine-unknown
-		;;
 	m6811 | m68hc11 | m6812 | m68hc12)
 		# Motorola 68HC11/12.
 		basic_machine=$basic_machine-unknown
@@ -318,18 +318,18 @@
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* \
+	| avr-* | avr32-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
 	| clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
-	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
-	| m32r-* | m32rle-* \
+	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
 	| m88110-* | m88k-* | maxq-* | mcore-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -358,23 +358,21 @@
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
 	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
 	| tahoe-* | thumb-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tron-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
 	| xstormy16-* | xtensa-* \
 	| ymp-* \
 	| z8k-*)
 		;;
-	m32c-*)
-		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
@@ -477,8 +475,8 @@
 		basic_machine=craynv-cray
 		os=-unicosmp
 		;;
-	cr16c)
-		basic_machine=cr16c-unknown
+	cr16)
+		basic_machine=cr16-unknown
 		os=-elf
 		;;
 	crds | unos)
@@ -685,6 +683,10 @@
 		basic_machine=i386-pc
 		os=-mingw32
 		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
 	miniframe)
 		basic_machine=m68000-convergent
 		;;
@@ -912,6 +914,10 @@
 	sb1el)
 		basic_machine=mipsisa64sb1el-unknown
 		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
 	sei)
 		basic_machine=mips-sei
 		os=-seiux
@@ -923,6 +929,9 @@
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
 	sh64)
 		basic_machine=sh64-unknown
 		;;
@@ -1128,7 +1137,7 @@
 	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b)
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
 		basic_machine=sparc-sun
 		;;
 	cydra)
@@ -1217,7 +1226,7 @@
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1369,6 +1378,12 @@
 # system, and we'll never get to this point.
 
 case $basic_machine in
+        score-*)
+		os=-elf
+		;;
+        spu-*)
+		os=-elf
+		;;
 	*-acorn)
 		os=-riscix1.2
 		;;
@@ -1378,9 +1393,9 @@
 	arm*-semi)
 		os=-aout
 		;;
-    c4x-* | tic4x-*)
-        os=-coff
-        ;;
+        c4x-* | tic4x-*)
+        	os=-coff
+		;;
 	# This must come before the *-dec entry.
 	pdp10-*)
 		os=-tops20
@@ -1406,6 +1421,9 @@
 	m68*-cisco)
 		os=-aout
 		;;
+        mep-*)
+		os=-elf
+		;;
 	mips*-cisco)
 		os=-elf
 		;;

Modified: packages/hdf5/trunk/bin/config_para_ibm_sp.sh
===================================================================
--- packages/hdf5/trunk/bin/config_para_ibm_sp.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/config_para_ibm_sp.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -7,8 +8,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # How to create a parallel version of HDF5 on an IBM SP system

Modified: packages/hdf5/trunk/bin/dependencies
===================================================================
--- packages/hdf5/trunk/bin/dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl -w
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 my $depend_file;
 my $new_depend_file;

Modified: packages/hdf5/trunk/bin/deploy
===================================================================
--- packages/hdf5/trunk/bin/deploy	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/deploy	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 #!/bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 # Deploy the HDF5 binary.
 #
 # Programmer: Albert Cheng

Modified: packages/hdf5/trunk/bin/distdep
===================================================================
--- packages/hdf5/trunk/bin/distdep	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/distdep	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl -p
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Usage: $0 [<].depend

Modified: packages/hdf5/trunk/bin/h5vers
===================================================================
--- packages/hdf5/trunk/bin/h5vers	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/h5vers	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 require 5.003;
 use strict;
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -15,8 +16,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Robb Matzke <matzke at llnl.gov>
 # 17 July 1998
@@ -71,7 +72,7 @@
 # one directory above the H5public.h file is also modified so it looks
 # something like: This is hdf5-1.2.3-pre1 currently under development.
 # The AC_INIT macro in configure.in will also change in this case to be
-# something like: AC_INIT([HDF5], [hdf5-1.2.3-pre1], [hdfhelp at ncsa.uiuc.edu])
+# something like: AC_INIT([HDF5], [hdf5-1.2.3-pre1], [help at hdfgroup.org])
 ##############################################################################
 
 sub getvers {
@@ -119,7 +120,7 @@
 }
 
 # Parse arguments
-my ($verbose, $set, $inc, $file);
+my ($verbose, $set, $inc, $file, $rc);
 my (@files) = ("H5public.h", "src/H5public.h", "../src/H5public.h");
 while ($_ = shift) {
   $_ eq "-s" && do {
@@ -288,7 +289,7 @@
 
   for (my $i = 0; $i < $#contents; ++$i) {
     if ($contents[$i] =~ /^AC_INIT/) {
-      $contents[$i] = sprintf("AC_INIT([$name], [%d.%d.%d%s], [hdfhelp\@ncsa.uiuc.edu])\n",
+      $contents[$i] = sprintf("AC_INIT([$name], [%d.%d.%d%s], [help\@hdfgroup.org])\n",
                               @newver[0,1,2],
                               $newver[3] eq "" ? "" : "-".$newver[3]);
       last;
@@ -309,10 +310,14 @@
 
 # Reconfigure once (which will update all three configure files)
 if ($1) {
-  system("cd $1 && bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
+  $rc = system("cd $1 && bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
 } else {
-  system("bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
+  $rc = system("bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
 }
+if ($rc) {
+    printf("bin/reconfigure failed with exit code %d. Aborted.\n", $rc);
+    exit 1;
+}
 
 # Print the new version number
 if ($verbose) {

Modified: packages/hdf5/trunk/bin/iostats
===================================================================
--- packages/hdf5/trunk/bin/iostats	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/iostats	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Usage: pipe the output of Linux's `strace' program into the stdin of

Modified: packages/hdf5/trunk/bin/locate_sw
===================================================================
--- packages/hdf5/trunk/bin/locate_sw	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/locate_sw	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Try to locate the software as named in argument.

Modified: packages/hdf5/trunk/bin/ltmain.sh
===================================================================
--- packages/hdf5/trunk/bin/ltmain.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/ltmain.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 # ltmain.sh - Provide generalized library-building support services.
 # NOTE: Changing this file will not affect anything until you rerun configure.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007  Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 #
 # This program is free software; you can redistribute it and/or modify
@@ -43,14 +43,22 @@
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION="1.5.22 Debian 1.5.22-2"
-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+VERSION="1.5.24 Debian 1.5.24-1"
+TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)"
 
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 # Check that we have a working $echo.
 if test "X$1" = X--no-reexec; then
@@ -105,12 +113,14 @@
 # These must not be set unconditionally because not all systems understand
 # e.g. LANG=C (notably SCO).
 # We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
-fi
+for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+	  save_$lt_var=\$$lt_var
+	  $lt_var=C
+	  export $lt_var
+	fi"
+done
 
 # Make sure IFS has a sensible default
 lt_nl='
@@ -136,6 +146,8 @@
 preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
 
 #####################################
 # Shell function definitions:
@@ -196,7 +208,13 @@
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
       $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
       win32_nmres=`eval $NM -f posix -A $1 | \
-	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+	$SED -n -e '1,100{
+		/ I /{
+			s,.*,import,
+			p
+			q
+			}
+		}'`
       case $win32_nmres in
       import*)  win32_libid_type="x86 archive import";;
       *)        win32_libid_type="x86 archive static";;
@@ -327,7 +345,17 @@
 	*) my_xabs=`pwd`"/$my_xlib" ;;
       esac
       my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xdir="$my_gentop/$my_xlib"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  extracted_serial=`expr $extracted_serial + 1`
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
 
       $show "${rm}r $my_xdir"
       $run ${rm}r "$my_xdir"
@@ -454,11 +482,12 @@
     ;;
 
   --version)
-    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
-    $echo
-    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
-    $echo "This is free software; see the source for copying conditions.  There is NO"
-    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    echo "\
+$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+
+Copyright (C) 2007  Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     exit $?
     ;;
 
@@ -755,9 +784,10 @@
     *.class) xform=class ;;
     *.cpp) xform=cpp ;;
     *.cxx) xform=cxx ;;
-    *.f90) xform=f90 ;;
+    *.[fF][09]?) xform=[fF][09]. ;;
     *.for) xform=for ;;
     *.java) xform=java ;;
+    *.obj) xform=obj ;;
     esac
 
     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -1138,8 +1168,9 @@
     for arg
     do
       case $arg in
-      -all-static | -static)
-	if test "X$arg" = "X-all-static"; then
+      -all-static | -static | -static-libtool-libs)
+	case $arg in
+	-all-static)
 	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
 	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
 	  fi
@@ -1147,12 +1178,20 @@
 	    dlopen_self=$dlopen_self_static
 	  fi
 	  prefer_static_libs=yes
-	else
+	  ;;
+	-static)
 	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
 	    dlopen_self=$dlopen_self_static
 	  fi
 	  prefer_static_libs=built
-	fi
+	  ;;
+	-static-libtool-libs)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	esac
 	build_libtool_libs=no
 	build_old_libs=yes
 	break
@@ -1600,7 +1639,7 @@
 	continue
 	;;
 
-     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 	compiler_flags="$compiler_flags $arg"
 	compile_command="$compile_command $arg"
 	finalize_command="$finalize_command $arg"
@@ -1620,10 +1659,11 @@
       # -m* pass through architecture-specific compiler args for GCC
       # -m*, -t[45]*, -txscale* pass through architecture-specific
       # compiler args for GCC
-      # -pg pass through profiling flag for GCC
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
       # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
-      -t[45]*|-txscale*|@*)
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
 
 	# Unknown arguments in both finalize_command and compile_command need
 	# to be aesthetically quoted because they are evaled later.
@@ -1651,9 +1691,9 @@
 
       -no-install)
 	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
 	  # The PATH hackery in wrapper scripts is required on Windows
-	  # in order for the loader to find any dlls it needs.
+	  # and Darwin in order for the loader to find any dlls it needs.
 	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
 	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
 	  fast_install=no
@@ -1712,7 +1752,7 @@
 	continue
 	;;
 
-      -static)
+      -static | -static-libtool-libs)
 	# The effects of -static are defined in a previous loop.
 	# We used to do the same as -all-static on platforms that
 	# didn't have a PIC flag, but the assumption that the effects
@@ -2097,7 +2137,7 @@
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
@@ -2493,7 +2533,9 @@
 
 	if test "$linkmode,$pass" = "prog,link"; then
 	  if test -n "$library_names" &&
-	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	     { { test "$prefer_static_libs" = no ||
+		 test "$prefer_static_libs,$installed" = "built,yes"; } ||
+	       test -z "$old_library"; }; then
 	    # We need to hardcode the library path
 	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
 	      # Make sure the rpath contains only unique directories.
@@ -3189,7 +3231,7 @@
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
-	  darwin|linux|osf|windows)
+	  darwin|linux|osf|windows|none)
 	    current=`expr $number_major + $number_minor`
 	    age="$number_minor"
 	    revision="$number_revision"
@@ -3200,9 +3242,10 @@
 	    age="0"
 	    ;;
 	  irix|nonstopux)
-	    current=`expr $number_major + $number_minor - 1`
+	    current=`expr $number_major + $number_minor`
 	    age="$number_minor"
 	    revision="$number_minor"
+	    lt_irix_increment=no
 	    ;;
 	  *)
 	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
@@ -3266,7 +3309,8 @@
 	  versuffix="$major.$age.$revision"
 	  # Darwin ld doesn't like 0 for these options...
 	  minor_current=`expr $current + 1`
-	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
 	  ;;
 
 	freebsd-aout)
@@ -3280,8 +3324,11 @@
 	  ;;
 
 	irix | nonstopux)
-	  major=`expr $current - $age + 1`
-
+	  if test "X$lt_irix_increment" = "Xno"; then
+	    major=`expr $current - $age`
+	  else
+	    major=`expr $current - $age + 1`
+	  fi
 	  case $version_type in
 	    nonstopux) verstring_prefix=nonstopux ;;
 	    *)         verstring_prefix=sgi ;;
@@ -3418,11 +3465,11 @@
       fi
 
       # Eliminate all temporary directories.
-      for path in $notinst_path; do
-	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
-	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
-	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
-      done
+      #for path in $notinst_path; do
+      #	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+      #	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+      #	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      #done
 
       if test -n "$xrpath"; then
 	# If the user specified any rpath flags, then add them.
@@ -3523,13 +3570,12 @@
 	  int main() { return 0; }
 EOF
 	  $rm conftest
-	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
-	  if test "$?" -eq 0 ; then
+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
 	    ldd_output=`ldd conftest`
 	    for i in $deplibs; do
 	      name=`expr $i : '-l\(.*\)'`
 	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" -ne "0"; then
+              if test "$name" != "" && test "$name" != "0"; then
 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		  case " $predeps $postdeps " in
 		  *" $i "*)
@@ -3568,9 +3614,7 @@
 	      # If $name is empty we are operating on a -L argument.
               if test "$name" != "" && test "$name" != "0"; then
 		$rm conftest
-		$LTCC $LTCFLAGS -o conftest conftest.c $i
-		# Did it work?
-		if test "$?" -eq 0 ; then
+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
 		  ldd_output=`ldd conftest`
 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		    case " $predeps $postdeps " in
@@ -3602,7 +3646,7 @@
 		  droppeddeps=yes
 		  $echo
 		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** make it link in!  You will probably need to install it or some"
 		  $echo "*** library that it depends on before this library will be fully"
 		  $echo "*** functional.  Installing it before continuing would be even better."
 		fi
@@ -3888,7 +3932,10 @@
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
 	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	      case $archive_cmds in
+	      *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
+	      *)      eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
+	      esac
 	    else
 	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
 	    fi
@@ -4247,12 +4294,14 @@
       reload_conv_objs=
       gentop=
       # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
       wl=
 
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
-	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+	  reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
 	  generated="$generated $gentop"
@@ -4700,16 +4749,16 @@
           case $host in
           *cygwin* | *mingw* )
             if test -f "$output_objdir/${outputname}.def" ; then
-              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
-              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
+              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
             else
-              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
              fi
             ;;
           * )
-            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+            finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
             ;;
           esac
 	  ;;
@@ -4724,13 +4773,13 @@
 	# really was required.
 
 	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
       fi
 
       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
 	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
 	link_command="$compile_command$compile_rpath"
 
 	# We have no uninstalled library dependencies, so finalize right now.
@@ -4817,7 +4866,7 @@
 	if test "$fast_install" != no; then
 	  link_command="$finalize_var$compile_command$finalize_rpath"
 	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
 	  else
 	    # fast_install is set to needless
 	    relink_command=
@@ -4854,7 +4903,7 @@
 	  fi
 	done
 	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+	relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
       fi
 
       # Quote $echo for shipping.
@@ -5261,6 +5310,20 @@
 Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
@@ -5403,7 +5466,7 @@
 	  ;;
 	esac
 	$echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      \$echo \"\$0: cannot exec \$program \$*\"
       exit $EXIT_FAILURE
     fi
   else
@@ -5589,7 +5652,7 @@
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
       if test "$hardcode_automatic" = yes ; then
 	relink_command=
       fi
@@ -5934,9 +5997,9 @@
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
 	  else
-	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
 	  fi
 
 	  $echo "$modename: warning: relinking \`$file'" 1>&2
@@ -6145,7 +6208,7 @@
 	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
 	      outputname="$tmpdir/$file"
 	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+	      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
 
 	      $show "$relink_command"
 	      if $run eval "$relink_command"; then :
@@ -6356,8 +6419,10 @@
 	if test -f "$dir/$objdir/$dlname"; then
 	  dir="$dir/$objdir"
 	else
-	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-	  exit $EXIT_FAILURE
+	  if test ! -f "$dir/$dlname"; then
+	    $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	    exit $EXIT_FAILURE
+	  fi
 	fi
 	;;
 
@@ -6421,12 +6486,12 @@
       fi
 
       # Restore saved environment variables
-      if test "${save_LC_ALL+set}" = set; then
-	LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-	LANG="$save_LANG"; export LANG
-      fi
+      for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+		$lt_var=\$save_$lt_var; export $lt_var
+	      fi"
+      done
 
       # Now prepare to actually exec the command.
       exec_cmd="\$cmd$args"
@@ -6783,9 +6848,9 @@
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE
-		    try to export only the symbols listed in SYMFILE
+                    try to export only the symbols listed in SYMFILE
   -export-symbols-regex REGEX
-		    try to export only the symbols matching REGEX
+                    try to export only the symbols matching REGEX
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
   -module           build a library that can dlopened
@@ -6799,9 +6864,11 @@
   -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
   -version-info CURRENT[:REVISION[:AGE]]
-		    specify library version info [each variable defaults to 0]
+                    specify library version info [each variable defaults to 0]
 
 All other options (arguments beginning with \`-') are ignored.
 

Copied: packages/hdf5/trunk/bin/makehelp (from rev 1094, packages/hdf5/branches/upstream/current/bin/makehelp)
===================================================================
--- packages/hdf5/trunk/bin/makehelp	                        (rev 0)
+++ packages/hdf5/trunk/bin/makehelp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,65 @@
+cat << EOF
+Help for HDF5 Makefiles
+For help with the make utility itself, try 'man make'.
+
+HDF5 makefiles are used to build, test, and install HDF5.  The exact
+behavior and output will depend on your system's version of make, compiler,
+etc.
+
+Usage: make [make options] [TARGET]
+
+Targets:
+make help:		print this help message
+
+make, make all:         (default if no target is specified)
+                        builds all libraries, tools, and tests
+make lib:               builds libraries only
+make progs:             builds libraries and programs
+make tests:             builds libraries, programs, and tests.
+                        Essentially the same as 'make all'.
+make check, make tests,
+make _test, make test:  Run HDF5's test suite.
+                        Make will exit with a failure if any tests fail.
+
+make install:           install HDF5 libraries, include files, and tools
+make install-examples:  installs example source files
+make install-all:       runs both make-install and make install-examples
+make check-install:     test building examples with installed HDF5 library
+make uninstall:         remove installed files
+make install-examples:  removes example source files
+make uninstall-all:     removes both installed libraries and examples
+
+make check-clean:       remove files generated by running tests
+                        (allows tests to be re-run)
+make mostlyclean:       remove intermediate files (*.o files).
+                        Doesn't clean libraries or executables.
+make clean:             remove all files generated by make or make check
+make distclean:         remove all files generated by make, make check, or
+                        configure
+
+make check-p:           Only run parallel tests
+make check-s:           Only run serial tests
+make check-vfd:         Run tests with each virtual file driver
+
+HDF5 uses Automake, so any standard Automake targets not listed here
+should also work.
+
+Configure options that affect Makefile behavior:
+        --enable-fortran, --enable-cxx, --enable-parallel, and --disable-hl
+enable or disable various interfaces.  Make will only recurse into these
+directories if they are specified at configure time.
+        --prefix=[path], --libdir=[path], --includedir=[path], etc. can be used
+to change the directory into which make install puts files.
+        --enable-build-all causes make to build some files that are only
+needed by developers (test file generation programs).
+
+Environment variables that affect Makefile behavior:
+        Make will honor environment variables like CFLAGS that are used when building and linking.
+        The variable HDF5TestExpress can be used to control the running time
+of the tests.  HDF5TestExpress = 0 is a full run of the tests while
+to run make check.  1 and 2 are intermediate values.  The default value is 1.
+
+Available command-line options for make depend on the version of make installed
+on your system.  Try 'man make'.
+
+EOF

Modified: packages/hdf5/trunk/bin/mkdirs
===================================================================
--- packages/hdf5/trunk/bin/mkdirs	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/mkdirs	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # This is a small program which will create directories n-levels deep.
 # You just call it with something like:

Modified: packages/hdf5/trunk/bin/release
===================================================================
--- packages/hdf5/trunk/bin/release	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/release	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 # Make a release of hdf5.  The command-line switches are:
@@ -99,6 +100,13 @@
 
 }
 
+# This command must be run at the top level of the hdf5 source directory.
+# Verify this requirement.
+if [ ! \( -f configure -a -f bin/release \) ]; then
+    echo "$0 must be run at the top level of the hdf5 source directory"
+    exit 1
+fi
+
 # Defaults
 DEST=releases
 VERS=`perl bin/h5vers`
@@ -108,6 +116,7 @@
 check=yes
 today=`date +%Y%m%d`
 pmode='no'
+tmpdir="../#release_tmp.$$"	# tmp work directory
 
 # Restore previous Version information
 RESTORE_VERSION()
@@ -155,6 +164,15 @@
     methods="tar md5"
 fi
 
+# Create the temporay work directory.
+if mkdir $tmpdir; then
+    echo "temporary work directory for release.  "\
+         "Can be deleted after release completes." > $tmpdir/READEME
+else
+    echo "Failed to mkdir tmpdir($tmpdir)"
+    exit 1
+fi
+
 # setup restoration in case of abort.
 trap RESTORE_VERSION 0
 
@@ -176,7 +194,6 @@
     exit 1
 fi
 
-
 # Check the validity of the MANIFEST file.
 bin/chkmanifest || fail=yes
 if [ "X$fail" = "Xyes" ]; then
@@ -188,13 +205,12 @@
 fi
 
 # Create a manifest that contains only files for distribution.
-MANIFEST=/tmp/H5_MANIFEST.$$
+MANIFEST=$tmpdir/H5_MANIFEST
 grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_ >$MANIFEST
 
 # Prepare the source tree for a release.
-test -h ../$HDF5_VERS && rm ../$HDF5_VERS
-ln -s `pwd` ../$HDF5_VERS || exit 1
-mv Makefile ../Makefile.x 2>/dev/null #might fail
+ln -s `pwd` $tmpdir/$HDF5_VERS || exit 1
+mv Makefile $tmpdir/Makefile.x 2>/dev/null #might fail
 cp -p Makefile.dist Makefile
 
 # Update README.txt and release_docs/RELEASE.txt with release information.
@@ -212,7 +228,7 @@
 # Create the tar file
 test "$verbose" && echo "   Running tar..." 1>&2
 ( \
-    cd ..; \
+    cd $tmpdir; \
     tar cf $HDF5_VERS.tar $HDF5_VERS/Makefile \
 	`sed 's/^\.\//hdf5-'$VERS'\//' $MANIFEST` || exit 1 \
 )
@@ -221,32 +237,32 @@
 for comp in $methods; do
     case $comp in
 	tar)
-	    cp -p ../$HDF5_VERS.tar $DEST/$HDF5_VERS.tar;;
+	    cp -p $tmpdir/$HDF5_VERS.tar $DEST/$HDF5_VERS.tar
+	    ;;
 	compress)
 	    test "$verbose" && echo "   Running compress..." 1>&2
-	    compress -c <../$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.Z;;
+	    compress -c <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.Z
+	    ;;
 	gzip)
 	    test "$verbose" && echo "   Running gzip..." 1>&2
-	    gzip -9 <../$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz;;
+	    gzip -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.gz
+	    ;;
 	bzip2)
 	    test "$verbose" && echo "   Running bzip2..." 1>&2
-	    bzip2 -9 <../$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2;;
+	    bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
+	    ;;
 	md5)
 	    test "$verbose" && echo "   Creating checksum..." 1>&2
-	    (  cd .. && md5sum $HDF5_VERS.tar >$HDF5_VERS.tar.md5 )
-	    cp -p ../$HDF5_VERS.tar.md5 $DEST/$HDF5_VERS.tar.md5;;
+	    (cd $tmpdir; md5sum $HDF5_VERS.tar ) > $DEST/$HDF5_VERS.tar.md5
+	    ;;
     esac
 done
 
 # Copy the RELEASE.txt to the release area.
 cp release_docs/RELEASE.txt $DEST/$HDF5_VERS-RELEASE.txt
 
-# Remove temporary things
-test -f ../Makefile.x && mv ../Makefile.x Makefile
-rm -f $MANIFEST
-rm -f ../$HDF5_VERS
-rm -f ../$HDF5_VERS.tar
-rm -f ../$HDF5_VERS.tar.md5
+# Restore previous Makefile if existed.
+test -f $tmpdir/Makefile.x && mv $tmpdir/Makefile.x Makefile
 
 # Restore OLD version information, then no need for trap.
 if [ X$pmode = Xyes ]; then
@@ -254,4 +270,7 @@
     trap 0
 fi
 
+# Remove temporary things
+rm -rf $tmpdir
+
 exit 0

Modified: packages/hdf5/trunk/bin/snapshot
===================================================================
--- packages/hdf5/trunk/bin/snapshot	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/snapshot	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,14 +10,14 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This script should be run nightly from cron.  It checks out hdf5
-# from the CVS source tree and compares it against the previous
+# from the source repository and compares it against the previous
 # snapshot.  If anything significant changed then a new snapshot is
 # created, the minor version number is incremented, and the change is
-# checked back into the CVS repository.
+# checked back into the source repository.
 #
 
 # function definitions
@@ -30,6 +31,14 @@
 TIMESTAMP "Exit $PROGNAME with status=$?"
 }
 
+# Show current total disk usage.
+DISKUSAGE()
+{
+    du -ks | \
+    ( read x y; echo "Disk Usage=$x KB" )
+}
+
+
 # MAIN
 # SGI /bin/sh replaces $0 as function name if used in a function.
 # Set the name here to avoid that ambiguity and better style too.
@@ -44,14 +53,13 @@
 # setup exit banner message
 trap EXIT_BANNER 0
 
-# Dump environment variables
-echo ===Dumping environment variables===
+# Dump environment variables before option parsing
+echo ===Dumping environment variables before option parsing ===
 printenv | sort
-echo ===Done Dumping environment variables===
+echo ===Done Dumping environment variables before option parsing ===
 
-# Where are the snapshots stored?
-ARCHIVES_default=/afs/ncsa/ftp/HDF/pub/outgoing/hdf5/snapshots
-ARCHIVES=$ARCHIVES_default
+# snapshots release directory.  Default relative to $BASEDIR.
+ReleaseDir_default=release_dir
 
 # Where is the zlib library?
 # At NCSA, half of the machines have it in /usr/lib, the other half at
@@ -65,6 +73,9 @@
 # Use User's MAKE if set.  Else use generic make.
 MAKE=${MAKE:-make}
 
+# Default check action.
+CHECKVAL=check
+
 #
 # Command options
 cmd="all"
@@ -175,16 +186,19 @@
 	    fi
 	    ZLIB="$1"
 	    ;;
-	archive)
+	releasedir)
 	    shift
 	    if [ $# -lt 1 ]; then
-		echo "Archive pathname missing"
+		echo "Release directory name missing"
 		errcode=1
 		cmd="help"
 		break
 	    fi
-	    ARCHIVES="$1"
+	    ReleaseDir="$1"
 	    ;;
+	check-vfd)
+	    CHECKVAL=check-vfd
+	    ;;
 	--*)
 	    OP_CONFIGURE="$OP_CONFIGURE $1"
 	    ;;
@@ -208,16 +222,21 @@
     shift
 done
 
+# Dump environment variables after option parsing
+echo ===Dumping environment variables after option parsing ===
+printenv | sort
+echo ===Done Dumping environment variables after option parsing ===
+
 if [ "$cmd" = help ]; then
     set -
     cat <<EOF
 Usage: $PROGNAME [all] [checkout] [diff] [test] [srcdir] [release] [help]
 	[clean] [distclean] [echo] [deploy <dir>] [deploydir <dir>]
-	[zlib <zlib_path>] [archive <arch_path>] [srcdirname <dir>]
+	[zlib <zlib_path>] [releasedir <dir>] [srcdirname <dir>] [check-vfd]
 	[op-configure <option>] [--<option>]
     all:      Run all commands (checkout, test & release)
               [Default is all]
-    checkout: Run cvs checkout
+    checkout: Run source checkout
     diff:     Run diff on current and previous versions.  Exit 0 if
               no significant differences are found.  Otherwise, non-zero.
     deploy:   deploy binary to directory <dir>
@@ -245,9 +264,11 @@
     zlib <zlib_path>:
               Use <zlib_path> as the ZLIB locations
               [Default is $ZLIB_default]
-    archive <arch_path>:
-              Use <arch_path> as the release ARCHIVE area
-              [Default is $ARCHIVES_default]
+    releasedir <dir>:
+              Use <dir> as the release directory
+              [Default is $ReleaseDir_default]
+    check-vfd:
+	      Run make check-vfd instead of just make check.
     op-configure <option>:
               Pass <option> to the configure command
               E.g., "snapshot op-configure --enable-parallel"
@@ -282,11 +303,12 @@
 
 CURRENT=${BASEDIR}/current
 PREVIOUS=${BASEDIR}/previous
+ReleaseDir=${ReleaseDir:=${BASEDIR}/${ReleaseDir_default}}
 HOSTNAME=`hostname | cut -f1 -d.`	# no domain part
 if [ $H5VERSION != hdf5 ]; then
-    CVSVERSION="-r $H5VERSION"
+    SVNVERSION="hdf5/branches/$H5VERSION"
 else
-    CVSVERSION=				# use the default (main) version
+    SVNVERSION=hdf5/trunk		# use the default (trunk) version
 fi
 
 # Try finding a version of diff that supports the -I option too.
@@ -297,13 +319,13 @@
 done
 
 #=============================
-# Run CVS checkout
+# Run source checkout
 #=============================
 if [ "$cmd" = "all" -o -n "$cmdcheckout" ]; then
     TIMESTAMP "checkout"
     # If there is a Makefile in ${CURRENT}, the last test done in it
     # has not been distclean'ed.  They would interfere with other
-    # --srcdir build since make considers the files in ${CURRENT} 
+    # --srcdir build since make considers the files in ${CURRENT}
     # take precedence over files in its own build-directory.  Run
     # a "make distclean" to clean them all out.  This is not really
     # part of the "checkout" functions but this is the most convenient
@@ -311,14 +333,10 @@
     # regardless of the return code of distclean.
     ( cd ${CURRENT}; test -f Makefile && ${MAKE} distclean)
 
-    # verify proper cvs setting
-    if [ -z "$CVSROOT" ]; then
-	echo "CVSROOT not defined!" 1>&2
-	exit 1
-    fi
-    # Check out the current version from CVS
-    (cd $BASEDIR; cvs -Q co -P -d current ${CVSVERSION} hdf5 ) || exit 1
-fi # Do CVS checkout
+    SVNROOT=http://svn.hdfgroup.uiuc.edu
+    # Check out the current version from source repository.
+    (cd $BASEDIR; svn -q co ${SVNROOT}/${SVNVERSION} current ) || exit 1
+fi # Do source checkout
 
 
 #=============================
@@ -386,15 +404,15 @@
 	    TIMESTAMP "configure" && \
 	    ${srcdir:+${CURRENT}/}${CONFIGURE} && \
 	    TIMESTAMP "make" && \
-	    ${MAKE} && \
-	    TIMESTAMP "check" && \
-	    ${MAKE} check && \
+	    ${MAKE} && DISKUSAGE \
+	    TIMESTAMP ${CHECKVAL} && \
+	    ${MAKE} ${CHECKVAL} && DISKUSAGE \
 	    TIMESTAMP "install" && \
-	    ${MAKE} install install-doc && \
+	    ${MAKE} install-all && DISKUSAGE \
 	    TIMESTAMP "check-install" && \
-	    ${MAKE} check-install && \
+	    ${MAKE} check-install && DISKUSAGE \
 	    TIMESTAMP "uninstall" && \
-	    ${MAKE} uninstall uninstall-doc); then
+	    ${MAKE} uninstall-all) && DISKUSAGE ; then
 	    :
 	else
 	    errcode=$?
@@ -411,7 +429,12 @@
 if [ -n "$DEPLOYDIRNAME" ]; then
     if [ "$snapshot" = "yes" ]; then
 	TIMESTAMP "deploy"
-	if (cd ${TESTDIR} && ${CURRENT}/bin/deploy ${deploydir}/${DEPLOYDIRNAME}); then
+        if (cd ${TESTDIR} &&
+            ${CURRENT}/bin/deploy ${deploydir}/${DEPLOYDIRNAME} && \
+            TIMESTAMP "clean" && \
+            ${MAKE} clean && \
+            TIMESTAMP "check-install prefix=${deploydir}/${DEPLOYDIRNAME}" && \
+            ${MAKE} check-install prefix=${deploydir}/${DEPLOYDIRNAME}); then
 	    :	#continue
 	else
 	    errcode=$?
@@ -422,7 +445,7 @@
 
 
 #=============================
-# Run Release snapshot, update version, and commit to cvs and tag
+# Run Release snapshot, update version, and commit to source repository
 #=============================
 if [ "$cmd" = "all" -o -n "$cmdrel" ]; then
     if [ "$snapshot" = "yes" ]; then
@@ -430,20 +453,21 @@
 	(cd ${CURRENT} && ${MAKE} distclean)
 	(
 	    # Turn on exit on error in the sub-shell so that it does not
-	    # cvs commit if errors encounter here.
+	    # commit source if errors encounter here.
 	    set -e
 	    cd ${CURRENT}
-	    bin/release -d $ARCHIVES $METHODS
 	    RELEASE_VERSION="`perl bin/h5vers -v`"
+	    echo "Making snapshot release ($RELEASE_VERSION) to ${ReleaseDir}..."
+	    bin/release -d $ReleaseDir $METHODS
 	    perl bin/h5vers -i
-	    cvs -Q commit -m "Snapshot $RELEASE_VERSION"
+	    svn -q commit -m "Snapshot $RELEASE_VERSION"
 	)
 	errcode=$?
     fi
 
     # Replace the previous version with the current version.
     # Should check if the errcode of the release process but there
-    # are other failures after release was done (e.g. h5vers or cvs failures)
+    # are other failures after release was done (e.g. h5vers or svn failures)
     # that should allow the replacement to occure.
     rm -rf ${PREVIOUS}
     mv ${CURRENT} ${PREVIOUS}

Modified: packages/hdf5/trunk/bin/trace
===================================================================
--- packages/hdf5/trunk/bin/trace	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/trace	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 #!/usr/bin/perl -w
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 require 5.003;
 $Source = "";
 

Modified: packages/hdf5/trunk/bin/yodconfigure
===================================================================
--- packages/hdf5/trunk/bin/yodconfigure	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/bin/yodconfigure	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # Fix configure file so that it can launch configure testing executable
 # via the proper launching command, e.g., yod.  (Thus the name yodconfigure
@@ -18,8 +19,15 @@
 #
 # Author: Albert Cheng
 
+if [ "$1" = -f ]; then
+    FORCEMODE=yes
+    echo turn FORCEMODE to $FORCEMODE
+    shift
+fi
+
 if [ $# -ne 1 ]; then
-    echo "Usage: $0 <configure file>"
+    echo "Usage: $0 [-f] <configure file>"
+    echo "   -f   apply the change even if it has been applied already."
     exit 1
 fi
 confile=$1
@@ -29,8 +37,18 @@
     exit 1
 fi
 
+ACTRY_NAME="ACTRY()"
+if grep ^"$ACTRY_NAME"$ $confile >/dev/null 2>&1 && [ "$FORCEMODE" != yes ]; then
+    echo "$0: $confile is already yodconfigure ready.  Use -f to force yodconfigure again."
+    exit 1
+fi
+
 # Insert the ACTRY function after the 1st line which is the #!/bin/sh.
 # Change all "eval $ac_try" commands to call ACTRY.
+# auto-configure have changed the ac_try syntax from 'eval $ac_try' to
+# 'eval "$ac_try"'.  Thus requiring two very similar global-substitute.
+# The single quotes around EOF tell shell NOT to expand or do substitution in
+# the body of ed input.
 #
 ed - $confile <<'EOF'
 1a
@@ -51,8 +69,10 @@
     $*
 fi
 }
+# === end of ACTRY inserted by yodconfigure ====
 .
 g/eval $ac_try/s/eval/eval ACTRY/
+g/eval "$ac_try"/s/eval/eval ACTRY/
 w
 q
 EOF

Copied: packages/hdf5/trunk/c++/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/c++/COPYING)
===================================================================
--- packages/hdf5/trunk/c++/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/c++/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/c++/Makefile.in
===================================================================
--- packages/hdf5/trunk/c++/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ## Top-level HDF5-C++ Makefile(.in)
 ##
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ## 
 ## 
 ## 
@@ -125,7 +126,7 @@
 	-$(RM) config/commence config/conclude
 	-$(RM) config/stamp1 config/stamp2 config/depend?
 	-$(RM) config.cache config.log config.status configure.lineno
-	-$(RM) src/H5config.h src/H5pubconf.h
+	-$(RM) src/H5cxx_config.h src/H5cxx_pubconf.h
 	-$(RM) libtool Makefile so_locations
 
 maintainer-clean:
@@ -134,6 +135,6 @@
 	@@SETX@; for d in $(SUBDIRS) examples; do			      \
 	   (cd $$d && $(MAKE) $@);					      \
 	done
-	-$(RM) config.cache config.log config.status src/H5config.h
+	-$(RM) config.cache config.log config.status src/H5cxx_config.h
 	-$(RM) configure src/H5config.h.in
 

Modified: packages/hdf5/trunk/c++/aclocal.m4
===================================================================
--- packages/hdf5/trunk/c++/aclocal.m4	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/aclocal.m4	2007-09-25 08:53:17 UTC (rev 1105)
@@ -13,7 +13,7 @@
 
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 
-# serial 48 Debian 1.5.22-2 AC_PROG_LIBTOOL
+# serial 51 Debian 1.5.24-1 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -176,7 +176,7 @@
 test -z "$ac_objext" && ac_objext=o
 
 # Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
 old_postuninstall_cmds=
 
@@ -263,8 +263,9 @@
 # Check for compiler boilerplate output or warnings with
 # the simple compiler test code.
 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -276,8 +277,9 @@
 # Check for linker boilerplate output or warnings with
 # the simple link test code.
 AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -293,12 +295,20 @@
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi],[])
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 ])# _LT_AC_SYS_LIBPATH_AIX
 
@@ -529,13 +539,17 @@
   rm -rf conftest*
   ;;
 
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_i386_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
@@ -552,6 +566,9 @@
       ;;
     *64-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_x86_64_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
@@ -623,7 +640,7 @@
 AC_CACHE_CHECK([$1], [$2],
   [$2=no
   ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$3"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -664,11 +681,12 @@
 # ------------------------------------------------------------
 # Check whether the given compiler option works
 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
   [$2=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $3"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -782,24 +800,27 @@
     fi
     ;;
   *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
 	       = "XX$teststring") >/dev/null 2>&1 &&
-	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	    lt_cv_sys_max_cmd_len=$new_result &&
-	    test $i != 17 # 1/2 MB should be enough
-    do
-      i=`expr $i + 1`
-      teststring=$teststring$teststring
-    done
-    teststring=
-    # Add a significant safety factor because C++ compilers can tack on massive
-    # amounts of additional arguments before passing them to the linker.
-    # It appears as though 1/2 is a usable value.
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	      lt_cv_sys_max_cmd_len=$new_result &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on massive
+      # amounts of additional arguments before passing them to the linker.
+      # It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
     ;;
   esac
 ])
@@ -1026,7 +1047,8 @@
 # ---------------------------------
 # Check to see if options -c and -o are simultaneously supported by compiler
 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
@@ -1034,7 +1056,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -1174,6 +1196,7 @@
    darwin*)
        if test -n "$STRIP" ; then
          striplib="$STRIP -x"
+         old_striplib="$STRIP -S"
          AC_MSG_RESULT([yes])
        else
   AC_MSG_RESULT([no])
@@ -1191,7 +1214,8 @@
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -1205,20 +1229,58 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
 if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+fi])
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -1375,12 +1437,8 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+  m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -1397,18 +1455,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -1446,7 +1492,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -1509,7 +1555,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[[3-9]]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1564,7 +1610,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1580,7 +1626,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -1605,18 +1651,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -1698,6 +1732,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -1803,7 +1841,8 @@
 # _LT_AC_TAGCONFIG
 # ----------------
 AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
     [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
         [include additional configurations @<:@automatic@:>@])],
     [tagnames="$withval"])
@@ -2064,7 +2103,7 @@
 
 # AC_PATH_TOOL_PREFIX
 # -------------------
-# find a file program which can recognise shared library
+# find a file program which can recognize shared library
 AC_DEFUN([AC_PATH_TOOL_PREFIX],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_MSG_CHECKING([for $1])
@@ -2127,7 +2166,7 @@
 
 # AC_PATH_MAGIC
 # -------------
-# find a file program which can recognise a shared library
+# find a file program which can recognize a shared library
 AC_DEFUN([AC_PATH_MAGIC],
 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
 if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -2274,7 +2313,7 @@
 # how to check for library dependencies
 #  -- PORTME fill in with the dynamic library characteristics
 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
 lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=
@@ -2313,16 +2352,22 @@
 
 mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
   ;;
 
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -2360,7 +2405,7 @@
   esac
   ;;
 
-interix3*)
+interix[[3-9]]*)
   # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
   lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
   ;;
@@ -2376,11 +2421,11 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -2410,6 +2455,10 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 solaris*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -2462,7 +2511,7 @@
   lt_cv_path_NM="$NM"
 else
   lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
     lt_nm_to_check="$lt_nm_to_check nm"
   fi
   for lt_tmp_nm in $lt_nm_to_check; do
@@ -2678,10 +2727,10 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
 
 _LT_AC_SYS_COMPILER
 
@@ -2783,10 +2832,10 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -2932,7 +2981,7 @@
 	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	then
 	  # We have reworked collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  :
 	else
 	  # We have old collect2
 	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -3091,10 +3140,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -3128,7 +3177,7 @@
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd* | kfreebsd*-gnu | dragonfly*)
+  freebsd* | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -3177,9 +3226,7 @@
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
 
       case $host_cpu in
-      hppa*64*|ia64*)
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-        ;;
+      hppa*64*|ia64*) ;;
       *)
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         ;;
@@ -3247,7 +3294,7 @@
 	;;
     esac
     ;;
-  interix3*)
+  interix[[3-9]]*)
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
@@ -3287,7 +3334,7 @@
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
     ;;
-  linux*)
+  linux* | k*bsd*-gnu)
     case $cc_basename in
       KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -3367,6 +3414,29 @@
 	# dependencies.
 	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
 	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # Archives containing C++ object files must be created using
+	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	  # necessary to make sure instantiated templates are included
+	  # in the archive.
+	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
     esac
     ;;
   lynxos*)
@@ -3389,7 +3459,7 @@
 	;;
     esac
     ;;
-  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  netbsd* | netbsdelf*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -3405,16 +3475,20 @@
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   openbsd*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    if test -f /usr/libexec/ld.so; then
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
-    output_verbose_link_cmd='echo'
     ;;
   osf3*)
     case $cc_basename in
@@ -3576,15 +3650,10 @@
 	case $host_os in
 	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
 	  *)
-	    # The C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker. We must also pass each convience library through
-	    # to the system linker between allextract/defaultextract.
-	    # The C++ compiler will combine linker options so we
-	    # cannot just pass the convience library names through
-	    # without $wl.
+	    # The compiler driver will combine and reorder linker options,
+	    # but understands `-z linker_flag'.
 	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
 	    ;;
 	esac
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
@@ -3631,6 +3700,12 @@
 	  fi
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    ;;
+	  esac
 	fi
 	;;
     esac
@@ -3874,7 +3949,7 @@
 # PORTME: override above test on systems where it is broken
 ifelse([$1],[CXX],
 [case $host_os in
-interix3*)
+interix[[3-9]]*)
   # Interix 3.5 installs completely hosed .la files for C++, so rather than
   # hack all around it, let's just trust "g++" to DTRT.
   _LT_AC_TAGVAR(predep_objects,$1)=
@@ -3882,13 +3957,46 @@
   _LT_AC_TAGVAR(postdeps,$1)=
   ;;
 
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+    #
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
 solaris*)
   case $cc_basename in
   CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
     # Adding this requires a known-good setup of shared libraries for
     # Sun compiler versions before 5.6, else PIC objects from an old
     # archive will be linked into the output, leading to subtle bugs.
-    _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
     ;;
   esac
   ;;
@@ -3937,10 +4045,17 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="      program t\n      end\n"
+lt_simple_link_test_code="\
+      program t
+      end
+"
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -4019,10 +4134,10 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
@@ -4075,7 +4190,7 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
 
 # Code to be used in simple link tests
 lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -4164,6 +4279,7 @@
     _LT_AC_TAGVAR(module_cmds, $1) \
     _LT_AC_TAGVAR(module_expsym_cmds, $1) \
     _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
     _LT_AC_TAGVAR(exclude_expsyms, $1) \
     _LT_AC_TAGVAR(include_expsyms, $1); do
 
@@ -4210,7 +4326,7 @@
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
@@ -4535,7 +4651,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
@@ -4618,6 +4734,7 @@
 # ---------------------------------
 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
 [AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
 AC_REQUIRE([AC_PROG_NM])
 AC_REQUIRE([AC_OBJEXT])
 # Check for command to grab the raw symbol name followed by C symbol from nm.
@@ -4654,7 +4771,7 @@
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
-linux*)
+linux* | k*bsd*-gnu)
   if test "$host_cpu" = ia64; then
     symcode='[[ABCDGIRSTW]]'
     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -4844,12 +4961,14 @@
       # like `-m68040'.
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
-    mingw* | os2* | pw32*)
+    mingw* | cygwin* | os2* | pw32*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
     darwin* | rhapsody*)
@@ -4861,7 +4980,7 @@
       # DJGPP does not support shared libraries at all
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
-    interix3*)
+    interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -4927,7 +5046,7 @@
 	    ;;
 	esac
 	;;
-      freebsd* | kfreebsd*-gnu | dragonfly*)
+      freebsd* | dragonfly*)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
@@ -4970,7 +5089,7 @@
 	    ;;
 	esac
 	;;
-      linux*)
+      linux* | k*bsd*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -4997,6 +5116,14 @@
 	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
 	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
 	    ;;
 	esac
 	;;
@@ -5013,7 +5140,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      netbsd* | netbsdelf*-gnu)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -5117,13 +5244,15 @@
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
       ;;
 
@@ -5133,7 +5262,7 @@
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
-    interix3*)
+    interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -5191,7 +5320,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
@@ -5224,7 +5353,7 @@
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -5243,6 +5372,22 @@
         # All Alpha code is PIC.
         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -5252,6 +5397,10 @@
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
+    rdos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
     solaris*)
       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -5346,7 +5495,8 @@
 # ------------------------------------
 # See if the linker supports building shared libraries.
 AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 ifelse([$1],[CXX],[
   _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
@@ -5363,14 +5513,11 @@
     _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
   ;;
-  kfreebsd*-gnu)
+  linux* | k*bsd*-gnu)
     _LT_AC_TAGVAR(link_all_deplibs, $1)=no
   ;;
-  linux*)
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-  ;;
   *)
     _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
@@ -5508,7 +5655,7 @@
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(always_export_symbols, $1)=no
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -5526,7 +5673,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[[3-9]]*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
@@ -5541,7 +5688,7 @@
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -5559,13 +5706,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
       else
@@ -5573,7 +5729,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5606,7 +5762,7 @@
 
     sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
       case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	cat <<_LT_EOF 1>&2
 
@@ -5725,7 +5881,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+  	  :
 	  else
   	  # We have old collect2
   	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -5818,7 +5974,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
       _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
       _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
       ;;
@@ -5860,10 +6016,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -5909,15 +6065,6 @@
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
-      
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-      ;;
 
     hpux9*)
       if test "$GCC" = yes; then
@@ -6014,7 +6161,7 @@
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -6034,24 +6181,28 @@
       ;;
 
     openbsd*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	   _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	   ;;
-	 *)
-	   _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
       fi
       ;;
 
@@ -6110,17 +6261,16 @@
       case $host_os in
       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
       ;;
@@ -6177,7 +6327,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
       _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6252,7 +6402,7 @@
       # to ld, don't add -lc before -lgcc.
       AC_MSG_CHECKING([whether -lc should be explicitly linked in])
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
         soname=conftest
@@ -6355,6 +6505,30 @@
 [AC_CHECK_TOOL(RC, windres, no)
 ])
 
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+  as_executable_p='test -x'
+else
+  as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
 # NOTE: This macro has been submitted for inclusion into   #
 #  GNU Autoconf as AC_PROG_SED.  When it is available in   #
 #  a released version of Autoconf we should remove this    #
@@ -6375,12 +6549,13 @@
   test -z "$as_dir" && as_dir=.
   for lt_ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
         lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
       fi
     done
   done
 done
+IFS=$as_save_IFS
 lt_ac_max=0
 lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -6413,6 +6588,7 @@
 done
 ])
 SED=$lt_cv_path_SED
+AC_SUBST([SED])
 AC_MSG_RESULT([$SED])
 ])
 

Modified: packages/hdf5/trunk/c++/config/BlankForm
===================================================================
--- packages/hdf5/trunk/c++/config/BlankForm	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/BlankForm	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/commence.in
===================================================================
--- packages/hdf5/trunk/c++/config/commence.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/commence.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ##-----------------------------------------------------------------------------
 ## The following section of this makefile comes from the

Modified: packages/hdf5/trunk/c++/config/conclude.in
===================================================================
--- packages/hdf5/trunk/c++/config/conclude.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/conclude.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ##-----------------------------------------------------------------------------
 ## The following section of this makefile comes from the

Modified: packages/hdf5/trunk/c++/config/dec-osf5.x
===================================================================
--- packages/hdf5/trunk/c++/config/dec-osf5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/dec-osf5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -7,8 +8,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 if test -z "$CXX"; then

Modified: packages/hdf5/trunk/c++/config/depend1.in
===================================================================
--- packages/hdf5/trunk/c++/config/depend1.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/depend1.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 ##                                                             -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## We keep a list of dependencies in `.depend' for each of the source
 ## files on which it depends.  When one of the source files is modified

Modified: packages/hdf5/trunk/c++/config/depend2.in
===================================================================
--- packages/hdf5/trunk/c++/config/depend2.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/depend2.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## This platform doesn't support automatic dependencies because we're
 ## not using GNU gcc.  GNU gcc is needed in order to generate the list

Modified: packages/hdf5/trunk/c++/config/depend3.in
===================================================================
--- packages/hdf5/trunk/c++/config/depend3.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/depend3.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Since automatic dependencies are not being used, we attempt to include the
 ## `.distdep' file from the source tree. This file was automatically generated 

Modified: packages/hdf5/trunk/c++/config/depend4.in
===================================================================
--- packages/hdf5/trunk/c++/config/depend4.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/depend4.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Since automatic dependencies are not being used, we attempt to include the
 ## `.distdep' file from the source tree. This file was automatically generated 

Modified: packages/hdf5/trunk/c++/config/dependN.in
===================================================================
--- packages/hdf5/trunk/c++/config/dependN.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/dependN.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 ##							       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Automatic dependencies are not being used and we cannot include other
 ## files.

Modified: packages/hdf5/trunk/c++/config/freebsd
===================================================================
--- packages/hdf5/trunk/c++/config/freebsd	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/freebsd	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/hpux11.00
===================================================================
--- packages/hdf5/trunk/c++/config/hpux11.00	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/hpux11.00	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #                                                       -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/hpux11.23
===================================================================
--- packages/hdf5/trunk/c++/config/hpux11.23	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/hpux11.23	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #                                                       -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/ia64-linux-gnu
===================================================================
--- packages/hdf5/trunk/c++/config/ia64-linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/ia64-linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1 +1,45 @@
-. $srcdir/config/linux-gnu
+#                                                       -*- shell-script -*-
+
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+
+
+if test -z "$CXX"; then
+    CXX=icpc
+    CXX_BASENAME=icpc
+fi
+
+
+case $CXX_BASENAME in
+    g++)
+	CXXFLAGS="$CXXFLAGS -Wsign-compare" #Only works for some versions
+	DEBUG_CXXFLAGS="-g -fverbose-asm"
+	DEBUG_CPPFLAGS=
+	PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
+	PROD_CPPFLAGS=
+	PROFILE_CXXFLAGS="-pg"
+	PROFILE_CPPFLAGS=
+	;;
+
+    *)
+	# Default to C99 standard.
+	CXXFLAGS="${CXXFLAGS:--std=c99}"
+	DEBUG_CXXFLAGS="-g -w2 -Wall"
+	DEBUG_CPPFLAGS=
+	PROD_CXXFLAGS=""     #Default optimization O2 is used
+	PROD_CPPFLAGS=
+	PROFILE_CXXFLAGS="-pg"
+	PROFILE_CPPFLAGS=
+	;;
+esac
+

Modified: packages/hdf5/trunk/c++/config/irix6.x
===================================================================
--- packages/hdf5/trunk/c++/config/irix6.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/irix6.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/linux-gnu
===================================================================
--- packages/hdf5/trunk/c++/config/linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This is the same as linux-gnulibc1
 

Modified: packages/hdf5/trunk/c++/config/linux-gnulibc1
===================================================================
--- packages/hdf5/trunk/c++/config/linux-gnulibc1	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/linux-gnulibc1	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/linux-gnulibc2
===================================================================
--- packages/hdf5/trunk/c++/config/linux-gnulibc2	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/linux-gnulibc2	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/nv1-cray
===================================================================
--- packages/hdf5/trunk/c++/config/nv1-cray	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/nv1-cray	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #                                                      -*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/powerpc-ibm-aix
===================================================================
--- packages/hdf5/trunk/c++/config/powerpc-ibm-aix	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/powerpc-ibm-aix	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/c++/config/rs6000-ibm-aix4.x
===================================================================
--- packages/hdf5/trunk/c++/config/rs6000-ibm-aix4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/rs6000-ibm-aix4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,24 +0,0 @@
-#							-*- shell-script -*-
-
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-#
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Cross compiling defaults
-ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}

Modified: packages/hdf5/trunk/c++/config/solaris2.x
===================================================================
--- packages/hdf5/trunk/c++/config/solaris2.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/solaris2.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/sv1-cray
===================================================================
--- packages/hdf5/trunk/c++/config/sv1-cray	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/sv1-cray	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/unicos10.0.X
===================================================================
--- packages/hdf5/trunk/c++/config/unicos10.0.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/unicos10.0.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/config/unicosmk2.0.6.X
===================================================================
--- packages/hdf5/trunk/c++/config/unicosmk2.0.6.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/config/unicosmk2.0.6.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 #
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/c++/configure
===================================================================
--- packages/hdf5/trunk/c++/configure	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/configure	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,29 +1,58 @@
 #! /bin/sh
-# From configure.in Id: configure.in.
+# From configure.in Id: configure.in 14030 2007-07-31 03:04:21Z epourmal .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for HDF5 C++ 1.6.5.
+# Generated by GNU Autoconf 2.61 for HDF5 C++ 1.6.6.
 #
-# Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+# Report bugs to <help at hdfgroup.org>.
 #
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
@@ -32,8 +61,43 @@
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -47,18 +111,19 @@
   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -66,157 +131,388 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
 fi
 
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
+  case $as_dir in
 	 /*)
-	   if ("$as_dir/$as_base" -c '
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 # Try only shells that exist, to save several forks.
+	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		{ ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
 
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf at gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
+  chmod +x "$as_me.lineno" ||
     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -225,7 +521,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -234,17 +551,8 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
 
-# CDPATH.
-$as_unset CDPATH
 
-
-
 # Check that we are running under the correct shell.
 SHELL=${CONFIG_SHELL-/bin/sh}
 
@@ -398,77 +706,176 @@
 
 tagnames=${tagnames+${tagnames},}F77
 
+exec 7<&0 </dev/null 6>&1
+
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-exec 6>&1
-
 #
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_clean_files=
 ac_config_libobj_dir=.
+LIBOBJS=
 cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME='HDF5 C++'
 PACKAGE_TARNAME='hdf5-c--'
-PACKAGE_VERSION='1.6.5'
-PACKAGE_STRING='HDF5 C++ 1.6.5'
-PACKAGE_BUGREPORT='hdfhelp at ncsa.uiuc.edu'
+PACKAGE_VERSION='1.6.6'
+PACKAGE_STRING='HDF5 C++ 1.6.6'
+PACKAGE_BUGREPORT='help at hdfgroup.org'
 
 ac_unique_file="src/H5Library.cpp"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
 #endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS H5_CPPFLAGS H5_CFLAGS H5_CXXFLAGS ROOT DEFAULT_LIBS CXX CXXFLAGS LDFLAGS ac_ct_CXX EXEEXT OBJEXT CXXCPP SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS ac_ct_CC EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP F77 FFLAGS ac_ct_F77 LIBTOOL PERL LT_STATIC_EXEC DYNAMIC_DIRS SEARCH SETX LIBOBJS LTLIBOBJS'
-ac_subst_files='DEPEND COMMENCE CONCLUDE'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPPFLAGS
+H5_CPPFLAGS
+H5_CFLAGS
+H5_CXXFLAGS
+ROOT
+DEFAULT_LIBS
+CXX
+CXXFLAGS
+LDFLAGS
+ac_ct_CXX
+EXEEXT
+OBJEXT
+CXXCPP
+SET_MAKE
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CC
+CFLAGS
+ac_ct_CC
+SED
+GREP
+EGREP
+LN_S
+ECHO
+AR
+RANLIB
+STRIP
+CPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+PERL
+LT_STATIC_EXEC
+DYNAMIC_DIRS
+HL
+SEARCH
+SETX
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files='DEPEND
+COMMENCE
+CONCLUDE'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CXX
+CXXFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CCC
+CXXCPP
+CC
+CFLAGS
+CPP
+F77
+FFLAGS'
 
+
 # Initialize some variables set by options.
 ac_init_help=
 ac_init_version=false
@@ -494,34 +901,48 @@
 # and all the variables that are supposed to be based on exec_prefix
 # by default will actually change.
 # Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
 ac_prev=
+ac_dashdash=
 for ac_option
 do
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case $ac_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -543,33 +964,45 @@
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
     datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    eval "enable_$ac_feature=no" ;;
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
 
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -596,6 +1029,12 @@
   -host=* | --host=* | --hos=* | --ho=*)
     host_alias=$ac_optarg ;;
 
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
@@ -620,13 +1059,16 @@
   | --libexe=* | --libex=* | --libe=*)
     libexecdir=$ac_optarg ;;
 
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
   -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -691,6 +1133,16 @@
   | --progr-tra=* | --program-tr=* | --program-t=*)
     program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
@@ -743,24 +1195,20 @@
   -with-* | --with-*)
     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/-/_/g'`
-    eval "with_$ac_package=no" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -791,8 +1239,7 @@
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
@@ -812,29 +1259,21 @@
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
 do
-  eval ac_val=$`echo $ac_var`
+  eval ac_val=\$$ac_var
   case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
 done
 
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-	      localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
 # There might be people who depend on the old broken behavior: `$host'
 # used to hold the argument of --host etc.
 # FIXME: To remove some day.
@@ -859,94 +1298,76 @@
 test "$silent" = yes && exec 6>/dev/null
 
 
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
 $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$0" : 'X\(//\)[^/]' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
   srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
-  fi
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-   { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
 #
 # Report the --help message.
@@ -955,7 +1376,7 @@
   # 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 C++ 1.6.5 to adapt to many kinds of systems.
+\`configure' configures HDF5 C++ 1.6.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -975,9 +1396,6 @@
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
 			  [$ac_default_prefix]
@@ -995,15 +1413,22 @@
   --bindir=DIR           user executables [EPREFIX/bin]
   --sbindir=DIR          system admin executables [EPREFIX/sbin]
   --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
   --libdir=DIR           object code libraries [EPREFIX/lib]
   --includedir=DIR       C header files [PREFIX/include]
   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/hdf5-c--]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -1016,25 +1441,25 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of HDF5 C++ 1.6.5:";;
+     short | recursive ) echo "Configuration of HDF5 C++ 1.6.6:";;
    esac
   cat <<\_ACEOF
 
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-shared[=PKGS]
-                          build shared libraries [default=yes]
-  --enable-static[=PKGS]
-                          build static libraries [default=yes]
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-production     Determines how to run the compiler.
-  --enable-static-exec    Build only statically linked executables default=no
+  --enable-static-exec    Build only statically linked executables
+                          [default=no]
   --enable-linux-lfs      Enable support for large (64-bit) files on Linux.
-                          default=check
-  --enable-stream-vfd     Build the Stream Virtual File Driver default=no
+                          [default=check]
+  --enable-stream-vfd     Build the Stream Virtual File Driver [default=no]
+  --enable-hl             Enable the high level library [default=yes]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1042,20 +1467,20 @@
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
-  --with-tags[=TAGS]
-                          include additional configurations [automatic]
+  --with-tags[=TAGS]      include additional configurations [automatic]
   --with-zlib=DIR         Use zlib library for external deflate I/O filter
-                          default=yes
+                          [default=yes]
   --with-szlib=DIR        Use szlib library for external szlib I/O filter
-                          default=yes
+                          [default=yes]
 
 Some influential environment variables:
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
   CXXCPP      C++ preprocessor
   CC          C compiler command
   CFLAGS      C compiler flags
@@ -1066,122 +1491,88 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+Report bugs to <help at hdfgroup.org>.
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" || continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      echo
-      $SHELL $ac_srcdir/configure.gnu  --help=recursive
-    elif test -f $ac_srcdir/configure; then
-      echo
-      $SHELL $ac_srcdir/configure  --help=recursive
-    elif test -f $ac_srcdir/configure.ac ||
-	   test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd "$ac_popdir"
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-HDF5 C++ configure 1.6.5
-generated by GNU Autoconf 2.59
+HDF5 C++ configure 1.6.6
+generated by GNU Autoconf 2.61
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-  exit 0
+  exit
 fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+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 C++ $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
+It was created by HDF5 C++ $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1200,7 +1591,7 @@
 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
@@ -1214,6 +1605,7 @@
   test -z "$as_dir" && as_dir=.
   echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1235,7 +1627,6 @@
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1246,7 +1637,7 @@
     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
-    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+    *\'*)
       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
@@ -1268,9 +1659,7 @@
 	  -* ) ac_must_keep_next=true ;;
 	esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1281,8 +1670,8 @@
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 # would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
@@ -1295,20 +1684,34 @@
 _ASBOX
     echo
     # The following way of writing the cache mishandles newlines in values,
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
   (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       sed -n \
-	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1319,22 +1722,28 @@
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
       cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-	eval ac_val=$`echo $ac_var`
-	echo "$ac_var='"'"'$ac_val'"'"'"
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1346,26 +1755,24 @@
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      cat confdefs.h
       echo
     fi
     test "$ac_signal" != 0 &&
       echo "$as_me: caught signal $ac_signal"
     echo "$as_me: exit $exit_status"
   } >&5
-  rm -f core *.core &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 0
 for ac_signal in 1 2 13 15; do
   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1396,14 +1803,17 @@
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
   if test -r "$ac_site_file"; then
     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
 echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1419,8 +1829,8 @@
     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
 echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
-      [\\/]* | ?:[\\/]* ) . $cache_file;;
-      *)                      . ./$cache_file;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
@@ -1432,12 +1842,11 @@
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
   eval ac_old_set=\$ac_cv_env_${ac_var}_set
   eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-  eval ac_new_val="\$ac_env_${ac_var}_value"
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1462,8 +1871,7 @@
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1480,11 +1888,6 @@
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
@@ -1509,88 +1912,133 @@
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_config_headers="$ac_config_headers src/H5cxx_config.h"
 
+
 ac_aux_dir=
-for ac_dir in ../bin $srcdir/../bin; do
-  if test -f $ac_dir/install-sh; then
+for ac_dir in ../bin "$srcdir"/../bin; do
+  if test -f "$ac_dir/install-sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install-sh -c"
     break
-  elif test -f $ac_dir/install.sh; then
+  elif test -f "$ac_dir/install.sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install.sh -c"
     break
-  elif test -f $ac_dir/shtool; then
+  elif test -f "$ac_dir/shtool"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/shtool install -c"
     break
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../bin $srcdir/../bin" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in ../bin $srcdir/../bin" >&2;}
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../bin \"$srcdir\"/../bin" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ../bin \"$srcdir\"/../bin" >&2;}
    { (exit 1); exit 1; }; }
 fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
+
+
+ac_config_commands="$ac_config_commands default-1"
+
+
 # Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
    { (exit 1); exit 1; }; }
 
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
 if test "${ac_cv_build+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
-  ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
   { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
 echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
    { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
 if test "${ac_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
-  ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
    { (exit 1); exit 1; }; }
+fi
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
@@ -1599,11 +2047,11 @@
 
 
 
-echo "$as_me:$LINENO: checking shell variables initial values" >&5
-echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking shell variables initial values" >&5
+echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6; }
 set >&5
-echo "$as_me:$LINENO: result: done" >&5
-echo "${ECHO_T}done" >&6
+{ echo "$as_me:$LINENO: result: done" >&5
+echo "${ECHO_T}done" >&6; }
 
 if test -x "/bin/pwd"; then
    pwd=/bin/pwd
@@ -1612,15 +2060,15 @@
 fi
  ROOT=`$pwd`
 
-echo "$as_me:$LINENO: checking for cached host" >&5
-echo $ECHO_N "checking for cached host... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for cached host" >&5
+echo $ECHO_N "checking for cached host... $ECHO_C" >&6; }
 if test "${hdf5_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   hdf5_cv_host="none"
 fi
-echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
-echo "${ECHO_T}$hdf5_cv_host" >&6;
+{ echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
+echo "${ECHO_T}$hdf5_cv_host" >&6; };
 if test "X$hdf5_cv_host" = "Xnone"; then
    hdf5_cv_host=$host
 elif test "$hdf5_cv_host" != "$host"; then
@@ -1672,34 +2120,38 @@
          $host_os_novers \
          $host_vendor \
          $host_cpu ; do
- echo "$as_me:$LINENO: checking for config $f" >&5
-echo $ECHO_N "checking for config $f... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for config $f" >&5
+echo $ECHO_N "checking for config $f... $ECHO_C" >&6; }
  if test -f $srcdir/config/$f; then
    host_config=$srcdir/config/$f
-   echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
+   { echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6; }
    break
  fi
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 done
 if test "X$host_config" != "Xnone"; then
  CXX_BASENAME="`echo $CXX |cut -f1 -d' ' |xargs basename 2>/dev/null`"
  . $host_config
 fi
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1712,36 +2164,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CXX=$ac_cv_prog_CXX
 if test -n "$CXX"; then
-  echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+  { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CXX" && break
   done
 fi
 if test -z "$CXX"; then
   ac_ct_CXX=$CXX
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1754,49 +2208,79 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
 if test -n "$ac_ct_CXX"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CXX" && break
 done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
 
-  CXX=$ac_ct_CXX
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
 fi
 
-
+  fi
+fi
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -1821,47 +2305,77 @@
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
-echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5
+echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; }
 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
 do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
 	;;
-    conftest.$ac_ext )
-	# This is the source file.
-	;;
     [ab].out )
 	# We found the default executable, but exeext='' is most
 	# certainly right.
 	break;;
     *.* )
-	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	# FIXME: I believe we export ac_cv_exeext for Libtool,
-	# but it would be cool to find out if it's true.  Does anybody
-	# maintain Libtool? --akim.
-	export ac_cv_exeext
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
 	break;;
     * )
 	break;;
   esac
 done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
@@ -1873,19 +2387,21 @@
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
 
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
-echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -1904,22 +2420,27 @@
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 rm -f a.out a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
 
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
@@ -1930,9 +2451,8 @@
 for ac_file in conftest.exe conftest conftest.*; do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  export ac_cv_exeext
 	  break;;
     * ) break;;
   esac
@@ -1946,14 +2466,14 @@
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
 if test "${ac_cv_objext+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1973,14 +2493,20 @@
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -1998,12 +2524,12 @@
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2026,49 +2552,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
 GXX=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cxx_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2084,169 +2610,146 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cxx_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
+	CXXFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
+
 int
 main ()
 {
-exit (42);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   :
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
+	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
+
 int
 main ()
 {
-exit (42);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
 if test -z "$CXXCPP"; then
   if test "${ac_cv_prog_CXXCPP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2276,24 +2779,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -2302,9 +2803,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2314,24 +2816,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -2342,6 +2842,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2359,8 +2860,8 @@
 else
   ac_cv_prog_CXXCPP=$CXXCPP
 fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
 ac_preproc_ok=false
 for ac_cxx_preproc_warn_flag in '' yes
 do
@@ -2383,24 +2884,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -2409,9 +2908,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2421,24 +2921,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -2449,6 +2947,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2470,32 +2969,33 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 	CXX_BASENAME="`echo $CXX |cut -f1 -d' ' |xargs basename 2>/dev/null`"
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
 all:
-	@echo 'ac_maketemp="$(MAKE)"'
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
 rm -f conftest.make
 fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   SET_MAKE=
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -2512,8 +3012,8 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2535,7 +3035,7 @@
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2554,21 +3054,22 @@
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -2578,10 +3079,9 @@
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-# Check whether --enable-shared or --disable-shared was given.
+# Check whether --enable-shared was given.
 if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
+  enableval=$enable_shared; p=${PACKAGE-default}
     case $enableval in
     yes) enable_shared=yes ;;
     no) enable_shared=no ;;
@@ -2600,12 +3100,12 @@
     esac
 else
   enable_shared=yes
-fi;
+fi
 
-# Check whether --enable-static or --disable-static was given.
+
+# Check whether --enable-static was given.
 if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
+  enableval=$enable_static; p=${PACKAGE-default}
     case $enableval in
     yes) enable_static=yes ;;
     no) enable_static=no ;;
@@ -2624,12 +3124,12 @@
     esac
 else
   enable_static=yes
-fi;
+fi
 
-# Check whether --enable-fast-install or --disable-fast-install was given.
+
+# Check whether --enable-fast-install was given.
 if test "${enable_fast_install+set}" = set; then
-  enableval="$enable_fast_install"
-  p=${PACKAGE-default}
+  enableval=$enable_fast_install; p=${PACKAGE-default}
     case $enableval in
     yes) enable_fast_install=yes ;;
     no) enable_fast_install=no ;;
@@ -2648,8 +3148,9 @@
     esac
 else
   enable_fast_install=yes
-fi;
+fi
 
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2658,8 +3159,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2672,32 +3173,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2710,36 +3213,51 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
   CC="$ac_cv_prog_CC"
 fi
 
 if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2752,74 +3270,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+
   fi
-done
-done
-
 fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2833,7 +3311,7 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2844,6 +3322,7 @@
   fi
 done
 done
+IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
   # We found a bogon in the path, so make sure we never use it.
@@ -2861,22 +3340,23 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl
+  for ac_prog in cl.exe
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2889,36 +3369,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CC" && break
   done
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl
+  for ac_prog in cl.exe
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2931,29 +3413,45 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
@@ -2966,27 +3464,41 @@
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3009,49 +3521,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
 GCC=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3067,37 +3579,118 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cc_g=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -3113,12 +3706,12 @@
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_prog_cc_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3152,12 +3745,17 @@
 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
    function prototypes and stuff, but not '\xHH' hex character constants.
    These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std1 is added to get
+   as 'x'.  The following induces an error, until -std is added to get
    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
    array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std1.  */
+   that's true only with -std.  */
 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
 int test (int i, double x);
 struct s1 {int (*f) (int a);};
 struct s2 {int (*f) (double a);};
@@ -3172,209 +3770,65 @@
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX			-qlanglvl=ansi
-# Ultrix and OSF/1	-std1
-# HP-UX 10.20 and later	-Ae
-# HP-UX older versions	-Aa -D_HPUX_SOURCE
-# SVR4			-Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
   rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
 if test "${lt_cv_path_SED+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3387,12 +3841,13 @@
   test -z "$as_dir" && as_dir=.
   for lt_ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+      if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
         lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
       fi
     done
   done
 done
+IFS=$as_save_IFS
 lt_ac_max=0
 lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -3427,37 +3882,185 @@
 fi
 
 SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6; }
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
 
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
+else
+  ac_cv_path_GREP=$GREP
+fi
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+# Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi;
+fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -3486,11 +4089,11 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
 if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3523,17 +4126,17 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3547,20 +4150,20 @@
   ;;
 esac
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
 if test "${lt_cv_ld_reload_flag+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_ld_reload_flag='-r'
 fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
 reload_flag=$lt_cv_ld_reload_flag
 case $reload_flag in
 "" | " "*) ;;
@@ -3577,8 +4180,8 @@
     ;;
 esac
 
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
 if test "${lt_cv_path_NM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3626,23 +4229,23 @@
   test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
 fi
 fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
 NM="$lt_cv_path_NM"
 
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
 if test "${lt_cv_deplibs_check_method+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3683,16 +4286,22 @@
 
 mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
   ;;
 
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -3730,7 +4339,7 @@
   esac
   ;;
 
-interix3*)
+interix[3-9]*)
   # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
   lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
   ;;
@@ -3746,11 +4355,11 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -3780,6 +4389,10 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 solaris*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3817,8 +4430,8 @@
 esac
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3836,11 +4449,11 @@
 compiler=$CC
 
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+  enableval=$enable_libtool_lock;
+fi
 
-fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
@@ -3867,7 +4480,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 3870 "configure"' > conftest.$ac_ext
+  echo '#line 4483 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -3902,7 +4515,8 @@
   rm -rf conftest*
   ;;
 
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -3913,6 +4527,9 @@
     case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_i386_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
@@ -3929,6 +4546,9 @@
       ;;
     *64-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_x86_64_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
@@ -3952,8 +4572,8 @@
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
-  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
 if test "${lt_cv_cc_needs_belf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3979,34 +4599,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   lt_cv_cc_needs_belf=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-lt_cv_cc_needs_belf=no
+	lt_cv_cc_needs_belf=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
      ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4015,8 +4633,8 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     CFLAGS="$SAVE_CFLAGS"
@@ -4053,8 +4671,8 @@
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -4088,24 +4706,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -4114,9 +4730,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4126,24 +4743,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -4154,6 +4769,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4171,8 +4787,8 @@
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -4195,24 +4811,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -4221,9 +4835,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4233,24 +4848,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -4261,6 +4874,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4283,8 +4897,8 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4308,35 +4922,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+	ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
@@ -4391,6 +5002,7 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -4410,18 +5022,27 @@
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
 	|| toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4434,12 +5055,14 @@
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4462,9 +5085,9 @@
 		  inttypes.h stdint.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -4478,37 +5101,35 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+	eval "$as_ac_Header=no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -4523,18 +5144,19 @@
 for ac_header in dlfcn.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4545,40 +5167,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4587,24 +5206,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4612,9 +5229,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -4638,25 +5256,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -4673,13 +5290,13 @@
 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
     ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
     (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cc
+  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
 if test -z "$CXXCPP"; then
   if test "${ac_cv_prog_CXXCPP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4709,24 +5326,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -4735,9 +5350,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4747,24 +5363,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -4775,6 +5389,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4792,8 +5407,8 @@
 else
   ac_cv_prog_CXXCPP=$CXXCPP
 fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
 ac_preproc_ok=false
 for ac_cxx_preproc_warn_flag in '' yes
 do
@@ -4816,24 +5431,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -4842,9 +5455,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4854,24 +5468,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -4882,6 +5494,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4897,7 +5510,7 @@
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -4911,12 +5524,12 @@
 ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_f77_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4929,36 +5542,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 F77=$ac_cv_prog_F77
 if test -n "$F77"; then
-  echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+  { echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$F77" && break
   done
 fi
 if test -z "$F77"; then
   ac_ct_F77=$F77
-  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4971,48 +5586,78 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_F77="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_F77=$ac_cv_prog_ac_ct_F77
 if test -n "$ac_ct_F77"; then
-  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_F77" && break
 done
 
-  F77=$ac_ct_F77
+  if test "x$ac_ct_F77" = x; then
+    F77=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    F77=$ac_ct_F77
+  fi
 fi
 
 
 # Provide some information about the compiler.
-echo "$as_me:5001:" \
-     "checking for Fortran 77 compiler version" >&5
+echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -5022,8 +5667,8 @@
 # input file.  (Note that this only needs to work for GNU compilers.)
 ac_save_ext=$ac_ext
 ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
 if test "${ac_cv_f77_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5036,45 +5681,42 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_f77_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
 ac_ext=$ac_save_ext
 ac_test_FFLAGS=${FFLAGS+set}
 ac_save_FFLAGS=$FFLAGS
 FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_f77_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5085,38 +5727,35 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_f77_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_f77_g=no
+	ac_cv_prog_f77_g=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
 if test "$ac_test_FFLAGS" = set; then
   FFLAGS=$ac_save_FFLAGS
 elif test $ac_cv_prog_f77_g = yes; then
@@ -5145,8 +5784,8 @@
 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
 
 # find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
 if test "${lt_cv_sys_max_cmd_len+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5230,43 +5869,47 @@
     fi
     ;;
   *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
 	       = "XX$teststring") >/dev/null 2>&1 &&
-	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	    lt_cv_sys_max_cmd_len=$new_result &&
-	    test $i != 17 # 1/2 MB should be enough
-    do
-      i=`expr $i + 1`
-      teststring=$teststring$teststring
-    done
-    teststring=
-    # Add a significant safety factor because C++ compilers can tack on massive
-    # amounts of additional arguments before passing them to the linker.
-    # It appears as though 1/2 is a usable value.
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	      lt_cv_sys_max_cmd_len=$new_result &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on massive
+      # amounts of additional arguments before passing them to the linker.
+      # It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
     ;;
   esac
 
 fi
 
 if test -n $lt_cv_sys_max_cmd_len ; then
-  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+  { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
 else
-  echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+  { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
 fi
 
 
 
 
+
 # Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5301,7 +5944,7 @@
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
-linux*)
+linux* | k*bsd*-gnu)
   if test "$host_cpu" = ia64; then
     symcode='[ABCDGIRSTW]'
     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -5470,15 +6113,15 @@
   lt_cv_sys_global_symbol_to_cdecl=
 fi
 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+  { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
 else
-  echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
 if test "${lt_cv_objdir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5492,8 +6135,8 @@
 fi
 rmdir .libs 2>/dev/null
 fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6; }
 objdir=$lt_cv_objdir
 
 
@@ -5544,8 +6187,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5558,32 +6201,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_AR"; then
   ac_ct_AR=$AR
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5596,27 +6241,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_AR="ar"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
 fi
 fi
 ac_ct_AR=$ac_cv_prog_ac_ct_AR
 if test -n "$ac_ct_AR"; then
-  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  AR=$ac_ct_AR
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
 else
   AR="$ac_cv_prog_AR"
 fi
@@ -5624,8 +6283,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5638,32 +6297,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5676,27 +6337,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -5704,8 +6379,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5718,32 +6393,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5756,27 +6433,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_STRIP="strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  STRIP=$ac_ct_STRIP
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
 else
   STRIP="$ac_cv_prog_STRIP"
 fi
@@ -5804,7 +6495,7 @@
 test -z "$ac_objext" && ac_objext=o
 
 # Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
 old_postuninstall_cmds=
 
@@ -5835,8 +6526,8 @@
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5888,17 +6579,17 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5950,11 +6641,11 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
   else
@@ -5969,21 +6660,21 @@
 enable_dlopen=no
 enable_win32_dll=no
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+  enableval=$enable_libtool_lock;
+fi
 
-fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then
-  withval="$with_pic"
-  pic_mode="$withval"
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
-fi;
+fi
+
 test -z "$pic_mode" && pic_mode=default
 
 # Use C for the default configuration in the libtool script
@@ -6004,10 +6695,10 @@
 objext=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
 
 
 # If no C compiler was specified, use CC.
@@ -6022,13 +6713,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -6041,14 +6732,14 @@
   lt_prog_compiler_no_builtin_flag=' -fno-builtin'
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="-fno-rtti -fno-exceptions"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -6059,11 +6750,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6062: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6753: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6066: \$? = $ac_status" >&5
+   echo "$as_me:6757: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6076,8 +6767,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
     lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -6091,8 +6782,8 @@
 lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl='-Wl,'
@@ -6114,13 +6805,15 @@
       lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
       ;;
 
@@ -6130,7 +6823,7 @@
       lt_prog_compiler_pic='-fno-common'
       ;;
 
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -6188,7 +6881,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -6221,7 +6914,7 @@
       lt_prog_compiler_static='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	lt_prog_compiler_wl='-Wl,'
@@ -6240,6 +6933,22 @@
         # All Alpha code is PIC.
         lt_prog_compiler_static='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -6249,6 +6958,10 @@
       lt_prog_compiler_static='-non_shared'
       ;;
 
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
     solaris*)
       lt_prog_compiler_pic='-KPIC'
       lt_prog_compiler_static='-Bstatic'
@@ -6301,22 +7014,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -6327,11 +7040,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6330: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7043: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6334: \$? = $ac_status" >&5
+   echo "$as_me:7047: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6344,8 +7057,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
 
 if test x"$lt_prog_compiler_pic_works" = xyes; then
     case $lt_prog_compiler_pic in
@@ -6372,15 +7085,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -6400,8 +7113,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
 
 if test x"$lt_prog_compiler_static_works" = xyes; then
     :
@@ -6410,8 +7123,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6420,7 +7133,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -6431,11 +7144,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6434: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7147: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:6438: \$? = $ac_status" >&5
+   echo "$as_me:7151: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -6457,23 +7170,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -6483,8 +7196,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag=
@@ -6627,7 +7340,7 @@
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -6645,7 +7358,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
@@ -6660,7 +7373,7 @@
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -6678,13 +7391,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	link_all_deplibs=no
       else
@@ -6692,7 +7414,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -6844,7 +7566,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  hardcode_direct=yes
+  	  :
 	  else
   	  # We have old collect2
   	  hardcode_direct=unsupported
@@ -6900,38 +7622,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -6960,38 +7688,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -7037,7 +7771,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_From_new_cmds='true'
       # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes=yes
       ;;
@@ -7079,10 +7813,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -7129,15 +7863,6 @@
       hardcode_shlibpath_var=no
       ;;
 
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      link_all_deplibs=no
-      ;;
-
     hpux9*)
       if test "$GCC" = yes; then
 	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -7233,7 +7958,7 @@
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -7253,24 +7978,28 @@
       ;;
 
     openbsd*)
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	ld_shlibs=no
       fi
       ;;
 
@@ -7329,17 +8058,16 @@
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       link_all_deplibs=yes
       ;;
@@ -7396,7 +8124,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       no_undefined_flag='${wl}-z,text'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
@@ -7449,8 +8177,8 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
 test "$ld_shlibs" = no && can_build_shared=no
 
 #
@@ -7470,10 +8198,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -7508,16 +8236,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -7531,17 +8259,55 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
 if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
@@ -7701,12 +8467,8 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -7723,18 +8485,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -7772,7 +8522,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -7835,7 +8585,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -7890,7 +8640,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -7906,7 +8656,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -7931,18 +8681,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -8024,6 +8762,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -8116,8 +8858,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -8125,8 +8867,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var" || \
@@ -8150,8 +8892,8 @@
   # directories.
   hardcode_action=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
 
 if test "$hardcode_action" = relink; then
   # Fast installation is not supported
@@ -8164,29 +8906,30 @@
 
 striplib=
 old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
    darwin*)
        if test -n "$STRIP" ; then
          striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+         old_striplib="$STRIP -S"
+         { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
        else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
        ;;
    *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     ;;
   esac
 fi
@@ -8218,8 +8961,8 @@
 
   darwin*)
   # if libdl is installed we need to link against it
-    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dl_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8232,55 +8975,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlopen=no
+	ac_cv_lib_dl_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
 if test $ac_cv_lib_dl_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
@@ -8294,8 +9035,8 @@
    ;;
 
   *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
 if test "${ac_cv_func_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8322,72 +9063,64 @@
 
 #undef shl_load
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
 choke me
-#else
-char (*f) () = shl_load;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != shl_load;
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_shl_load=no
+	ac_cv_func_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
 if test $ac_cv_func_shl_load = yes; then
   lt_cv_dlopen="shl_load"
 else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8400,60 +9133,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 int
 main ()
 {
-shl_load ();
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dld_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_shl_load=no
+	ac_cv_lib_dld_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
 if test $ac_cv_lib_dld_shl_load = yes; then
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
 else
-  echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
 if test "${ac_cv_func_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8480,72 +9211,64 @@
 
 #undef dlopen
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
 choke me
-#else
-char (*f) () = dlopen;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != dlopen;
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_dlopen=no
+	ac_cv_func_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
 if test $ac_cv_func_dlopen = yes; then
   lt_cv_dlopen="dlopen"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dl_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8558,60 +9281,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlopen=no
+	ac_cv_lib_dl_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
 if test $ac_cv_lib_dl_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_svld_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8624,60 +9345,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_svld_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_svld_dlopen=no
+	ac_cv_lib_svld_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
 if test $ac_cv_lib_svld_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
-  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_dld_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8690,55 +9409,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dld_link ();
 int
 main ()
 {
-dld_link ();
+return dld_link ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dld_dld_link=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_dld_link=no
+	ac_cv_lib_dld_dld_link=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
 if test $ac_cv_lib_dld_dld_link = yes; then
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
 fi
@@ -8778,8 +9495,8 @@
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8789,7 +9506,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8792 "configure"
+#line 9509 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -8873,13 +9590,13 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
 
     if test "x$lt_cv_dlopen_self" = xyes; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self_static+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8889,7 +9606,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8892 "configure"
+#line 9609 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -8973,8 +9690,8 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
     fi
 
     CPPFLAGS="$save_CPPFLAGS"
@@ -8996,13 +9713,13 @@
 
 
 # Report which library types will actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -9022,15 +9739,15 @@
   fi
     ;;
 esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
 
 # The else clause should only fire when bootstrapping the
 # libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -9087,6 +9804,7 @@
     module_cmds \
     module_expsym_cmds \
     lt_cv_prog_compiler_c_o \
+    fix_srcfile_path \
     exclude_expsyms \
     include_expsyms; do
 
@@ -9131,7 +9849,7 @@
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
@@ -9455,7 +10173,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols
@@ -9522,12 +10240,12 @@
 CC="$lt_save_CC"
 
 
-# Check whether --with-tags or --without-tags was given.
+# Check whether --with-tags was given.
 if test "${with_tags+set}" = set; then
-  withval="$with_tags"
-  tagnames="$withval"
-fi;
+  withval=$with_tags; tagnames="$withval"
+fi
 
+
 if test -f "$ltmain" && test -n "$tagnames"; then
   if test ! -f "${ofile}"; then
     { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
@@ -9580,7 +10298,7 @@
 	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
 	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
 	    (test "X$CXX" != "Xg++"))) ; then
-	  ac_ext=cc
+	  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -9624,10 +10342,10 @@
 objext_CXX=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -9643,13 +10361,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -9699,18 +10417,18 @@
   # Set up default GNU C++ configuration
 
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi;
+fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -9739,11 +10457,11 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
 if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9776,17 +10494,17 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9800,8 +10518,8 @@
   ;;
 esac
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
@@ -9851,8 +10569,8 @@
 fi
 
 # PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 ld_shlibs_CXX=yes
 case $host_os in
   aix3*)
@@ -9908,7 +10626,7 @@
 	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	then
 	  # We have reworked collect2
-	  hardcode_direct_CXX=yes
+	  :
 	else
 	  # We have old collect2
 	  hardcode_direct_CXX=unsupported
@@ -9964,38 +10682,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -10025,38 +10749,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -10167,10 +10897,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
           module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -10204,7 +10934,7 @@
   freebsd-elf*)
     archive_cmds_need_lc_CXX=no
     ;;
-  freebsd* | kfreebsd*-gnu | dragonfly*)
+  freebsd* | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     ld_shlibs_CXX=yes
@@ -10253,9 +10983,7 @@
       hardcode_libdir_separator_CXX=:
 
       case $host_cpu in
-      hppa*64*|ia64*)
-	hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
-        ;;
+      hppa*64*|ia64*) ;;
       *)
 	export_dynamic_flag_spec_CXX='${wl}-E'
         ;;
@@ -10323,7 +11051,7 @@
 	;;
     esac
     ;;
-  interix3*)
+  interix[3-9]*)
     hardcode_direct_CXX=no
     hardcode_shlibpath_var_CXX=no
     hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
@@ -10363,7 +11091,7 @@
     hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
     hardcode_libdir_separator_CXX=:
     ;;
-  linux*)
+  linux* | k*bsd*-gnu)
     case $cc_basename in
       KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -10443,6 +11171,29 @@
 	# dependencies.
 	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
 	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  no_undefined_flag_CXX=' -zdefs'
+	  archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	  hardcode_libdir_flag_spec_CXX='-R$libdir'
+	  whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # Archives containing C++ object files must be created using
+	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	  # necessary to make sure instantiated templates are included
+	  # in the archive.
+	  old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
     esac
     ;;
   lynxos*)
@@ -10465,7 +11216,7 @@
 	;;
     esac
     ;;
-  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  netbsd* | netbsdelf*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -10481,16 +11232,20 @@
     ld_shlibs_CXX=no
     ;;
   openbsd*)
-    hardcode_direct_CXX=yes
-    hardcode_shlibpath_var_CXX=no
-    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-      export_dynamic_flag_spec_CXX='${wl}-E'
-      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    if test -f /usr/libexec/ld.so; then
+      hardcode_direct_CXX=yes
+      hardcode_shlibpath_var_CXX=no
+      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	export_dynamic_flag_spec_CXX='${wl}-E'
+	whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      ld_shlibs_CXX=no
     fi
-    output_verbose_link_cmd='echo'
     ;;
   osf3*)
     case $cc_basename in
@@ -10652,15 +11407,10 @@
 	case $host_os in
 	  solaris2.[0-5] | solaris2.[0-5].*) ;;
 	  *)
-	    # The C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker. We must also pass each convience library through
-	    # to the system linker between allextract/defaultextract.
-	    # The C++ compiler will combine linker options so we
-	    # cannot just pass the convience library names through
-	    # without $wl.
+	    # The compiler driver will combine and reorder linker options,
+	    # but understands `-z linker_flag'.
 	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
 	    ;;
 	esac
 	link_all_deplibs_CXX=yes
@@ -10707,6 +11457,12 @@
 	  fi
 
 	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+	  *)
+	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    ;;
+	  esac
 	fi
 	;;
     esac
@@ -10787,8 +11543,8 @@
     ld_shlibs_CXX=no
     ;;
 esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
 GCC_CXX="$GXX"
@@ -10898,7 +11654,7 @@
 
 # PORTME: override above test on systems where it is broken
 case $host_os in
-interix3*)
+interix[3-9]*)
   # Interix 3.5 installs completely hosed .la files for C++, so rather than
   # hack all around it, let's just trust "g++" to DTRT.
   predep_objects_CXX=
@@ -10906,13 +11662,46 @@
   postdeps_CXX=
   ;;
 
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+    #
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
 solaris*)
   case $cc_basename in
   CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
     # Adding this requires a known-good setup of shared libraries for
     # Sun compiler versions before 5.6, else PIC objects from an old
     # archive will be linked into the output, leading to subtle bugs.
-    postdeps_CXX='-lCstd -lCrun'
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
     ;;
   esac
   ;;
@@ -10927,8 +11716,8 @@
 lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -10949,12 +11738,14 @@
       # like `-m68040'.
       lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
-    mingw* | os2* | pw32*)
+    mingw* | cygwin* | os2* | pw32*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
       ;;
     darwin* | rhapsody*)
@@ -10966,7 +11757,7 @@
       # DJGPP does not support shared libraries at all
       lt_prog_compiler_pic_CXX=
       ;;
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -11032,7 +11823,7 @@
 	    ;;
 	esac
 	;;
-      freebsd* | kfreebsd*-gnu | dragonfly*)
+      freebsd* | dragonfly*)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
@@ -11075,7 +11866,7 @@
 	    ;;
 	esac
 	;;
-      linux*)
+      linux* | k*bsd*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -11102,6 +11893,14 @@
 	    lt_prog_compiler_static_CXX='-non_shared'
 	    ;;
 	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      lt_prog_compiler_pic_CXX='-KPIC'
+	      lt_prog_compiler_static_CXX='-Bstatic'
+	      lt_prog_compiler_wl_CXX='-Qoption ld '
+	      ;;
+	    esac
 	    ;;
 	esac
 	;;
@@ -11118,7 +11917,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      netbsd* | netbsdelf*-gnu)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -11201,22 +12000,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_CXX"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works_CXX=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -11227,11 +12026,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11230: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12029: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11234: \$? = $ac_status" >&5
+   echo "$as_me:12033: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11244,8 +12043,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
 
 if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
     case $lt_prog_compiler_pic_CXX in
@@ -11272,15 +12071,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works_CXX=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -11300,8 +12099,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
 
 if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
     :
@@ -11310,8 +12109,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -11320,7 +12119,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -11331,11 +12130,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11334: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12133: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11338: \$? = $ac_status" >&5
+   echo "$as_me:12137: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -11357,23 +12156,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -11383,8 +12182,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
@@ -11401,21 +12200,18 @@
     export_symbols_cmds_CXX="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
   ;;
-  kfreebsd*-gnu)
+  linux* | k*bsd*-gnu)
     link_all_deplibs_CXX=no
   ;;
-  linux*)
-    link_all_deplibs_CXX=no
-  ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   esac
 
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
 #
@@ -11435,10 +12231,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -11473,16 +12269,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -11496,20 +12292,7 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -11666,12 +12449,7 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -11688,18 +12466,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -11737,7 +12503,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -11800,7 +12566,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -11855,7 +12621,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -11871,7 +12637,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -11896,18 +12662,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -11989,6 +12743,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -12081,8 +12839,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -12090,8 +12848,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action_CXX=
 if test -n "$hardcode_libdir_flag_spec_CXX" || \
    test -n "$runpath_var_CXX" || \
@@ -12115,8 +12873,8 @@
   # directories.
   hardcode_action_CXX=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
 
 if test "$hardcode_action_CXX" = relink; then
   # Fast installation is not supported
@@ -12183,6 +12941,7 @@
     module_cmds_CXX \
     module_expsym_cmds_CXX \
     lt_cv_prog_compiler_c_o_CXX \
+    fix_srcfile_path_CXX \
     exclude_expsyms_CXX \
     include_expsyms_CXX; do
 
@@ -12503,7 +13262,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_CXX
@@ -12594,10 +13353,17 @@
 objext_F77=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="      program t\n      end\n"
+lt_simple_link_test_code="\
+      program t
+      end
+"
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -12613,13 +13379,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -12641,13 +13407,13 @@
 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
 
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -12666,15 +13432,15 @@
   fi
   ;;
 esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
 
 GCC_F77="$G77"
 LD_F77="$LD"
@@ -12683,8 +13449,8 @@
 lt_prog_compiler_pic_F77=
 lt_prog_compiler_static_F77=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl_F77='-Wl,'
@@ -12706,13 +13472,15 @@
       lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic_F77='-DDLL_EXPORT'
       ;;
 
@@ -12722,7 +13490,7 @@
       lt_prog_compiler_pic_F77='-fno-common'
       ;;
 
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -12780,7 +13548,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic_F77='-DDLL_EXPORT'
@@ -12813,7 +13581,7 @@
       lt_prog_compiler_static_F77='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	lt_prog_compiler_wl_F77='-Wl,'
@@ -12832,6 +13600,22 @@
         # All Alpha code is PIC.
         lt_prog_compiler_static_F77='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic_F77='-KPIC'
+	  lt_prog_compiler_static_F77='-Bstatic'
+	  lt_prog_compiler_wl_F77='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic_F77='-KPIC'
+	  lt_prog_compiler_static_F77='-Bstatic'
+	  lt_prog_compiler_wl_F77=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -12841,6 +13625,10 @@
       lt_prog_compiler_static_F77='-non_shared'
       ;;
 
+    rdos*)
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
     solaris*)
       lt_prog_compiler_pic_F77='-KPIC'
       lt_prog_compiler_static_F77='-Bstatic'
@@ -12893,22 +13681,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_F77"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works_F77=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_F77"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -12919,11 +13707,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12922: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13710: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:12926: \$? = $ac_status" >&5
+   echo "$as_me:13714: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -12936,8 +13724,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
 
 if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
     case $lt_prog_compiler_pic_F77 in
@@ -12964,15 +13752,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works_F77=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -12992,8 +13780,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
 
 if test x"$lt_prog_compiler_static_works_F77" = xyes; then
     :
@@ -13002,8 +13790,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -13012,7 +13800,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -13023,11 +13811,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13026: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13814: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13030: \$? = $ac_status" >&5
+   echo "$as_me:13818: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13049,23 +13837,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -13075,8 +13863,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag_F77=
@@ -13219,7 +14007,7 @@
       allow_undefined_flag_F77=unsupported
       always_export_symbols_F77=no
       enable_shared_with_static_runtimes_F77=yes
-      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -13237,7 +14025,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[3-9]*)
       hardcode_direct_F77=no
       hardcode_shlibpath_var_F77=no
       hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
@@ -13252,7 +14040,7 @@
       archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -13270,13 +14058,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	link_all_deplibs_F77=no
       else
@@ -13284,7 +14081,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -13436,7 +14233,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  hardcode_direct_F77=yes
+  	  :
 	  else
   	  # We have old collect2
   	  hardcode_direct_F77=unsupported
@@ -13482,38 +14279,44 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -13532,38 +14335,44 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -13609,7 +14418,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_From_new_cmds_F77='true'
       # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes_F77=yes
       ;;
@@ -13651,10 +14460,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -13701,15 +14510,6 @@
       hardcode_shlibpath_var_F77=no
       ;;
 
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      link_all_deplibs_F77=no
-      ;;
-
     hpux9*)
       if test "$GCC" = yes; then
 	archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -13805,7 +14605,7 @@
       link_all_deplibs_F77=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -13825,24 +14625,28 @@
       ;;
 
     openbsd*)
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_F77='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct_F77=yes
+	hardcode_shlibpath_var_F77=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec_F77='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec_F77='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec_F77='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	ld_shlibs_F77=no
       fi
       ;;
 
@@ -13901,17 +14705,16 @@
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       link_all_deplibs_F77=yes
       ;;
@@ -13968,7 +14771,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       no_undefined_flag_F77='${wl}-z,text'
       archive_cmds_need_lc_F77=no
       hardcode_shlibpath_var_F77=no
@@ -14021,8 +14824,8 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6; }
 test "$ld_shlibs_F77" = no && can_build_shared=no
 
 #
@@ -14042,10 +14845,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -14080,16 +14883,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -14103,20 +14906,7 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -14273,12 +15063,7 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -14295,18 +15080,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -14344,7 +15117,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -14407,7 +15180,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -14462,7 +15235,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -14478,7 +15251,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -14503,18 +15276,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -14596,6 +15357,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -14688,8 +15453,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -14697,8 +15462,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action_F77=
 if test -n "$hardcode_libdir_flag_spec_F77" || \
    test -n "$runpath_var_F77" || \
@@ -14722,8 +15487,8 @@
   # directories.
   hardcode_action_F77=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6; }
 
 if test "$hardcode_action_F77" = relink; then
   # Fast installation is not supported
@@ -14790,6 +15555,7 @@
     module_cmds_F77 \
     module_expsym_cmds_F77 \
     lt_cv_prog_compiler_c_o_F77 \
+    fix_srcfile_path_F77 \
     exclude_expsyms_F77 \
     include_expsyms_F77; do
 
@@ -15110,7 +15876,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_F77
@@ -15160,7 +15926,6 @@
 	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
 
 
-
 # Source file extension for Java test sources.
 ac_ext=java
 
@@ -15169,10 +15934,10 @@
 objext_GCJ=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -15188,13 +15953,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -15228,14 +15993,14 @@
   lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="-fno-rtti -fno-exceptions"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -15246,11 +16011,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15249: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16014: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15253: \$? = $ac_status" >&5
+   echo "$as_me:16018: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15263,8 +16028,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
     lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -15278,8 +16043,8 @@
 lt_prog_compiler_pic_GCJ=
 lt_prog_compiler_static_GCJ=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl_GCJ='-Wl,'
@@ -15301,13 +16066,15 @@
       lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
       ;;
 
@@ -15317,7 +16084,7 @@
       lt_prog_compiler_pic_GCJ='-fno-common'
       ;;
 
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -15375,7 +16142,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
@@ -15408,7 +16175,7 @@
       lt_prog_compiler_static_GCJ='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	lt_prog_compiler_wl_GCJ='-Wl,'
@@ -15427,6 +16194,22 @@
         # All Alpha code is PIC.
         lt_prog_compiler_static_GCJ='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic_GCJ='-KPIC'
+	  lt_prog_compiler_static_GCJ='-Bstatic'
+	  lt_prog_compiler_wl_GCJ='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic_GCJ='-KPIC'
+	  lt_prog_compiler_static_GCJ='-Bstatic'
+	  lt_prog_compiler_wl_GCJ=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -15436,6 +16219,10 @@
       lt_prog_compiler_static_GCJ='-non_shared'
       ;;
 
+    rdos*)
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
     solaris*)
       lt_prog_compiler_pic_GCJ='-KPIC'
       lt_prog_compiler_static_GCJ='-Bstatic'
@@ -15488,22 +16275,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_GCJ"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works_GCJ=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -15514,11 +16301,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15517: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16304: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15521: \$? = $ac_status" >&5
+   echo "$as_me:16308: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15531,8 +16318,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
 
 if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
     case $lt_prog_compiler_pic_GCJ in
@@ -15559,15 +16346,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works_GCJ=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -15587,8 +16374,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
 
 if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
     :
@@ -15597,8 +16384,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -15607,7 +16394,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -15618,11 +16405,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15621: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16408: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15625: \$? = $ac_status" >&5
+   echo "$as_me:16412: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -15644,23 +16431,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -15670,8 +16457,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag_GCJ=
@@ -15814,7 +16601,7 @@
       allow_undefined_flag_GCJ=unsupported
       always_export_symbols_GCJ=no
       enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -15832,7 +16619,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[3-9]*)
       hardcode_direct_GCJ=no
       hardcode_shlibpath_var_GCJ=no
       hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
@@ -15847,7 +16634,7 @@
       archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -15865,13 +16652,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	link_all_deplibs_GCJ=no
       else
@@ -15879,7 +16675,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -16031,7 +16827,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  hardcode_direct_GCJ=yes
+  	  :
 	  else
   	  # We have old collect2
   	  hardcode_direct_GCJ=unsupported
@@ -16087,38 +16883,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -16147,38 +16949,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -16224,7 +17032,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_From_new_cmds_GCJ='true'
       # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes_GCJ=yes
       ;;
@@ -16266,10 +17074,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -16316,15 +17124,6 @@
       hardcode_shlibpath_var_GCJ=no
       ;;
 
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      link_all_deplibs_GCJ=no
-      ;;
-
     hpux9*)
       if test "$GCC" = yes; then
 	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -16420,7 +17219,7 @@
       link_all_deplibs_GCJ=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -16440,24 +17239,28 @@
       ;;
 
     openbsd*)
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_GCJ='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct_GCJ=yes
+	hardcode_shlibpath_var_GCJ=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec_GCJ='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec_GCJ='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec_GCJ='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	ld_shlibs_GCJ=no
       fi
       ;;
 
@@ -16516,17 +17319,16 @@
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       link_all_deplibs_GCJ=yes
       ;;
@@ -16583,7 +17385,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       no_undefined_flag_GCJ='${wl}-z,text'
       archive_cmds_need_lc_GCJ=no
       hardcode_shlibpath_var_GCJ=no
@@ -16636,8 +17438,8 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
 test "$ld_shlibs_GCJ" = no && can_build_shared=no
 
 #
@@ -16657,10 +17459,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -16695,16 +17497,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -16718,20 +17520,7 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -16888,12 +17677,7 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -16910,18 +17694,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -16959,7 +17731,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -17022,7 +17794,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -17077,7 +17849,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -17093,7 +17865,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -17118,18 +17890,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -17211,6 +17971,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -17303,8 +18067,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -17312,8 +18076,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action_GCJ=
 if test -n "$hardcode_libdir_flag_spec_GCJ" || \
    test -n "$runpath_var_GCJ" || \
@@ -17337,8 +18101,8 @@
   # directories.
   hardcode_action_GCJ=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
 
 if test "$hardcode_action_GCJ" = relink; then
   # Fast installation is not supported
@@ -17405,6 +18169,7 @@
     module_cmds_GCJ \
     module_expsym_cmds_GCJ \
     lt_cv_prog_compiler_c_o_GCJ \
+    fix_srcfile_path_GCJ \
     exclude_expsyms_GCJ \
     include_expsyms_GCJ; do
 
@@ -17725,7 +18490,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_GCJ
@@ -17774,7 +18539,6 @@
       RC)
 
 
-
 # Source file extension for RC test sources.
 ac_ext=rc
 
@@ -17783,7 +18547,7 @@
 objext_RC=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
 
 # Code to be used in simple link tests
 lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -17802,13 +18566,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -17886,6 +18650,7 @@
     module_cmds_RC \
     module_expsym_cmds_RC \
     lt_cv_prog_compiler_c_o_RC \
+    fix_srcfile_path_RC \
     exclude_expsyms_RC \
     include_expsyms_RC; do
 
@@ -18206,7 +18971,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_RC
@@ -18312,8 +19077,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_PERL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18326,25 +19091,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_PERL="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 PERL=$ac_cv_prog_PERL
 if test -n "$PERL"; then
-  echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6
+  { echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$PERL" && break
 done
 
@@ -18355,8 +19122,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18369,25 +19136,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AR" && break
 done
 test -n "$AR" || AR=":"
@@ -18396,8 +19165,8 @@
 
 
 if test -z "$SEARCH"; then
-  echo "$as_me:$LINENO: checking how make searches directories" >&5
-echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how make searches directories" >&5
+echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6; }
   while true; do #for break
         cat >maketest <<EOF
 VPATH=$srcdir/config $srcdir/src $srcdir/bin
@@ -18412,8 +19181,8 @@
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='VPATH='
       SEARCH_SEP=' '
-      echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
-echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6
+      { echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
+echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6; }
       break
     fi
 
@@ -18430,8 +19199,8 @@
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='VPATH='
       SEARCH_SEP=':'
-      echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
-echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6
+      { echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
+echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6; }
       break
     fi
 
@@ -18447,15 +19216,15 @@
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='.PATH: '
       SEARCH_SEP=' '
-      echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
-echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6
+      { echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
+echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6; }
       break
     fi
 
         SEARCH_RULE='## SEARCH DISABLED: '
     SEARCH_SEP=' '
-    echo "$as_me:$LINENO: result: it doesn't" >&5
-echo "${ECHO_T}it doesn't" >&6
+    { echo "$as_me:$LINENO: result: it doesn't" >&5
+echo "${ECHO_T}it doesn't" >&6; }
     if test ! -f configure; then
       { { echo "$as_me:$LINENO: error: ${MAKE-make} requires the build and source directories to be the same" >&5
 echo "$as_me: error: ${MAKE-make} requires the build and source directories to be the same" >&2;}
@@ -18466,18 +19235,18 @@
   rm maketest
 fi
 
-echo "$as_me:$LINENO: checking for production mode" >&5
-echo $ECHO_N "checking for production mode... $ECHO_C" >&6
-# Check whether --enable-production or --disable-production was given.
+{ echo "$as_me:$LINENO: checking for production mode" >&5
+echo $ECHO_N "checking for production mode... $ECHO_C" >&6; }
+# Check whether --enable-production was given.
 if test "${enable_production+set}" = set; then
-  enableval="$enable_production"
+  enableval=$enable_production;
+fi
 
-fi;
 
 case "X-$enable_production" in
   X-|X-yes)
-    echo "$as_me:$LINENO: result: \"production\"" >&5
-echo "${ECHO_T}\"production\"" >&6
+    { echo "$as_me:$LINENO: result: \"production\"" >&5
+echo "${ECHO_T}\"production\"" >&6; }
 
             CXXFLAGS_temp=""
     if test -n "$CXXFLAGS"; then
@@ -18504,29 +19273,29 @@
     CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS"
     ;;
   X-no)
-    echo "$as_me:$LINENO: result: \"development\"" >&5
-echo "${ECHO_T}\"development\"" >&6
+    { echo "$as_me:$LINENO: result: \"development\"" >&5
+echo "${ECHO_T}\"development\"" >&6; }
     CONFIG_MODE=development
     CXXFLAGS="$CXXFLAGS $DEBUG_CXXFLAGS"
     CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS"
     ;;
   X-pg|X-profile)
-    echo "$as_me:$LINENO: result: \"profile\"" >&5
-echo "${ECHO_T}\"profile\"" >&6
+    { echo "$as_me:$LINENO: result: \"profile\"" >&5
+echo "${ECHO_T}\"profile\"" >&6; }
     CONFIG_MODE=profile
     CXXFLAGS="$CXXFLAGS $PROFILE_CXXFLAGS"
     CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS"
     ;;
   *)
-    echo "$as_me:$LINENO: result: \"user-defined\"" >&5
-echo "${ECHO_T}\"user-defined\"" >&6
+    { echo "$as_me:$LINENO: result: \"user-defined\"" >&5
+echo "${ECHO_T}\"user-defined\"" >&6; }
     CONFIG_MODE="$X-enableval"
     ;;
 esac
 
 
-echo "$as_me:$LINENO: checking for ceil in -lm" >&5
-echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ceil in -lm" >&5
+echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_m_ceil+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18539,55 +19308,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char ceil ();
 int
 main ()
 {
-ceil ();
+return ceil ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_m_ceil=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_m_ceil=no
+	ac_cv_lib_m_ceil=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
-echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
+echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6; }
 if test $ac_cv_lib_m_ceil = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
@@ -18600,8 +19367,8 @@
 
 if test "`uname`" = "SunOS" -o "`uname -sr`" = "HP-UX B.11.00"; then
 
-echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
-echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; }
 if test "${ac_cv_lib_socket_socket+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18614,55 +19381,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char socket ();
 int
 main ()
 {
-socket ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_socket_socket=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_socket=no
+	ac_cv_lib_socket_socket=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; }
 if test $ac_cv_lib_socket_socket = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -18673,8 +19438,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
-echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
+echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_nsl_xdr_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18687,55 +19452,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char xdr_int ();
 int
 main ()
 {
-xdr_int ();
+return xdr_int ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_nsl_xdr_int=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_nsl_xdr_int=no
+	ac_cv_lib_nsl_xdr_int=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6; }
 if test $ac_cv_lib_nsl_xdr_int = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
@@ -18747,14 +19510,14 @@
 
 fi
 
-echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
-echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6
-# Check whether --enable-static_exec or --disable-static_exec was given.
+{ echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
+echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6; }
+# Check whether --enable-static_exec was given.
 if test "${enable_static_exec+set}" = set; then
-  enableval="$enable_static_exec"
-  STATIC_EXEC=$enableval
-fi;
+  enableval=$enable_static_exec; STATIC_EXEC=$enableval
+fi
 
+
 if test "X$STATIC_EXEC" = "Xyes"; then
   echo "yes"
   LT_STATIC_EXEC="-all-static"
@@ -18766,11 +19529,11 @@
 
 case "$host_cpu-$host_vendor-$host_os" in
   *linux*)
-                # Check whether --enable-linux-lfs or --disable-linux-lfs was given.
+                # Check whether --enable-linux-lfs was given.
 if test "${enable_linux_lfs+set}" = set; then
-  enableval="$enable_linux_lfs"
+  enableval=$enable_linux_lfs;
+fi
 
-fi;
 
     LINUX_LFS="no"
     case "X-$enable_linux_lfs" in
@@ -18789,16 +19552,16 @@
         ;;
     esac
 
-    echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
-echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
+echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6; }
     if test "X$LINUX_LFS" = "Xyes"; then
-      echo "$as_me:$LINENO: result: enabled" >&5
-echo "${ECHO_T}enabled" >&6
+      { echo "$as_me:$LINENO: result: enabled" >&5
+echo "${ECHO_T}enabled" >&6; }
 
       CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS"
     else
-      echo "$as_me:$LINENO: result: disabled" >&5
-echo "${ECHO_T}disabled" >&6
+      { echo "$as_me:$LINENO: result: disabled" >&5
+echo "${ECHO_T}disabled" >&6; }
     fi
 
                 CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS"
@@ -18807,15 +19570,76 @@
     ;;
 esac
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking if $CXX needs old style header files in includes" >&5
-echo $ECHO_N "checking if $CXX needs old style header files in includes... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for offsetof extension" >&5
+echo $ECHO_N "checking for offsetof extension... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdio.h>
+                #include <stddef.h>
+int
+main ()
+{
+struct index_st
+                {
+                  unsigned char type;
+                  unsigned char num;
+                  unsigned int len;
+                };
+                typedef struct index_st index_t;
+                int x,y;
+                x = offsetof(struct index_st, len);
+                y = offsetof(index_t, num)
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_OFFSETOF 1
+_ACEOF
+
+               { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking if $CXX needs old style header files in includes" >&5
+echo $ECHO_N "checking if $CXX needs old style header files in includes... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -18836,13 +19660,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18860,11 +19693,13 @@
   CXXFLAGS="${CXXFLAGS} -DOLD_HEADER_FILENAME"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX can handle namespaces" >&5
-echo $ECHO_N "checking if $CXX can handle namespaces... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX can handle namespaces" >&5
+echo $ECHO_N "checking if $CXX can handle namespaces... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -18891,13 +19726,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18915,11 +19759,13 @@
    CXXFLAGS="${CXXFLAGS} -DH5_NO_NAMESPACE"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX supports std" >&5
-echo $ECHO_N "checking if $CXX supports std... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX supports std" >&5
+echo $ECHO_N "checking if $CXX supports std... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -18945,13 +19791,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18969,11 +19824,13 @@
    CXXFLAGS="${CXXFLAGS} -DH5_NO_STD"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX supports bool types" >&5
-echo $ECHO_N "checking if $CXX supports bool types... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX supports bool types" >&5
+echo $ECHO_N "checking if $CXX supports bool types... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -18995,13 +19852,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -19019,11 +19885,13 @@
    CXXFLAGS="${CXXFLAGS} -DBOOL_NOTDEFINED"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking if $CXX can handle static cast" >&5
-echo $ECHO_N "checking if $CXX can handle static cast... $ECHO_C" >&6
+
+
+{ echo "$as_me:$LINENO: checking if $CXX can handle static cast" >&5
+echo $ECHO_N "checking if $CXX can handle static cast... $ECHO_C" >&6; }
 if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
 See \`config.log' for more details." >&5
@@ -19048,13 +19916,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -19072,19 +19949,21 @@
   CXXFLAGS="${CXXFLAGS} -DNO_STATIC_CAST"
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
 
-# Check whether --with-zlib or --without-zlib was given.
+
+
+# Check whether --with-zlib was given.
 if test "${with_zlib+set}" = set; then
-  withval="$with_zlib"
-
+  withval=$with_zlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_ZLIB="yes"
@@ -19093,18 +19972,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19115,40 +19995,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19157,24 +20034,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19182,9 +20057,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
@@ -19208,25 +20084,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19239,8 +20114,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -19253,55 +20128,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -19313,8 +20186,8 @@
   unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -19341,67 +20214,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -19415,10 +20280,10 @@
     ;;
   no)
     HAVE_ZLIB="no"
-    echo "$as_me:$LINENO: checking for GNU zlib" >&5
-echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for GNU zlib" >&5
+echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_ZLIB="yes"
@@ -19453,18 +20318,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19475,40 +20341,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19517,24 +20380,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19542,9 +20403,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
@@ -19568,25 +20430,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19606,8 +20467,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -19620,55 +20481,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -19680,8 +20539,8 @@
   LDFLAGS="$saved_LDFLAGS"; unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -19708,67 +20567,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -19791,14 +20642,14 @@
 fi
 
 
-# Check whether --with-szlib or --without-szlib was given.
+# Check whether --with-szlib was given.
 if test "${with_szlib+set}" = set; then
-  withval="$with_szlib"
-
+  withval=$with_szlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_SZLIB="yes"
@@ -19806,18 +20657,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19828,40 +20680,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19870,24 +20719,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19895,9 +20742,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
@@ -19921,25 +20769,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19952,8 +20799,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -19966,55 +20813,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -20035,10 +20880,10 @@
     ;;
   no)
     HAVE_SZLIB="no"
-    echo "$as_me:$LINENO: checking for szlib" >&5
-echo $ECHO_N "checking for szlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for szlib" >&5
+echo $ECHO_N "checking for szlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_SZLIB="yes"
@@ -20073,18 +20918,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20095,40 +20941,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20137,24 +20980,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20162,9 +21003,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
@@ -20188,25 +21030,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -20226,8 +21067,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -20240,55 +21081,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -20317,34 +21156,35 @@
 
 fi
 
-echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
-echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6
-# Check whether --enable-stream-vfd or --disable-stream-vfd was given.
+{ echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
+echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6; }
+# Check whether --enable-stream-vfd was given.
 if test "${enable_stream_vfd+set}" = set; then
-  enableval="$enable_stream_vfd"
-  STREAM_VFD=$enableval
-fi;
+  enableval=$enable_stream_vfd; STREAM_VFD=$enableval
+fi
 
+
 if test "$STREAM_VFD" = "yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 for ac_header in netinet/tcp.h sys/filio.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20355,40 +21195,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20397,24 +21234,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20422,9 +21257,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
@@ -20448,25 +21284,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -20484,8 +21319,8 @@
 _ACEOF
 
 
-    echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
-echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
+echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20514,45 +21349,42 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_SOCKLEN_T 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me:$LINENO: result: not configured" >&5
-echo "${ECHO_T}not configured" >&6
+  { echo "$as_me:$LINENO: result: not configured" >&5
+echo "${ECHO_T}not configured" >&6; }
 fi
 
 
@@ -20574,50 +21406,69 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
 
-echo "$as_me:$LINENO: checking make" >&5
-echo $ECHO_N "checking make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking make" >&5
+echo $ECHO_N "checking make... $ECHO_C" >&6; }
 
 if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\
           sed -n 1p|cut -c1-8`" = "GNU Make"; then
-  echo "$as_me:$LINENO: result: GNU make" >&5
-echo "${ECHO_T}GNU make" >&6
+  { echo "$as_me:$LINENO: result: GNU make" >&5
+echo "${ECHO_T}GNU make" >&6; }
   GMAKE=yes
   if test "X$GCC" = "Xyes"; then
     DEPEND=config/depend1
@@ -20625,13 +21476,13 @@
     DEPEND=config/depend2
   fi
 else
-  echo "$as_me:$LINENO: result: generic" >&5
-echo "${ECHO_T}generic" >&6
+  { echo "$as_me:$LINENO: result: generic" >&5
+echo "${ECHO_T}generic" >&6; }
 fi
 
 if test -z "$DEPEND"; then
-  echo "$as_me:$LINENO: checking how to include a makefile" >&5
-echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how to include a makefile" >&5
+echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6; }
 
     cat >makeinc <<EOF
 foo:
@@ -20640,22 +21491,22 @@
 
   while true; do             echo '.include <makeinc>' >maketest
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: .include <FILE>" >&5
-echo "${ECHO_T}.include <FILE>" >&6
+      { echo "$as_me:$LINENO: result: .include <FILE>" >&5
+echo "${ECHO_T}.include <FILE>" >&6; }
       DEPEND=config/depend3
       break
     fi
 
         echo 'include makeinc' >maketest
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: include FILE" >&5
-echo "${ECHO_T}include FILE" >&6
+      { echo "$as_me:$LINENO: result: include FILE" >&5
+echo "${ECHO_T}include FILE" >&6; }
       DEPEND=config/depend4
       break;
     fi
 
-        echo "$as_me:$LINENO: result: you have a deficient make command" >&5
-echo "${ECHO_T}you have a deficient make command" >&6
+        { echo "$as_me:$LINENO: result: you have a deficient make command" >&5
+echo "${ECHO_T}you have a deficient make command" >&6; }
     DEPEND=config/dependN
     break
   done
@@ -20682,6 +21533,24 @@
 fi
 
 
+ HL=""
+{ echo "$as_me:$LINENO: checking if high level library is enabled" >&5
+echo $ECHO_N "checking if high level library is enabled... $ECHO_C" >&6; }
+# Check whether --enable-hl was given.
+if test "${enable_hl+set}" = set; then
+  enableval=$enable_hl; HDF5_HL=$enableval
+else
+  HDF5_HL=yes
+fi
+
+
+if test "X$HDF5_HL" = "Xyes"; then
+ echo "yes"
+ HL="hl"
+else
+ echo "no"
+fi
+
  COMMENCE=config/commence
  CONCLUDE=config/conclude
 
@@ -20702,7 +21571,7 @@
 
 saved_no_create=$no_create
 no_create=yes
-                                                                                                                        ac_config_files="$ac_config_files config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/Makefile src/h5c++ test/Makefile examples/Makefile"
+ac_config_files="$ac_config_files config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/Makefile src/h5c++ test/Makefile examples/testh5c++.sh examples/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -20722,39 +21591,58 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -20763,63 +21651,18 @@
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[	 ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[	 ]*$//;
-}'
-fi
+DEFS=-DHAVE_CONFIG_H
 
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output.  A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
 ac_libobjs=
 ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -20850,18 +21693,46 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
@@ -20870,8 +21741,43 @@
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -20885,18 +21791,19 @@
   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -20904,159 +21811,120 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
 
-
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
-	 /*)
-	   if ("$as_dir/$as_base" -c '
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
-
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -21065,7 +21933,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -21074,62 +21963,35 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
+# values after options handling.
+ac_log="
+This file was extended by HDF5 C++ $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
-This file was extended by HDF5 C++ $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
-
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
   CONFIG_LINKS    = $CONFIG_LINKS
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
 
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+_ACEOF
 
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -21137,30 +21999,40 @@
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number, then exit
+  -V, --version    print version number and configuration settings, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
   --file=FILE[:TEMPLATE]
 		   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+		   instantiate the configuration header FILE
 
 Configuration files:
 $config_files
 
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
 Report bugs to <bug-autoconf at gnu.org>."
+
 _ACEOF
-
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-HDF5 C++ config.status 1.6.5
-configured by $0, generated by GNU Autoconf 2.59,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+HDF5 C++ config.status 1.6.6
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -21171,39 +22043,24 @@
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
@@ -21213,18 +22070,24 @@
     $ac_shift
     CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
     ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
-  *) ac_config_targets="$ac_config_targets $1" ;;
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
@@ -21240,413 +22103,641 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
 fi
 
 _ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
 
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS
+#
 
 
+_ACEOF
 
+cat >>$CONFIG_STATUS <<\_ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "config/depend1" ) CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
-  "config/depend2" ) CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
-  "config/depend3" ) CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
-  "config/depend4" ) CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
-  "config/dependN" ) CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
-  "config/commence" ) CONFIG_FILES="$CONFIG_FILES config/commence" ;;
-  "config/conclude" ) CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
-  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-  "src/h5c++" ) CONFIG_FILES="$CONFIG_FILES src/h5c++" ;;
-  "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
-  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+  case $ac_config_target in
+    "src/H5cxx_config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/H5cxx_config.h" ;;
+    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+    "config/depend1") CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
+    "config/depend2") CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
+    "config/depend3") CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
+    "config/depend4") CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
+    "config/dependN") CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
+    "config/commence") CONFIG_FILES="$CONFIG_FILES config/commence" ;;
+    "config/conclude") CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "src/h5c++") CONFIG_FILES="$CONFIG_FILES src/h5c++" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "examples/testh5c++.sh") CONFIG_FILES="$CONFIG_FILES examples/testh5c++.sh" ;;
+    "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
 
+
 # If the user did not use the arguments to specify the items to instantiate,
 # then the envvar interface is used.  Set only those that are not.
 # We use the long form for the default assignment because of an extremely
 # bizarre bug on SunOS 4.1.3.
 if $ac_need_defaults; then
   test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
   trap '{ (exit 1); exit 1; }' 1 2 13 15
 }
-
 # Create a (secure) tmp directory for tmp files.
 
 {
-  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
    echo "$me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
 #
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
 #
 
 # No need to generate the scripts if there are no CONFIG_FILES.
 # This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at build@,$build,;t t
-s, at build_cpu@,$build_cpu,;t t
-s, at build_vendor@,$build_vendor,;t t
-s, at build_os@,$build_os,;t t
-s, at host@,$host,;t t
-s, at host_cpu@,$host_cpu,;t t
-s, at host_vendor@,$host_vendor,;t t
-s, at host_os@,$host_os,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at H5_CPPFLAGS@,$H5_CPPFLAGS,;t t
-s, at H5_CFLAGS@,$H5_CFLAGS,;t t
-s, at H5_CXXFLAGS@,$H5_CXXFLAGS,;t t
-s, at ROOT@,$ROOT,;t t
-s, at DEFAULT_LIBS@,$DEFAULT_LIBS,;t t
-s, at CXX@,$CXX,;t t
-s, at CXXFLAGS@,$CXXFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at ac_ct_CXX@,$ac_ct_CXX,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at CXXCPP@,$CXXCPP,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s, at INSTALL_DATA@,$INSTALL_DATA,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EGREP@,$EGREP,;t t
-s, at LN_S@,$LN_S,;t t
-s, at ECHO@,$ECHO,;t t
-s, at AR@,$AR,;t t
-s, at ac_ct_AR@,$ac_ct_AR,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at STRIP@,$STRIP,;t t
-s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s, at CPP@,$CPP,;t t
-s, at F77@,$F77,;t t
-s, at FFLAGS@,$FFLAGS,;t t
-s, at ac_ct_F77@,$ac_ct_F77,;t t
-s, at LIBTOOL@,$LIBTOOL,;t t
-s, at PERL@,$PERL,;t t
-s, at LT_STATIC_EXEC@,$LT_STATIC_EXEC,;t t
-s, at DYNAMIC_DIRS@,$DYNAMIC_DIRS,;t t
-s, at SEARCH@,$SEARCH,;t t
-s, at SETX@,$SETX,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-/@DEPEND@/r $DEPEND
-s, at DEPEND@,,;t t
-/@COMMENCE@/r $COMMENCE
-s, at COMMENCE@,,;t t
-/@CONCLUDE@/r $CONCLUDE
-s, at CONCLUDE@,,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
 
 _ACEOF
 
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+# Create sed commands to just substitute file output variables.
+
+# Remaining file output variables are in a fragment that also has non-file
+# output varibles.
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+H5_CPPFLAGS!$H5_CPPFLAGS$ac_delim
+H5_CFLAGS!$H5_CFLAGS$ac_delim
+H5_CXXFLAGS!$H5_CXXFLAGS$ac_delim
+ROOT!$ROOT$ac_delim
+DEFAULT_LIBS!$DEFAULT_LIBS$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+SED!$SED$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+AR!$AR$ac_delim
+RANLIB!$RANLIB$ac_delim
+STRIP!$STRIP$ac_delim
+CPP!$CPP$ac_delim
+F77!$F77$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+ac_ct_F77!$ac_ct_F77$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+PERL!$PERL$ac_delim
+LT_STATIC_EXEC!$LT_STATIC_EXEC$ac_delim
+DYNAMIC_DIRS!$DYNAMIC_DIRS$ac_delim
+HL!$HL$ac_delim
+SEARCH!$SEARCH$ac_delim
+SETX!$SETX$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 86; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
-fi # test -n "$CONFIG_FILES"
+done
 
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+/^[	 ]*@DEPEND@[	 ]*$/{
+r $DEPEND
+d
+}
+/^[	 ]*@COMMENCE@[	 ]*$/{
+r $COMMENCE
+d
+}
+/^[	 ]*@CONCLUDE@[	 ]*$/{
+r $CONCLUDE
+d
+}
 _ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
 cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
   esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$ac_file" : 'X\(//\)[^/]' \| \
 	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
   ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
 
   case $INSTALL in
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+_ACEOF
 
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-				     sed 's,.*/,,'` by configure."
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
 
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
 $extrasub
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-s, at INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+_ACEOF
+
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status.  If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless.  But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([	 #]*\\)[^	 ]*\\([	 ]*'
+ac_dB='\\)[	 (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+  sed -n '
+	t rset
+	:rset
+	s/^[	 ]*#[	 ]*define[	 ][	 ]*//
+	t ok
+	d
+	:ok
+	s/[\\&,]/\\&/g
+	s/^\('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+	s/^\('"$ac_word_re"'\)[	 ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+  ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[	 #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is:	 sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is:	 sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be:	 sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
+do
+  # Write a here document:
+    cat >>$CONFIG_STATUS <<_ACEOF
+    # First, check the format of the line:
+    cat >"\$tmp/defines.sed" <<\\CEOF
+/^[	 ]*#[	 ]*undef[	 ][	 ]*$ac_word_re[	 ]*\$/b def
+/^[	 ]*#[	 ]*define[	 ][	 ]*$ac_word_re[(	 ]/b def
+b
+:def
+_ACEOF
+  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+  grep . conftest.tail >/dev/null || break
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines conftest.tail
+
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
+cat >>$CONFIG_STATUS <<\_ACEOF
   if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
+    echo "/* $configure_input  */" >"$tmp/config.h"
+    cat "$ac_result" >>"$tmp/config.h"
+    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f $ac_file
+      mv "$tmp/config.h" $ac_file
+    fi
   else
-    cat $tmp/out
-    rm -f $tmp/out
+    echo "/* $configure_input  */"
+    cat "$ac_result"
   fi
+  rm -f "$tmp/out12"
+ ;;
 
-done
-_ACEOF
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
+  case $ac_file$ac_mode in
+    "default-1":C)
+  echo "creating c++/src/H5cxx_pubconf.h"
+  sed 's/#define /#define H5_CXX_/' <src/H5cxx_config.h |\
+    sed 's/#undef /#undef H5_CXX_/' >pubconf
+  if test ! -f src/H5cxx_pubconf.h; then
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  elif (diff pubconf src/H5cxx_pubconf.h >/dev/null); then
+    /bin/rm -f pubconf
+    echo "src/H5cxx_pubconf.h is unchanged"
+  else
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  fi
+ ;;
+
+  esac
+done # for ac_tag
+
+
 { (exit 0); exit 0; }
 _ACEOF
 chmod +x $CONFIG_STATUS
@@ -21696,19 +22787,19 @@
   fi
 fi
 
+config_summary="../#c++_configure_summary"
+rm -f $config_summary
+
 PRINT_PLAIN() {
-  echo $ECHO_N "$1$ECHO_C"
-  echo $ECHO_N "$1$ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1$ECHO_C" 1>>$config_summary
 }
 
 PRINT_N() {
-  echo $ECHO_N "$1:  $ECHO_C"
-  echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1:  $ECHO_C" 1>>$config_summary
 }
 
 PRINT() {
-  echo "$1"
-  echo "$1" 1>>src/libhdf5_cpp.settings
+  echo "$1" 1>>$config_summary
 }
 
 IF_YES_NO() {
@@ -21735,13 +22826,8 @@
   fi
 }
 
-PRINT "C++ Configure Summary"
-PRINT "Compiling Options:"
-
 PRINT_N "                   C++ Compiler"
 PRINT "$CXX"
 
 PRINT_N "                       CXXFLAGS"
 PRINT "$CXXFLAGS"
-
-PRINT "Features:"

Modified: packages/hdf5/trunk/c++/configure.in
===================================================================
--- packages/hdf5/trunk/c++/configure.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/configure.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,7 @@
 dnl ----------------------------------------------------------------------
 dnl Process this file with autoconf to produce configure.
 dnl
+dnl Copyright by The HDF Group.
 dnl Copyright by the Board of Trustees of the University of Illinois.
 dnl All rights reserved.
 dnl
@@ -10,15 +11,15 @@
 dnl of the source code distribution tree; Copyright.html can be found at the
 dnl root level of an installed copy of the electronic HDF5 document set and
 dnl is linked from the top-level documents page.  It can also be found at
-dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-dnl access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+dnl http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+dnl access to either file, you may request a copy from help at hdfgroup.org.
 dnl
 dnl ----------------------------------------------------------------------
 
 dnl ----------------------------------------------------------------------
 dnl Initialize configure.
 dnl
-AC_REVISION($Id: configure.in,v 1.67.2.100 2005/11/06 23:46:38 hdfadmin Exp $)
+AC_REVISION($Id: configure.in 14030 2007-07-31 03:04:21Z epourmal $)
 
 dnl AC_INIT takes the name of the package, the version number, and an
 dnl email address to report bugs. AC_CONFIG_SRCDIR takes a unique file
@@ -27,10 +28,26 @@
 dnl NOTE: Don't forget to change the version number here when we do a
 dnl release!!!
 dnl
-AC_INIT([HDF5 C++],[1.6.5],[hdfhelp at ncsa.uiuc.edu])
+AC_INIT([HDF5 C++],[1.6.6],[help at hdfgroup.org])
 AC_CONFIG_SRCDIR([src/H5Library.cpp])
+AC_CONFIG_HEADER([src/H5cxx_config.h])
+
 AC_CONFIG_AUX_DIR([../bin])
 
+AC_CONFIG_COMMANDS([default-1],[[
+  echo "creating c++/src/H5cxx_pubconf.h"
+  sed 's/#define /#define H5_CXX_/' <src/H5cxx_config.h |\
+    sed 's/#undef /#undef H5_CXX_/' >pubconf
+  if test ! -f src/H5cxx_pubconf.h; then
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  elif (diff pubconf src/H5cxx_pubconf.h >/dev/null); then
+    /bin/rm -f pubconf
+    echo "src/H5cxx_pubconf.h is unchanged"
+  else
+    /bin/mv -f pubconf src/H5cxx_pubconf.h
+  fi
+]],[[]])
+
 AC_CANONICAL_HOST
 AC_SUBST(CPPFLAGS)
 
@@ -255,7 +272,7 @@
 dnl
 AC_MSG_CHECKING([for production mode])
 AC_ARG_ENABLE([production],
-              [AS_HELP_STRING(--enable-production,Determines how to run the compiler.)])
+              [AS_HELP_STRING([--enable-production],[Determines how to run the compiler.])])
 
 case "X-$enable_production" in
   X-|X-yes)
@@ -321,8 +338,8 @@
 dnl
 AC_MSG_CHECKING([if should build only statically linked executables])
 AC_ARG_ENABLE([static_exec],
-              [AS_HELP_STRING(--enable-static-exec,Build only statically linked executables
-                               [default=no])],
+              [AS_HELP_STRING([--enable-static-exec],[Build only statically linked executables
+                               [default=no]])],
               STATIC_EXEC=$enableval)
 
 if test "X$STATIC_EXEC" = "Xyes"; then
@@ -344,8 +361,8 @@
     dnl Enable large file support on linux? Store the result in the LINUX_LFS
     dnl variable for posterity
     AC_ARG_ENABLE([linux-lfs],
-                  [AS_HELP_STRING(--enable-linux-lfs,Enable support for large (64-bit)
-                                   files on Linux. [default=check])])
+                  [AS_HELP_STRING([--enable-linux-lfs],[Enable support for large (64-bit)
+                                   files on Linux. [default=check]])])
    
     LINUX_LFS="no"
     case "X-$enable_linux_lfs" in
@@ -391,6 +408,21 @@
 dnl
 AC_LANG([C++])
 
+AC_MSG_CHECKING([for offsetof extension])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
+                #include <stddef.h>]], [[struct index_st
+                {
+                  unsigned char type;
+                  unsigned char num;
+                  unsigned int len;
+                };
+                typedef struct index_st index_t;
+                int x,y;
+                x = offsetof(struct index_st, len);
+                y = offsetof(index_t, num)]])],[AC_DEFINE(HAVE_OFFSETOF, 1,
+                         Define if the offsetof extension is present)
+               AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
+
 AC_MSG_CHECKING(if $CXX needs old style header files in includes)
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <iostream>
@@ -478,8 +510,8 @@
 dnl If the library path is specified then it must be preceded by a comma.
 dnl
 AC_ARG_WITH([zlib],
-            [AS_HELP_STRING(--with-zlib=DIR,Use zlib library for external deflate I/O
-                             filter [default=yes])],,
+            [AS_HELP_STRING([--with-zlib=DIR],[Use zlib library for external deflate I/O
+                             filter [default=yes]])],,
             withval=yes)
 
 case $withval in
@@ -559,8 +591,8 @@
 dnl If the library path is specified then it must be preceded by a comma.
 dnl
 AC_ARG_WITH([szlib],
-            [AS_HELP_STRING(--with-szlib=DIR,Use szlib library for external szlib I/O
-                             filter [default=yes])],,
+            [AS_HELP_STRING([--with-szlib=DIR],[Use szlib library for external szlib I/O
+                             filter [default=yes]])],,
             withval=yes)
 
 case $withval in
@@ -636,8 +668,8 @@
 dnl
 AC_MSG_CHECKING([for Stream Virtual File Driver support])
 AC_ARG_ENABLE([stream-vfd],
-              [AS_HELP_STRING(--enable-stream-vfd,Build the Stream Virtual File Driver
-                               [default=no])],
+              [AS_HELP_STRING([--enable-stream-vfd],[Build the Stream Virtual File Driver
+                               [default=no]])],
               [STREAM_VFD=$enableval])
 
 if test "$STREAM_VFD" = "yes"; then
@@ -755,6 +787,23 @@
 AC_SUBST(DYNAMIC_DIRS)
 
 dnl ----------------------------------------------------------------------
+dnl Check if they would like the High Level library  compiled
+dnl
+AC_SUBST(HL) HL=""
+AC_MSG_CHECKING([if high level library is enabled])
+AC_ARG_ENABLE([hl],
+     [AS_HELP_STRING([--enable-hl],[Enable the high level library [default=yes]])],
+     [HDF5_HL=$enableval],
+     [HDF5_HL=yes])
+
+if test "X$HDF5_HL" = "Xyes"; then
+ echo "yes"
+ HL="hl"
+else
+ echo "no"
+fi
+
+dnl ----------------------------------------------------------------------
 dnl Build the Makefiles.  Almost every Makefile.in will begin with the line
 dnl `@COMMENCE@' and end with the line `@CONCLUDE@'.  These lines insert
 dnl various files from the config directory into the Makefile.
@@ -799,6 +848,7 @@
                  src/Makefile
                  src/h5c++
                  test/Makefile
+                 examples/testh5c++.sh
                  examples/Makefile])
 AC_OUTPUT
 no_create=$saved_no_create
@@ -827,19 +877,20 @@
   fi
 fi
 
+dnl cache the output to be printed later.
+config_summary="../#c++_configure_summary"
+rm -f $config_summary
+
 PRINT_PLAIN() {
-  echo $ECHO_N "$1$ECHO_C"
-  echo $ECHO_N "$1$ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1$ECHO_C" 1>>$config_summary
 }
 
 PRINT_N() {
-  echo $ECHO_N "$1:  $ECHO_C"
-  echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5_cpp.settings
+  echo $ECHO_N "$1:  $ECHO_C" 1>>$config_summary
 }
 
 PRINT() {
-  echo "$1"
-  echo "$1" 1>>src/libhdf5_cpp.settings
+  echo "$1" 1>>$config_summary
 }
 
 dnl ----------------------------------------------------------------------
@@ -869,13 +920,8 @@
   fi
 }
 
-PRINT "C++ Configure Summary"
-PRINT "Compiling Options:"
-
 PRINT_N "                   C++ Compiler"
 PRINT "$CXX"
 
 PRINT_N "                       CXXFLAGS"
 PRINT "$CXXFLAGS"
-
-PRINT "Features:"

Modified: packages/hdf5/trunk/c++/examples/Dependencies
===================================================================
--- packages/hdf5/trunk/c++/examples/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/trunk/c++/examples/Makefile.in
===================================================================
--- packages/hdf5/trunk/c++/examples/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,20 +1,21 @@
 ## HDF5-C++ examples/Makefile(.in)
 ##
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
 ##
 ##
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@
@@ -33,7 +34,7 @@
 ## created by replacing the `.cpp' with a `.lo'. This list is necessary
 ## for building automatic dependencies.
 TEST_SRC=create.cpp readdata.cpp writedata.cpp compound.cpp extend_ds.cpp \
-	 chunks.cpp h5group.cpp
+	 chunks.cpp h5group.cpp strtype.cpp
 TEST_OBJ=$(TEST_SRC:.cpp=.lo)
 
 EXAMPLE_PROGS=$(TEST_SRC)
@@ -41,15 +42,16 @@
 ## These are the programs that `make all' or `make tests' will build and which
 ## `make check' will run. List them in the order they should be run.
 TEST_PROGS=$(TEST_SRC:.cpp=)
+TEST_SCRIPTS=testh5c++.sh
 
-##TEST_SCRIPTS=$(srcdir)/testexamples.sh
-
 ## These are the files that `make clean' (and derivatives) will remove from
 ## this directory.
 CLEAN=*.h5
+DISTCLEAN=testh5c++.sh
 
-## How to build the programs... they all depend on the Fortran & C hdf5 libraries
-$(TEST_PROGS): $(LIB) $(LIBHDF5)
+## How to build the programs... they depend only on the installed library
+## and h5c++.
+$(TEST_PROGS):
 
 compound: $(srcdir)/compound.cpp
 	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/compound.cpp
@@ -69,6 +71,9 @@
 extend_ds: $(srcdir)/extend_ds.cpp
 	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/extend_ds.cpp
 
+strtype: $(srcdir)/strtype.cpp
+	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/strtype.cpp
+
 writedata: $(srcdir)/writedata.cpp
 	$(CXX) $(CPPFLAGS) -o $@ $(srcdir)/writedata.cpp
 

Modified: packages/hdf5/trunk/c++/examples/chunks.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/chunks.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/chunks.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -17,21 +18,28 @@
  *   We will read from the file created by extend.C
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDSextendible.h5" );
-const string DATASET_NAME( "ExtendibleArray" );
+const H5std_string FILE_NAME( "SDSextendible.h5" );
+const H5std_string DATASET_NAME( "ExtendibleArray" );
 const int      NX = 10;
 const int      NY = 5;
 const int      RANK = 2;

Modified: packages/hdf5/trunk/c++/examples/compound.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/compound.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/compound.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -18,24 +19,31 @@
  * and read back fields' subsets.
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDScompound.h5" );
-const string DATASET_NAME( "ArrayOfStructures" );
-const string MEMBER1( "a_name" );
-const string MEMBER2( "b_name" );
-const string MEMBER3( "c_name" );
+const H5std_string FILE_NAME( "SDScompound.h5" );
+const H5std_string DATASET_NAME( "ArrayOfStructures" );
+const H5std_string MEMBER1( "a_name" );
+const H5std_string MEMBER2( "b_name" );
+const H5std_string MEMBER3( "c_name" );
 const int   LENGTH = 10;
 const int   RANK = 1;
 
@@ -116,7 +124,7 @@
       if( member1_class == H5T_FLOAT )
       {
 	 FloatType member2 = mtype1.getMemberFloatType( 2 );
-	 string norm_string;
+	 H5std_string norm_string;
 	 H5T_norm_t norm = member2.getNorm( norm_string );
 	 cout << "Normalization type is " << norm_string << endl;
       }

Modified: packages/hdf5/trunk/c++/examples/create.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/create.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/create.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -23,14 +24,15 @@
 #else
 #include <iostream>
 #endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string	FILE_NAME( "SDS.h5" );
-const string	DATASET_NAME( "IntArray" );
+const H5std_string	FILE_NAME( "SDS.h5" );
+const H5std_string	DATASET_NAME( "IntArray" );
 const int 	NX = 5;                    // dataset dimensions
 const int 	NY = 6;
 const int 	RANK = 2;

Modified: packages/hdf5/trunk/c++/examples/expected.out
===================================================================
--- packages/hdf5/trunk/c++/examples/expected.out	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/expected.out	2007-09-25 08:53:17 UTC (rev 1105)
@@ -80,3 +80,9 @@
 Iterating over elements in the file again
 Name : Data_new
 
+data read:
+Four score and seven years ago our forefathers brought forth on this continent a new nation,
+conceived in liberty and dedicated to the proposition that all men are created equal.
+Now we are engaged in a great civil war,
+testing whether that nation or any nation so conceived and so dedicated can long endure.
+

Modified: packages/hdf5/trunk/c++/examples/extend_ds.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/extend_ds.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/extend_ds.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -19,21 +20,28 @@
  *
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDSextendible.h5" );
-const string DATASET_NAME( "ExtendibleArray" );
+const H5std_string FILE_NAME( "SDSextendible.h5" );
+const H5std_string DATASET_NAME( "ExtendibleArray" );
 const int      NX = 10;
 const int      NY = 5;
 const int      RANK = 2;

Modified: packages/hdf5/trunk/c++/examples/h5group.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/h5group.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/h5group.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -20,20 +21,27 @@
  * Note that the C++ API iterator function is not completed yet, thus
  * the C version is used in this example.
  */
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string	FILE_NAME( "Group.h5" );
+const H5std_string	FILE_NAME( "Group.h5" );
 const int	RANK = 2;
 
 // Operator function

Modified: packages/hdf5/trunk/c++/examples/readdata.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/readdata.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/readdata.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 //
@@ -18,21 +19,28 @@
 //      information about the dataset in the SDS.h5 file is obtained.
 //
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "SDS.h5" );
-const string DATASET_NAME( "IntArray" );
+const H5std_string FILE_NAME( "SDS.h5" );
+const H5std_string DATASET_NAME( "IntArray" );
 const int    NX_SUB = 3;	// hyperslab dimensions
 const int    NY_SUB = 4;
 const int    NX = 7;		// output buffer dimensions
@@ -93,7 +101,7 @@
          /*
           * Get order of datatype and print message if it's a little endian.
           */
-	 string order_string;
+	 H5std_string order_string;
          H5T_order_t order = intype.getOrder( order_string );
 	 cout << order_string << endl;
 

Copied: packages/hdf5/trunk/c++/examples/strtype.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/examples/strtype.cpp)
===================================================================
--- packages/hdf5/trunk/c++/examples/strtype.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/examples/strtype.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,150 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* (wrong, need to change to this example!!!)
+
+ *  This program shows how the select_hyperslab and select_elements
+ *  functions are used to write selected data from memory to the file.
+ *  Program takes 48 elements from the linear buffer and writes them into
+ *  the matrix using 3x2 blocks, (4,3) stride and (2,4) count.
+ *  Then four elements  of the matrix are overwritten with the new values and
+ *  file is closed. Program reopens the file and reads and displays the result.
+ */
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+const H5std_string      FILE_NAME( "varlen.h5");
+const H5std_string DSET_VLSTR_NAME( "vlstr_type" );
+const int   SPACE1_DIM1 = 4;
+const int   SPACE1_RANK = 1;
+
+int main()
+{
+    const char *wdata[SPACE1_DIM1]= {
+        "Four score and seven years ago our forefathers brought forth on this continent a new nation,",
+        "conceived in liberty and dedicated to the proposition that all men are created equal.",
+        "Now we are engaged in a great civil war,",
+        "testing whether that nation or any nation so conceived and so dedicated can long endure."
+        };   /* Information to write */
+    char *rdata[SPACE1_DIM1];   /* Information read in */
+    hid_t		native_type;       /* Datatype ID */
+    hsize_t		dims1[] = {SPACE1_DIM1};
+
+   // Try block to detect exceptions raised by any of the calls inside it
+   try
+   {
+      /*
+       * Turn off the auto-printing when failure occurs so that we can
+       * handle the errors appropriately
+       */
+      Exception::dontPrint();
+
+      /*
+       * Create a new file using H5F_ACC_TRUNC access,
+       * default file creation properties, and default file
+       * access properties.
+       */
+      H5File file( FILE_NAME, H5F_ACC_TRUNC );
+
+      /* Create dataspace for datasets */
+      DataSpace sid1(SPACE1_RANK, dims1);
+
+      /* Create a variable-length datatype */
+      StrType tid1(0, H5T_VARIABLE);
+
+      /*
+       * Create a new dataset within the file using defined dataspace and
+       * datatype and default dataset creation properties.
+       */
+      DataSet dataset = file.createDataSet(DSET_VLSTR_NAME, tid1, sid1);
+
+      /*
+       * Write the data to the dataset using default memory space, file
+       * space, and transfer properties.
+       */
+      dataset.write((void*)wdata, tid1);
+
+      /* Close Dataset */
+      dataset.close();
+
+      /* Re-open the dataset */
+      dataset = file.openDataSet(DSET_VLSTR_NAME);
+
+      /* Get datatype for dataset */
+      DataType dtype = dataset.getDataType();
+
+      /* Read dataset from disk */
+      dataset.read((void*)rdata, dtype);
+
+      /* Print data read in */
+      unsigned i;
+      cout << "data read:" << endl;
+      for(i=0; i<SPACE1_DIM1; i++)
+	  cout << wdata[i] << endl;
+      cout << endl;
+
+      /* Free memory for rdata */
+      for(i=0; i<SPACE1_DIM1; i++) {
+          free(rdata[i]);
+      }
+   } // end of try block
+
+   // catch failure caused by the H5File operations
+   catch( FileIException error )
+   {
+      error.printError();
+      return -1;
+   }
+
+   // catch failure caused by the DataSet operations
+   catch( DataSetIException error )
+   {
+      error.printError();
+      return -1;
+   }
+
+   // catch failure caused by the DataSpace operations
+   catch( DataSpaceIException error )
+   {
+      error.printError();
+      return -1;
+   }
+
+   // catch failure caused by the DataSpace operations
+   catch( DataTypeIException error )
+   {
+      error.printError();
+      return -1;
+   }
+   return 0;  // successfully terminated
+}

Modified: packages/hdf5/trunk/c++/examples/testexamples.sh
===================================================================
--- packages/hdf5/trunk/c++/examples/testexamples.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/testexamples.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 CMP='cmp -s'
 DIFF='diff -c'
@@ -44,6 +45,7 @@
    ./extend_ds
    ./chunks
    ./h5group
+   ./strtype
 ) > $actual
 
 if $CMP $expect $actual; then

Copied: packages/hdf5/trunk/c++/examples/testh5c++.sh.in (from rev 1094, packages/hdf5/branches/upstream/current/c++/examples/testh5c++.sh.in)
===================================================================
--- packages/hdf5/trunk/c++/examples/testh5c++.sh.in	                        (rev 0)
+++ packages/hdf5/trunk/c++/examples/testh5c++.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,273 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
+# Tests for the h5c++ compiler tool
+# Created: Albert Cheng, 2007/3/14
+#
+# Modification:
+#
+
+# Initializations
+# Where the tool is installed.
+prefix="${prefix:- at prefix@}"
+AR=@AR@
+RANLIB=@RANLIB@
+H5TOOL="h5c++"           	# The tool name
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}"   # The path of the tool binary
+
+CMP='cmp -s'
+DIFF='diff -c'
+
+nerrors=0
+verbose=yes
+
+# setup my machine information.
+myos=`uname -s`
+myhostnama=`uname -n`
+
+# The build (current) directory might be different than the source directory.
+if test -z "$srcdir"; then
+   srcdir=.
+fi
+
+# Generate some source files and library for tests.
+suffix=cpp		# source file suffix
+hdf5main=${H5TOOL}_hdf5main.$suffix
+hdf5main_o=${H5TOOL}_hdf5main.o
+appmain=${H5TOOL}_appmain.$suffix
+appmain_o=${H5TOOL}_appmain.o
+prog1=${H5TOOL}_prog1.$suffix
+prog1_o=${H5TOOL}_prog1.o
+prog2=${H5TOOL}_prog2.$suffix
+prog2_o=${H5TOOL}_prog2.o
+applib=libapp${H5TOOL}.a
+
+# short hands
+temp_SRC="$hdf5main $appmain $prog1 $prog2"
+temp_OBJ=`echo $temp_SRC | sed -e "s/\.${suffix}/.o/g"`
+temp_FILES="a.out *.h5 $applib"
+
+# Generate appmain:
+# An application Main that calls hdf5 and application's own functions.
+cat > $appmain <<EOF
+#include <string>
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+
+#include "H5Cpp.h"
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+const H5std_string	FILE_NAME( "tmpapp.h5" );
+int sub1(void);
+int sub2(void);
+
+int main (void)
+{
+    sub1();
+    sub2();
+    H5File file( FILE_NAME, H5F_ACC_TRUNC );
+    return 0;
+}
+
+EOF
+
+# generate prog1
+cat > $prog1 <<EOF
+#ifdef OLD_HEADER_FILENAME
+    #include <iostream.h>
+#else
+    #include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+int sub1(void)
+{
+    cout << "in sub1" << endl;
+    return 0;
+}
+EOF
+
+# generate prog2
+cat > $prog2 <<EOF
+#ifdef OLD_HEADER_FILENAME
+    #include <iostream.h>
+#else
+    #include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+int sub2(void)
+{
+    cout << "in sub2" << endl;
+    return 0;
+}
+EOF
+
+# Generate HDF5 Main Program:
+# An HDF5 sample program that calls hdf5 functions.
+cat > $hdf5main <<EOF
+#include <string>
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+
+#include "H5Cpp.h"
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+const H5std_string	FILE_NAME( "tmphdf5.h5" );
+
+int main (void)
+{
+    H5File file( FILE_NAME, H5F_ACC_TRUNC );
+    return 0;
+}
+EOF
+
+
+# Parse option
+#   None
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+
+# Debug printing
+# Change : to echo to print the debug statement
+DPRINT() {
+    : $*
+}
+
+# Run a test and print PASS or *FAIL*.  If a test fails then increment
+# the `nerrors' global variable and (if $verbose is set) display the
+# failed output.  The actual output is not removed if $HDF5_NOCLEANUP is
+# defined.
+#
+TOOLTEST() {
+    out=test_$H5TOOL_$$.out
+    err=test_$H5TOOL_$$.err
+
+    # Run test.
+    TESTING $H5TOOL $@
+    $H5TOOL_BIN $@ > $out 2>&1
+    result=$?
+    if [ $result = 0 ]; then
+	echo " PASSED"
+    else
+	echo "*FAILED*"
+	nerrors="`expr $nerrors + 1`"
+	test yes = "$verbose" && \
+	    ( echo "========== results ==========="; cat $out;
+	      echo "===============================================") |sed 's/^/    /'
+    fi
+
+    # Clean up output file
+    if test -z "$HDF5_NOCLEANUP"; then
+	rm -f $out
+    fi
+}
+
+# Print a "SKIP" message
+SKIP() {
+	 TESTING $H5TOOL $@
+	  echo  " -SKIP-"
+}
+
+
+##############################################################################
+###			  T H E   T E S T S                                ###
+##############################################################################
+#
+# HDF5 program that calls HDF5 APIs.
+echo "***"Simple Compile and Link in one step.
+TOOLTEST $hdf5main
+# Application program that calls HDF5 and its own functions.
+TOOLTEST $appmain $prog1 $prog2
+
+# Compile, then link.
+echo "***"Compile and Link in two steps.
+TOOLTEST -c $hdf5main
+TOOLTEST $hdf5main_o
+TOOLTEST -c $appmain $prog1 $prog2
+TOOLTEST $appmain_o $prog1_o $prog2_o
+
+# Build external library, then link with it.
+echo "***"Build external library and link with it.
+TOOLTEST -c $prog1 $prog2
+rm -f $applib
+$AR cru $applib $prog1_o $prog2_o
+$RANLIB $applib
+TOOLTEST $appmain $applib
+TOOLTEST $appmain_o $applib
+# This is peculiar but should work. (See bug ID 729)
+TOOLTEST -c $hdf5main
+rm -f $applib
+$AR cru $applib $hdf5main_o
+$RANLIB $applib
+# SunOS does not support this. Skip it.
+if [ $myos = SunOS ]; then
+    SKIP -o a.out $applib
+else
+    TOOLTEST -o a.out $applib
+fi
+
+# Just preprocess, no compile, no link.
+echo "***"Just preprocess, no compile, no link.
+TOOLTEST -E $hdf5main
+TOOLTEST -E $appmain $prog1 $prog2
+
+##############################################################################
+# END
+##############################################################################
+
+# Clean up  file
+if test -z "$HDF5_NOCLEANUP"; then
+    rm -f $temp_SRC $temp_OBJ $temp_FILES
+fi
+
+if test $nerrors -eq 0 ; then
+   echo "All $H5TOOL tests passed."
+fi
+
+exit $nerrors

Modified: packages/hdf5/trunk/c++/examples/writedata.cpp
===================================================================
--- packages/hdf5/trunk/c++/examples/writedata.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/examples/writedata.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -21,21 +22,28 @@
  *  file is closed. Program reopens the file and reads and displays the result.
  */
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cout;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "H5Cpp.h"
 
 #ifndef H5_NO_NAMESPACE
 using namespace H5;
 #endif
 
-const string FILE_NAME( "Select.h5" );
-const string DATASET_NAME( "Matrix in file" );
+const H5std_string FILE_NAME( "Select.h5" );
+const H5std_string DATASET_NAME( "Matrix in file" );
 const int   MSPACE1_RANK = 1;	// Rank of the first dataset in memory
 const int   MSPACE1_DIM = 50;   // Dataset size in memory
 const int   MSPACE2_RANK = 1;	// Rank of the second dataset in memory

Modified: packages/hdf5/trunk/c++/src/Dependencies
===================================================================
--- packages/hdf5/trunk/c++/src/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/trunk/c++/src/H5AbstractDs.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5AbstractDs.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5AbstractDs.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -62,10 +63,19 @@
    // Gets the datatype used by this dataset or attribute.
    // p_get_type calls either H5Dget_type or H5Aget_type depending on
    // which object invokes getTypeClass
-   DataType datatype(p_get_type());
+   hid_t datatype_id;
+   try {
+      datatype_id = p_get_type();  // returned value is already validated
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getTypeClass", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getTypeClass", E.getDetailMsg());
+   }
 
    // Gets the class of the datatype and validate it before returning
-   H5T_class_t type_class = H5Tget_class( datatype.getId());
+   H5T_class_t type_class = H5Tget_class(datatype_id);
    if( type_class != H5T_NO_CLASS )
       return( type_class );
    else
@@ -85,19 +95,25 @@
 //--------------------------------------------------------------------------
 DataType AbstractDs::getDataType() const
 {
-   // Gets the id of the datatype used by this dataset or attribute.
-   // p_get_type calls either H5Dget_type or H5Aget_type depending on
-   // which object invokes getTypeClass
-   hid_t datatype_id = p_get_type();  // returned value is already validated
-
-   // Create and return the DataType object
-   DataType datatype( datatype_id );
-   return( datatype );
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getDataType.  Then, create and
+   // return the DataType object
+   try {
+      DataType datatype(p_get_type());
+      return(datatype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getDataType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getDataType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
 // Function:	AbstractDs::getArrayType
-///\brief	Returns the compound datatype of this abstract dataset which
+///\brief	Returns the array datatype of this abstract dataset which
 ///		can be a dataset or an attribute.
 ///\return	ArrayType instance
 ///\exception	H5::DataTypeIException
@@ -105,8 +121,20 @@
 //--------------------------------------------------------------------------
 ArrayType AbstractDs::getArrayType() const
 {
-   ArrayType arraytype(p_get_type());
-   return(arraytype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getArrayType.  Then, create and
+   // return the ArrayType object
+   try {
+      ArrayType arraytype(p_get_type());
+      return(arraytype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getArrayType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getArrayType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -119,8 +147,20 @@
 //--------------------------------------------------------------------------
 CompType AbstractDs::getCompType() const
 {
-   CompType comptype(p_get_type());
-   return(comptype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getCompType.  Then, create and
+   // return the CompType object
+   try {
+      CompType comptype(p_get_type());
+      return(comptype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getCompType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getCompType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -133,36 +173,72 @@
 //--------------------------------------------------------------------------
 EnumType AbstractDs::getEnumType() const
 {
-   EnumType enumtype(p_get_type());
-   return(enumtype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getEnumType.  Then, create and
+   // return the EnumType object
+   try {
+      EnumType enumtype(p_get_type());
+      return(enumtype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getEnumType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getEnumType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
-// Function:	AbstractDs::getFloatType
-///\brief	Returns the floating-point datatype of this abstract dataset,
-///		which can be a dataset or an attribute.
-///\return	FloatType instance
+// Function:	AbstractDs::getIntType
+///\brief	Returns the integer datatype of this abstract dataset which
+///		can be a dataset or an attribute.
+///\return	IntType instance
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-FloatType AbstractDs::getFloatType() const
+IntType AbstractDs::getIntType() const
 {
-   FloatType floatype(p_get_type());
-   return(floatype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getIntType.  Then, create and
+   // return the IntType object
+   try {
+      IntType inttype(p_get_type());
+      return(inttype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getIntType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getIntType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
-// Function:	AbstractDs::getIntType
-///\brief	Returns the integer datatype of this abstract dataset which
-///		can be a dataset or an attribute.
-///\return	IntType instance
+// Function:	AbstractDs::getFloatType
+///\brief	Returns the floating-point datatype of this abstract dataset,
+///		which can be a dataset or an attribute.
+///\return	FloatType instance
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-IntType AbstractDs::getIntType() const
+FloatType AbstractDs::getFloatType() const
 {
-   IntType inttype(p_get_type());
-   return(inttype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getFloatType.  Then, create and
+   // return the FloatType object
+   try {
+      FloatType floatype(p_get_type());
+      return(floatype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getFloatType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getFloatType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -175,8 +251,20 @@
 //--------------------------------------------------------------------------
 StrType AbstractDs::getStrType() const
 {
-   StrType strtype(p_get_type());
-   return(strtype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getStrType.  Then, create and
+   // return the StrType object
+   try {
+      StrType strtype(p_get_type());
+      return(strtype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getStrType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getStrType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -189,8 +277,20 @@
 //--------------------------------------------------------------------------
 VarLenType AbstractDs::getVarLenType() const
 {
-   VarLenType varlentype(p_get_type());
-   return(varlentype);
+   // Gets the id of the datatype used by this dataset or attribute using
+   // p_get_type.  p_get_type calls either H5Dget_type or H5Aget_type
+   // depending on which object invokes getVarLenType.  Then, create and
+   // return the VarLenType object
+   try {
+      VarLenType varlentype(p_get_type());
+      return(varlentype);
+   }
+   catch (DataSetIException E) {
+      throw DataTypeIException("DataSet::getVarLenType", E.getDetailMsg());
+   }
+   catch (AttributeIException E) {
+      throw DataTypeIException("Attribute::getVarLenType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------

Modified: packages/hdf5/trunk/c++/src/H5AbstractDs.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5AbstractDs.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5AbstractDs.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class AbstractDs is an abstract base class, from which Attribute and
@@ -24,6 +25,7 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class ArrayType;
 class CompType;
 class EnumType;
@@ -37,23 +39,23 @@
 	// Note that this datatype is a generic one and can only be accessed
 	// via generic member functions, i.e., member functions belong
 	// to DataType.  To get specific datatype, i.e. EnumType, FloatType,
-	// etc..., use the specific functions, that follow, instead .
+	// etc..., use the specific functions, that follow, instead.
 	DataType getDataType() const;
 
-        // Gets a copy of the specific datatype of this abstract dataset
-        ArrayType getArrayType() const;
-        CompType getCompType() const;
-        EnumType getEnumType() const;
-        FloatType getFloatType() const;
-        IntType getIntType() const;
-        StrType getStrType() const;
-        VarLenType getVarLenType() const;
+	// Gets a copy of the specific datatype of this abstract dataset.
+	ArrayType getArrayType() const;
+	CompType getCompType() const;
+	EnumType getEnumType() const;
+	IntType getIntType() const;
+	FloatType getFloatType() const;
+	StrType getStrType() const;
+	VarLenType getVarLenType() const;
 
-	// Gets the dataspace of this abstract dataset - pure virtual
+	// Gets the dataspace of this abstract dataset - pure virtual.
 	virtual DataSpace getSpace() const = 0;
 
-        // Gets the class of the datatype that is used by this abstract
-	// dataset
+	// Gets the class of the datatype that is used by this abstract
+	// dataset.
 	H5T_class_t getTypeClass() const;
 
 	// Returns the amount of storage size required for this abstract
@@ -63,6 +65,7 @@
 	// Copy constructor
 	AbstractDs( const AbstractDs& original );
 
+	// Destructor
 	virtual ~AbstractDs();
 
    protected:

Modified: packages/hdf5/trunk/c++/src/H5Alltypes.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Alltypes.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Alltypes.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // This header file simply serves as a container to hold the

Modified: packages/hdf5/trunk/c++/src/H5ArrayType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5ArrayType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5ArrayType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>

Modified: packages/hdf5/trunk/c++/src/H5ArrayType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5ArrayType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5ArrayType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class ArrayType inherits from DataType and provides wrappers for the
@@ -22,6 +23,7 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP ArrayType : public DataType {
    public:
 	// Constructor that creates a new array data type based on the
@@ -35,7 +37,7 @@
 	int getArrayDims(hsize_t* dims);
 
 	// Returns this class name
-	virtual string fromClass () const { return ("ArrayType"); }
+	virtual H5std_string fromClass () const { return("ArrayType"); }
 
 	// Copy constructor: makes copy of the original object.
 	ArrayType( const ArrayType& original );

Modified: packages/hdf5/trunk/c++/src/H5AtomType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5AtomType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5AtomType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -71,14 +72,14 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:    AtomType::getOrder
-///\brief       Returns the byte order of an atomic datatype.
-///\return      Byte order, which can be:
-///             \li \c H5T_ORDER_LE
-///             \li \c H5T_ORDER_BE
-///             \li \c H5T_ORDER_VAX
-///\exception   H5::DataTypeIException
-// Programmer   Binh-Minh Ribler - Mar, 2005
+// Function:	AtomType::getOrder
+///\brief	Returns the byte order of an atomic datatype.
+///\return	Byte order, which can be:
+///		\li \c H5T_ORDER_LE
+///		\li \c H5T_ORDER_BE
+///		\li \c H5T_ORDER_VAX
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - Mar, 2005
 //--------------------------------------------------------------------------
 H5T_order_t AtomType::getOrder() const
 {
@@ -89,29 +90,29 @@
    if( type_order == H5T_ORDER_ERROR )
    {
       throw DataTypeIException(inMemFunc("getOrder"),
-                "H5Tget_order returns H5T_ORDER_ERROR");
+		"H5Tget_order returns H5T_ORDER_ERROR");
    }
    return( type_order );
 }
 
 //--------------------------------------------------------------------------
-// Function:    AtomType::getOrder
-///\brief       This is an overloaded member function, provided for convenience.
-///             It takes a reference to a \c std::string for the buffer that
-///             provide the text description of the returned byte order.
-///             The text description can be either of the following:
-///             "Little endian byte ordering (0)";
-///             "Big endian byte ordering (1)";
-///             "VAX mixed byte ordering (2)";
-///\param       order_string - OUT: Text description of the returned byte order
-///\return      Byte order, which can be:
-///             \li \c H5T_ORDER_LE
-///             \li \c H5T_ORDER_BE
-///             \li \c H5T_ORDER_VAX
-///\exception   H5::DataTypeIException
-// Programmer   Binh-Minh Ribler - 2000
+// Function:	AtomType::getOrder
+///\brief	This is an overloaded member function, provided for convenience.
+///		It takes a reference to a \c H5std_string for the buffer that
+///		provide the text description of the returned byte order.
+///		The text description can be either of the following:
+///		"Little endian byte ordering (0)";
+///		"Big endian byte ordering (1)";
+///		"VAX mixed byte ordering (2)";
+///\param	order_string - OUT: Text description of the returned byte order
+///\return	Byte order, which can be:
+///		\li \c H5T_ORDER_LE
+///		\li \c H5T_ORDER_BE
+///		\li \c H5T_ORDER_VAX
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5T_order_t AtomType::getOrder( string& order_string ) const
+H5T_order_t AtomType::getOrder( H5std_string& order_string ) const
 {
    // Call the overloaded to get the type order without text
    H5T_order_t type_order = getOrder();
@@ -177,7 +178,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For information, please see C layer Reference Manuat at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetPrecision
+/// <A HREF="../RM_H5T.html#Datatype-SetPrecision">../RM_H5T.html#Datatype-SetPrecision</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void AtomType::setPrecision( size_t precision ) const
@@ -197,7 +198,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For information, please see C layer Reference Manuat at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-GetOffset
+/// <A HREF="../RM_H5T.html#Datatype-GetOffset">../RM_H5T.html#Datatype-GetOffset</A>
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
 //		12/05/00: due to C API change
@@ -224,7 +225,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For information, please see C layer Reference Manuat at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOffset
+/// <A HREF="../RM_H5T.html#Datatype-SetOffset">../RM_H5T.html#Datatype-SetOffset</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void AtomType::setOffset( size_t offset ) const
@@ -262,7 +263,7 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:	AtomType::getPad
+// Function:	AtomType::setPad
 ///\brief	Sets the least and most-significant bits padding types.
 ///\param	lsb - IN: Least-significant bit padding type
 ///\param	msb - IN: Most-significant bit padding type

Modified: packages/hdf5/trunk/c++/src/H5AtomType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5AtomType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5AtomType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class AtomType is a base class, from which IntType, FloatType, StrType,
@@ -24,11 +25,12 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP AtomType : public DataType {
    public:
 	// Returns the byte order of an atomic datatype.
 	H5T_order_t getOrder() const;
-	H5T_order_t getOrder( string& order_string ) const;
+	H5T_order_t getOrder( H5std_string& order_string ) const;
 
 	// Sets the byte ordering of an atomic datatype.
 	void setOrder( H5T_order_t order ) const;
@@ -56,7 +58,7 @@
 	void setSize( size_t size ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("AtomType"); }
+	virtual H5std_string fromClass () const { return("AtomType"); }
 
 	// Copy constructor - makes copy of the original object
 	AtomType( const AtomType& original );

Modified: packages/hdf5/trunk/c++/src/H5Attribute.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5Attribute.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Attribute.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -30,9 +31,14 @@
 #include "H5CommonFG.h"
 #include "H5DataType.h"
 #include "H5DataSpace.h"
+#include "H5private.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -80,19 +86,19 @@
 //--------------------------------------------------------------------------
 // Function:	Attribute::write
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It writes a \a std::string to this attribute.
+///		It writes a \a H5std_string to this attribute.
 ///\param	mem_type  - IN: Attribute datatype (in memory)
 ///\param	strg      - IN: Data to be written
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - Apr, 2003
 //--------------------------------------------------------------------------
-void Attribute::write( const DataType& mem_type, const string& strg ) const
+void Attribute::write( const DataType& mem_type, const H5std_string& strg ) const
 {
    // Convert string to C-string
    const char* strg_C;
    strg_C = strg.c_str();  // strg_C refers to the contents of strg as a C-str
 
-   herr_t ret_value = H5Awrite( id, mem_type.getId(), strg_C );
+   herr_t ret_value = H5Awrite( id, mem_type.getId(), &strg_C );
    if( ret_value < 0 )
    {
       throw AttributeIException("Attribute::write", "H5Awrite failed");
@@ -119,23 +125,25 @@
 //--------------------------------------------------------------------------
 // Function:	Attribute::read
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It reads a \a std::string from this attribute.
+///		It reads a \a H5std_string from this attribute.
 ///\param	mem_type  - IN: Attribute datatype (in memory)
 ///\param	strg      - IN: Buffer for read string
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - Apr, 2003
 //--------------------------------------------------------------------------
-void Attribute::read( const DataType& mem_type, string& strg ) const
+void Attribute::read( const DataType& mem_type, H5std_string& strg ) const
 {
-   size_t size = mem_type.getSize();
-   char* strg_C = new char[size+1];  // temporary C-string for C API
-   herr_t ret_value = H5Aread( id, mem_type.getId(), strg_C );
+   char* strg_C;  // temporary C-string for C API
+
+   // call C API to get the attribute string of chars
+   herr_t ret_value = H5Aread( id, mem_type.getId(), &strg_C);
+
    if( ret_value < 0 )
    {
       throw AttributeIException("Attribute::read", "H5Aread failed");
    }
-   strg = strg_C;
-   delete []strg_C;
+   strg = strg_C;       // get 'string' from the C char*
+   HDfree(strg_C);
 }
 
 //--------------------------------------------------------------------------
@@ -191,7 +199,7 @@
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - Nov, 2001
 //--------------------------------------------------------------------------
-ssize_t Attribute::getName( size_t buf_size, string& attr_name ) const
+ssize_t Attribute::getName( size_t buf_size, H5std_string& attr_name ) const
 {
    char* name_C = new char[buf_size+1];  // temporary C-string for C API
 
@@ -219,9 +227,9 @@
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Attribute::getName( size_t buf_size ) const
+H5std_string Attribute::getName( size_t buf_size ) const
 {
-   string attr_name;
+   H5std_string attr_name;
    ssize_t name_size = getName( buf_size, attr_name );
    return( attr_name );
    // let caller catch exception if any
@@ -236,7 +244,7 @@
 ///\exception	H5::AttributeIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-string Attribute::getName() const
+H5std_string Attribute::getName() const
 {
    // Try with 256 characters for the name first, if the name's length
    // returned is more than that then, read the name again with the
@@ -244,7 +252,7 @@
    char* name_C = new char[256];  // temporary C-string for C API
    ssize_t name_size = H5Aget_name(id, 255, name_C);
 
-   string attr_name;
+   H5std_string attr_name;
    if (name_size >= 256)
       name_size = getName(name_size, attr_name);
 
@@ -280,13 +288,16 @@
 //--------------------------------------------------------------------------
 void Attribute::close()
 {
-   herr_t ret_value = H5Aclose(id);
-   if( ret_value < 0 )
-   {
-      throw AttributeIException("Attribute::close", "H5Aclose failed");
-   }
-   // reset the id because the attribute that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Aclose(id);
+	if( ret_value < 0 )
+	{
+	    throw AttributeIException("Attribute::close", "H5Aclose failed");
+	}
+	// reset the id because the attribute that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -294,18 +305,19 @@
 ///\brief	Properly terminates access to this attribute.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 Attribute::~Attribute()
 {
-   // The attribute id will be closed properly
-   try {
-      decRefCount();
-   }
-   catch (Exception close_error) {
-      cerr << "Attribute::~Attribute - " << close_error.getDetailMsg() << endl;
-   }
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	cerr << "Attribute::~Attribute - " << close_error.getDetailMsg() << endl;
+    }
 }
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/trunk/c++/src/H5Attribute.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Attribute.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Attribute.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Attribute_H
@@ -22,27 +23,30 @@
 
 class H5_DLLCPP Attribute : public AbstractDs {
    public:
+	// Closes this attribute.
+	virtual void close();
+
 	// Gets the name of this attribute.
-	ssize_t getName( size_t buf_size, string& attr_name ) const;
-	string getName( size_t buf_size ) const; // returns name, not its length
-	string getName() const; // returns name, no argument
+	ssize_t getName( size_t buf_size, H5std_string& attr_name ) const;
+	H5std_string getName( size_t buf_size ) const; // returns name, not its length
+	H5std_string getName() const; // returns name, no argument
 
 	// Gets a copy of the dataspace for this attribute.
 	virtual DataSpace getSpace() const;
 
 	// Returns the amount of storage size required for this attribute.
-	virtual hsize_t getStorageSize() const;
+	hsize_t getStorageSize() const;
 
 	// Reads data from this attribute.
 	void read( const DataType& mem_type, void *buf ) const;
-	void read( const DataType& mem_type, string& strg ) const;
+	void read( const DataType& mem_type, H5std_string& strg ) const;
 
 	// Writes data to this attribute.
 	void write(const DataType& mem_type, const void *buf ) const;
-	void write(const DataType& mem_type, const string& strg ) const;
+	void write(const DataType& mem_type, const H5std_string& strg ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("Attribute"); }
+	virtual H5std_string fromClass () const { return("Attribute"); }
 
         // Creates a copy of an existing attribute using the attribute id
         Attribute( const hid_t attr_id );
@@ -53,9 +57,6 @@
 	// Default constructor
 	Attribute();
 
-	// Close this attribute.
-	virtual void close();
-
 	// Destructor: properly terminates access to this attribute.
 	virtual ~Attribute();
 
@@ -66,11 +67,11 @@
 	// sub-types
 	virtual hid_t p_get_type() const;
 
-	// do not inherit 'iterateAttrs' from H5Object
+	// do not inherit H5Object::iterateAttrs
 	int iterateAttrs() { return 0; }
 
-        // do not inherit 'rename' from H5Object
-        void rename() {}
+	// do not inherit H5Object::renameAttr
+	void renameAttr() {}
 };
 #ifndef H5_NO_NAMESPACE
 }

Modified: packages/hdf5/trunk/c++/src/H5Classes.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Classes.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Classes.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Classes_H

Modified: packages/hdf5/trunk/c++/src/H5CommonFG.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5CommonFG.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5CommonFG.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -85,10 +86,10 @@
 // Function:	CommonFG::createGroup
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Group CommonFG::createGroup( const string& name, size_t size_hint ) const
+Group CommonFG::createGroup( const H5std_string& name, size_t size_hint ) const
 {
    return( createGroup( name.c_str(), size_hint ));
 }
@@ -123,10 +124,10 @@
 // Function:	CommonFG::openGroup
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Group CommonFG::openGroup( const string& name ) const
+Group CommonFG::openGroup( const H5std_string& name ) const
 {
    return( openGroup( name.c_str() ));
 }
@@ -167,10 +168,10 @@
 // Function:	CommonFG::createDataSet
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSet CommonFG::createDataSet( const string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist ) const
+DataSet CommonFG::createDataSet( const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist ) const
 {
    return( createDataSet( name.c_str(), data_type, data_space, create_plist ));
 }
@@ -204,10 +205,10 @@
 // Function:	CommonFG::openDataSet
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSet CommonFG::openDataSet( const string& name ) const
+DataSet CommonFG::openDataSet( const H5std_string& name ) const
 {
    return( openDataSet( name.c_str() ));
 }
@@ -241,10 +242,10 @@
 // Function:	CommonFG::link
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a curr_name and \a new_name.
+///		\c H5std_string for \a curr_name and \a new_name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::link( H5G_link_t link_type, const string& curr_name, const string& new_name ) const
+void CommonFG::link( H5G_link_t link_type, const H5std_string& curr_name, const H5std_string& new_name ) const
 {
    link( link_type, curr_name.c_str(), new_name.c_str() );
 }
@@ -269,10 +270,10 @@
 // Function:	CommonFG::unlink
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::unlink( const string& name ) const
+void CommonFG::unlink( const H5std_string& name ) const
 {
    unlink( name.c_str() );
 }
@@ -283,6 +284,11 @@
 ///\param	src - IN: Object's original name
 ///\param	dst - IN: Object's new name
 ///\exception	H5::FileIException or H5::GroupIException
+///\note
+///		Exercise care in moving groups as it is possible to render
+///		data in a file inaccessible with Group::move. Please refer
+///		to the Group Interface in the HDF5 User's Guide at:
+/// <A HREF="../Groups.html">../Groups.html</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void CommonFG::move( const char* src, const char* dst ) const
@@ -298,10 +304,10 @@
 // Function:	CommonFG::move
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a src and \a dst.
+///		\c H5std_string for \a src and \a dst.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::move( const string& src, const string& dst ) const
+void CommonFG::move( const H5std_string& src, const H5std_string& dst ) const
 {
    move( src.c_str(), dst.c_str() );
 }
@@ -313,6 +319,10 @@
 ///\param	follow_link - IN: Link flag
 ///\param	statbuf - OUT: Buffer to return information about the object
 ///\exception	H5::FileIException or H5::GroupIException
+///\par Description
+///		For more information, please refer to the C layer Reference
+///		Manual at:
+/// <A HREF="../RM_H5G.html#Group-GetObjinfo">../RM_H5G.html#Group-GetObjinfo</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void CommonFG::getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
@@ -328,15 +338,43 @@
 // Function:	CommonFG::getObjinfo
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::getObjinfo( const string& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
+void CommonFG::getObjinfo( const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
 {
    getObjinfo( name.c_str(), follow_link, statbuf );
 }
 
 //--------------------------------------------------------------------------
+// Function:	CommonFG::getObjinfo
+///\brief	This is an overloaded member function, provided for convenience.
+///		It differs from the above functions in that it doesn't have
+///		the paramemter \a follow_link.
+// Programmer	Binh-Minh Ribler - Nov, 2005
+//--------------------------------------------------------------------------
+void CommonFG::getObjinfo( const char* name, H5G_stat_t& statbuf ) const
+{
+   herr_t ret_value = H5Gget_objinfo( getLocId(), name, 0, &statbuf );
+   if( ret_value < 0 )
+   {
+      throwException("getObjinfo", "H5Gget_objinfo failed");
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:	CommonFG::getObjinfo
+///\brief	This is an overloaded member function, provided for convenience.
+///		It differs from the above function in that it takes an
+///		\c H5std_string for \a name.
+// Programmer	Binh-Minh Ribler - Nov, 2005
+//--------------------------------------------------------------------------
+void CommonFG::getObjinfo( const H5std_string& name, H5G_stat_t& statbuf ) const
+{
+   getObjinfo( name.c_str(), statbuf );
+}
+
+//--------------------------------------------------------------------------
 // Function:	CommonFG::getLinkval
 ///\brief	Returns the name of the object that the symbolic link points to.
 ///\param	name  - IN: Symbolic link to the object
@@ -345,7 +383,7 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getLinkval( const char* name, size_t size ) const
+H5std_string CommonFG::getLinkval( const char* name, size_t size ) const
 {
    char* value_C = new char[size+1];  // temporary C-string for C API
 
@@ -354,7 +392,7 @@
    {
       throwException("getLinkval", "H5Gget_linkval failed");
    }
-   string value = string( value_C );
+   H5std_string value = H5std_string( value_C );
    delete []value_C;
    return( value );
 }
@@ -363,10 +401,10 @@
 // Function:	CommonFG::getLinkval
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getLinkval( const string& name, size_t size ) const
+H5std_string CommonFG::getLinkval( const H5std_string& name, size_t size ) const
 {
    return( getLinkval( name.c_str(), size ));
 }
@@ -399,10 +437,10 @@
 // Function:	CommonFG::setComment
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name and \a comment.
+///		\c H5std_string for \a name and \a comment.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::setComment( const string& name, const string& comment ) const
+void CommonFG::setComment( const H5std_string& name, const H5std_string& comment ) const
 {
    setComment( name.c_str(), comment.c_str() );
 }
@@ -427,10 +465,10 @@
 // Function:	CommonFG::removeComment
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-void CommonFG::removeComment(const string& name) const
+void CommonFG::removeComment(const H5std_string& name) const
 {
    removeComment (name.c_str());
 }
@@ -443,7 +481,7 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-string CommonFG::getComment (const string& name) const
+H5std_string CommonFG::getComment (const H5std_string& name) const
 {
    size_t bufsize = 256;        // anticipating the comment's length
    hid_t loc_id = getLocId();   // temporary variable
@@ -468,7 +506,7 @@
    {
       throwException("getComment", "H5Gget_comment failed");
    }
-   string comment = string( comment_C );
+   H5std_string comment = H5std_string(comment_C);
    delete []comment_C;
    return (comment);
 }
@@ -483,7 +521,7 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getComment( const char* name, size_t bufsize ) const
+H5std_string CommonFG::getComment( const char* name, size_t bufsize ) const
 {
    // temporary C-string for the object's comment
    char* comment_C = new char[bufsize+1];
@@ -495,7 +533,7 @@
    {
       throwException("getComment", "H5Gget_comment failed");
    }
-   string comment = string( comment_C );
+   H5std_string comment = H5std_string(comment_C);
    delete []comment_C;
    return( comment );
 }
@@ -504,10 +542,10 @@
 // Function:	CommonFG::getComment
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CommonFG::getComment( const string& name, size_t bufsize ) const
+H5std_string CommonFG::getComment( const H5std_string& name, size_t bufsize ) const
 {
    return( getComment( name.c_str(), bufsize ));
 }
@@ -541,10 +579,10 @@
 // Function:	CommonFG::mount
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::mount( const string& name, H5File& child, PropList& plist ) const
+void CommonFG::mount( const H5std_string& name, H5File& child, PropList& plist ) const
 {
    mount( name.c_str(), child, plist );
 }
@@ -572,68 +610,46 @@
 // Function:	CommonFG::unmount
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CommonFG::unmount( const string& name ) const
+void CommonFG::unmount( const H5std_string& name ) const
 {
    unmount( name.c_str() );
 }
 
 //--------------------------------------------------------------------------
-// Function:	CommonFG::p_open_data_type (private)
-// Purpose	Opens the named datatype and returns the datatype's identifier.
-// Return	Id of the datatype
-// Exception	H5::FileIException or H5::GroupIException
-// Description
-//              This private function is used by the member functions
-//		CommonFG::openXxxType, where Xxx indicates the specific
-//		datatypes.
+// Function:	CommonFG::openDataType
+///\brief	Opens the named generic datatype at this location.
+///\param	name  - IN: Name of the datatype to open
+///\return	DataType instance
+///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-hid_t CommonFG::p_open_data_type( const char* name ) const
+DataType CommonFG::openDataType( const char* name ) const
 {
    // Call C function H5Topen to open the named datatype in this group,
-   // giving either the file or group id
-   hid_t datatype_id = H5Topen( getLocId(), name );
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
 
    // If the datatype's opening failed, throw an exception
-   if( datatype_id < 0 )
+   if( type_id < 0 )
    {
       throwException("openDataType", "H5Topen failed");
    }
-
-   // No failure, return the datatype id
-   return( datatype_id );
+   // No failure, create and return the DataType object
+   DataType data_type(type_id);
+   return(data_type);
 }
 
-//
-// The following member functions use the private function
-// p_open_data_type to open a named datatype in this location
-//
-
 //--------------------------------------------------------------------------
 // Function:	CommonFG::openDataType
-///\brief	Opens the named generic datatype at this location.
-///\param	name  - IN: Name of the datatype to open
-///\return	DataType instance
-///\exception	H5::FileIException or H5::GroupIException
-// Programmer	Binh-Minh Ribler - 2000
-//--------------------------------------------------------------------------
-DataType CommonFG::openDataType( const char* name ) const
-{
-   DataType data_type(p_open_data_type(name));
-   return( data_type );
-}
-
-//--------------------------------------------------------------------------
-// Function:	CommonFG::openDataType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType CommonFG::openDataType( const string& name ) const
+DataType CommonFG::openDataType( const H5std_string& name ) const
 {
    return( openDataType( name.c_str()) );
 }
@@ -644,11 +660,21 @@
 ///\param	name  - IN: Name of the array datatype to open
 ///\return	ArrayType instance
 ///\exception	H5::FileIException or H5::GroupIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 ArrayType CommonFG::openArrayType( const char* name ) const
 {
-   ArrayType array_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openArrayType", "H5Topen failed");
+   }
+   // No failure, create and return the ArrayType object
+   ArrayType array_type (type_id);
    return(array_type);
 }
 
@@ -656,10 +682,10 @@
 // Function:	CommonFG::openArrayType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
-// Programmer	Binh-Minh Ribler - 2000
+///		\c H5std_string for \a name.
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
-ArrayType CommonFG::openArrayType( const string& name ) const
+ArrayType CommonFG::openArrayType( const H5std_string& name ) const
 {
    return( openArrayType( name.c_str()) );
 }
@@ -674,7 +700,17 @@
 //--------------------------------------------------------------------------
 CompType CommonFG::openCompType( const char* name ) const
 {
-   CompType comp_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openCompType", "H5Topen failed");
+   }
+   // No failure, create and return the CompType object
+   CompType comp_type(type_id);
    return(comp_type);
 }
 
@@ -682,10 +718,10 @@
 // Function:	CommonFG::openCompType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-CompType CommonFG::openCompType( const string& name ) const
+CompType CommonFG::openCompType( const H5std_string& name ) const
 {
    return( openCompType( name.c_str()) );
 }
@@ -700,7 +736,17 @@
 //--------------------------------------------------------------------------
 EnumType CommonFG::openEnumType( const char* name ) const
 {
-   EnumType enum_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openEnumType", "H5Topen failed");
+   }
+   // No failure, create and return the EnumType object
+   EnumType enum_type(type_id);
    return(enum_type);
 }
 
@@ -708,10 +754,10 @@
 // Function:	CommonFG::openEnumType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-EnumType CommonFG::openEnumType( const string& name ) const
+EnumType CommonFG::openEnumType( const H5std_string& name ) const
 {
    return( openEnumType( name.c_str()) );
 }
@@ -726,7 +772,17 @@
 //--------------------------------------------------------------------------
 IntType CommonFG::openIntType( const char* name ) const
 {
-   IntType int_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openIntType", "H5Topen failed");
+   }
+   // No failure, create and return the IntType object
+   IntType int_type(type_id);
    return(int_type);
 }
 
@@ -734,10 +790,10 @@
 // Function:	CommonFG::openIntType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-IntType CommonFG::openIntType( const string& name ) const
+IntType CommonFG::openIntType( const H5std_string& name ) const
 {
    return( openIntType( name.c_str()) );
 }
@@ -752,7 +808,17 @@
 //--------------------------------------------------------------------------
 FloatType CommonFG::openFloatType( const char* name ) const
 {
-   FloatType float_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openFloatType", "H5Topen failed");
+   }
+   // No failure, create and return the FloatType object
+   FloatType float_type(type_id);
    return(float_type);
 }
 
@@ -760,10 +826,10 @@
 // Function:	CommonFG::openFloatType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-FloatType CommonFG::openFloatType( const string& name ) const
+FloatType CommonFG::openFloatType( const H5std_string& name ) const
 {
    return( openFloatType( name.c_str()) );
 }
@@ -778,7 +844,17 @@
 //--------------------------------------------------------------------------
 StrType CommonFG::openStrType( const char* name ) const
 {
-   StrType str_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openStrType", "H5Topen failed");
+   }
+   // No failure, create and return the StrType object
+   StrType str_type(type_id);
    return(str_type);
 }
 
@@ -786,10 +862,10 @@
 // Function:	CommonFG::openStrType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-StrType CommonFG::openStrType( const string& name ) const
+StrType CommonFG::openStrType( const H5std_string& name ) const
 {
    return( openStrType( name.c_str()) );
 }
@@ -800,11 +876,21 @@
 ///\param	name  - IN: Name of the variable length datatype to open
 ///\return	VarLenType instance
 ///\exception	H5::FileIException or H5::GroupIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 VarLenType CommonFG::openVarLenType( const char* name ) const
 {
-   VarLenType varlen_type(p_open_data_type(name));
+   // Call C function H5Topen to open the named datatype in this group,
+   // given either the file or group id
+   hid_t type_id = H5Topen(getLocId(), name);
+
+   // If the datatype's opening failed, throw an exception
+   if( type_id < 0 )
+   {
+      throwException("openVarLenType", "H5Topen failed");
+   }
+   // No failure, create and return the VarLenType object
+   VarLenType varlen_type(type_id);
    return(varlen_type);
 }
 
@@ -812,10 +898,10 @@
 // Function:	CommonFG::openVarLenType
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
-// Programmer	Binh-Minh Ribler - 2000
+///		\c H5std_string for \a name.
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
-VarLenType CommonFG::openVarLenType( const string& name ) const
+VarLenType CommonFG::openVarLenType( const H5std_string& name ) const
 {
    return( openVarLenType( name.c_str()) );
 }
@@ -847,10 +933,10 @@
 // Function:	CommonFG::iterateElems
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes an
-///		\c std::string for \a name.
+///		\c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-int CommonFG::iterateElems( const string& name, int *idx, H5G_iterate_t op , void* op_data )
+int CommonFG::iterateElems( const H5std_string& name, int *idx, H5G_iterate_t op , void* op_data )
 {
    return( iterateElems( name.c_str(), idx, op, op_data ));
 }
@@ -888,7 +974,7 @@
 ///		each time the group is opened.
 // Programmer	Binh-Minh Ribler - Mar, 2005
 //--------------------------------------------------------------------------
-string CommonFG::getObjnameByIdx(hsize_t idx) const
+H5std_string CommonFG::getObjnameByIdx(hsize_t idx) const
 {
     // call H5Gget_objname_by_idx with name as NULL to get its length
     ssize_t name_len = H5Gget_objname_by_idx(getLocId(), idx, NULL, 0);
@@ -898,11 +984,11 @@
     }
 
     // now, allocate C buffer to get the name
-    char* name_C = new char[name_len + 1];
-    name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, name_len + 1);
+    char* name_C = new char[name_len+1];
+    name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, name_len+1);
 
     // clean up and return the string
-    string name = string(name_C);
+    H5std_string name = H5std_string(name_C);
     delete []name_C;
     return (name);
 }
@@ -924,16 +1010,16 @@
 ///		each time the group is opened.
 // Programmer	Binh-Minh Ribler - January, 2003
 //--------------------------------------------------------------------------
-ssize_t CommonFG::getObjnameByIdx(hsize_t idx, string& name, size_t size) const
+ssize_t CommonFG::getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const
 {
-   char* name_C = new char[size];
-   ssize_t name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, size);
+   char* name_C = new char[size+1];
+   ssize_t name_len = H5Gget_objname_by_idx(getLocId(), idx, name_C, size+1);
    if(name_len < 0)
    {
       throwException("getObjnameByIdx", "H5Gget_objname_by_idx failed");
    }
-   name = string( name_C );
-   delete [] name_C;
+   name = H5std_string(name_C);
+   delete []name_C;
    return (name_len);
 }
 
@@ -967,15 +1053,15 @@
 ///\exception	H5::FileIException or H5::GroupIException
 // Programmer	Binh-Minh Ribler - January, 2003
 //--------------------------------------------------------------------------
-H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, string& type_name) const
+H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const
 {
    H5G_obj_t obj_type = H5Gget_objtype_by_idx(getLocId(), idx);
    switch (obj_type)
    {
-	case H5G_LINK: type_name = string("symbolic link"); break;
-	case H5G_GROUP: type_name = string("group"); break;
-	case H5G_DATASET: type_name = string("dataset"); break;
-	case H5G_TYPE: type_name = string("datatype"); break;
+	case H5G_LINK: type_name = H5std_string("symbolic link"); break;
+	case H5G_GROUP: type_name = H5std_string("group"); break;
+	case H5G_DATASET: type_name = H5std_string("dataset"); break;
+	case H5G_TYPE: type_name = H5std_string("datatype"); break;
 	case H5G_UNKNOWN:
 	default:
    	{

Modified: packages/hdf5/trunk/c++/src/H5CommonFG.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5CommonFG.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5CommonFG.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // CommonFG is a protocol class.  Its existence is simply to provide the
@@ -33,37 +34,37 @@
 	// Creates a new group at this location which can be a file
 	// or another group.
 	Group createGroup(const char* name, size_t size_hint = 0) const;
-	Group createGroup(const string& name, size_t size_hint = 0) const;
+	Group createGroup(const H5std_string& name, size_t size_hint = 0) const;
 
 	// Opens an existing group in a location which can be a file
 	// or another group.
 	Group openGroup(const char* name) const;
-	Group openGroup(const string& name) const;
+	Group openGroup(const H5std_string& name) const;
 
 	// Creates a new dataset at this location.
 	DataSet createDataSet(const char* name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
-	DataSet createDataSet(const string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
+	DataSet createDataSet(const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist = DSetCreatPropList::DEFAULT) const;
 
 	// Opens an existing dataset at this location.
 	DataSet openDataSet(const char* name) const;
-	DataSet openDataSet(const string& name) const;
+	DataSet openDataSet(const H5std_string& name) const;
 
 	// Retrieves comment for the HDF5 object specified by its name.
-	string getComment(const string& name) const;
-	string getComment(const char* name, size_t bufsize) const;
-	string getComment(const string& name, size_t bufsize) const;
+	H5std_string getComment(const H5std_string& name) const;
+	H5std_string getComment(const char* name, size_t bufsize) const;
+	H5std_string getComment(const H5std_string& name, size_t bufsize) const;
 
 	// Removes the comment for the HDF5 object specified by its name.
 	void removeComment(const char* name) const;
-	void removeComment(const string& name) const;
+	void removeComment(const H5std_string& name) const;
 
 	// Sets the comment for an HDF5 object specified by its name.
 	void setComment(const char* name, const char* comment) const;
-	void setComment(const string& name, const string& comment) const;
+	void setComment(const H5std_string& name, const H5std_string& comment) const;
 
 	// Returns the name of the HDF5 object that the symbolic link points to.
-	string getLinkval(const char* name, size_t size) const;
-	string getLinkval(const string& name, size_t size) const;
+	H5std_string getLinkval(const char* name, size_t size) const;
+	H5std_string getLinkval(const H5std_string& name, size_t size) const;
 
 	// Returns the number of objects in this group.
 	hsize_t getNumObjs() const;
@@ -71,82 +72,87 @@
 	// Returns information about an HDF5 object, given by its name,
 	// at this location.
 	void getObjinfo(const char* name, hbool_t follow_link, H5G_stat_t& statbuf) const;
-	void getObjinfo(const string& name, hbool_t follow_link, H5G_stat_t& statbuf) const;
+	void getObjinfo(const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf) const;
+	void getObjinfo(const char* name, H5G_stat_t& statbuf) const;
+	void getObjinfo(const H5std_string& name, H5G_stat_t& statbuf) const;
 
 	// Retrieves the name of an object in this group, given the
 	// object's index.
-	ssize_t getObjnameByIdx(hsize_t idx, string& name, size_t size) const;
-	string getObjnameByIdx(hsize_t idx) const;
+	ssize_t getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const;
+	H5std_string getObjnameByIdx(hsize_t idx) const;
 
 	// Returns the type of an object in this group, given the
 	// object's index.
 	H5G_obj_t getObjTypeByIdx(hsize_t idx) const;
-	H5G_obj_t getObjTypeByIdx(hsize_t idx, string& type_name) const;
+	H5G_obj_t getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const;
 
 	// Iterates over the elements of this group - not implemented in
 	// C++ style yet.
 	int iterateElems(const char* name, int *idx, H5G_iterate_t op, void *op_data);
-	int iterateElems(const string& name, int *idx, H5G_iterate_t op, void *op_data);
+	int iterateElems(const H5std_string& name, int *idx, H5G_iterate_t op, void *op_data);
 
 	// Creates a link of the specified type from new_name to current_name;
 	// both names are interpreted relative to the specified location id.
 	void link(H5G_link_t link_type, const char* curr_name, const char* new_name) const;
-	void link(H5G_link_t link_type, const string& curr_name, const string& new_name) const;
+	void link(H5G_link_t link_type, const H5std_string& curr_name, const H5std_string& new_name) const;
 
 	// Removes the specified name at this location.
 	void unlink(const char* name) const;
-	void unlink(const string& name) const;
+	void unlink(const H5std_string& name) const;
 
 	// Mounts the file 'child' onto this location.
 	void mount(const char* name, H5File& child, PropList& plist) const;
-	void mount(const string& name, H5File& child, PropList& plist) const;
+	void mount(const H5std_string& name, H5File& child, PropList& plist) const;
 
 	// Unmounts the file named 'name' from this parent location.
 	void unmount(const char* name) const;
-	void unmount(const string& name) const;
+	void unmount(const H5std_string& name) const;
 
 	// Renames an object at this location.
 	void move(const char* src, const char* dst) const;
-	void move(const string& src, const string& dst) const;
+	void move(const H5std_string& src, const H5std_string& dst) const;
 
 	// Opens a generic named datatype in this location.
 	DataType openDataType(const char* name) const;
-	DataType openDataType(const string& name) const;
+	DataType openDataType(const H5std_string& name) const;
 
 	// Opens a named array datatype in this location.
 	ArrayType openArrayType(const char* name) const;
-	ArrayType openArrayType(const string& name) const;
+	ArrayType openArrayType(const H5std_string& name) const;
 
 	// Opens a named compound datatype in this location.
 	CompType openCompType(const char* name) const;
-	CompType openCompType(const string& name) const;
+	CompType openCompType(const H5std_string& name) const;
 
 	// Opens a named enumeration datatype in this location.
 	EnumType openEnumType(const char* name) const;
-	EnumType openEnumType(const string& name) const;
+	EnumType openEnumType(const H5std_string& name) const;
 
 	// Opens a named integer datatype in this location.
 	IntType openIntType(const char* name) const;
-	IntType openIntType(const string& name) const;
+	IntType openIntType(const H5std_string& name) const;
 
 	// Opens a named floating-point datatype in this location.
 	FloatType openFloatType(const char* name) const;
-	FloatType openFloatType(const string& name) const;
+	FloatType openFloatType(const H5std_string& name) const;
 
 	// Opens a named string datatype in this location.
 	StrType openStrType(const char* name) const;
-	StrType openStrType(const string& name) const;
+	StrType openStrType(const H5std_string& name) const;
 
 	// Opens a named variable length datatype in this location.
 	VarLenType openVarLenType(const char* name) const;
-	VarLenType openVarLenType(const string& name) const;
+	VarLenType openVarLenType(const H5std_string& name) const;
 
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
 	/// For subclasses, H5File and Group, to return the correct
 	/// object id, i.e. file or group id.
 	virtual hid_t getLocId() const = 0;
 
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+
 	/// For subclasses, H5File and Group, to throw appropriate exception.
-	virtual void throwException(const string func_name, const string msg) const = 0;
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const = 0;
 
 	// Default constructor.
 	CommonFG();
@@ -154,10 +160,6 @@
 	// Noop destructor.
 	virtual ~CommonFG();
 
-   private:
-	// Common code for member functions openXxxType
-	hid_t p_open_data_type(const char* name) const;
-
 }; // end of CommonFG declaration
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/trunk/c++/src/H5CompType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5CompType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5CompType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -113,7 +114,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string CompType::getMemberName( unsigned member_num ) const
+H5std_string CompType::getMemberName( unsigned member_num ) const
 {
     char* member_name_C = H5Tget_member_name( id, member_num );
     if( member_name_C == NULL )  // NULL means failure
@@ -121,7 +122,7 @@
 	throw DataTypeIException("CompType::getMemberName",
 		"H5Tget_member_name returns NULL for member name");
     }
-    string member_name = string(member_name_C); // convert C string to string
+    H5std_string member_name = H5std_string(member_name_C); // convert C string to string
     HDfree(member_name_C); // free the C string
     return( member_name ); // return the member name string
 }
@@ -148,7 +149,7 @@
    }
    return( member_index );
 }
-int CompType::getMemberIndex(const string& name) const
+int CompType::getMemberIndex(const H5std_string& name) const
 {
    return(getMemberIndex(name.c_str()));
 }
@@ -175,14 +176,6 @@
    return( offset );
 }
 
-// Returns the dimensionality of the member.
-int CompType::getMemberDims( unsigned member_num, size_t* dims, int* perm ) const
-{
-   throw DataTypeIException( "Error: getMemberDims is no longer supported." );
-   return (-1); // unreachable statement; but without it, the compiler
-		// will complain
-}
-
 //--------------------------------------------------------------------------
 // Function:	CompType::getMemberClass
 ///\brief	Gets the type class of the specified member.
@@ -216,9 +209,9 @@
       return( member_type_id );
    else
    {
-	// p_get_member_type is private, use caller's function name for api
-      throw DataTypeIException("CompType::p_get_member_type",
-		"H5Tget_member_type failed");
+      // p_get_member_type is private, caller will catch this exception
+      // then throw another with appropriate API name
+      throw DataTypeIException("", "H5Tget_member_type failed");
    }
 }
 
@@ -233,8 +226,13 @@
 //--------------------------------------------------------------------------
 DataType CompType::getMemberDataType( unsigned member_num ) const
 {
-   DataType datatype(p_get_member_type(member_num));
-   return(datatype);
+   try {
+      DataType datatype(p_get_member_type(member_num));
+      return(datatype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberDataType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -244,12 +242,17 @@
 ///\param	member_num - IN: Zero-based index of the member
 ///\return	ArrayType instance
 ///\exception	H5::DataTypeIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 ArrayType CompType::getMemberArrayType( unsigned member_num ) const
 {
-   ArrayType arraytype(p_get_member_type(member_num));
-   return(arraytype);
+   try {
+      ArrayType arraytype(p_get_member_type(member_num));
+      return(arraytype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberArrayType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -263,8 +266,13 @@
 //--------------------------------------------------------------------------
 CompType CompType::getMemberCompType( unsigned member_num ) const
 {
-   CompType comptype(p_get_member_type(member_num));
-   return(comptype);
+   try {
+      CompType comptype(p_get_member_type(member_num));
+      return(comptype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberCompType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -278,8 +286,13 @@
 //--------------------------------------------------------------------------
 EnumType CompType::getMemberEnumType( unsigned member_num ) const
 {
-   EnumType enumtype(p_get_member_type(member_num));
-   return(enumtype);
+   try {
+      EnumType enumtype(p_get_member_type(member_num));
+      return(enumtype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberEnumType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -293,8 +306,13 @@
 //--------------------------------------------------------------------------
 IntType CompType::getMemberIntType( unsigned member_num ) const
 {
-   IntType inttype(p_get_member_type(member_num));
-   return(inttype);
+   try {
+      IntType inttype(p_get_member_type(member_num));
+      return(inttype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberIntType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -308,8 +326,13 @@
 //--------------------------------------------------------------------------
 FloatType CompType::getMemberFloatType( unsigned member_num ) const
 {
-   FloatType floatype(p_get_member_type(member_num));
-   return(floatype);
+   try {
+      FloatType floatype(p_get_member_type(member_num));
+      return(floatype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberFloatType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -323,8 +346,13 @@
 //--------------------------------------------------------------------------
 StrType CompType::getMemberStrType( unsigned member_num ) const
 {
-   StrType strtype(p_get_member_type(member_num));
-   return(strtype);
+   try {
+      StrType strtype(p_get_member_type(member_num));
+      return(strtype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberStrType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -334,12 +362,17 @@
 ///\param	member_num - IN: Zero-based index of the member
 ///\return	VarLenType instance
 ///\exception	H5::DataTypeIException
-// Programmer	Binh-Minh Ribler - 2000
+// Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
 VarLenType CompType::getMemberVarLenType( unsigned member_num ) const
 {
-   VarLenType varlentype(p_get_member_type(member_num));
-   return(varlentype);
+   try {
+      VarLenType varlentype(p_get_member_type(member_num));
+      return(varlentype);
+   }
+   catch (DataTypeIException E) {
+      throw DataTypeIException("CompType::getMemberVarLenType", E.getDetailMsg());
+   }
 }
 
 /* old style of getMemberType - using overloads; new style above
@@ -384,7 +417,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void CompType::insertMember( const string& name, size_t offset, const DataType& new_member ) const
+void CompType::insertMember( const H5std_string& name, size_t offset, const DataType& new_member ) const
 {
    // Convert string to C-string
    const char* name_C;

Modified: packages/hdf5/trunk/c++/src/H5CompType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5CompType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5CompType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class CompType inherits from DataType and provides accesses to a compound
@@ -36,24 +37,21 @@
 	// to create another datatype of the same class
 	H5T_class_t getMemberClass( unsigned member_num ) const;
 
-	// Returns the dimensionality of the specified member.
-	int getMemberDims( unsigned member_num, size_t* dims, int* perm ) const; // obsolete
-
 	// Returns the index of a member in this compound data type.
 	int getMemberIndex(const char* name) const;
-	int getMemberIndex(const string& name) const;
+	int getMemberIndex(const H5std_string& name) const;
 
 	// Returns the offset of a member of this compound datatype.
 	size_t getMemberOffset( unsigned memb_no ) const;
 
 	// Returns the name of a member of this compound datatype.
-	string getMemberName( unsigned member_num ) const;
+	H5std_string getMemberName( unsigned member_num ) const;
 
 	// Returns the generic datatype of the specified member in
 	// this compound datatype.
 	DataType getMemberDataType( unsigned member_num ) const;
 
-	// Returns the compound datatype of the specified member in
+	// Returns the array datatype of the specified member in
 	// this compound datatype.
 	ArrayType getMemberArrayType( unsigned member_num ) const;
 
@@ -77,7 +75,7 @@
 	// this compound datatype.
 	StrType getMemberStrType( unsigned member_num ) const;
 
-	// Returns the compound datatype of the specified member in
+	// Returns the variable length datatype of the specified member in
 	// this compound datatype.
 	VarLenType getMemberVarLenType( unsigned member_num ) const;
 
@@ -85,13 +83,13 @@
 	int getNmembers() const;
 
 	// Adds a new member to this compound datatype.
-	void insertMember( const string& name, size_t offset, const DataType& new_member ) const;
+	void insertMember( const H5std_string& name, size_t offset, const DataType& new_member ) const;
 
 	// Recursively removes padding from within this compound datatype.
 	void pack() const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("CompType"); }
+	virtual H5std_string fromClass () const { return("CompType"); }
 
 	// Default constructor
 	CompType();

Modified: packages/hdf5/trunk/c++/src/H5Cpp.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Cpp.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Cpp.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,13 +10,14 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5CPP_H
 #define _H5CPP_H
 
+#include "H5cxx_pubconf.h"
 #include "H5Include.h"
 #include "H5Exception.h"
 #include "H5IdComponent.h"
@@ -43,4 +45,15 @@
 #include "H5Group.h"
 #include "H5File.h"
 #include "H5Library.h"
+
+/* Some C++ compilers do not have offsetof macro; define to bypass the problem
+   - BMR- -EIP- 2007/06/21 
+*/
+#ifndef H5_CXX_HAVE_OFFSETOF
+#ifdef HOFFSET
+   #undef HOFFSET
 #endif
+#define HOFFSET(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
+#endif

Modified: packages/hdf5/trunk/c++/src/H5CppDoc.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5CppDoc.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5CppDoc.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5CPPDOC_H
@@ -29,7 +30,7 @@
  * It is assumed that the user has knowledge of the HDF5 file format
  * and its components.  If you are not familiar with HDF5 file format,
  * and would like to find out more, please refer to the HDF5 documentation
- * at http://hdf.ncsa.uiuc.edu/HDF5/doc/H5.intro.html
+ * at http://hdfgroup.org/HDF5/doc/index.html
  *
  * Because the HDF5 library maps very well to
  * the object oriented design approach, classes in the C++ API can
@@ -50,7 +51,7 @@
   \endverbatim
  * \section install_sec Installation
  *
- * Please refer to the file release_docs/INSTALL_Windows_withcpp.txt
+ * Please refer to the file release_docs/INSTALL_Windows.txt
  * under the top directory for information about installing, building,
  * and testing the C++ API.
  *

Modified: packages/hdf5/trunk/c++/src/H5DataSet.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5DataSet.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DataSet.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -35,6 +36,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -61,6 +66,23 @@
 DataSet::DataSet( const DataSet& original ) : AbstractDs( original ) {}
 
 //--------------------------------------------------------------------------
+// Function:	DataSet overload constructor - dereference
+///\brief	Given a reference to some object, returns that dataset
+///\param	obj - IN: Dataset reference object is in or location of
+///                   object that the dataset is located within.
+///\param	ref - IN: Reference pointer
+///\exception	H5::DataSetIException
+///\par Description
+///		\c obj can be DataSet, Group, H5File, or named DataType, that 
+///		is a datatype that has been named by DataType::commit.
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+DataSet::DataSet(IdComponent& obj, void* ref) : AbstractDs()
+{
+   IdComponent::dereference(obj, ref);
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataSet::getSpace
 ///\brief	Gets a copy of the dataspace of this dataset.
 ///\return	DataSpace instance
@@ -199,7 +221,7 @@
 ///\exception	H5::DataSetIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataSet::vlenReclaim( DataType& type, DataSpace& space, DSetMemXferPropList& xfer_plist, void* buf ) const
+void DataSet::vlenReclaim(const DataType& type, const DataSpace& space, const DSetMemXferPropList& xfer_plist, void* buf )
 {
    // Obtain identifiers for C API
    hid_t type_id = type.getId();
@@ -214,6 +236,34 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	DataSet::vlenReclaim
+///\brief	Reclaims VL datatype memory buffers.
+///\param	type - IN: Datatype, which is the datatype stored in the buffer
+///\param	space - IN: Selection for the memory buffer to free the
+///		VL datatypes within
+///\param	xfer_plist - IN: Property list used to create the buffer
+///\param	buf - IN: Pointer to the buffer to be reclaimed
+///\exception	H5::DataSetIException
+// Programmer	Binh-Minh Ribler - 2000
+//\parDescription
+//		This function has better prototype for the users than the
+//		other, which might be removed at some point. BMR - 2006/12/20
+//--------------------------------------------------------------------------
+void DataSet::vlenReclaim(void* buf, const DataType& type, const DataSpace& space, const DSetMemXferPropList& xfer_plist)
+{
+   // Obtain identifiers for C API
+   hid_t type_id = type.getId();
+   hid_t space_id = space.getId();
+   hid_t xfer_plist_id = xfer_plist.getId();
+
+   herr_t ret_value = H5Dvlen_reclaim(type_id, space_id, xfer_plist_id, buf);
+   if (ret_value < 0)
+   {
+      throw DataSetIException("DataSet::vlenReclaim", "H5Dvlen_reclaim failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataSet::read
 ///\brief	Reads raw data from the specified dataset.
 ///\param	buf - IN: Buffer for read data
@@ -246,10 +296,10 @@
 //--------------------------------------------------------------------------
 // Function:	DataSet::read
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It takes a reference to a \c std::string for the buffer.
+///		It takes a reference to a \c H5std_string for the buffer.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataSet::read( string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
+void DataSet::read( H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
 {
    // Allocate C character string for reading
    size_t size = mem_type.getSize();
@@ -297,10 +347,10 @@
 //--------------------------------------------------------------------------
 // Function:	DataSet::write
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It takes a reference to a \c std::string for the buffer.
+///		It takes a reference to a \c H5std_string for the buffer.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataSet::write( const string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
+void DataSet::write( const H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
 {
    // Convert string to C-string
    const char* strg_C;
@@ -349,7 +399,8 @@
 ///\par Description
 ///		For more information, please see the Description section in
 ///		C layer Reference Manual at:
-/// http:
+///\par
+/// <A HREF="../RM_H5D.html#Dataset-Extend">../RM_H5D.html#Dataset-Extend</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSet::extend( const hsize_t* size ) const
@@ -408,47 +459,46 @@
 
 //--------------------------------------------------------------------------
 // Function:	DataSet::Reference
-///\brief	Creates a reference to an HDF5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use 
+///		DataSet::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataSet::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
 {
-   return(p_reference(name, dataspace.getId(), ref_type));
+   try {
+      return(p_reference(name, dataspace.getId(), ref_type));
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::Reference", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataSet::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced - \c char pointer
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataSet::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataSet::Reference(const char* name) const
 {
-   return(p_reference(name, -1, H5R_OBJECT));
+   try {
+      return(p_reference(name, -1, H5R_OBJECT));
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::Reference", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
-// Function:    DataSet::Reference
-///\brief       This is an overloaded function, provided for your convenience.
-///             It differs from the above function in that it takes an
-///             \c std::string for the object's name.
-///\param       name - IN: Name of the object to be referenced - \c std::string
-// Programmer   Binh-Minh Ribler - May, 2004
+// Function:	DataSet::Reference
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataSet::reference instead!
+// Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* DataSet::Reference(const string& name) const
+void* DataSet::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -456,19 +506,26 @@
 //--------------------------------------------------------------------------
 // Function:	DataSet::getObjType
 ///\brief	Retrieves the type of object that an object reference points to.
-///\param		ref_type - IN: Type of reference to query
-///\param		ref      - IN: Reference to query
-// Return	An object type, which can be one of the following:
-//			H5G_LINK Object is a symbolic link.
-//			H5G_GROUP Object is a group.
-//			H5G_DATASET   Object is a dataset.
-//			H5G_TYPE Object is a named datatype
-// Exception	H5::IdComponentException
+///\param	ref      - IN: Reference to query
+///\param	ref_type - IN: Type of reference to query, valid values are:
+///		\li \c H5R_OBJECT - Reference is an object reference.
+///		\li \c H5R_DATASET_REGION - Reference is a dataset region reference.
+///\return	An object type, which can be one of the following:
+///		\li \c H5G_LINK (0) - Object is a symbolic link.
+///		\li \c H5G_GROUP (1) - Object is a group.
+///		\li \c H5G_DATASET (2) - Object is a dataset.
+///		\li \c H5G_TYPE Object (3) - is a named datatype
+///\exception	H5::DataSetIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t DataSet::getObjType(void *ref, H5R_type_t ref_type) const
 {
-   return(p_get_obj_type(ref, ref_type));
+   try {
+      return(p_get_obj_type(ref, ref_type));
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::getObjType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -478,13 +535,18 @@
 ///		to H5R_DATASET_REGION
 ///\param	ref      - IN: Reference to get region of
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::DataSetIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace DataSet::getRegion(void *ref, H5R_type_t ref_type) const
 {
-   DataSpace dataspace(p_get_region(ref, ref_type));
-   return(dataspace);
+   try {
+      DataSpace dataspace(p_get_region(ref, ref_type));
+      return(dataspace);
+   }
+   catch (IdComponentException E) {
+      throw DataSetIException("DataSet::getRegion", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -496,13 +558,16 @@
 //--------------------------------------------------------------------------
 void DataSet::close()
 {
-   herr_t ret_value = H5Dclose( id );
-   if( ret_value < 0 )
-   {
-      throw DataSetIException("DataSet::close", "H5Dclose failed");
-   }
-   // reset the id because the group that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Dclose( id );
+	if( ret_value < 0 )
+	{
+	    throw DataSetIException("DataSet::close", "H5Dclose failed");
+	}
+	// reset the id because the dataset that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -510,17 +575,18 @@
 ///\brief	Properly terminates access to this dataset.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 DataSet::~DataSet()
 {
-    // The dataset id will be closed properly
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "DataSet::~DataSet - " << close_error.getDetailMsg() << endl;
+	cerr << "DataSet::~DataSet - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/trunk/c++/src/H5DataSet.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5DataSet.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DataSet.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class DataSet inherits from AbstractDs and provides accesses to a dataset.
@@ -24,6 +25,9 @@
 
 class H5_DLLCPP DataSet : public AbstractDs {
    public:
+	// Close this dataset.
+	virtual void close();
+
 	// Extends the dataset with unlimited dimension.
 	void extend( const hsize_t* size ) const;
 
@@ -45,29 +49,32 @@
 	void getSpaceStatus(H5D_space_status_t& status) const;
 
 	// Returns the amount of storage size required for this dataset.
-	virtual hsize_t getStorageSize() const;
+	hsize_t getStorageSize() const;
 
-	// not yet implemented??
+	// Returns the number of bytes required to store VL data.
 	hsize_t getVlenBufSize( DataType& type, DataSpace& space ) const;
-	void vlenReclaim( DataType& type, DataSpace& space, DSetMemXferPropList& xfer_plist, void* buf ) const;
 
+	// Reclaims VL datatype memory buffers.
+	static void vlenReclaim(const DataType& type, const DataSpace& space, const DSetMemXferPropList& xfer_plist, void* buf );
+	static void vlenReclaim(void *buf, const DataType& type, const DataSpace& space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT);
+
 	// Reads the data of this dataset and stores it in the provided buffer.
 	// The memory and file dataspaces and the transferring property list
 	// can be defaults.
 	void read( void* buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
-        void read( string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
+        void read( H5std_string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
 
 	// Writes the buffered data to this dataset.
 	// The memory and file dataspaces and the transferring property list
 	// can be defaults.
 	void write( const void* buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
-        void write( const string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
+        void write( const H5std_string& buf, const DataType& mem_type, const DataSpace& mem_space = DataSpace::ALL, const DataSpace& file_space = DataSpace::ALL, const DSetMemXferPropList& xfer_plist = DSetMemXferPropList::DEFAULT ) const;
 
 	// Iterates the selected elements in the specified dataspace - not implemented in C++ style yet
         int iterateElems( void* buf, const DataType& type, const DataSpace& space, H5D_operator_t op, void* op_data = NULL );
 
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
@@ -77,24 +84,24 @@
 	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
 
 	// Returns this class name
-	virtual string fromClass () const { return("DataSet"); }
+	virtual H5std_string fromClass () const { return("DataSet"); }
 
-	// Creates a copy of an existing DataSet using its id.
-	DataSet(const hid_t existing_id);
+	// Creates a dataset by way of dereference.
+	DataSet(IdComponent& obj, void* ref);
 
-	// Close this dataset.
-	virtual void close();
-
 	// Default constructor.
 	DataSet();
 
 	// Copy constructor.
 	DataSet( const DataSet& original );
 
+	// Creates a copy of an existing DataSet using its id.
+	DataSet(const hid_t existing_id);
+
 	// Destructor: properly terminates access to this dataset.
 	virtual ~DataSet();
 

Modified: packages/hdf5/trunk/c++/src/H5DataSpace.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5DataSpace.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DataSpace.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -26,6 +27,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -42,7 +47,7 @@
 ///\exception	H5::DataSpaceIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSpace::DataSpace( H5S_class_t type ) : IdComponent()
+DataSpace::DataSpace( H5S_class_t type ) : IdComponent(0)
 {
    id = H5Screate( type );
    if( id < 0 )
@@ -60,7 +65,7 @@
 ///\exception	H5::DataSpaceIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : IdComponent()
+DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : IdComponent(0)
 {
    id = H5Screate_simple( rank, dims, maxdims );
    if( id < 0 )
@@ -94,21 +99,22 @@
 ///\exception	H5::DataSpaceIException
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void DataSpace::copy( const DataSpace& like_space )
 {
-   // If this object has a valid id, appropriately decrement reference
-   // counter and close the id.
+   // If this object has an hdf5 valid id, close it
    if( id != H5S_ALL ) {
       try {
-         decRefCount();
+         close();
       }
       catch (Exception close_error) {
          throw DataSpaceIException("DataSpace::copy", close_error.getDetailMsg());
       }
-   }  // if
+   }  // end if
 
    // call C routine to copy the dataspace
    id = H5Scopy( like_space.getId() );
@@ -130,8 +136,9 @@
 //--------------------------------------------------------------------------
 DataSpace& DataSpace::operator=( const DataSpace& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
 //--------------------------------------------------------------------------
@@ -394,7 +401,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElemPointList
+/// <A HREF="../RM_H5S.html#Dataspace-SelectElemPointList">../RM_H5S.html#Dataspace-SelectElemPointList</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::getSelectElemPointlist ( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const
@@ -404,7 +411,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::getSelectElemPointlist",
-                "H5Sget_select_elem_pointlist failed");
+		"H5Sget_select_elem_pointlist failed");
    }
 }
 
@@ -418,7 +425,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectBounds
+/// <A HREF="../RM_H5S.html#Dataspace-SelectBounds">../RM_H5S.html#Dataspace-SelectBounds</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::getSelectBounds ( hsize_t* start, hsize_t* end ) const
@@ -427,7 +434,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::getSelectBounds",
-                "H5Sget_select_bounds failed");
+		"H5Sget_select_bounds failed");
    }
 }
 
@@ -444,7 +451,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElements
+/// <A HREF="../RM_H5S.html#Dataspace-SelectElements">../RM_H5S.html#Dataspace-SelectElements</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::selectElements ( H5S_seloper_t op, const size_t num_elements, const hsize_t *coord[ ] ) const
@@ -454,7 +461,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::selectElements",
-                "H5Sselect_elements failed");
+		"H5Sselect_elements failed");
    }
 }
 
@@ -487,7 +494,7 @@
    if( ret_value < 0 )
    {
       throw DataSpaceIException("DataSpace::selectNone",
-                "H5Sselect_none failed");
+		"H5Sselect_none failed");
    }
 }
 
@@ -510,7 +517,7 @@
    else
    {
       throw DataSpaceIException("DataSpace::selectValid",
-                "H5Sselect_valid returns negative value");
+		"H5Sselect_valid returns negative value");
    }
 }
 
@@ -526,7 +533,7 @@
 ///\par Description
 ///		For more information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectHyperslab
+/// <A HREF="../RM_H5S.html#Dataspace-SelectHyperslab">../RM_H5S.html#Dataspace-SelectHyperslab</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataSpace::selectHyperslab( H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride, const hsize_t *block ) const
@@ -549,18 +556,17 @@
 //--------------------------------------------------------------------------
 void DataSpace::close()
 {
-   if( id != H5S_ALL ) // not a constant, should call H5Sclose
-   {
-      herr_t ret_value = H5Sclose(id);
-      if( ret_value < 0 )
-      {
-	 throw DataSpaceIException("DataSpace::close", "H5Sclose failed");
-      }
-      // reset the id because the dataspace that it represents is now closed
-      id = 0;
-   }
-   else // cannot close a constant
-      throw DataSpaceIException("DataSpace::close", "Cannot close a constant");
+    // check if id is a valid hdf5 object id before trying to close it
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Sclose(id);
+	if( ret_value < 0 )
+	{
+	    throw DataSpaceIException("DataSpace::close", "H5Sclose failed");
+	}
+	// reset the id because the dataspace that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -568,21 +574,19 @@
 ///\brief	Properly terminates access to this dataspace.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 DataSpace::~DataSpace()
 {
-   // If this object has a valid id, appropriately decrement reference
-   // counter and close the id.
-   if( id != H5S_ALL ) {
-      try {
-         decRefCount();
-      }
-      catch (Exception close_error) {
-	 cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
-      }
-   }  // if
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
+    }
 }
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/trunk/c++/src/H5DataSpace.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5DataSpace.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DataSpace.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DataSpace_H
@@ -34,6 +35,9 @@
 	// Assignment operator
 	DataSpace& operator=( const DataSpace& rhs );
 
+	// Closes this dataspace.
+	virtual void close();
+
 	// Makes copy of an existing dataspace.
 	void copy(const DataSpace& like_space);
 
@@ -100,7 +104,7 @@
 	void setExtentSimple( int rank, const hsize_t *current_size, const hsize_t *maximum_size = NULL ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("DataSpace"); }
+	virtual H5std_string fromClass () const { return("DataSpace"); }
 
 	// Creates a DataSpace object using an existing dataspace id.
 	DataSpace(const hid_t space_id);
@@ -108,9 +112,6 @@
 	// Copy constructor: makes a copy of the original DataSpace object.
 	DataSpace(const DataSpace& original);
 
-	// Close this dataspace.
-	virtual void close();
-
 	// Destructor: properly terminates access to this dataspace.
 	virtual ~DataSpace();
 };

Modified: packages/hdf5/trunk/c++/src/H5DataType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5DataType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DataType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -25,23 +26,31 @@
 #include "H5PropList.h"
 #include "H5DataSpace.h"
 #include "H5Object.h"
+#include "H5FaccProp.h"
+#include "H5FcreatProp.h"
 #include "H5DcreatProp.h"
+#include "H5DxferProp.h"
 #include "H5CommonFG.h"
 #include "H5DataType.h"
 #include "H5AtomType.h"
 #include "H5PredType.h"
 #include "H5private.h"
+#include "H5AbstractDs.h"
+#include "H5DataSet.h"
+#include "H5File.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
 // Function:	DataType overloaded constructor
 ///\brief	Creates a datatype using an existing datatype's id
 ///\param	existing_id - IN: Id of the existing datatype
-///\param	predefined  - IN: Indicates whether or not this datatype is
-///		a predefined datatype; default to \c false
 // Description
 //		Constructor creates a copy of an existing DataType using
 //		its id.  The argument "predefined" is default to false;
@@ -51,7 +60,7 @@
 //		- BMR 5/2004
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType(const hid_t existing_id, bool predefined) : H5Object(existing_id), is_predtype(predefined) {}
+DataType::DataType(const hid_t existing_id) : H5Object(existing_id) {}
 
 //--------------------------------------------------------------------------
 // Function:	DataType overloaded constructor
@@ -61,7 +70,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object(), is_predtype( false )
+DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object()
 {
    // Call C routine to create the new datatype
    id = H5Tcreate( type_class, size );
@@ -72,21 +81,33 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	DataType overload constructor - dereference
+///\brief	Given a reference to some object, returns that datatype
+///\param       obj - IN: Location reference object is in
+///\param	ref - IN: Reference pointer
+///\par Description
+///		\c obj can be DataSet, Group, H5File, or named DataType, that 
+///		is a datatype that has been named by DataType::commit.
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+DataType::DataType(IdComponent& obj, void* ref) : H5Object()
+{
+   IdComponent::dereference(obj, ref);
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataType default constructor
 ///\brief	Default constructor: Creates a stub datatype
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType() : H5Object(), is_predtype( false ) {}
+DataType::DataType() : H5Object() {}
 
 //--------------------------------------------------------------------------
 // Function:	DataType copy constructor
 ///\brief	Copy constructor: makes a copy of the original DataType object.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-DataType::DataType(const DataType& original) : H5Object(original)
-{
-   is_predtype = original.is_predtype; // copy data member from original
-}
+DataType::DataType(const DataType& original) : H5Object(original) {}
 
 //--------------------------------------------------------------------------
 // Function:	DataType::copy
@@ -95,27 +116,50 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Jun 1, 2004
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void DataType::copy( const DataType& like_type )
 {
-   // reset the identifier of this instance, H5Tclose will be called
-   // if needed
-   if( is_predtype == false ) {
-        try {
-            decRefCount();
-        }
-        catch (Exception close_error) {
-            throw DataTypeIException(inMemFunc("copy"), close_error.getDetailMsg());
-        }
+    // close the current data type before copying like_type to this object
+    try {
+	close();
     }
+    catch (Exception close_error) {
+	throw DataTypeIException(inMemFunc("copy"), close_error.getDetailMsg());
+    }
 
-   // call C routine to copy the datatype
-   id = H5Tcopy( like_type.getId() );
+    // call C routine to copy the datatype
+    id = H5Tcopy( like_type.getId() );
+    if( id < 0 )
+	throw DataTypeIException(inMemFunc("copy"), "H5Tcopy failed");
+}
 
-   if( id < 0 )
-      throw DataTypeIException(inMemFunc("copy"), "H5Tcopy failed");
+//--------------------------------------------------------------------------
+// Function:	DataType::copy
+///\brief	Copies the datatype of the given dataset to this datatype object
+///\param	dset - IN: Dataset 
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - Jan, 2007
+///\par Description
+///		The resulted dataset will be transient and modifiable.
+//--------------------------------------------------------------------------
+void DataType::copy(const DataSet& dset)
+{
+    // close the current data type before copying dset's datatype to this object
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	throw DataTypeIException(inMemFunc("copy"), close_error.getDetailMsg());
+    }
+
+    // call C routine to copy the datatype
+    id = H5Tcopy( dset.getId() );
+    if( id < 0 )
+	throw DataTypeIException(inMemFunc("copy"), "H5Tcopy failed");
 }
 
 //--------------------------------------------------------------------------
@@ -131,8 +175,9 @@
 //--------------------------------------------------------------------------
 DataType& DataType::operator=( const DataType& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
 //--------------------------------------------------------------------------
@@ -155,49 +200,91 @@
       return false;
    else
    {
-      throw DataTypeIException(inMemFunc("operator=="),
-		"H5Tequal returns negative value");
+      throw DataTypeIException(inMemFunc("operator=="), "H5Tequal returns negative value");
    }
 }
 
 //--------------------------------------------------------------------------
+// Function:	DataType::p_commit (private)
+//\brief	Commits a transient datatype to a file, creating a new
+//		named datatype
+//\param	loc_id - IN: The id of either a file, group, dataset, named 
+//			 datatype, or attribute.
+//\param	name - IN: Name of the datatype
+//\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - 2000
+// Modification:
+//		Copied from DataType::commit and made into private function
+//		to be commonly used by several overloads of DataType::commit.
+//		BMR - Jan, 2007
+//--------------------------------------------------------------------------
+void DataType::p_commit(hid_t loc_id, const char* name)
+{
+   // Call C routine to commit the transient datatype
+   herr_t ret_value = H5Tcommit(loc_id, name, id);
+   if( ret_value < 0 )
+   {
+      throw DataTypeIException(inMemFunc("p_commit"), "H5Tcommit failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	DataType::commit
 ///\brief	Commits a transient datatype to a file, creating a new
 ///		named datatype
-///\param	loc - IN: Either a file or a group
+///\param	loc - IN: A file
 ///\param	name - IN: Name of the datatype
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::commit(CommonFG& loc, const char* name) const
+void DataType::commit(H5File& loc, const char* name)
 {
-   hid_t loc_id = loc.getLocId(); // get location id for C API
+   p_commit(loc.getLocId(), name);
+}
 
-   // Call C routine to commit the transient datatype
-   herr_t ret_value = H5Tcommit( loc_id, name, id );
-   if( ret_value < 0 )
-   {
-      throw DataTypeIException(inMemFunc("commit"), "H5Tcommit failed");
-   }
+//--------------------------------------------------------------------------
+// Function:	DataType::commit
+///\brief	This is an overloaded member function, provided for convenience.
+///		It differs from the above function only in the type of the
+///		argument \a name.
+// Programmer	Binh-Minh Ribler - 2000
+//--------------------------------------------------------------------------
+void DataType::commit(H5File& loc, const H5std_string& name)
+{
+   p_commit(loc.getLocId(), name.c_str());
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataType::commit
+///\brief	Commits a transient datatype to a file, creating a new
+///		named datatype
+///\param	loc - IN: Either a group, dataset, named datatype, or attribute.
+///\param	name - IN: Name of the datatype
+///\exception	H5::DataTypeIException
+// Programmer	Binh-Minh Ribler - Jan, 2007
+//--------------------------------------------------------------------------
+void DataType::commit(H5Object& loc, const char* name)
+{
+   p_commit(loc.getId(), name);
+}
+
+//--------------------------------------------------------------------------
+// Function:	DataType::commit
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function only in the type of the
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::commit(CommonFG& loc, const string& name) const
+void DataType::commit(H5Object& loc, const H5std_string& name)
 {
-   commit( loc, name.c_str() );
+   p_commit(loc.getId(), name.c_str());
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataType::committed
 ///\brief	Determines whether a datatype is a named type or a
 ///		transient type.
-///\return	\c true if the datatype is a named type, and \c false, 
+///\return	\c true if the datatype is a named type, and \c false,
 ///		otherwise.
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
@@ -250,7 +337,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::convert( const DataType& dest, size_t nelmts, void *buf, void *background, PropList& plist ) const
+void DataType::convert( const DataType& dest, size_t nelmts, void *buf, void *background, const PropList& plist ) const
 {
    // Get identifiers for C API
    hid_t dest_id = dest.getId();
@@ -280,7 +367,7 @@
 ///		The function specified by \a func will be called for all 
 ///		data type conversions that result in an overflow.
 ///		For more information, please see:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOverflow
+/// <A HREF="../RM_H5T.html#Datatype-SetOverflow">../RM_H5T.html#Datatype-SetOverflow</A>
 // Programmer	Binh-Minh Ribler - 2004
 //--------------------------------------------------------------------------
 void DataType::setOverflow( H5T_overflow_t func ) const
@@ -346,8 +433,7 @@
    // Return datatype class identifier if successful
    if( type_class == H5T_NO_CLASS )
    {
-      throw DataTypeIException(inMemFunc("getClass"),
-		"H5Tget_class returns H5T_NO_CLASS");
+      throw DataTypeIException(inMemFunc("getClass"), "H5Tget_class returns H5T_NO_CLASS");
    }
    return( type_class );
 }
@@ -365,8 +451,7 @@
    size_t type_size = H5Tget_size( id );
    if( type_size <= 0 ) // valid data types are never zero size
    {
-      throw DataTypeIException(inMemFunc("getSize"),
-		"H5Tget_size returns invalid datatype size");
+      throw DataTypeIException(inMemFunc("getSize"), "H5Tget_size returns invalid datatype size");
    }
    return( type_size );
 }
@@ -410,7 +495,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For more information, please see:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-Register
+/// <A HREF="../RM_H5T.html#Datatype-Register">../RM_H5T.html#Datatype-Register</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DataType::registerFunc( H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const
@@ -432,7 +517,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::registerFunc( H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const
+void DataType::registerFunc( H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const
 {
    registerFunc( pers, name.c_str(), dest, func );
 }
@@ -469,7 +554,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::unregister( H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const
+void DataType::unregister( H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const
 {
    unregister( pers, name.c_str(), dest, func );
 }
@@ -499,7 +584,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DataType::setTag( const string& tag ) const
+void DataType::setTag( const H5std_string& tag ) const
 {
    setTag( tag.c_str());
 }
@@ -511,23 +596,22 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string DataType::getTag() const
+H5std_string DataType::getTag() const
 {
-   char* tag_Cstr = H5Tget_tag( id );
+    char* tag_Cstr = H5Tget_tag( id );
 
-   // if the tag C-string returned is not NULL, convert it to C++ string
-   // and return it, otherwise, raise an exception
-   if( tag_Cstr != NULL )
-   {
-      string tag = string(tag_Cstr); // convert C string to string object
+    // if the tag C-string returned is not NULL, convert it to C++ string
+    // and return it, otherwise, raise an exception
+    if( tag_Cstr != NULL )
+    {
+	H5std_string tag = H5std_string(tag_Cstr); // C string to string object
 	HDfree(tag_Cstr); // free the C string
-      return (tag); // return the tag
-   }
-   else
-   {
-      throw DataTypeIException(inMemFunc("getTag"),
-		"H5Tget_tag returns NULL for tag");
-   }
+	return (tag); // return the tag
+    }
+    else
+    {
+	throw DataTypeIException(inMemFunc("getTag"), "H5Tget_tag returns NULL for tag");
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -549,7 +633,7 @@
    else
    {
       throw DataTypeIException(inMemFunc("detectClass"),
-		"H5Tdetect_class returns negative value");
+				"H5Tdetect_class returns negative value");
    }
 }
 
@@ -571,18 +655,15 @@
    else
    {
       throw DataTypeIException(inMemFunc("isVariableStr"),
-                "H5Tis_variable_str returns negative value");
+				"H5Tis_variable_str returns negative value");
    }
 }
 
 //--------------------------------------------------------------------------
 // Function:	DataType::Reference
-///\brief	Creates a reference to an HDF5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataType::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataType::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
@@ -597,16 +678,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	DataType::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataType::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* DataType::Reference(const char* name) const
@@ -621,13 +695,12 @@
 
 //--------------------------------------------------------------------------
 // Function:	DataType::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it takes an
-///		\c std::string for the object's name.
-///\param	name - IN: Name of the object to be referenced - \c std::string
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		DataType::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* DataType::Reference(const string& name) const
+void* DataType::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -642,7 +715,7 @@
 ///			\li \c H5G_GROUP Object is a group.
 ///			\li \c H5G_DATASET   Object is a dataset.
 ///			\li \c H5G_TYPE Object is a named datatype
-///\exception	H5::IdComponentException
+///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t DataType::getObjType(void *ref, H5R_type_t ref_type) const
@@ -661,7 +734,7 @@
 ///\param	ref      - IN: Reference to get region of
 ///\param	ref_type - IN: Type of reference to get region of - default
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace DataType::getRegion(void *ref, H5R_type_t ref_type) const
@@ -684,19 +757,16 @@
 //--------------------------------------------------------------------------
 void DataType::close()
 {
-   // If this datatype is not a predefined type, call H5Tclose on it.
-   if( is_predtype == false )
-   {
-      herr_t ret_value = H5Tclose(id);
-      if( ret_value < 0 )
-      {
-         throw DataTypeIException(inMemFunc("close"), "H5Tclose failed");
-      }
-      // reset the id because the datatype that it represents is now closed
-      id = 0;
-   }
-   else // cannot close a predefined type
-      throw DataTypeIException(inMemFunc("close"), "Cannot close a predefined type");
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Tclose(id);
+	if( ret_value < 0 )
+	{
+	    throw DataTypeIException(inMemFunc("close"), "H5Tclose failed");
+	}
+	// reset the id because the datatype that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -704,20 +774,19 @@
 ///\brief	Properly terminates access to this datatype.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Jun 1, 2004
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 DataType::~DataType()
 {
-   // The datatype id will be closed properly
-   if( is_predtype == false ) {
-        try {
-            decRefCount();
-        }
-        catch (Exception close_error) {
-            cerr << inMemFunc("~DataType - ") << close_error.getDetailMsg() << endl;
-        }
+    try {
+	close();
     }
+    catch (Exception close_error) {
+	cerr << inMemFunc("~DataType - ") << close_error.getDetailMsg() << endl;
+    }
 }
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/trunk/c++/src/H5DataType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5DataType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DataType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DataType_H
@@ -28,19 +29,27 @@
 	// Copy constructor: makes a copy of the original object
 	DataType( const DataType& original );
 
+	// Creates a datatype by way of dereference.
+	DataType(IdComponent& obj, void* ref);
+
 	// Closes this datatype.
 	virtual void close();
 
-	// Copies an existing datatype to this datatype object
-	void copy( const DataType& like_type );
+	// Copies an existing datatype to this datatype object.
+	void copy(const DataType& like_type);
 
+	// Copies the datatype of dset to this datatype object.
+	void copy(const DataSet& dset);
+
 	// Returns the datatype class identifier.
 	H5T_class_t getClass() const;
 
 	// Commits a transient datatype to a file; this datatype becomes
 	// a named datatype which can be accessed from the location.
-	void commit( CommonFG& loc, const char* name ) const;
-	void commit( CommonFG& loc, const string& name ) const;
+	void commit( H5File& loc, const char* name);
+	void commit( H5File& loc, const H5std_string& name);
+	void commit( H5Object& loc, const char* name);
+	void commit( H5Object& loc, const H5std_string& name);
 
 	// Determines whether this datatype is a named datatype or
 	// a transient datatype.
@@ -51,7 +60,7 @@
 	H5T_conv_t find( const DataType& dest, H5T_cdata_t **pcdata ) const;
 
 	// Converts data from between specified datatypes.
-	void convert( const DataType& dest, size_t nelmts, void *buf, void *background, PropList& plist ) const;
+	void convert( const DataType& dest, size_t nelmts, void *buf, void *background, const PropList& plist=PropList::DEFAULT) const;
 
 	// Assignment operator
 	DataType& operator=( const DataType& rhs );
@@ -77,18 +86,18 @@
 
 	// Registers a conversion function.
 	void registerFunc(H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const;
-	void registerFunc(H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const;
+	void registerFunc(H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const;
 
 	// Removes a conversion function from all conversion paths.
 	void unregister( H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const;
-	void unregister( H5T_pers_t pers, const string& name, const DataType& dest, H5T_conv_t func ) const;
+	void unregister( H5T_pers_t pers, const H5std_string& name, const DataType& dest, H5T_conv_t func ) const;
 
 	// Tags an opaque datatype.
 	void setTag( const char* tag ) const;
-	void setTag( const string& tag ) const;
+	void setTag( const H5std_string& tag ) const;
 
 	// Gets the tag associated with an opaque datatype.
-	string getTag() const;
+	H5std_string getTag() const;
 
 	// Checks whether this datatype contains (or is) a certain type class.
 	bool detectClass(H5T_class_t cls) const;
@@ -96,35 +105,33 @@
 	// Checks whether this datatype is a variable-length string.
 	bool isVariableStr() const;
 
-	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
-
-	// Creates a reference to a named Hdf5 object or to a dataset region
+	// Creates a reference to a named HDF5 object or to a dataset region
 	// in this object.
-	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
+	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
 
+	// Creates a reference to a named HDF5 object in this object.
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
+
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("DataType"); }
+	virtual H5std_string fromClass () const { return("DataType"); }
 
 	// Creates a copy of an existing DataType using its id
-	DataType( const hid_t type_id, bool predtype = false );
+	DataType( const hid_t type_id );
 
 	// Default constructor
 	DataType();
 
 	// Destructor: properly terminates access to this datatype.
 	virtual ~DataType();
-
-   protected:
-	bool is_predtype;	// indicates a type is predefined so
-				// H5Tclose will not be called for it
+   private:
+	void p_commit(hid_t loc_id, const char* name);
 };
 #ifndef H5_NO_NAMESPACE
 }

Modified: packages/hdf5/trunk/c++/src/H5DcreatProp.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5DcreatProp.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DcreatProp.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -106,7 +107,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information on setting layout type, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetLayout
+/// <A HREF="../RM_H5P.html#Property-SetLayout">../RM_H5P.html#Property-SetLayout</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DSetCreatPropList::setLayout(H5D_layout_t layout) const
@@ -169,6 +170,33 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	DSetCreatPropList::setSzip
+///\brief	Sets up for the use of the SZIP compression filter.
+///\param	options_mask     - IN: A bit-mask conveying the desired SZIP
+///			options.  Valid values are H5_SZIP_EC_OPTION_MASK
+///			and H5_SZIP_NN_OPTION_MASK.
+///\param	pixels_per_block - IN: Number of pixels or data elements in
+///			each data block.
+///\exception	H5::PropListIException
+///\par Description
+///		The associate C function sets an SZIP compression filter,
+///		H5Z_FILTER_SZIP, for a dataset.  For more information about
+///		SZIP and usage, please refer to the C layer Reference
+///		Manual at:
+/// <A HREF="../RM_H5P.html#Property-SetSzip">../RM_H5P.html#Property-SetSzip</A>
+// Programmer	Binh-Minh Ribler - Jan, 2007
+//--------------------------------------------------------------------------
+void DSetCreatPropList::setSzip(unsigned int options_mask, unsigned int pixels_per_block) const
+{
+    herr_t ret_value = H5Pset_szip(id, options_mask, pixels_per_block);
+    if( ret_value < 0 )
+    {
+	throw PropListIException("DSetCreatPropList::setSzip",
+		"H5Pset_szip failed");
+    }
+}
+
+//--------------------------------------------------------------------------
 // Function:	DSetCreatPropList::setFillValue
 ///\brief	Sets a dataset fill value
 ///\param	fvalue_type - IN: Data type for the value passed via \a value
@@ -183,7 +211,7 @@
 ///\par
 ///		For information on setting fill value, please refer to the
 ///		C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFillValue
+/// <A HREF="../RM_H5P.html#Property-SetFillValue">../RM_H5P.html#Property-SetFillValue</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void DSetCreatPropList::setFillValue( const DataType& fvalue_type, const void* value ) const
@@ -229,7 +257,7 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5D_fill_value_t DSetCreatPropList::isFillValueDefined()
+H5D_fill_value_t DSetCreatPropList::isFillValueDefined() const
 {
    H5D_fill_value_t status;
    herr_t ret_value = H5Pfill_value_defined(id, &status);
@@ -262,7 +290,8 @@
 ///		and the filter fails then the entire I/O operation fails.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const
+void DSetCreatPropList::setFilter( H5Z_filter_t filter_id, unsigned int flags, 
+	size_t cd_nelmts, const unsigned int cd_values[] ) const
 {
    herr_t ret_value = H5Pset_filter( id, filter_id, flags, cd_nelmts, cd_values );
    if( ret_value < 0 )
@@ -327,8 +356,9 @@
 ///\par Description
 ///		Failure occurs when \a filter_number is out of range.
 //--------------------------------------------------------------------------
-H5Z_filter_t DSetCreatPropList::getFilter(int filter_number, unsigned int &flags, size_t &cd_nelmts,
-                    unsigned int* cd_values, size_t namelen, char name[] ) const
+H5Z_filter_t DSetCreatPropList::getFilter(int filter_number, 
+	unsigned int &flags, size_t &cd_nelmts, unsigned int* cd_values, 
+	size_t namelen, char name[] ) const
 {
    H5Z_filter_t filter_id;
    filter_id = H5Pget_filter( id, filter_number, &flags, &cd_nelmts,
@@ -356,8 +386,9 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::getFilterById(H5Z_filter_t filter_id, unsigned int &flags, size_t &cd_nelmts,
-                unsigned int* cd_values, size_t namelen, char name[]) const
+void DSetCreatPropList::getFilterById(H5Z_filter_t filter_id, 
+	unsigned int &flags, size_t &cd_nelmts, unsigned int* cd_values, 
+	size_t namelen, char name[]) const
 {
    herr_t ret_value = H5Pget_filter_by_id(id, filter_id, &flags, &cd_nelmts,
                                 cd_values, namelen, name );
@@ -389,7 +420,8 @@
 ///		and the filter fails then the entire I/O operation fails.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::modifyFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const
+void DSetCreatPropList::modifyFilter( H5Z_filter_t filter_id, unsigned int 
+	flags, size_t cd_nelmts, const unsigned int cd_values[] ) const
 {
    herr_t ret_value = H5Pmodify_filter(id, filter_id, flags, cd_nelmts, cd_values);
    if( ret_value < 0 )
@@ -408,7 +440,7 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-bool DSetCreatPropList::allFiltersAvail()
+bool DSetCreatPropList::allFiltersAvail() const
 {
    htri_t ret_value = H5Pall_filters_avail(id);
    if( ret_value > 0 )
@@ -429,10 +461,10 @@
 ///\par Description
 ///		Please refer to the Reference Manual of \c H5Pset_shuffle for
 ///		details.
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetShuffle
+/// <A HREF="../RM_H5P.html#Property-SetShuffle">../RM_H5P.html#Property-SetShuffle</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setShuffle()
+void DSetCreatPropList::setShuffle() const
 {
    herr_t ret_value = H5Pset_shuffle(id);
    if( ret_value < 0 )
@@ -456,7 +488,7 @@
 ///		\li \c H5D_ALLOC_TIME_INCR
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5D_alloc_time_t DSetCreatPropList::getAllocTime()
+H5D_alloc_time_t DSetCreatPropList::getAllocTime() const
 {
    H5D_alloc_time_t alloc_time;
    herr_t ret_value = H5Pget_alloc_time(id, &alloc_time);
@@ -480,7 +512,7 @@
 ///		\li \c H5D_FILL_TIME_ALLOC.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5D_fill_time_t DSetCreatPropList::getFillTime()
+H5D_fill_time_t DSetCreatPropList::getFillTime() const
 {
    H5D_fill_time_t fill_time;
    herr_t ret_value = H5Pget_fill_time(id, &fill_time);
@@ -506,7 +538,7 @@
 ///		\li \c H5D_ALLOC_TIME_INCR
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setAllocTime(H5D_alloc_time_t alloc_time)
+void DSetCreatPropList::setAllocTime(H5D_alloc_time_t alloc_time) const
 {
    herr_t ret_value = H5Pset_alloc_time(id, alloc_time);
    if( ret_value < 0 )
@@ -527,7 +559,7 @@
 ///		\li \c H5D_FILL_TIME_ALLOC.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setFillTime(H5D_fill_time_t fill_time)
+void DSetCreatPropList::setFillTime(H5D_fill_time_t fill_time) const
 {
    herr_t ret_value = H5Pset_fill_time(id, fill_time);
    if( ret_value < 0 )
@@ -544,7 +576,7 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void DSetCreatPropList::setFletcher32()
+void DSetCreatPropList::setFletcher32() const
 {
    herr_t ret_value = H5Pset_fletcher32(id);
    if( ret_value < 0 )

Modified: packages/hdf5/trunk/c++/src/H5DcreatProp.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5DcreatProp.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DcreatProp.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DSCreatPropList_H
@@ -25,15 +26,18 @@
 	// Default dataset creation property list.
 	static const DSetCreatPropList DEFAULT;
 
+	// Creates a dataset creation property list.
+	DSetCreatPropList();
+
 	// Queries whether all the filters set in this property list are
 	// available currently.
-	bool allFiltersAvail();
+	bool allFiltersAvail() const;
 
 	// Get space allocation time for this property.
-	H5D_alloc_time_t getAllocTime();
+	H5D_alloc_time_t getAllocTime() const;
 
 	// Set space allocation time for dataset during creation.
-	void setAllocTime(H5D_alloc_time_t alloc_time);
+	void setAllocTime(H5D_alloc_time_t alloc_time) const;
 
 	// Retrieves the size of the chunks used to store a chunked layout dataset.
 	int getChunk( int max_ndims, hsize_t* dim ) const;
@@ -48,10 +52,10 @@
 	int getExternalCount() const;
 
 	// Gets fill value writing time.
-	H5D_fill_time_t getFillTime();
+	H5D_fill_time_t getFillTime() const;
 
 	// Sets fill value writing time for dataset.
-	void setFillTime(H5D_fill_time_t fill_time);
+	void setFillTime(H5D_fill_time_t fill_time) const;
 
 	// Retrieves a dataset fill value.
 	void getFillValue( const DataType& fvalue_type, void* value ) const;
@@ -77,7 +81,7 @@
 	int getNfilters() const;
 
 	// Checks if fill value has been defined for this property.
-	H5D_fill_value_t isFillValueDefined();
+	H5D_fill_value_t isFillValueDefined() const;
 
 	// Modifies the specified filter.
 	void modifyFilter( H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const;
@@ -92,20 +96,20 @@
 	void setExternal( const char* name, off_t offset, hsize_t size ) const;
 
 	// Adds a filter to the filter pipeline.
-	void setFilter( H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[] ) const;
+	void setFilter( H5Z_filter_t filter, unsigned int flags = 0, size_t cd_nelmts = 0, const unsigned int cd_values[] = NULL) const;
 
 	// Sets Fletcher32 checksum of EDC for this property list.
-	void setFletcher32();
+	void setFletcher32() const;
 
 	// Sets method of the shuffle filter.
-	void setShuffle();
+	void setShuffle() const;
 
+	// Sets SZIP compression method.
+	void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const;
+
 	// Returns this class name
-	virtual string fromClass () const { return("DSetCreatPropList"); }
+	virtual H5std_string fromClass () const { return("DSetCreatPropList"); }
 
-	// Default constructor: creates a stub dataset creation property list.
-	DSetCreatPropList();
-
 	// Copy constructor: creates a copy of a DSetCreatPropList object.
 	DSetCreatPropList(const DSetCreatPropList& orig);
 

Modified: packages/hdf5/trunk/c++/src/H5DxferProp.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5DxferProp.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DxferProp.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -33,27 +34,27 @@
 // Function     Default constructor
 ///\brief	Default constructor: creates a stub dataset memory and
 ///		transfer property list object.
-// Programmer:  Binh-Minh Ribler - 2000
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 DSetMemXferPropList::DSetMemXferPropList() : PropList(H5P_DATASET_XFER) {}
 
 //--------------------------------------------------------------------------
-// Function     DSetMemXferPropList copy constructor
+// Function	DSetMemXferPropList copy constructor
 ///\brief	Copy constructor: makes a copy of the original
 ///		DSetMemXferPropList object
-///\param       original - IN: Original dataset memory and transfer property
+///\param	original - IN: Original dataset memory and transfer property
 ///				list object to copy
-// Programmer:  Binh-Minh Ribler - 2000
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 DSetMemXferPropList::DSetMemXferPropList(const DSetMemXferPropList& original) : PropList(original) {}
 
 //--------------------------------------------------------------------------
-// Function     DSetMemXferPropList overloaded constructor
+// Function	DSetMemXferPropList overloaded constructor
 ///\brief	Creates a DSetMemXferPropList object using the id of an
 ///		existing DSetMemXferPropList.
-///\param       plist_id - IN: Id of an existing dataset memory and transfer
+///\param	plist_id - IN: Id of an existing dataset memory and transfer
 ///				property list
-// Programmer:  Binh-Minh Ribler - 2000
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 DSetMemXferPropList::DSetMemXferPropList(const hid_t plist_id) : PropList(plist_id) {}
 
@@ -274,7 +275,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::setVlenMemManager
 ///\brief	Sets the memory manager for variable-length datatype allocation.
-///\param       alloc_func - IN: User's allocate routine
+///\param	alloc_func - IN: User's allocate routine
 ///\param	alloc_info - IN: User's allocation parameters
 ///\param	free_func  - IN: User's free routine
 ///\param	free_info  - IN: User's free parameters
@@ -308,7 +309,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::getVlenMemManager
 ///\brief	Gets the memory manager for variable-length datatype allocation
-///\param       alloc_func - OUT: User's allocate routine
+///\param	alloc_func - OUT: User's allocate routine
 ///\param	alloc_info - OUT: User's allocation parameters
 ///\param	free_func  - OUT: User's free routine
 ///\param	free_info  - OUT: User's free parameters
@@ -328,7 +329,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::setMulti
 ///\brief	Sets the data transfer property list for the multi-file driver.
-///\param       memb_dxpl - OUT: Array of data access property lists
+///\param	memb_dxpl - OUT: Array of data access property lists
 ///\exception	H5::PropListIException
 ///\par Description
 ///		This function can only be used after the member map has
@@ -348,7 +349,7 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::getMulti
 ///\brief	Returns multi-file data transfer property list information.
-///\param       memb_dxpl - OUT: Array of data access property lists
+///\param	memb_dxpl - OUT: Array of data access property lists
 ///\exception	H5::PropListIException
 // Programmer:	Binh-Minh Ribler - July, 2004
 //--------------------------------------------------------------------------
@@ -365,11 +366,11 @@
 //--------------------------------------------------------------------------
 // Function:	DSetMemXferPropList::setSmallDataBlockSize
 ///\brief	Sets the size of a contiguous block reserved for small data.
-///\param       size - IN: Maximum size, in bytes, of the small data block.
+///\param	size - IN: Maximum size, in bytes, of the small data block.
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail, please refer to the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSmallData
+/// <A HREF="../RM_H5P.html#Property-SetSmallData">../RM_H5P.html#Property-SetSmallData</A>
 // Programmer:	Binh-Minh Ribler - July, 2004
 //--------------------------------------------------------------------------
 void DSetMemXferPropList::setSmallDataBlockSize(hsize_t size)
@@ -409,7 +410,7 @@
 ///\par Description
 ///		For information, please refer to the C layer Reference
 ///		Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetHyperVectorSize
+/// <A HREF="../RM_H5P.html#Property-SetHyperVectorSize">../RM_H5P.html#Property-SetHyperVectorSize</A>
 // Programmer:	Binh-Minh Ribler - July, 2004
 //--------------------------------------------------------------------------
 void DSetMemXferPropList::setHyperVectorSize(size_t vector_size)
@@ -423,7 +424,7 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:	DSetMemXferPropList::getSmallDataBlockSize
+// Function:	DSetMemXferPropList::getHyperVectorSize
 ///\brief	Returns the number of I/O vectors to be read/written in
 ///		hyperslab I/O.
 ///\return	Number of I/O vectors

Modified: packages/hdf5/trunk/c++/src/H5DxferProp.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5DxferProp.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5DxferProp.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5DSetMemXferPropList_H
@@ -24,6 +25,9 @@
    public:
 	static const DSetMemXferPropList DEFAULT;
 
+	// Creates a dataset memory and transfer property list.
+	DSetMemXferPropList();
+
 #ifdef H5_WANT_H5_V1_4_COMPAT
         // Sets type conversion and background buffers.
         void setBuffer( hsize_t size, void* tconv, void* bkg ) const;
@@ -45,10 +49,10 @@
         size_t getBuffer( void** tconv, void** bkg ) const;
 #endif /* H5_WANT_H5_V1_4_COMPAT */
 
-	// Sets B-tree split ratios for a dataset transfer property list
+	// Sets B-tree split ratios for a dataset transfer property list.
 	void setBtreeRatios( double left, double middle, double right ) const;
 
-	// Gets B-tree split ratios for a dataset transfer property list
+	// Gets B-tree split ratios for a dataset transfer property list.
 	void getBtreeRatios( double& left, double& middle, double& right ) const;
 
 	// Sets the dataset transfer property list status to TRUE or FALSE.
@@ -58,16 +62,16 @@
 	bool getPreserve() const;
 
 	// Sets the memory manager for variable-length datatype
-	// allocation in H5Dread and H5Dvlen_reclaim
+	// allocation in H5Dread and H5Dvlen_reclaim.
 	void setVlenMemManager( H5MM_allocate_t alloc, void* alloc_info,
 				H5MM_free_t free, void* free_info ) const;
 
 	// alloc and free are set to NULL, indicating that system
-	// malloc and free are to be used
+	// malloc and free are to be used.
 	void setVlenMemManager() const;
 
 	// Gets the memory manager for variable-length datatype
-	// allocation in H5Dread and H5Tvlen_reclaim
+	// allocation in H5Dread and H5Tvlen_reclaim.
 	void getVlenMemManager( H5MM_allocate_t& alloc, void** alloc_info,
 				H5MM_free_t& free, void** free_info ) const;
 
@@ -97,18 +101,15 @@
 	// Determines whether error-detection is enabled for dataset reads.
 	H5Z_EDC_t getEDCCheck();
 
-	// Returns this class name
-	virtual string fromClass () const { return("DSetMemXferPropList"); }
+	// Returns this class name.
+	virtual H5std_string fromClass () const { return("DSetMemXferPropList"); }
 
-	// Default constructor: creates a dataset memory and transfer prop list.
-	DSetMemXferPropList();
-
 	// Copy constructor: makes a copy of a DSetMemXferPropList object.
 	DSetMemXferPropList(const DSetMemXferPropList& orig);
 
 	// Creates a copy of an existing dataset memory and transfer
 	// property list using the property list id.
-	DSetMemXferPropList (const hid_t plist_id);
+	DSetMemXferPropList(const hid_t plist_id);
 
 	// Noop destructor
 	virtual ~DSetMemXferPropList();

Modified: packages/hdf5/trunk/c++/src/H5EnumType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5EnumType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5EnumType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -132,7 +133,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void EnumType::insert( const string& name, void *value ) const
+void EnumType::insert( const H5std_string& name, void *value ) const
 {
     insert( name.c_str(), value );
 }
@@ -146,7 +147,7 @@
 ///\exception	H5::DataTypeIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string EnumType::nameOf( void *value, size_t size ) const
+H5std_string EnumType::nameOf( void *value, size_t size ) const
 {
    char* name_C = new char[size+1];  // temporary C-string for C API
 
@@ -159,7 +160,7 @@
       throw DataTypeIException("EnumType::nameOf", "H5Tenum_nameof failed");
    }
    // otherwise, create the string to hold the datatype name and return it
-   string name = string( name_C );
+   H5std_string name = H5std_string(name_C);
    delete []name_C;
    return( name );
 }
@@ -190,7 +191,7 @@
 ///		argument \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void EnumType::valueOf( const string& name, void *value ) const
+void EnumType::valueOf( const H5std_string& name, void *value ) const
 {
     valueOf( name.c_str(), value );
 }
@@ -223,7 +224,7 @@
 ///		argument \a name.
 // Programmer   Binh-Minh Ribler - May 16, 2002
 //--------------------------------------------------------------------------
-int EnumType::getMemberIndex(const string& name) const
+int EnumType::getMemberIndex(const H5std_string& name) const
 {
     return(EnumType::getMemberIndex(name.c_str()));
 }

Modified: packages/hdf5/trunk/c++/src/H5EnumType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5EnumType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5EnumType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5EnumType_H
@@ -38,26 +39,26 @@
 
 	// Returns the index of a member in this enumeration data type.
 	int getMemberIndex(const char* name) const;
-	int getMemberIndex(const string& name) const;
+	int getMemberIndex(const H5std_string& name) const;
 
 	// Returns the value of an enumeration datatype member
 	void getMemberValue( unsigned memb_no, void *value ) const;
 
 	// Inserts a new member to this enumeration type.
 	void insert( const char* name, void *value ) const;
-	void insert( const string& name, void *value ) const;
+	void insert( const H5std_string& name, void *value ) const;
 
 	// Returns the symbol name corresponding to a specified member
 	// of this enumeration datatype.
-	string nameOf( void *value, size_t size ) const;
+	H5std_string nameOf( void *value, size_t size ) const;
 
 	// Returns the value corresponding to a specified member of this
 	// enumeration datatype.
 	void valueOf( const char* name, void *value ) const;
-	void valueOf( const string& name, void *value ) const;
+	void valueOf( const H5std_string& name, void *value ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("EnumType"); }
+	virtual H5std_string fromClass () const { return("EnumType"); }
 
 	// Default constructor
 	EnumType();

Modified: packages/hdf5/trunk/c++/src/H5Exception.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5Exception.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Exception.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,21 +9,20 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
+#include <string>
+
 #include "H5Include.h"
 #include "H5Exception.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
-#ifndef H5_NO_STD
-    using namespace std;
-#endif  // H5_NO_STD
 #endif
 
-const string Exception::DEFAULT_MSG("No detailed information provided");
+const H5std_string Exception::DEFAULT_MSG("No detailed information provided");
 
 //--------------------------------------------------------------------------
 // Function:	Exception default constructor
@@ -39,7 +39,7 @@
 ///\param	message   - IN: Message on the failure
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Exception::Exception(const string func_name, const string message) : detail_message(message), func_name(func_name) {}
+Exception::Exception(const H5std_string& func_name, const H5std_string& message) : detail_message(message), func_name(func_name) {}
 
 //--------------------------------------------------------------------------
 // Function:	Exception copy constructor
@@ -64,11 +64,11 @@
 ///		will be returned.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getMajorString(H5E_major_t err_major) const
+H5std_string Exception::getMajorString(H5E_major_t err_major) const
 {
    // calls the C API routine to get the major string - Note: in the
    // failure case, the string "Invalid major error number" will be returned.
-   string major_str(H5Eget_major(err_major));
+   H5std_string major_str(H5Eget_major(err_major));
    return( major_str );
 }
 
@@ -83,11 +83,11 @@
 ///		will be returned.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getMinorString(H5E_minor_t err_minor) const
+H5std_string Exception::getMinorString(H5E_minor_t err_minor) const
 {
    // calls the C API routine to get the minor string - Note: in the
    // failure case, the string "Invalid minor error number" will be returned.
-   string minor_str(H5Eget_minor(err_minor));
+   H5std_string minor_str(H5Eget_minor(err_minor));
    return( minor_str );
 }
 
@@ -218,10 +218,10 @@
 // Function:	Exception::getDetailMsg
 ///\brief	Returns the detailed message set at the time the exception
 ///		is thrown.
-///\return	Text message - \c std::string
+///\return	Text message - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getDetailMsg() const
+H5std_string Exception::getDetailMsg() const
 {
    return(detail_message);
 }
@@ -241,10 +241,10 @@
 //--------------------------------------------------------------------------
 // Function:	Exception::getFuncName
 ///\brief	Returns the name of the function, where the exception is thrown.
-///\return	Text message - \c std::string
+///\return	Text message - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-string Exception::getFuncName() const
+H5std_string Exception::getFuncName() const
 {
    return(func_name);
 }
@@ -296,7 +296,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-FileIException::FileIException(const string func_name, const string message) : Exception(func_name, message) {}
+FileIException::FileIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	FileIException destructor
 ///\brief	Noop destructor.
@@ -319,7 +319,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-GroupIException::GroupIException(const string func_name, const string message) : Exception(func_name, message) {}
+GroupIException::GroupIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	GroupIException destructor
 ///\brief	Noop destructor.
@@ -342,7 +342,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-DataSpaceIException::DataSpaceIException(const string func_name, const string message) : Exception(func_name, message) {}
+DataSpaceIException::DataSpaceIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	DataSpaceIException destructor
 ///\brief	Noop destructor.
@@ -365,7 +365,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-DataTypeIException::DataTypeIException(const string func_name, const string message) : Exception(func_name, message) {}
+DataTypeIException::DataTypeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	DataTypeIException destructor
 ///\brief	Noop destructor.
@@ -388,7 +388,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-PropListIException::PropListIException(const string func_name, const string message) : Exception(func_name, message) {}
+PropListIException::PropListIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	PropListIException destructor
 ///\brief	Noop destructor.
@@ -411,7 +411,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-DataSetIException::DataSetIException(const string func_name, const string message) : Exception(func_name, message) {}
+DataSetIException::DataSetIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	DataSetIException destructor
 ///\brief	Noop destructor.
@@ -434,7 +434,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-AttributeIException::AttributeIException(const string func_name, const string message) : Exception(func_name, message) {}
+AttributeIException::AttributeIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	AttributeIException destructor
 ///\brief	Noop destructor.
@@ -457,7 +457,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-ReferenceException::ReferenceException(const string func_name, const string message) : Exception(func_name, message) {}
+ReferenceException::ReferenceException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	ReferenceException destructor
 ///\brief	Noop destructor.
@@ -480,7 +480,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-LibraryIException::LibraryIException(const string func_name, const string message) : Exception(func_name, message) {}
+LibraryIException::LibraryIException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	LibraryIException destructor
 ///\brief	Noop destructor.
@@ -503,7 +503,7 @@
 ///\param	func_name - IN: Name of the function where failure occurs
 ///\param	message   - IN: Message on the failure
 //--------------------------------------------------------------------------
-IdComponentException::IdComponentException(const string func_name, const string message) : Exception(func_name, message) {}
+IdComponentException::IdComponentException(const H5std_string& func_name, const H5std_string& message) : Exception(func_name, message) {}
 //--------------------------------------------------------------------------
 // Function:	IdComponentException destructor
 ///\brief	Noop destructor.

Modified: packages/hdf5/trunk/c++/src/H5Exception.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Exception.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Exception.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Exception_H
@@ -20,29 +21,31 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
-#ifndef H5_NO_STD
-    using namespace std;
-#endif  // H5_NO_STD
+#ifdef H5_NO_STD
+    #define H5std_string ::string
+#else
+    #define H5std_string std::string
 #endif
+#endif
 
 class H5_DLLCPP Exception {
    public:
 	// Creates an exception with a function name where the failure occurs
 	// and an optional detailed message
-	Exception(const string func_name, const string message = DEFAULT_MSG);
+	Exception(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 
 	// Returns a character string that describes the error specified by
 	// a major error number.
-	string getMajorString( H5E_major_t major_num ) const;
+	H5std_string getMajorString( H5E_major_t major_num ) const;
 
 	// Returns a character string that describes the error specified by
 	// a minor error number.
-	string getMinorString( H5E_minor_t minor_num ) const;
+	H5std_string getMinorString( H5E_minor_t minor_num ) const;
 
 	// Returns the detailed message set at the time the exception is thrown
-	string getDetailMsg() const;
+	H5std_string getDetailMsg() const;
 	const char* getCDetailMsg() const;	// C string of detailed message
-	string getFuncName() const;	// function name as a string object
+	H5std_string getFuncName() const;	// function name as a string object
 	const char* getCFuncName() const;	// function name as a char string
 
 	// Turns on the automatic error printing.
@@ -82,80 +85,80 @@
 #if defined(WIN32)
 #pragma warning(disable: 4251)
 #endif
-	string detail_message;
-	string func_name;
+	H5std_string detail_message;
+	H5std_string func_name;
 
    protected:
         // Default value for detail_message
-        static const string DEFAULT_MSG;
+        static const H5std_string DEFAULT_MSG;
 };
 
 class H5_DLLCPP FileIException : public Exception {
    public:
-	FileIException( const string func_name, const string message = DEFAULT_MSG);
+	FileIException( const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	FileIException();
 	virtual ~FileIException();
 };
 
 class H5_DLLCPP GroupIException : public Exception {
    public:
-	GroupIException( const string func_name, const string message = DEFAULT_MSG);
+	GroupIException( const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	GroupIException();
 	virtual ~GroupIException();
 };
 
 class H5_DLLCPP DataSpaceIException : public Exception {
    public:
-	DataSpaceIException(const string func_name, const string message = DEFAULT_MSG);
+	DataSpaceIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	DataSpaceIException();
 	virtual ~DataSpaceIException();
 };
 
 class H5_DLLCPP DataTypeIException : public Exception {
    public:
-	DataTypeIException(const string func_name, const string message = DEFAULT_MSG);
+	DataTypeIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	DataTypeIException();
 	virtual ~DataTypeIException();
 };
 
 class H5_DLLCPP PropListIException : public Exception {
    public:
-	PropListIException(const string func_name, const string message = DEFAULT_MSG);
+	PropListIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	PropListIException();
 	virtual ~PropListIException();
 };
 
 class H5_DLLCPP DataSetIException : public Exception {
    public:
-	DataSetIException(const string func_name, const string message = DEFAULT_MSG);
+	DataSetIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	DataSetIException();
 	virtual ~DataSetIException();
 };
 
 class H5_DLLCPP AttributeIException : public Exception {
    public:
-	AttributeIException(const string func_name, const string message = DEFAULT_MSG);
+	AttributeIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	AttributeIException();
 	virtual ~AttributeIException();
 };
 
 class H5_DLLCPP ReferenceException : public Exception {
    public:
-	ReferenceException(const string func_name, const string message = DEFAULT_MSG);
+	ReferenceException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	ReferenceException();
 	virtual ~ReferenceException();
 };
 
 class H5_DLLCPP LibraryIException : public Exception {
    public:
-	LibraryIException(const string func_name, const string message = DEFAULT_MSG);
+	LibraryIException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	LibraryIException();
 	virtual ~LibraryIException();
 };
 
 class H5_DLLCPP IdComponentException : public Exception {
    public:
-	IdComponentException(const string func_name, const string message = DEFAULT_MSG);
+	IdComponentException(const H5std_string& func_name, const H5std_string& message = DEFAULT_MSG);
 	IdComponentException();
 	virtual ~IdComponentException();
 };

Modified: packages/hdf5/trunk/c++/src/H5FaccProp.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5FaccProp.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5FaccProp.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -31,7 +32,7 @@
 
 //--------------------------------------------------------------------------
 // Function:	Default Constructor
-///\brief	Default constructor: creates a file access property list
+///\brief	Creates a file access property list
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 FileAccPropList::FileAccPropList() : PropList( H5P_FILE_ACCESS ) {}
@@ -39,7 +40,7 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList copy constructor
 ///\brief	Copy Constructor: makes a copy of the original
-///             FileAccPropList object.
+///		FileAccPropList object.
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 FileAccPropList::FileAccPropList(const FileAccPropList& orig) : PropList(orig) {}
@@ -47,7 +48,7 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList overloaded constructor
 ///\brief	Creates a file access property list using the id of an
-///             existing one.
+///		existing one.
 // Programmer:  Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 FileAccPropList::FileAccPropList(const hid_t plist_id) : PropList(plist_id) {}
@@ -75,7 +76,7 @@
 ///		driver was set for the property list.  The driver ID is
 ///		only valid as long as the file driver remains registered.
 ///		Valid driver identifiers can be found at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver
+/// <A HREF="../RM_H5P.html#Property-GetDriver">../RM_H5P.html#Property-GetDriver</A>
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
@@ -98,7 +99,7 @@
 ///\par Description
 ///		For a list of valid driver identifiers, please see the C
 ///		layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver
+/// <A HREF="../RM_H5P.html#Property-GetDriver">../RM_H5P.html#Property-GetDriver</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setDriver(hid_t new_driver_id, const void *new_driver_info) const
@@ -156,7 +157,7 @@
 ///\par Description
 ///		For more details on the use of \c H5FD_CORE driver, please
 ///		refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplCore
+/// <A HREF="../RM_H5P.html#Property-SetFaplCore">../RM_H5P.html#Property-SetFaplCore</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setCore (size_t increment, hbool_t backing_store) const
@@ -230,8 +231,8 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList::getFamily
 ///\brief	This is an overloaded member function, provided for convenience.
-///             It differs from the above function only in what arguments it
-///             accepts and its return value.
+///		It differs from the above function only in what arguments it
+///		accepts and its return value.
 ///\param	memb_size  - OUT: Size in bytes of each file member
 ///\return	The file access property list for each file member
 ///\exception	H5::PropListIException
@@ -260,7 +261,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		Temporary - For information, please refer to:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplSplit
+/// <A HREF="../RM_H5P.html#Property-SetFaplSplit">../RM_H5P.html#Property-SetFaplSplit</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const char* meta_ext, const char* raw_ext ) const
@@ -277,8 +278,8 @@
 //--------------------------------------------------------------------------
 // Function:	FileAccPropList::setSplit
 ///\brief	This is an overloaded member function, provided for convenience.
-///             It differs from the above function only in what arguments it
-///             accepts.
+///		It differs from the above function only in what arguments it
+///		accepts.
 ///\param	meta_plist  - IN: File access plist for the metadata file
 ///\param	raw_plist   - IN: File access plist for the raw data file
 ///\param	meta_ext    - IN: Metadata filename extension as \c string
@@ -286,7 +287,7 @@
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const string& meta_ext, const string& raw_ext ) const
+void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const H5std_string& meta_ext, const H5std_string& raw_ext ) const
 {
    setSplit( meta_plist, raw_plist, meta_ext.c_str(), raw_ext.c_str() );
 }
@@ -297,7 +298,7 @@
 ///\brief	Retrieves the streaming I/O driver settings
 ///\return	The streaming I/O file access property list structure
 ///		For detail on this structure, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
@@ -320,7 +321,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on \a fapl, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setStream(H5FD_stream_fapl_t &fapl) const
@@ -359,7 +360,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on data sieving, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSieveBufSize
+/// <A HREF="../RM_H5P.html#Property-SetSieveBufSize">../RM_H5P.html#Property-SetFaplStream../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setSieveBufSize(size_t bufsize) const
@@ -379,7 +380,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For more detail, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMetaBlockSize
+/// <A HREF="../RM_H5P.html#Property-SetMetaBlockSize">../RM_H5P.html#Property-SetMetaBlockSize</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setMetaBlockSize(hsize_t &block_size) const
@@ -419,7 +420,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on \a flags, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setLog(const char *logfile, unsigned flags, size_t buf_size) const
@@ -441,7 +442,7 @@
 ///\param	buf_size - IN: Size of the logging buffer
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void FileAccPropList::setLog(const string& logfile, unsigned flags, size_t buf_size) const
+void FileAccPropList::setLog(const H5std_string& logfile, unsigned flags, size_t buf_size) const
 {
    setLog(logfile.c_str(), flags, buf_size);
 }
@@ -476,7 +477,7 @@
 ///		The parameter \a alignment must have a positive value.
 ///
 ///		For detail on \a setting alignment, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetAlignment
+/// <A HREF="../RM_H5P.html#Property-SetAlignment">../RM_H5P.html#Property-SetAlignment</A>
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileAccPropList::setAlignment( hsize_t threshold, hsize_t alignment ) const
@@ -513,7 +514,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		More details and valid values for \a dtype can be found at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMultiType
+/// <A HREF="../RM_H5P.html#Property-SetMultiType">../RM_H5P.html#Property-SetMultiType</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 void FileAccPropList::setMultiType(H5FD_mem_t dtype) const
@@ -532,7 +533,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		More details and possible returned values can be found at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetMultiType
+/// <A HREF="../RM_H5P.html#Property-GetMultiType">../RM_H5P.html#Property-GetMultiType</A>
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
 H5FD_mem_t FileAccPropList::getMultiType() const
@@ -553,7 +554,7 @@
 ///\param	rdcc_nelmts - IN: Number of elements in the raw data chunk cache
 ///\param	rdcc_nbytes - IN: Total size of the raw data chunk cache, in bytes
 ///\param	rdcc_w0 - IN: Preemption policy
-///\exception   H5::PropListIException
+///\exception	H5::PropListIException
 ///\par Description
 ///		The argument \a rdcc_w0 should hold a value between 0 and 1
 ///		inclusive.  This value indicates how much chunks that have
@@ -561,6 +562,7 @@
 ///		means fully read chunks are treated no differently than other
 ///		chunks (the preemption is strictly LRU) while a value of one
 ///		means fully read chunks are always preempted before other chunks.
+// Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 #ifdef H5_WANT_H5_V1_4_COMPAT
 void FileAccPropList::setCache( int mdc_nelmts, int rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0 ) const
@@ -678,7 +680,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For detail on \a fapl, please refer to
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
+/// <A HREF="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</A>
 // Programmer:	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileAccPropList::setGcReferences( unsigned gc_ref ) const

Modified: packages/hdf5/trunk/c++/src/H5FaccProp.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5FaccProp.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5FaccProp.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5FileAccPropList_H
@@ -25,6 +26,9 @@
    public:
 	static const FileAccPropList DEFAULT;
 
+	// Creates a file access property list.
+	FileAccPropList();
+
 	// Modifies this property list to use the H5FD_STDIO driver
 	void setStdio() const;
 
@@ -61,7 +65,7 @@
 	void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
 	     const char* meta_ext = ".meta", const char* raw_ext = ".raw" ) const;
 	void setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist,
-	     const string& meta_ext, const string& raw_ext ) const;
+	     const H5std_string& meta_ext, const H5std_string& raw_ext ) const;
 
 #ifdef H5_HAVE_STREAM // for Stream Virtual File Driver
 	// Modifies this file access property list to use the Stream driver.
@@ -86,7 +90,7 @@
 
 	// Modifies this file access property list to use the logging driver.
 	void setLog(const char *logfile, unsigned flags, size_t buf_size) const;
-	void setLog(const string& logfile, unsigned flags, size_t buf_size) const;
+	void setLog(const H5std_string& logfile, unsigned flags, size_t buf_size) const;
 
 	// Sets alignment properties of this file access property list
 	void setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) const;
@@ -120,11 +124,8 @@
 	unsigned getGcReferences() const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("FileAccPropList"); }
+	virtual H5std_string fromClass () const { return("FileAccPropList"); }
 
-	// Creates a file access property list.
-	FileAccPropList();
-
 	// Copy constructor: creates a copy of a FileAccPropList object.
 	FileAccPropList( const FileAccPropList& original );
 

Modified: packages/hdf5/trunk/c++/src/H5FcreatProp.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5FcreatProp.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5FcreatProp.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -125,7 +126,7 @@
 ///\par Description
 ///		For information on setting sizes, please refer to the
 ///		C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSizes
+/// <A HREF="../RM_H5P.html#Property-SetSizes">../RM_H5P.html#Property-SetSizes</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setSizes( size_t sizeof_addr, size_t sizeof_size ) const
@@ -166,7 +167,7 @@
 ///\exception   H5::PropListIException
 ///\par Description
 ///             For information, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer   Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setSymk( int ik, int lk ) const
@@ -187,7 +188,7 @@
 ///\exception   H5::PropListIException
 ///\par Description
 ///             For information, please see
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer   Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::getSymk( int& ik, int& lk ) const
@@ -209,7 +210,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setSymk( unsigned ik, unsigned lk ) const
@@ -229,7 +230,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
+/// <A HREF="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::getSymk( unsigned& ik, unsigned& lk ) const
@@ -251,7 +252,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK
+/// <A HREF="../RM_H5P.html#Property-SetIstoreK">../RM_H5P.html#Property-SetIstoreK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void FileCreatPropList::setIstorek( unsigned ik ) const
@@ -271,7 +272,7 @@
 ///\exception	H5::PropListIException
 ///\par Description
 ///		For information, please see
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK
+/// <A HREF="../RM_H5P.html#Property-SetIstoreK">../RM_H5P.html#Property-SetIstoreK</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 unsigned FileCreatPropList::getIstorek() const

Modified: packages/hdf5/trunk/c++/src/H5FcreatProp.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5FcreatProp.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5FcreatProp.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5FileCreatPropList_H
@@ -26,6 +27,9 @@
 	// Default file creation property list.
 	static const FileCreatPropList DEFAULT;
 
+	// Creates a file create property list.
+	FileCreatPropList();
+
 	// Retrieves version information for various parts of a file.
 	void getVersion( unsigned& super, unsigned& freelist, unsigned& stab, unsigned& shhdr ) const;
 
@@ -66,11 +70,8 @@
 	void setIstorek( unsigned ik ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return("FileCreatPropList"); }
+	virtual H5std_string fromClass () const { return("FileCreatPropList"); }
 
-	// Creates a file create property list.
-	FileCreatPropList();
-
 	// Copy constructor: creates a copy of a FileCreatPropList object.
 	FileCreatPropList(const FileCreatPropList& orig);
 

Modified: packages/hdf5/trunk/c++/src/H5File.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5File.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5File.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -38,6 +39,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -45,7 +50,7 @@
 ///\brief	Default constructor: creates a stub H5File object.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5File::H5File() : IdComponent() {}
+H5File::H5File() : IdComponent(0) {}
 
 //--------------------------------------------------------------------------
 // Function:	H5File overloaded constructor
@@ -71,10 +76,10 @@
 ///		For info on file creation in the case of an already-open file,
 ///		please refer to the \b Special \b case section in the C layer
 ///		Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5F.html#File-Create
+/// <A HREF="../RM_H5F.html#File-Create">../RM_H5F.html#File-Create</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent()
+H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent(0)
 {
    p_get_file(name, flags, create_plist, access_plist);
 }
@@ -83,7 +88,7 @@
 // Function:	H5File overloaded constructor
 ///\brief	This is another overloaded constructor.  It differs from the
 ///		above constructor only in the type of the \a name argument.
-///\param	name - IN: Name of the file - \c std::string
+///\param	name - IN: Name of the file - \c H5std_string
 ///\param	flags - IN: File access flags
 ///\param	create_plist - IN: File creation property list, used when
 ///		modifying default file meta-data.  Default to
@@ -92,7 +97,7 @@
 ///		FileCreatPropList::DEFAULT
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5File::H5File( const string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent()
+H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent(0)
 {
    p_get_file(name.c_str(), flags, create_plist, access_plist);
 }
@@ -106,7 +111,7 @@
 {
     // These bits only set for creation, so if any of them are set,
     // create the file.
-    if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG ))
+    if( flags & (H5F_ACC_CREAT|H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG))
     {
 	hid_t create_plist_id = create_plist.getId();
 	hid_t access_plist_id = access_plist.getId();
@@ -138,6 +143,25 @@
 H5File::H5File( const H5File& original ) : IdComponent( original ) {}
 
 //--------------------------------------------------------------------------
+// Function:	H5File::flush
+///\brief	Flushes all buffers associated with a file to disk.
+///\param	scope - IN: Specifies the scope of the flushing action,
+///		which can be either of these values:
+///		\li \c H5F_SCOPE_GLOBAL - Flushes the entire virtual file
+///		\li \c H5F_SCOPE_LOCAL - Flushes only the specified file
+///\exception	H5::FileIException
+// Programmer	Binh-Minh Ribler - Dec. 2005
+//--------------------------------------------------------------------------
+void H5File::flush(H5F_scope_t scope) const
+{
+   herr_t ret_value = H5Fflush( id, scope );
+   if( ret_value < 0 )
+   {
+      throw FileIException("H5File::flush", "H5Fflush failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	H5File::isHdf5
 ///\brief	Determines whether a file in HDF5 format.
 ///\param	name - IN: Name of the file
@@ -145,7 +169,7 @@
 ///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-bool H5File::isHdf5(const char* name )
+bool H5File::isHdf5(const char* name)
 {
    // Calls C routine H5Fis_hdf5 to determine whether the file is in
    // HDF5 format.  It returns positive value, 0, or negative value
@@ -163,16 +187,59 @@
 //--------------------------------------------------------------------------
 // Function:	H5File::isHdf5
 ///\brief	This is an overloaded member function, provided for convenience.
-///		It takes an \c std::string for \a name.
-///\param	name - IN: Name of the file - \c std::string
+///		It takes an \c H5std_string for \a name.
+///\param	name - IN: Name of the file - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-bool H5File::isHdf5(const string& name )
+bool H5File::isHdf5(const H5std_string& name )
 {
    return( isHdf5( name.c_str()) );
 }
 
 //--------------------------------------------------------------------------
+// Function:	openFile
+///\brief	Opens an HDF5 file
+///\param	name         - IN: Name of the file
+///\param	flags        - IN: File access flags
+///\param	access_plist - IN: File access property list.  Default to
+///		FileCreatPropList::DEFAULT
+///\par Description
+///		Valid values of \a flags include:
+///		H5F_ACC_RDWR:   Open with read/write access. If the file is
+///				currently open for read-only access then it
+///				will be reopened. Absence of this flag
+///				implies read-only access.
+///
+///		H5F_ACC_RDONLY: Open with read only access. - default
+///
+// Programmer	Binh-Minh Ribler - Oct, 2005
+//--------------------------------------------------------------------------
+void H5File::openFile(const char* name, unsigned int flags, const FileAccPropList& access_plist)
+{
+    hid_t access_plist_id = access_plist.getId();
+    id = H5Fopen (name, flags, access_plist_id);
+    if (id < 0)  // throw an exception when open fails
+    {
+	throw FileIException("H5File::openFile", "H5Fopen failed");
+    }
+}
+
+//--------------------------------------------------------------------------
+// Function:	H5File::openFile
+///\brief	This is an overloaded member function, provided for convenience.
+///		It takes an \c H5std_string for \a name.
+///\param	name         - IN: Name of the file - \c H5std_string
+///\param	flags        - IN: File access flags
+///\param	access_plist - IN: File access property list.  Default to
+///		FileAccPropList::DEFAULT
+// Programmer	Binh-Minh Ribler - 2000
+//--------------------------------------------------------------------------
+void H5File::openFile(const H5std_string& name, unsigned int flags, const FileAccPropList& access_plist)
+{
+    openFile(name.c_str(), flags, access_plist);
+}
+
+//--------------------------------------------------------------------------
 // Function:	H5File::reOpen
 ///\brief	Reopens this file.
 ///
@@ -184,15 +251,15 @@
 // Note:        This wrapper doesn't seem right regarding the 'id' and should
 //              be investigated.  BMR - 2/20/2005
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void H5File::reOpen()
 {
-   // If this object has a valid id, appropriately decrement reference
-   // counter and close the id.
     try {
-        decRefCount();
+        close();
     }
     catch (Exception close_error) {
         throw FileIException("H5File::reOpen", close_error.getDetailMsg());
@@ -422,10 +489,10 @@
 // Function:	H5File::getFileName
 ///\brief	Gets the name of this file.
 ///\return	File name
-///\exception	H5::IdComponentException
+///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - Jul, 2004
 //--------------------------------------------------------------------------
-string H5File::getFileName() const
+H5std_string H5File::getFileName() const
 {
    try {
       return(p_get_file_name());
@@ -437,14 +504,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	H5File::Reference
-///\brief	Creates a reference to an Hdf5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-///		Note that name must be an absolute path to the object in the file.
+///\brief	Important!!! - This functions does not work correctly, it 
+///		will be removed in the near future.  Please use 
+///		H5File::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* H5File::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
@@ -459,19 +521,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	H5File::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
-///\par
-///		Note that, for H5File, name must be an absolute path to the
-///		object in the file.
+///\brief	Important!!! - This functions does not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		H5File::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* H5File::Reference(const char* name) const
@@ -486,13 +538,12 @@
 
 //--------------------------------------------------------------------------
 // Function:	H5File::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it takes an
-///		\c std::string for the object's name.
-///\param	name - IN: Name of the object to be referenced - \c std::string
+///\brief	Important!!! - This functions does not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		H5File::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* H5File::Reference(const string& name) const
+void* H5File::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -501,18 +552,25 @@
 // Function:	H5File::getObjType
 ///\brief	Retrieves the type of object that an object reference points to.
 ///\param	ref      - IN: Reference to query
-///\param	ref_type - IN: Type of reference to query
+///\param	ref_type - IN: Type of reference, valid values are:
+///		\li \c H5R_OBJECT - Reference is an object reference.
+///		\li \c H5R_DATASET_REGION - Reference is a dataset region reference.
 ///\return	Object type, which can be one of the following:
 ///		\li \c H5G_LINK    - Object is a symbolic link.
 ///		\li \c H5G_GROUP   - Object is a group.
 ///		\li \c H5G_DATASET - Object is a dataset.
 ///		\li \c H5G_TYPE    - Object is a named datatype
-///\exception	H5::IdComponentException
+///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t H5File::getObjType(void *ref, H5R_type_t ref_type) const
 {
-   return(p_get_obj_type(ref, ref_type));
+   try {
+      return(p_get_obj_type(ref, ref_type));
+   }
+   catch (IdComponentException E) {
+      throw FileIException("H5File::getObjType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -521,13 +579,18 @@
 ///\param	ref      - IN: Reference to get region of
 ///\param	ref_type - IN: Type of reference to get region of - default
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::FileIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace H5File::getRegion(void *ref, H5R_type_t ref_type) const
 {
-   DataSpace dataspace(p_get_region(ref, ref_type));
-   return(dataspace);
+   try {
+      DataSpace dataspace(p_get_region(ref, ref_type));
+      return(dataspace);
+   }
+   catch (IdComponentException E) {
+      throw FileIException("H5File::getRegion", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -573,13 +636,16 @@
 //--------------------------------------------------------------------------
 void H5File::close()
 {
-   herr_t ret_value = H5Fclose( id );
-   if( ret_value < 0 )
-   {
-      throw FileIException("H5File::close", "H5Fclose failed");
-   }
-   // reset the id because the file that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Fclose( id );
+	if( ret_value < 0 )
+	{
+	    throw FileIException("H5File::close", "H5Fclose failed");
+	}
+	// reset the id because the file that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -596,9 +662,9 @@
 //		implementation of H5File.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void H5File::throwException(const string func_name, const string msg) const
+void H5File::throwException(const H5std_string& func_name, const H5std_string& msg) const
 {
-   string full_name = func_name;
+   H5std_string full_name = func_name;
    full_name.insert(0, "H5File::");
    throw FileIException(full_name, msg);
 }
@@ -608,17 +674,18 @@
 ///\brief	Properly terminates access to this file.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 H5File::~H5File()
 {
-   // The HDF5 file id will be closed properly
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "H5File::~H5File - " << close_error.getDetailMsg() << endl;
+	cerr << "H5File::~H5File - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/trunk/c++/src/H5File.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5File.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5File.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5File_H
@@ -26,13 +27,22 @@
 	H5File( const char* name, unsigned int flags,
 	   const FileCreatPropList& create_plist = FileCreatPropList::DEFAULT,
 	   const FileAccPropList& access_plist = FileAccPropList::DEFAULT );
-	H5File( const string& name, unsigned int flags,
+	H5File( const H5std_string& name, unsigned int flags,
 	   const FileCreatPropList& create_plist = FileCreatPropList::DEFAULT,
 	   const FileAccPropList& access_plist = FileAccPropList::DEFAULT );
 
+	// Open the file
+	void openFile(const H5std_string& name, unsigned int flags,
+	    const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
+	void openFile(const char* name, unsigned int flags,
+	    const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
+
 	// Close this file.
 	virtual void close();
 
+	// Flushes all buffers associated with this file to disk
+	void flush(H5F_scope_t scope) const;
+
 	// Gets the access property list of this file.
 	FileAccPropList getAccessPlist() const;
 
@@ -40,10 +50,10 @@
 	FileCreatPropList getCreatePlist() const;
 
 	// Gets the name of this file.
-	string getFileName() const;
+	H5std_string getFileName() const;
 
-        // Retrieves the file size of an opened file.
-        hsize_t getFileSize() const;
+	// Retrieves the file size of an opened file.
+	hsize_t getFileSize() const;
 
 	// Returns the amount of free space in the file.
 	hssize_t getFreeSpace() const;
@@ -58,7 +68,7 @@
 	void getObjIDs(unsigned types, int max_objs, hid_t *oid_list) const;
 
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
@@ -69,25 +79,25 @@
 
 	// Determines if a file, specified by its name, is in HDF5 format
 	static bool isHdf5(const char* name );
-	static bool isHdf5(const string& name );
+	static bool isHdf5(const H5std_string& name );
 
 	// Reopens this file.
 	void reOpen();	// added for better name
 	void reopen();
 
-	// Creates a reference to a named Hdf5 object or to a dataset region
+	// Creates a reference to a named HDF5 object or to a dataset region
 	// in this object.
 	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
 
 	// Returns this class name
-	virtual string fromClass () const { return ("H5File"); }
+	virtual H5std_string fromClass () const { return("H5File"); }
 
 	// Throw file exception.
-	virtual void throwException(const string func_name, const string msg) const;
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
 
 	// Gets the file id
 	virtual hid_t getLocId() const;

Modified: packages/hdf5/trunk/c++/src/H5FloatType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5FloatType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5FloatType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -180,7 +181,7 @@
 ///		\a norm_string.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5T_norm_t FloatType::getNorm( string& norm_string ) const
+H5T_norm_t FloatType::getNorm( H5std_string& norm_string ) const
 {
    H5T_norm_t norm = H5Tget_norm( id );  // C routine
    // Returns a valid normalization type if successful
@@ -233,7 +234,7 @@
 ///		\a pad_string.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5T_pad_t FloatType::getInpad( string& pad_string ) const
+H5T_pad_t FloatType::getInpad( H5std_string& pad_string ) const
 {
    H5T_pad_t pad_type = H5Tget_inpad( id );
    // Returns a valid padding type if successful

Modified: packages/hdf5/trunk/c++/src/H5FloatType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5FloatType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5FloatType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5FloatType_H
@@ -41,19 +42,19 @@
 	void setFields( size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) const;
 
 	// Retrieves the internal padding type for unused bits in floating-point datatypes.
-	H5T_pad_t getInpad( string& pad_string ) const;
+	H5T_pad_t getInpad( H5std_string& pad_string ) const;
 
 	// Fills unused internal floating point bits.
 	void setInpad( H5T_pad_t inpad ) const;
 
 	// Retrieves mantissa normalization of a floating-point datatype.
-	H5T_norm_t getNorm( string& norm_string ) const;
+	H5T_norm_t getNorm( H5std_string& norm_string ) const;
 
 	// Sets the mantissa normalization of a floating-point datatype.
 	void setNorm( H5T_norm_t norm ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return ("FloatType"); }
+	virtual H5std_string fromClass () const { return("FloatType"); }
 
 	// Default constructor
 	FloatType();

Modified: packages/hdf5/trunk/c++/src/H5Group.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5Group.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Group.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -38,6 +39,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -75,13 +80,25 @@
 Group::Group( const hid_t group_id ) : H5Object( group_id ) {}
 
 //--------------------------------------------------------------------------
+// Function:	Group overload constructor - dereference
+///\brief	Given a reference to some object, returns that group
+///\param	obj - IN: Location reference object is in
+///\param	ref - IN: Reference pointer
+///\par Description
+///		\c obj can be DataSet, Group, H5File, or named DataType, that 
+///		is a datatype that has been named by DataType::commit.
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+Group::Group(IdComponent& obj, void* ref) : H5Object()
+{
+   IdComponent::dereference(obj, ref);
+}
+
+//--------------------------------------------------------------------------
 // Function:	Group::Reference
-///\brief	Creates a reference to an HDF5 object or a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\param	dataspace - IN: Dataspace with selection
-///\param	ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
-///\return	A reference
-///\exception	H5::IdComponentException
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		Group::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* Group::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
@@ -96,16 +113,9 @@
 
 //--------------------------------------------------------------------------
 // Function:	Group::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it only creates
-///		a reference to an HDF5 object, not to a dataset region.
-///\param	name - IN: Name of the object to be referenced
-///\return	A reference
-///\exception	H5::IdComponentException
-///\par Description
-//		This function passes H5R_OBJECT and -1 to the protected
-//		function for it to pass to the C API H5Rcreate
-//		to create a reference to the named object.
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		Group::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* Group::Reference(const char* name) const
@@ -120,13 +130,12 @@
 
 //--------------------------------------------------------------------------
 // Function:	Group::Reference
-///\brief	This is an overloaded function, provided for your convenience.
-///		It differs from the above function in that it takes an
-///		\c std::string for the object's name.
-///\param	name - IN: Name of the object to be referenced
+///\brief	Important!!! - This functions may not work correctly, it 
+///		will be removed in the near future.  Please use similar
+///		Group::reference instead!
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
-void* Group::Reference(const string& name) const
+void* Group::Reference(const H5std_string& name) const
 {
    return(Reference(name.c_str()));
 }
@@ -134,19 +143,26 @@
 //--------------------------------------------------------------------------
 // Function:	Group::getObjType
 ///\brief	Retrieves the type of object that an object reference points to.
-///\param		ref      - IN: Reference to query
-///\param		ref_type - IN: Type of reference to query
-// Return	An object type, which can be one of the following:
-//			H5G_LINK Object is a symbolic link.
-//			H5G_GROUP Object is a group.
-//			H5G_DATASET   Object is a dataset.
-//			H5G_TYPE Object is a named datatype
-// Exception	H5::IdComponentException
+///\param	ref      - IN: Reference to query
+///\param	ref_type - IN: Type of reference to query, valid values are:
+///		\li \c H5R_OBJECT - Reference is an object reference.
+///		\li \c H5R_DATASET_REGION - Reference is a dataset region reference.
+///\return	An object type, which can be one of the following:
+///			H5G_LINK Object is a symbolic link.
+///			H5G_GROUP Object is a group.
+///			H5G_DATASET   Object is a dataset.
+///			H5G_TYPE Object is a named datatype
+///\exception	H5::GroupIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 H5G_obj_t Group::getObjType(void *ref, H5R_type_t ref_type) const
 {
-   return(p_get_obj_type(ref, ref_type));
+   try {
+      return(p_get_obj_type(ref, ref_type));
+   }
+   catch (IdComponentException E) {
+      throw GroupIException("Group::getObjType", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -155,13 +171,18 @@
 ///\param	ref      - IN: Reference to get region of
 ///\param	ref_type - IN: Type of reference to get region of - default
 ///\return	DataSpace instance
-///\exception	H5::IdComponentException
+///\exception	H5::GroupIException
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 DataSpace Group::getRegion(void *ref, H5R_type_t ref_type) const
 {
-   DataSpace dataspace(p_get_region(ref, ref_type));
-   return(dataspace);
+   try {
+      DataSpace dataspace(p_get_region(ref, ref_type));
+      return(dataspace);
+   }
+   catch (IdComponentException E) {
+      throw GroupIException("Group::getRegion", E.getDetailMsg());
+   }
 }
 
 //--------------------------------------------------------------------------
@@ -173,13 +194,16 @@
 //--------------------------------------------------------------------------
 void Group::close()
 {
-   herr_t ret_value = H5Gclose( id );
-   if( ret_value < 0 )
-   {
-      throw GroupIException("Group::close", "H5Gclose failed");
-   }
-   // reset the id because the group that it represents is now closed
-   id = 0;
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Gclose( id );
+	if( ret_value < 0 )
+	{
+	    throw GroupIException("Group::close", "H5Gclose failed");
+	}
+	// reset the id because the group that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -196,9 +220,9 @@
 //		implementation of Group.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void Group::throwException(const string func_name, const string msg) const
+void Group::throwException(const H5std_string& func_name, const H5std_string& msg) const
 {
-   string full_name = func_name;
+   H5std_string full_name = func_name;
    full_name.insert(0, "Group::");
    throw GroupIException(full_name, msg);
 }
@@ -208,17 +232,18 @@
 ///\brief	Properly terminates access to this group.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 Group::~Group()
 {
-   // The group id will be closed properly
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "Group::~Group - " << close_error.getDetailMsg() << endl;
+	cerr << "Group::~Group - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/trunk/c++/src/H5Group.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Group.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Group.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Group_H
@@ -26,28 +27,31 @@
 	virtual void close();
 
 	// Retrieves the type of object that an object reference points to.
-	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type) const;
+	H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
 
 	// Retrieves a dataspace with the region pointed to selected.
 	DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
 
 	// Creates a reference to a named Hdf5 object or to a dataset region
 	// in this object.
-	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
+	void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
 
 	// Creates a reference to a named Hdf5 object in this object.
-	void* Reference(const char* name) const;
-	void* Reference(const string& name) const;
+	void* Reference(const char* name) const; // will be obsolete
+	void* Reference(const H5std_string& name) const; // will be obsolete
 
 	// Returns this class name
-	virtual string fromClass () const { return ("Group"); }
+	virtual H5std_string fromClass () const { return("Group"); }
 
-        // Throw group exception.
-        virtual void throwException(const string func_name, const string msg) const;
+	// Throw group exception.
+	virtual void throwException(const H5std_string& func_name, const H5std_string& msg) const;
 
 	// for CommonFG to get the file id.
 	virtual hid_t getLocId() const;
 
+	// Creates a group by way of dereference.
+	Group(IdComponent& obj, void* ref);
+
 	// default constructor
 	Group();
 
@@ -57,8 +61,8 @@
 	// Destructor
 	virtual ~Group();
 
-        // Creates a copy of an existing group using its id.
-        Group( const hid_t group_id );
+	// Creates a copy of an existing group using its id.
+	Group( const hid_t group_id );
 
 };
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/trunk/c++/src/H5IdComponent.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5IdComponent.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5IdComponent.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -18,6 +19,7 @@
 #include "H5Exception.h"
 #include "H5Library.h"
 #include "H5IdComponent.h"
+#include "H5DataSpace.h"
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
@@ -40,8 +42,8 @@
 //--------------------------------------------------------------------------
 IdComponent::IdComponent( const IdComponent& original )
 {
-   id = original.id;
-   incRefCount(); // increment number of references to this id
+    id = original.id;
+    incRefCount(); // increment number of references to this id
 }
 
 //--------------------------------------------------------------------------
@@ -49,11 +51,11 @@
 ///\brief	Increment reference counter for a given id.
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-void IdComponent::incRefCount(hid_t obj_id) const
+void IdComponent::incRefCount(const hid_t obj_id) const
 {
     if (p_valid_id(obj_id))
 	if (H5Iinc_ref(obj_id) < 0)
-            throw IdComponentException(inMemFunc("incRefCount"), "incrementing object ref count failed");
+	    throw IdComponentException(inMemFunc("incRefCount"), "incrementing object ref count failed");
 }
 
 //--------------------------------------------------------------------------
@@ -74,10 +76,10 @@
 //		Added the check for ref counter to give a little more info
 //		on why H5Idec_ref fails in some cases - BMR 5/19/2005
 //--------------------------------------------------------------------------
-void IdComponent::decRefCount(hid_t obj_id) const
+void IdComponent::decRefCount(const hid_t obj_id) const
 {
     if (p_valid_id(obj_id))
-        if (H5Idec_ref(obj_id) < 0)
+	if (H5Idec_ref(obj_id) < 0)
 	    if (H5Iget_ref(obj_id) <= 0)
 		throw IdComponentException(inMemFunc("decRefCount"),
 					"object ref count is 0 or negative");
@@ -102,14 +104,14 @@
 ///\return	Reference count
 // Programmer	Binh-Minh Ribler - May 2005
 //--------------------------------------------------------------------------
-int IdComponent::getCounter(hid_t obj_id) const
+int IdComponent::getCounter(const hid_t obj_id) const
 {
     int counter = 0;
     if (p_valid_id(obj_id))
     {
 	counter = H5Iget_ref(obj_id);
 	if (counter < 0)
-            throw IdComponentException(inMemFunc("incRefCount"), "incrementing object ref count failed");
+	    throw IdComponentException(inMemFunc("incRefCount"), "getting object ref count failed - negative");
     }
     return (counter);
 }
@@ -126,6 +128,29 @@
 }
 
 //--------------------------------------------------------------------------
+// Function:	hdfObjectType
+///\brief	Given an id, returns the type of the object.
+///return	a valid HDF object type, which may be one of the following:
+///		\li \c H5I_FILE
+///		\li \c H5I_GROUP
+///		\li \c H5I_DATATYPE
+///		\li \c H5I_DATASPACE
+///		\li \c H5I_DATASET
+///		\li \c H5I_ATTR
+///		\li or \c H5I_BADID, if no valid type can be determined or the
+///				input object id is invalid.
+// Programmer   Binh-Minh Ribler - Jul, 2005
+//--------------------------------------------------------------------------
+H5I_type_t IdComponent::getHDFObjType(const hid_t obj_id)
+{
+    H5I_type_t id_type = H5Iget_type(obj_id);
+    if (id_type <= H5I_BADID || id_type >= H5I_NGROUPS)
+	return H5I_BADID; // invalid
+    else
+	return id_type; // valid type
+}
+
+//--------------------------------------------------------------------------
 // Function:	IdComponent::operator=
 ///\brief	Assignment operator.
 ///\param	rhs - IN: Reference to the existing object
@@ -133,25 +158,31 @@
 ///\exception	H5::IdComponentException when attempt to close the HDF5
 ///		object fails
 // Description
-// 		The underlaying reference counting in the C library ensures
-// 		that the current valid id of this object is properly closed.
-//		Copy the id from rhs to this object, then increment the
+//		First, close the current valid id of this object.  Then
+//		copy the id from rhs to this object, and increment the
 //		reference counter of the id to indicate that another object
-//		is referencing it.
+//		is referencing that id.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 IdComponent& IdComponent::operator=( const IdComponent& rhs )
 {
-   // handling references to this id
-   decRefCount();
+    if (this != &rhs)
+    {
+	// handling references to this id
+	try {
+	    close();
+	}
+	catch (Exception close_error) {
+	    throw FileIException(inMemFunc("operator="), close_error.getDetailMsg());
+	}
 
-   // copy the data members from the rhs object
-   id = rhs.id;
+	// copy the data members from the rhs object
+	id = rhs.id;
 
-   // increment the reference counter
-   incRefCount();
-
-   return( *this );
+	// increment the reference counter
+	incRefCount();
+    }
+    return *this;
 }
 
 //--------------------------------------------------------------------------
@@ -166,13 +197,21 @@
 // 		Then the object's id is reset to the new id.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void IdComponent::setId( hid_t new_id )
+void IdComponent::setId(const hid_t new_id)
 {
-   // handling references to this id
-   decRefCount();
+    // handling references to this old id
+    try {
+	close();
+    }
+    catch (Exception close_error) {
+	throw IdComponentException(inMemFunc("copy"), close_error.getDetailMsg());
+    }
 
    // reset object's id to the given id
    id = new_id;
+
+   // increment the reference counter of the new id
+   incRefCount();
 }
 
 //--------------------------------------------------------------------------
@@ -183,7 +222,7 @@
 //--------------------------------------------------------------------------
 hid_t IdComponent::getId () const
 {
-   return( id );
+   return(id);
 }
 
 //--------------------------------------------------------------------------
@@ -191,32 +230,8 @@
 ///\brief	Noop destructor.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-IdComponent::~IdComponent() {
+IdComponent::~IdComponent() {}
 
-/* uncomment this block and complete it when deciding to use dontAtExit
-   unless the atexit/global destructor problem is fixed, then
-   remove it- BMR 11/14/00
-
-   if( id == NOTATEXIT )
-   {
-      // Call H5Library::close to clean up - temporary solution to avoid the
-      // trouble of atexit/global destructors
-      try {
-         if( H5Library::need_cleanup == true )
-         {
-            H5Library::close();
-            H5Library::need_cleanup = false; // reset the boolean just in case
-         }
-      }
-      // catch failure caused by the H5Library operations
-      catch( LibraryIException error )
-      {
-         error.printError();
-      }
-   }
-*/
-}
-
 //
 // Implementation of protected functions for HDF5 Reference Interface
 // and miscelaneous helpers.
@@ -224,6 +239,26 @@
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 //--------------------------------------------------------------------------
+// Function:	IdComponent::inMemFunc
+///\brief	Makes and returns string "<class-name>::<func_name>"
+///\param	func_name - Name of the function where failure occurs
+// Description
+///		Concatenates the class name of this object with the
+///		passed-in function name to create a string that indicates
+///		where the failure occurs.  The class-name is provided by
+///		fromClass().  This string will be used by a base class when
+///		an exception is thrown.
+// Programmer	Binh-Minh Ribler - Oct 10, 2005
+//--------------------------------------------------------------------------
+H5std_string IdComponent::inMemFunc(const char* func_name) const
+{
+   H5std_string full_name = func_name;
+   full_name.insert(0, "::");
+   full_name.insert(0, fromClass());
+   return (full_name);
+}
+
+//--------------------------------------------------------------------------
 // Function:	IdComponent default constructor - private
 ///\brief	Default constructor.
 // Programmer	Binh-Minh Ribler - 2000
@@ -231,7 +266,7 @@
 IdComponent::IdComponent() : id(-1) {}
 
 //--------------------------------------------------------------------------
-// Function:	IdComponent::p_get_file_name
+// Function:	IdComponent::p_get_file_name (protected)
 // Purpose:	Gets the name of the file, in which this object belongs.
 // Exception:	H5::IdComponentException
 // Description:
@@ -240,7 +275,7 @@
 // 		H5File and H5Object subclasses.
 // Programmer	Binh-Minh Ribler - Jul, 2004
 //--------------------------------------------------------------------------
-string IdComponent::p_get_file_name() const
+H5std_string IdComponent::p_get_file_name() const
 {
    // Preliminary call to H5Fget_name to get the length of the file name
    ssize_t name_size = H5Fget_name(id, NULL, 0);
@@ -262,7 +297,7 @@
    }
 
    // Convert the C file name and return
-   string file_name(name_C);
+   H5std_string file_name(name_C);
    delete []name_C;
    return(file_name);
 }
@@ -274,22 +309,124 @@
 //		name - IN: Name of the object to be referenced
 //		dataspace - IN: Dataspace with selection
 //		ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
+// Exception	H5::IdComponentException
+// Programmer	Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const
+{
+   herr_t ret_value = H5Rcreate(ref, id, name, ref_type, space_id);
+   if (ret_value < 0)
+   {
+      throw IdComponentException("", "H5Rcreate failed");
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:    IdComponent::reference
+///\brief       Creates a reference to an HDF5 object or a dataset region.
+///\param       ref - IN: Reference pointer
+///\param       name - IN: Name of the object to be referenced
+///\param       dataspace - IN: Dataspace with selection
+///\param       ref_type - IN: Type of reference to query, valid values are:
+///             \li \c H5R_OBJECT \tReference is an object reference.
+///             \li \c H5R_DATASET_REGION \tReference is a dataset region
+///                     reference. - this is the default
+///\exception   H5::IdComponentException
+// Programmer   Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::reference(void* ref, const char* name, const DataSpace& dataspace, H5R_type_t ref_type) const
+{
+   try {
+      p_reference(ref, name, dataspace.getId(), ref_type);
+   }
+   catch (IdComponentException E) {
+      throw IdComponentException("IdComponent::reference", E.getDetailMsg());
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:    IdComponent::reference
+///\brief       This is an overloaded function, provided for your convenience.
+///             It differs from the above function in that it only creates
+///             a reference to an HDF5 object, not to a dataset region.
+///\param       ref - IN: Reference pointer
+///\param       name - IN: Name of the object to be referenced - \c char pointer
+///\exception   H5::IdComponentException
+///\par Description
+//              This function passes H5R_OBJECT and -1 to the protected
+//              function for it to pass to the C API H5Rcreate
+//              to create a reference to the named object.
+// Programmer   Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::reference(void* ref, const char* name) const
+{
+   try {
+      p_reference(ref, name, -1, H5R_OBJECT);
+   }
+   catch (IdComponentException E) {
+      throw IdComponentException("IdComponent::reference", E.getDetailMsg());
+   }
+}
+
+//--------------------------------------------------------------------------
+// Function:    IdComponent::reference
+///\brief       This is an overloaded function, provided for your convenience.
+///             It differs from the above function in that it takes an
+///             \c H5std_string for the object's name.
+///\param       ref - IN: Reference pointer
+///\param       name - IN: Name of the object to be referenced - \c H5std_string
+// Programmer   Binh-Minh Ribler - May, 2004
+//--------------------------------------------------------------------------
+void IdComponent::reference(void* ref, const H5std_string& name) const
+{
+   reference(ref, name.c_str());
+}
+
+//--------------------------------------------------------------------------
+// Function:	IdComponent::p_reference (protected)
+// Purpose	Creates a reference to an HDF5 object or a dataset region.
+// Parameters
+//		name - IN: Name of the object to be referenced
+//		dataspace - IN: Dataspace with selection
+//		ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
 // Return	A reference
 // Exception	H5::IdComponentException
+// Notes	This function is incorrect, and will be removed in the near
+//		future after notifying users of the new APIs ::reference's.
+//		BMR - Oct 8, 2006
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void* IdComponent::p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const
 {
-   void *ref=NULL;
-   herr_t ret_value = H5Rcreate(ref, id, name, ref_type, space_id);
+   hobj_ref_t ref;
+   herr_t ret_value = H5Rcreate(&ref, id, name, ref_type, space_id);
    if (ret_value < 0)
    {
       throw IdComponentException("", "H5Rcreate failed");
    }
-   return(ref);
+   return (reinterpret_cast<void*>(ref));
 }
 
 //--------------------------------------------------------------------------
+// Function:	IdComponent::dereference
+// Purpose	Opens the HDF5 object referenced.
+// Parameters
+//		obj - IN: Dataset reference object is in or location of
+//                            object that the dataset is located within.
+//		ref - IN: Reference pointer
+// Exception	H5::IdComponentException
+// Programmer	Binh-Minh Ribler - Oct, 2006
+//--------------------------------------------------------------------------
+void IdComponent::dereference(IdComponent& obj, void* ref)
+{
+   id = H5Rdereference(obj.getId(), H5R_OBJECT, ref);
+   if (id < 0)
+   {
+      throw IdComponentException("", "H5Rdereference failed");
+   }
+}
+
+//--------------------------------------------------------------------------
 // Function:	IdComponent::p_get_obj_type (protected)
 // Purpose	Retrieves the type of object that an object reference points to.
 // Parameters
@@ -305,10 +442,19 @@
 //--------------------------------------------------------------------------
 H5G_obj_t IdComponent::p_get_obj_type(void *ref, H5R_type_t ref_type) const
 {
+#ifdef H5_WANT_H5_V1_4_COMPAT
+   H5G_obj_t obj_type = H5Rget_object_type(id, ref);
+#else
    H5G_obj_t obj_type = H5Rget_obj_type(id, ref_type, ref);
+#endif
+
    if (obj_type == H5G_UNKNOWN)
    {
-      throw IdComponentException("", "H5R_get_obj_type failed");
+#ifdef H5_WANT_H5_V1_4_COMPAT
+      throw IdComponentException("", "H5Rget_object_type failed");
+#else
+      throw IdComponentException("", "H5Rget_obj_type failed");
+#endif
    }
    return(obj_type);
 }
@@ -345,7 +491,7 @@
 // Return	true if id is valid, false, otherwise
 // Programmer	Binh-Minh Ribler - May, 2005
 //--------------------------------------------------------------------------
-bool IdComponent::p_valid_id(hid_t obj_id) const
+bool IdComponent::p_valid_id(const hid_t obj_id) const
 {
     H5I_type_t id_type = H5Iget_type(obj_id);
     if (id_type <= H5I_BADID || id_type >= H5I_NGROUPS)
@@ -354,26 +500,6 @@
 	return true;
 }
 
-//--------------------------------------------------------------------------
-// Function:	IdComponent::inMemFunc
-///\brief	Makes and returns string "<class-name>::<func_name>"
-///\param	func_name - Name of the function where failure occurs
-// Description
-///		Concatenates the class name of this object with the
-///		passed-in function name to create a string that indicates
-///		where the failure occurs.  The class-name is provided by
-///		fromClass().  This string will be used by a base class when
-///		an exception is thrown.
-// Programmer	Binh-Minh Ribler - Oct 10, 2005
-//--------------------------------------------------------------------------
-string IdComponent::inMemFunc(const char* func_name) const
-{
-   string full_name = func_name;
-   full_name.insert(0, "::");
-   full_name.insert(0, fromClass());
-   return (full_name);
-}
-
 #endif // DOXYGEN_SHOULD_SKIP_THIS
 
 #ifndef H5_NO_NAMESPACE

Modified: packages/hdf5/trunk/c++/src/H5IdComponent.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5IdComponent.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5IdComponent.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,42 +10,50 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _IdComponent_H
 #define _IdComponent_H
 
-// IdComponent provides a mechanism to handle
-// reference counting for an identifier of any HDF5 object.
+// IdComponent represents an HDF5 object that has an identifier.
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
-#ifndef H5_NO_STD
-    using std::string;
-#endif  // H5_NO_STD
 #endif
 
+class DataSpace;
 class H5_DLLCPP IdComponent {
    public:
 	// Increment reference counter.
-	void incRefCount(hid_t obj_id) const;
+	void incRefCount(const hid_t obj_id) const;
 	void incRefCount() const;
 
 	// Decrement reference counter.
-	void decRefCount(hid_t obj_id) const;
+	void decRefCount(const hid_t obj_id) const;
 	void decRefCount() const;
 
 	// Get the reference counter to this identifier.
-	int getCounter(hid_t obj_id) const;
+	int getCounter(const hid_t obj_id) const;
 	int getCounter() const;
 
-	// Assignment operator
+	// Returns an HDF5 object type, given the object id.
+	static H5I_type_t getHDFObjType(const hid_t obj_id);
+
+	// Assignment operator.
 	IdComponent& operator=( const IdComponent& rhs );
 
+        void reference(void* ref, const char* name, const DataSpace& dataspace,
+                        H5R_type_t ref_type = H5R_DATASET_REGION) const;
+        void reference(void* ref, const char* name) const;
+        void reference(void* ref, const H5std_string& name) const;
+
+	// Open a referenced HDF5 object.
+	void dereference(IdComponent& obj, void* ref);
+
 	// Sets the identifier of this object to a new value.
-	void setId( hid_t new_id );
+	void setId(const hid_t new_id);
 
 	// Creates an object to hold an HDF5 identifier.
 	IdComponent( const hid_t h5_id );
@@ -60,15 +69,15 @@
 	// subclasses.
 	virtual void close() = 0;
 
-#endif // DOXYGEN_SHOULD_SKIP_THIS
-
 	// Makes and returns the string "<class-name>::<func_name>";
 	// <class-name> is returned by fromClass().
-	string inMemFunc(const char* func_name) const;
+	H5std_string inMemFunc(const char* func_name) const;
 
 	// Returns this class name.
-	virtual string fromClass() const {return ("IdComponent");}
+	virtual H5std_string fromClass() const { return("IdComponent");}
 
+#endif // DOXYGEN_SHOULD_SKIP_THIS
+
 	// Destructor
 	virtual ~IdComponent();
 
@@ -80,17 +89,14 @@
 	IdComponent();
 
 	// Gets the name of the file, in which an HDF5 object belongs.
-#ifndef H5_NO_STD
-	std::string p_get_file_name() const;
-#else
-	string p_get_file_name() const;
-#endif  // H5_NO_STD
+	H5std_string p_get_file_name() const;
 
 	// Gets the id of the H5 file in which the given object is located.
 	hid_t p_get_file_id();
 
 	// Creates a reference to an HDF5 object or a dataset region.
-	void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const;
+	void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
+	void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const; // will be removed
 
 	// Retrieves the type of object that an object reference points to.
 	H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const;
@@ -99,7 +105,7 @@
 	hid_t p_get_region(void *ref, H5R_type_t ref_type) const;
 
 	// Verifies that the given id is valid.
-	bool p_valid_id(hid_t obj_id) const;
+	bool p_valid_id(const hid_t obj_id) const;
 
 #endif // DOXYGEN_SHOULD_SKIP_THIS
 

Modified: packages/hdf5/trunk/c++/src/H5Include.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Include.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Include.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,16 +10,10 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-// Added this line for CC to compile at this time.  Will remove it when
-// the problem of "Multiple declaration for RcsId" is fixed. BMR - 10/30/00
-
-// This problem is removed.  I could replace all #include "H5Include.h"
-// by #include <hdf5.h>, but decide not to. BMR - 3/22/01
-
 #include <hdf5.h>
 
 // Define bool type for platforms that don't support bool yet
@@ -33,5 +28,3 @@
 const bool  false = 0;
 const bool  true  = 1;
 #endif
-
-

Modified: packages/hdf5/trunk/c++/src/H5IntType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5IntType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5IntType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>

Modified: packages/hdf5/trunk/c++/src/H5IntType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5IntType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5IntType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5IntType_H
@@ -19,6 +20,7 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP IntType : public AtomType {
    public:
 	// Creates a integer type using a predefined type
@@ -34,7 +36,7 @@
 	void setSign( H5T_sign_t sign ) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return ("IntType"); }
+	virtual H5std_string fromClass () const { return("IntType"); }
 
 	// Default constructor
 	IntType();

Modified: packages/hdf5/trunk/c++/src/H5Library.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5Library.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Library.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -105,7 +106,7 @@
 ///\par Description
 ///		For information about library version, please refer to
 ///		the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-VersCheck
+/// <A HREF="../RM_H5.html#Library-VersCheck">../RM_H5.html#Library-VersCheck</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void H5Library::checkVersion(unsigned majnum, unsigned minnum, unsigned relnum)
@@ -160,7 +161,7 @@
 ///		Setting a value of -1 for a limit means no limit of that type.
 ///		For more information on free list limits, please refer to C
 ///		layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-SetFreeListLimits
+/// <A HREF="../RM_H5.html#Library-SetFreeListLimits">../RM_H5.html#Library-SetFreeListLimits</A>
 // Programmer	Binh-Minh Ribler - May, 2004
 //--------------------------------------------------------------------------
 void H5Library::setFreeListLimits(int reg_global_lim, int reg_list_lim,

Modified: packages/hdf5/trunk/c++/src/H5Library.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Library.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Library.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Library_H

Modified: packages/hdf5/trunk/c++/src/H5Object.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5Object.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Object.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -36,7 +37,7 @@
 // problem.  May be moved to Iterator later.
 extern "C" herr_t userAttrOpWrpr( hid_t loc_id, const char* attr_name, void* op_data )
 {
-   string s_attr_name = string( attr_name );
+   H5std_string s_attr_name = H5std_string( attr_name );
 #ifdef NO_STATIC_CAST
    UserData4Aiterate* myData = (UserData4Aiterate *) op_data;
 #else
@@ -53,7 +54,7 @@
 //		set it to a valid HDF5 id.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-H5Object::H5Object() : IdComponent() {}
+H5Object::H5Object() : IdComponent(0) {}
 
 //--------------------------------------------------------------------------
 // Function:	H5Object overloaded constructor (protected)
@@ -119,10 +120,10 @@
 // Function:	H5Object::createAttribute
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for \a name.
+///		a reference to an \c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Attribute H5Object::createAttribute( const string& name, const DataType& data_type, const DataSpace& data_space, const PropList& create_plist ) const
+Attribute H5Object::createAttribute( const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const PropList& create_plist ) const
 {
    return( createAttribute( name.c_str(), data_type, data_space, create_plist ));
 }
@@ -153,10 +154,10 @@
 // Function:	H5Object::openAttribute
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for \a name.
+///		a reference to an \c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-Attribute H5Object::openAttribute( const string& name ) const
+Attribute H5Object::openAttribute( const H5std_string& name ) const
 {
    return( openAttribute( name.c_str()) );
 }
@@ -196,7 +197,7 @@
 ///\par Description
 ///		For information, please refer to the C layer Reference Manual
 ///		at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5A.html#Annot-Iterate
+/// <A HREF="../RM_H5A.html#Annot-Iterate">../RM_H5A.html#Annot-Iterate</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 int H5Object::iterateAttrs( attr_operator_t user_op, unsigned * idx, void *op_data )
@@ -260,10 +261,10 @@
 // Function:	H5Object::removeAttr
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for \a name.
+///		a reference to an \c H5std_string for \a name.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void H5Object::removeAttr( const string& name ) const
+void H5Object::removeAttr( const H5std_string& name ) const
 {
    removeAttr( name.c_str() );
 }
@@ -289,10 +290,10 @@
 // Function:	H5Object::renameAttr
 ///\brief	This is an overloaded member function, provided for convenience.
 ///		It differs from the above function in that it takes
-///		a reference to an \c std::string for the names.
+///		a reference to an \c H5std_string for the names.
 // Programmer	Binh-Minh Ribler - Mar, 2005
 //--------------------------------------------------------------------------
-void H5Object::renameAttr(const string& oldname, const string& newname) const
+void H5Object::renameAttr(const H5std_string& oldname, const H5std_string& newname) const
 {
    renameAttr (oldname.c_str(), newname.c_str());
 }
@@ -325,7 +326,7 @@
 ///\exception	H5::IdComponentException
 // Programmer	Binh-Minh Ribler - Jul, 2004
 //--------------------------------------------------------------------------
-string H5Object::getFileName() const
+H5std_string H5Object::getFileName() const
 {
    try {
       return(p_get_file_name());

Modified: packages/hdf5/trunk/c++/src/H5Object.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5Object.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5Object.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5Object_H
@@ -32,7 +33,7 @@
 
 // Define the operator function pointer for H5Aiterate().
 typedef void (*attr_operator_t)( H5Object& loc/*in*/,
-				 const string attr_name/*in*/,
+				 const H5std_string attr_name/*in*/,
 				 void *operator_data/*in,out*/);
 
 class UserData4Aiterate { // user data for attribute iteration
@@ -51,11 +52,11 @@
 	// Creates an attribute for a group, dataset, or named datatype.
 	// PropList is currently not used, so always be default.
 	Attribute createAttribute( const char* name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const;
-	Attribute createAttribute( const string& name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const;
+	Attribute createAttribute( const H5std_string& name, const DataType& type, const DataSpace& space, const PropList& create_plist = PropList::DEFAULT ) const;
 
 	// Opens an attribute given its name.
 	Attribute openAttribute( const char* name ) const;
-	Attribute openAttribute( const string& name ) const;
+	Attribute openAttribute( const H5std_string& name ) const;
 
 	// Opens an attribute given its index.
 	Attribute openAttribute( const unsigned int idx ) const;
@@ -64,7 +65,7 @@
 	void flush( H5F_scope_t scope ) const;
 
 	// Gets the name of the file, in which this HDF5 object belongs.
-	string getFileName() const;
+	H5std_string getFileName() const;
 
 	// Determines the number of attributes attached to this object.
 	int getNumAttrs() const;
@@ -74,11 +75,11 @@
 
 	// Removes the named attribute from this object.
 	void removeAttr( const char* name ) const;
-	void removeAttr( const string& name ) const;
+	void removeAttr( const H5std_string& name ) const;
 
 	// Renames the attribute to a new name.
 	void renameAttr(const char* oldname, const char* newname) const;
-	void renameAttr(const string& oldname, const string& newname) const;
+	void renameAttr(const H5std_string& oldname, const H5std_string& newname) const;
 
 	// Copy constructor: makes copy of an H5Object object.
 	H5Object(const H5Object& original);

Modified: packages/hdf5/trunk/c++/src/H5PredType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5PredType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5PredType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -37,13 +38,13 @@
 ///		predefined datatype.
 ///\param	predtype_id - IN: Id of a predefined datatype
 // Description
-// 		This constructor creates a predefined datatype, so it sets
-// 		DataType::is_predtype to true.
+// 		This constructor creates a PredType object by copying
+//		the provided HDF5 predefined datatype.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 PredType::PredType( const hid_t predtype_id ) : AtomType( predtype_id )
 {
-   is_predtype = true;
+    id = H5Tcopy(predtype_id);
 }
 
 //--------------------------------------------------------------------------
@@ -64,150 +65,184 @@
 const PredType PredType::NotAtexit;	// only for atexit/global dest. problem
 
 // Definition of pre-defined types
-// Note: the parameter E_xxxx_yyyy is the enum value that represents
-// the corresponding HDF5 predefined type H5T_xxxx_yyyy.  This enum value
-// is stored in PredType::id since it is a PredType object id, in a way.
-// In addition, this storage makes things safely simpler.  When a PredType
-// object is used, the virtual PredType::getId will base on the enum
-// value to return the correct HDF5 predefined type id.
+const PredType PredType::C_S1( H5T_C_S1 );
+const PredType PredType::FORTRAN_S1( H5T_FORTRAN_S1 );
 
-const PredType PredType::C_S1( E_C_S1 );
-const PredType PredType::FORTRAN_S1( E_FORTRAN_S1 );
+const PredType PredType::STD_I8BE( H5T_STD_I8BE );
+const PredType PredType::STD_I8LE( H5T_STD_I8LE );
+const PredType PredType::STD_I16BE( H5T_STD_I16BE );
+const PredType PredType::STD_I16LE( H5T_STD_I16LE );
+const PredType PredType::STD_I32BE( H5T_STD_I32BE );
+const PredType PredType::STD_I32LE( H5T_STD_I32LE );
+const PredType PredType::STD_I64BE( H5T_STD_I64BE );
+const PredType PredType::STD_I64LE( H5T_STD_I64LE );
+const PredType PredType::STD_U8BE( H5T_STD_U8BE );
+const PredType PredType::STD_U8LE( H5T_STD_U8LE );
+const PredType PredType::STD_U16BE( H5T_STD_U16BE );
+const PredType PredType::STD_U16LE( H5T_STD_U16LE );
+const PredType PredType::STD_U32BE( H5T_STD_U32BE );
+const PredType PredType::STD_U32LE( H5T_STD_U32LE );
+const PredType PredType::STD_U64BE( H5T_STD_U64BE );
+const PredType PredType::STD_U64LE( H5T_STD_U64LE );
+const PredType PredType::STD_B8BE( H5T_STD_B8BE );
+const PredType PredType::STD_B8LE( H5T_STD_B8LE );
 
-const PredType PredType::STD_I8BE( E_STD_I8BE );
-const PredType PredType::STD_I8LE( E_STD_I8LE );
-const PredType PredType::STD_I16BE( E_STD_I16BE );
-const PredType PredType::STD_I16LE( E_STD_I16LE );
-const PredType PredType::STD_I32BE( E_STD_I32BE );
-const PredType PredType::STD_I32LE( E_STD_I32LE );
-const PredType PredType::STD_I64BE( E_STD_I64BE );
-const PredType PredType::STD_I64LE( E_STD_I64LE );
-const PredType PredType::STD_U8BE( E_STD_U8BE );
-const PredType PredType::STD_U8LE( E_STD_U8LE );
-const PredType PredType::STD_U16BE( E_STD_U16BE );
-const PredType PredType::STD_U16LE( E_STD_U16LE );
-const PredType PredType::STD_U32BE( E_STD_U32BE );
-const PredType PredType::STD_U32LE( E_STD_U32LE );
-const PredType PredType::STD_U64BE( E_STD_U64BE );
-const PredType PredType::STD_U64LE( E_STD_U64LE );
-const PredType PredType::STD_B8BE( E_STD_B8BE );
-const PredType PredType::STD_B8LE( E_STD_B8LE );
+const PredType PredType::STD_B16BE( H5T_STD_B16BE );
+const PredType PredType::STD_B16LE( H5T_STD_B16LE );
+const PredType PredType::STD_B32BE( H5T_STD_B32BE );
+const PredType PredType::STD_B32LE( H5T_STD_B32LE );
+const PredType PredType::STD_B64BE( H5T_STD_B64BE );
+const PredType PredType::STD_B64LE( H5T_STD_B64LE );
+const PredType PredType::STD_REF_OBJ( H5T_STD_REF_OBJ );
+const PredType PredType::STD_REF_DSETREG( H5T_STD_REF_DSETREG );
 
-const PredType PredType::STD_B16BE( E_STD_B16BE );
-const PredType PredType::STD_B16LE( E_STD_B16LE );
-const PredType PredType::STD_B32BE( E_STD_B32BE );
-const PredType PredType::STD_B32LE( E_STD_B32LE );
-const PredType PredType::STD_B64BE( E_STD_B64BE );
-const PredType PredType::STD_B64LE( E_STD_B64LE );
-const PredType PredType::STD_REF_OBJ( E_STD_REF_OBJ );
-const PredType PredType::STD_REF_DSETREG( E_STD_REF_DSETREG );
+const PredType PredType::IEEE_F32BE( H5T_IEEE_F32BE );
+const PredType PredType::IEEE_F32LE( H5T_IEEE_F32LE );
+const PredType PredType::IEEE_F64BE( H5T_IEEE_F64BE );
+const PredType PredType::IEEE_F64LE( H5T_IEEE_F64LE );
 
-const PredType PredType::IEEE_F32BE( E_IEEE_F32BE );
-const PredType PredType::IEEE_F32LE( E_IEEE_F32LE );
-const PredType PredType::IEEE_F64BE( E_IEEE_F64BE );
-const PredType PredType::IEEE_F64LE( E_IEEE_F64LE );
+const PredType PredType::UNIX_D32BE( H5T_UNIX_D32BE );
+const PredType PredType::UNIX_D32LE( H5T_UNIX_D32LE );
+const PredType PredType::UNIX_D64BE( H5T_UNIX_D64BE );
+const PredType PredType::UNIX_D64LE( H5T_UNIX_D64LE );
 
-const PredType PredType::UNIX_D32BE( E_UNIX_D32BE );
-const PredType PredType::UNIX_D32LE( E_UNIX_D32LE );
-const PredType PredType::UNIX_D64BE( E_UNIX_D64BE );
-const PredType PredType::UNIX_D64LE( E_UNIX_D64LE );
+const PredType PredType::INTEL_I8( H5T_INTEL_I8 );
+const PredType PredType::INTEL_I16( H5T_INTEL_I16 );
+const PredType PredType::INTEL_I32( H5T_INTEL_I32 );
+const PredType PredType::INTEL_I64( H5T_INTEL_I64 );
+const PredType PredType::INTEL_U8( H5T_INTEL_U8 );
+const PredType PredType::INTEL_U16( H5T_INTEL_U16 );
+const PredType PredType::INTEL_U32( H5T_INTEL_U32 );
+const PredType PredType::INTEL_U64( H5T_INTEL_U64 );
+const PredType PredType::INTEL_B8( H5T_INTEL_B8 );
+const PredType PredType::INTEL_B16( H5T_INTEL_B16 );
+const PredType PredType::INTEL_B32( H5T_INTEL_B32 );
+const PredType PredType::INTEL_B64( H5T_INTEL_B64 );
+const PredType PredType::INTEL_F32( H5T_INTEL_F32 );
+const PredType PredType::INTEL_F64( H5T_INTEL_F64 );
 
-const PredType PredType::INTEL_I8( E_INTEL_I8 );
-const PredType PredType::INTEL_I16( E_INTEL_I16 );
-const PredType PredType::INTEL_I32( E_INTEL_I32 );
-const PredType PredType::INTEL_I64( E_INTEL_I64 );
-const PredType PredType::INTEL_U8( E_INTEL_U8 );
-const PredType PredType::INTEL_U16( E_INTEL_U16 );
-const PredType PredType::INTEL_U32( E_INTEL_U32 );
-const PredType PredType::INTEL_U64( E_INTEL_U64 );
-const PredType PredType::INTEL_B8( E_INTEL_B8 );
-const PredType PredType::INTEL_B16( E_INTEL_B16 );
-const PredType PredType::INTEL_B32( E_INTEL_B32 );
-const PredType PredType::INTEL_B64( E_INTEL_B64 );
-const PredType PredType::INTEL_F32( E_INTEL_F32 );
-const PredType PredType::INTEL_F64( E_INTEL_F64 );
+const PredType PredType::ALPHA_I8( H5T_ALPHA_I8 );
+const PredType PredType::ALPHA_I16( H5T_ALPHA_I16 );
+const PredType PredType::ALPHA_I32( H5T_ALPHA_I32 );
+const PredType PredType::ALPHA_I64( H5T_ALPHA_I64 );
+const PredType PredType::ALPHA_U8( H5T_ALPHA_U8 );
+const PredType PredType::ALPHA_U16( H5T_ALPHA_U16 );
+const PredType PredType::ALPHA_U32( H5T_ALPHA_U32 );
+const PredType PredType::ALPHA_U64( H5T_ALPHA_U64 );
+const PredType PredType::ALPHA_B8( H5T_ALPHA_B8 );
+const PredType PredType::ALPHA_B16( H5T_ALPHA_B16 );
+const PredType PredType::ALPHA_B32( H5T_ALPHA_B32 );
+const PredType PredType::ALPHA_B64( H5T_ALPHA_B64 );
+const PredType PredType::ALPHA_F32( H5T_ALPHA_F32 );
+const PredType PredType::ALPHA_F64( H5T_ALPHA_F64 );
 
-const PredType PredType::ALPHA_I8( E_ALPHA_I8 );
-const PredType PredType::ALPHA_I16( E_ALPHA_I16 );
-const PredType PredType::ALPHA_I32( E_ALPHA_I32 );
-const PredType PredType::ALPHA_I64( E_ALPHA_I64 );
-const PredType PredType::ALPHA_U8( E_ALPHA_U8 );
-const PredType PredType::ALPHA_U16( E_ALPHA_U16 );
-const PredType PredType::ALPHA_U32( E_ALPHA_U32 );
-const PredType PredType::ALPHA_U64( E_ALPHA_U64 );
-const PredType PredType::ALPHA_B8( E_ALPHA_B8 );
-const PredType PredType::ALPHA_B16( E_ALPHA_B16 );
-const PredType PredType::ALPHA_B32( E_ALPHA_B32 );
-const PredType PredType::ALPHA_B64( E_ALPHA_B64 );
-const PredType PredType::ALPHA_F32( E_ALPHA_F32 );
-const PredType PredType::ALPHA_F64( E_ALPHA_F64 );
+const PredType PredType::MIPS_I8( H5T_MIPS_I8 );
+const PredType PredType::MIPS_I16( H5T_MIPS_I16 );
+const PredType PredType::MIPS_I32( H5T_MIPS_I32 );
+const PredType PredType::MIPS_I64( H5T_MIPS_I64 );
+const PredType PredType::MIPS_U8( H5T_MIPS_U8 );
+const PredType PredType::MIPS_U16( H5T_MIPS_U16 );
+const PredType PredType::MIPS_U32( H5T_MIPS_U32 );
+const PredType PredType::MIPS_U64( H5T_MIPS_U64 );
+const PredType PredType::MIPS_B8( H5T_MIPS_B8 );
+const PredType PredType::MIPS_B16( H5T_MIPS_B16 );
+const PredType PredType::MIPS_B32( H5T_MIPS_B32 );
+const PredType PredType::MIPS_B64( H5T_MIPS_B64 );
+const PredType PredType::MIPS_F32( H5T_MIPS_F32 );
+const PredType PredType::MIPS_F64( H5T_MIPS_F64 );
 
-const PredType PredType::MIPS_I8( E_MIPS_I8 );
-const PredType PredType::MIPS_I16( E_MIPS_I16 );
-const PredType PredType::MIPS_I32( E_MIPS_I32 );
-const PredType PredType::MIPS_I64( E_MIPS_I64 );
-const PredType PredType::MIPS_U8( E_MIPS_U8 );
-const PredType PredType::MIPS_U16( E_MIPS_U16 );
-const PredType PredType::MIPS_U32( E_MIPS_U32 );
-const PredType PredType::MIPS_U64( E_MIPS_U64 );
-const PredType PredType::MIPS_B8( E_MIPS_B8 );
-const PredType PredType::MIPS_B16( E_MIPS_B16 );
-const PredType PredType::MIPS_B32( E_MIPS_B32 );
-const PredType PredType::MIPS_B64( E_MIPS_B64 );
-const PredType PredType::MIPS_F32( E_MIPS_F32 );
-const PredType PredType::MIPS_F64( E_MIPS_F64 );
+const PredType PredType::NATIVE_CHAR( H5T_NATIVE_CHAR );
+const PredType PredType::NATIVE_INT( H5T_NATIVE_INT );
+const PredType PredType::NATIVE_FLOAT( H5T_NATIVE_FLOAT );
+const PredType PredType::NATIVE_SCHAR( H5T_NATIVE_SCHAR );
+const PredType PredType::NATIVE_UCHAR( H5T_NATIVE_UCHAR );
+const PredType PredType::NATIVE_SHORT( H5T_NATIVE_SHORT );
+const PredType PredType::NATIVE_USHORT( H5T_NATIVE_USHORT );
+const PredType PredType::NATIVE_UINT( H5T_NATIVE_UINT );
+const PredType PredType::NATIVE_LONG( H5T_NATIVE_LONG );
+const PredType PredType::NATIVE_ULONG( H5T_NATIVE_ULONG );
+const PredType PredType::NATIVE_LLONG( H5T_NATIVE_LLONG );
+const PredType PredType::NATIVE_ULLONG( H5T_NATIVE_ULLONG );
+const PredType PredType::NATIVE_DOUBLE( H5T_NATIVE_DOUBLE );
+#if H5_SIZEOF_LONG_DOUBLE !=0
+const PredType PredType::NATIVE_LDOUBLE( H5T_NATIVE_LDOUBLE );
+#endif
+const PredType PredType::NATIVE_B8( H5T_NATIVE_B8 );
+const PredType PredType::NATIVE_B16( H5T_NATIVE_B16 );
+const PredType PredType::NATIVE_B32( H5T_NATIVE_B32 );
+const PredType PredType::NATIVE_B64( H5T_NATIVE_B64 );
+const PredType PredType::NATIVE_OPAQUE( H5T_NATIVE_OPAQUE );
+const PredType PredType::NATIVE_HSIZE( H5T_NATIVE_HSIZE );
+const PredType PredType::NATIVE_HSSIZE( H5T_NATIVE_HSSIZE );
+const PredType PredType::NATIVE_HERR( H5T_NATIVE_HERR );
+const PredType PredType::NATIVE_HBOOL( H5T_NATIVE_HBOOL );
 
-const PredType PredType::NATIVE_CHAR( E_NATIVE_CHAR );
-const PredType PredType::NATIVE_INT( E_NATIVE_INT );
-const PredType PredType::NATIVE_FLOAT( E_NATIVE_FLOAT );
-const PredType PredType::NATIVE_SCHAR( E_NATIVE_SCHAR );
-const PredType PredType::NATIVE_UCHAR( E_NATIVE_UCHAR );
-const PredType PredType::NATIVE_SHORT( E_NATIVE_SHORT );
-const PredType PredType::NATIVE_USHORT( E_NATIVE_USHORT );
-const PredType PredType::NATIVE_UINT( E_NATIVE_UINT );
-const PredType PredType::NATIVE_LONG( E_NATIVE_LONG );
-const PredType PredType::NATIVE_ULONG( E_NATIVE_ULONG );
-const PredType PredType::NATIVE_LLONG( E_NATIVE_LLONG );
-const PredType PredType::NATIVE_ULLONG( E_NATIVE_ULLONG );
-const PredType PredType::NATIVE_DOUBLE( E_NATIVE_DOUBLE );
-const PredType PredType::NATIVE_LDOUBLE( E_NATIVE_LDOUBLE );
-const PredType PredType::NATIVE_B8( E_NATIVE_B8 );
-const PredType PredType::NATIVE_B16( E_NATIVE_B16 );
-const PredType PredType::NATIVE_B32( E_NATIVE_B32 );
-const PredType PredType::NATIVE_B64( E_NATIVE_B64 );
-const PredType PredType::NATIVE_OPAQUE( E_NATIVE_OPAQUE );
-const PredType PredType::NATIVE_HSIZE( E_NATIVE_HSIZE );
-const PredType PredType::NATIVE_HSSIZE( E_NATIVE_HSSIZE );
-const PredType PredType::NATIVE_HERR( E_NATIVE_HERR );
-const PredType PredType::NATIVE_HBOOL( E_NATIVE_HBOOL );
+const PredType PredType::NATIVE_INT8( H5T_NATIVE_INT8 );
+const PredType PredType::NATIVE_UINT8( H5T_NATIVE_UINT8 );
+const PredType PredType::NATIVE_INT16( H5T_NATIVE_INT16 );
+const PredType PredType::NATIVE_UINT16( H5T_NATIVE_UINT16 );
+const PredType PredType::NATIVE_INT32( H5T_NATIVE_INT32 );
+const PredType PredType::NATIVE_UINT32( H5T_NATIVE_UINT32 );
+const PredType PredType::NATIVE_INT64( H5T_NATIVE_INT64 );
+const PredType PredType::NATIVE_UINT64( H5T_NATIVE_UINT64 );
 
-const PredType PredType::NATIVE_INT8( E_NATIVE_INT8 );
-const PredType PredType::NATIVE_UINT8( E_NATIVE_UINT8 );
-const PredType PredType::NATIVE_INT_LEAST8( E_NATIVE_INT_LEAST8 );
-const PredType PredType::NATIVE_UINT_LEAST8( E_NATIVE_UINT_LEAST8 );
-const PredType PredType::NATIVE_INT_FAST8( E_NATIVE_INT_FAST8 );
-const PredType PredType::NATIVE_UINT_FAST8( E_NATIVE_UINT_FAST8 );
+// LEAST types
+#if H5_SIZEOF_INT_LEAST8_T != 0
+const PredType PredType::NATIVE_INT_LEAST8( H5T_NATIVE_INT_LEAST8 );
+#endif /* H5_SIZEOF_INT_LEAST8_T */
+#if H5_SIZEOF_UINT_LEAST8_T != 0
+const PredType PredType::NATIVE_UINT_LEAST8( H5T_NATIVE_UINT_LEAST8 );
+#endif /* H5_SIZEOF_UINT_LEAST8_T */
 
-const PredType PredType::NATIVE_INT16( E_NATIVE_INT16 );
-const PredType PredType::NATIVE_UINT16( E_NATIVE_UINT16 );
-const PredType PredType::NATIVE_INT_LEAST16( E_NATIVE_INT_LEAST16 );
-const PredType PredType::NATIVE_UINT_LEAST16( E_NATIVE_UINT_LEAST16 );
-const PredType PredType::NATIVE_INT_FAST16( E_NATIVE_INT_FAST16 );
-const PredType PredType::NATIVE_UINT_FAST16( E_NATIVE_UINT_FAST16 );
+#if H5_SIZEOF_INT_LEAST16_T != 0
+const PredType PredType::NATIVE_INT_LEAST16( H5T_NATIVE_INT_LEAST16 );
+#endif /* H5_SIZEOF_INT_LEAST16_T */
+#if H5_SIZEOF_UINT_LEAST16_T != 0
+const PredType PredType::NATIVE_UINT_LEAST16( H5T_NATIVE_UINT_LEAST16 );
+#endif /* H5_SIZEOF_UINT_LEAST16_T */
 
-const PredType PredType::NATIVE_INT32( E_NATIVE_INT32 );
-const PredType PredType::NATIVE_UINT32( E_NATIVE_UINT32 );
-const PredType PredType::NATIVE_INT_LEAST32( E_NATIVE_INT_LEAST32 );
-const PredType PredType::NATIVE_UINT_LEAST32( E_NATIVE_UINT_LEAST32 );
-const PredType PredType::NATIVE_INT_FAST32( E_NATIVE_INT_FAST32 );
-const PredType PredType::NATIVE_UINT_FAST32( E_NATIVE_UINT_FAST32 );
+#if H5_SIZEOF_INT_LEAST32_T != 0
+const PredType PredType::NATIVE_INT_LEAST32( H5T_NATIVE_INT_LEAST32 );
+#endif /* H5_SIZEOF_INT_LEAST32_T */
+#if H5_SIZEOF_UINT_LEAST32_T != 0
+const PredType PredType::NATIVE_UINT_LEAST32( H5T_NATIVE_UINT_LEAST32 );
+#endif /* H5_SIZEOF_UINT_LEAST32_T */
 
-const PredType PredType::NATIVE_INT64( E_NATIVE_INT64 );
-const PredType PredType::NATIVE_UINT64( E_NATIVE_UINT64 );
-const PredType PredType::NATIVE_INT_LEAST64( E_NATIVE_INT_LEAST64 );
-const PredType PredType::NATIVE_UINT_LEAST64( E_NATIVE_UINT_LEAST64 );
-const PredType PredType::NATIVE_INT_FAST64( E_NATIVE_INT_FAST64 );
-const PredType PredType::NATIVE_UINT_FAST64( E_NATIVE_UINT_FAST64 );
+#if H5_SIZEOF_INT_LEAST64_T != 0
+const PredType PredType::NATIVE_INT_LEAST64( H5T_NATIVE_INT_LEAST64 );
+#endif /* H5_SIZEOF_INT_LEAST64_T */
+#if H5_SIZEOF_UINT_LEAST64_T != 0
+const PredType PredType::NATIVE_UINT_LEAST64( H5T_NATIVE_UINT_LEAST64 );
+#endif /* H5_SIZEOF_UINT_LEAST64_T */
+
+// FAST types
+#if H5_SIZEOF_INT_FAST8_T != 0
+const PredType PredType::NATIVE_INT_FAST8( H5T_NATIVE_INT_FAST8 );
+#endif /* H5_SIZEOF_INT_FAST8_T */
+#if H5_SIZEOF_UINT_FAST8_T != 0
+const PredType PredType::NATIVE_UINT_FAST8( H5T_NATIVE_UINT_FAST8 );
+#endif /* H5_SIZEOF_UINT_FAST8_T */
+
+#if H5_SIZEOF_INT_FAST16_T != 0
+const PredType PredType::NATIVE_INT_FAST16( H5T_NATIVE_INT_FAST16 );
+#endif /* H5_SIZEOF_INT_FAST16_T */
+#if H5_SIZEOF_UINT_FAST16_T != 0
+const PredType PredType::NATIVE_UINT_FAST16( H5T_NATIVE_UINT_FAST16 );
+#endif /* H5_SIZEOF_UINT_FAST16_T */
+
+#if H5_SIZEOF_INT_FAST32_T != 0
+const PredType PredType::NATIVE_INT_FAST32( H5T_NATIVE_INT_FAST32 );
+#endif /* H5_SIZEOF_INT_FAST32_T */
+#if H5_SIZEOF_UINT_FAST32_T != 0
+const PredType PredType::NATIVE_UINT_FAST32( H5T_NATIVE_UINT_FAST32 );
+#endif /* H5_SIZEOF_UINT_FAST32_T */
+
+#if H5_SIZEOF_INT_FAST64_T != 0
+const PredType PredType::NATIVE_INT_FAST64( H5T_NATIVE_INT_FAST64 );
+#endif /* H5_SIZEOF_INT_FAST64_T */
+#if H5_SIZEOF_UINT_FAST64_T != 0
+const PredType PredType::NATIVE_UINT_FAST64( H5T_NATIVE_UINT_FAST64 );
+#endif /* H5_SIZEOF_UINT_FAST64_T */
 #endif // DOXYGEN_SHOULD_SKIP_THIS
 
 //--------------------------------------------------------------------------
@@ -223,296 +258,30 @@
 //--------------------------------------------------------------------------
 PredType& PredType::operator=( const PredType& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
-//--------------------------------------------------------------------------
-// Function:	PredType::getId
-///\brief	Returns the HDF5 predefined type id.
-///\return	HDF5 predefined type id or INVALID
-// Programmer	Binh-Minh Ribler - 2000
-//--------------------------------------------------------------------------
-hid_t PredType::getId() const
-{
-    switch( id ) {
-	case E_C_S1:
-	    return( H5T_C_S1 );
-	case E_FORTRAN_S1:
-	    return( H5T_FORTRAN_S1 );
-
-	case E_STD_I8BE:
-	    return( H5T_STD_I8BE );
-	case E_STD_I8LE:
-	    return( H5T_STD_I8LE );
-	case E_STD_I16BE:
-	    return( H5T_STD_I16BE );
-	case E_STD_I16LE:
-	    return( H5T_STD_I16LE );
-	case E_STD_I32BE:
-	    return( H5T_STD_I32BE );
-	case E_STD_I32LE:
-	    return( H5T_STD_I32LE );
-	case E_STD_I64BE:
-	    return( H5T_STD_I64BE );
-	case E_STD_I64LE:
-	    return( H5T_STD_I64LE );
-	case E_STD_U8BE:
-	    return( H5T_STD_U8BE );
-	case E_STD_U8LE:
-	    return( H5T_STD_U8LE );
-	case E_STD_U16BE:
-	    return( H5T_STD_U16BE );
-	case E_STD_U16LE:
-	    return( H5T_STD_U16LE );
-	case E_STD_U32BE:
-	    return( H5T_STD_U32BE );
-	case E_STD_U32LE:
-	    return( H5T_STD_U32LE );
-	case E_STD_U64BE:
-	    return( H5T_STD_U64BE );
-	case E_STD_U64LE:
-	    return( H5T_STD_U64LE );
-	case E_STD_B8BE:
-	    return( H5T_STD_B8BE );
-	case E_STD_B8LE:
-	    return( H5T_STD_B8LE );
-
-	case E_STD_B16BE:
-	    return( H5T_STD_B16BE );
-	case E_STD_B16LE:
-	    return( H5T_STD_B16LE );
-	case E_STD_B32BE:
-	    return( H5T_STD_B32BE );
-	case E_STD_B32LE:
-	    return( H5T_STD_B32LE );
-	case E_STD_B64BE:
-	    return( H5T_STD_B64BE );
-	case E_STD_B64LE:
-	    return( H5T_STD_B64LE );
-	case E_STD_REF_OBJ:
-	    return( H5T_STD_REF_OBJ );
-	case E_STD_REF_DSETREG:
-	    return( H5T_STD_REF_DSETREG );
-
-	case E_IEEE_F32BE:
-	    return( H5T_IEEE_F32BE );
-	case E_IEEE_F32LE:
-	    return( H5T_IEEE_F32LE );
-	case E_IEEE_F64BE:
-	    return( H5T_IEEE_F64BE );
-	case E_IEEE_F64LE:
-	    return( H5T_IEEE_F64LE );
-
-	case E_UNIX_D32BE:
-	    return( H5T_UNIX_D32BE );
-	case E_UNIX_D32LE:
-	    return( H5T_UNIX_D32LE );
-	case E_UNIX_D64BE:
-	    return( H5T_UNIX_D64BE );
-	case E_UNIX_D64LE:
-	    return( H5T_UNIX_D64LE );
-
-	case E_INTEL_I8:
-	    return( H5T_INTEL_I8 );
-	case E_INTEL_I16:
-	    return( H5T_INTEL_I16 );
-	case E_INTEL_I32:
-	    return( H5T_INTEL_I32 );
-	case E_INTEL_I64:
-	    return( H5T_INTEL_I64 );
-	case E_INTEL_U8:
-	    return( H5T_INTEL_U8 );
-	case E_INTEL_U16:
-	    return( H5T_INTEL_U16 );
-	case E_INTEL_U32:
-	    return( H5T_INTEL_U32 );
-	case E_INTEL_U64:
-	    return( H5T_INTEL_U64 );
-	case E_INTEL_B8:
-	    return( H5T_INTEL_B8 );
-	case E_INTEL_B16:
-	    return( H5T_INTEL_B16 );
-	case E_INTEL_B32:
-	    return( H5T_INTEL_B32 );
-	case E_INTEL_B64:
-	    return( H5T_INTEL_B64 );
-	case E_INTEL_F32:
-	    return( H5T_INTEL_F32 );
-	case E_INTEL_F64:
-	    return( H5T_INTEL_F64 );
-
-	case E_ALPHA_I8:
-	    return( H5T_ALPHA_I8 );
-	case E_ALPHA_I16:
-	    return( H5T_ALPHA_I16 );
-	case E_ALPHA_I32:
-	    return( H5T_ALPHA_I32 );
-	case E_ALPHA_I64:
-	    return( H5T_ALPHA_I64 );
-	case E_ALPHA_U8:
-	    return( H5T_ALPHA_U8 );
-	case E_ALPHA_U16:
-	    return( H5T_ALPHA_U16 );
-	case E_ALPHA_U32:
-	    return( H5T_ALPHA_U32 );
-	case E_ALPHA_U64:
-	    return( H5T_ALPHA_U64 );
-	case E_ALPHA_B8:
-	    return( H5T_ALPHA_B8 );
-	case E_ALPHA_B16:
-	    return( H5T_ALPHA_B16 );
-	case E_ALPHA_B32:
-	    return( H5T_ALPHA_B32 );
-	case E_ALPHA_B64:
-	    return( H5T_ALPHA_B64 );
-	case E_ALPHA_F32:
-	    return( H5T_ALPHA_F32 );
-	case E_ALPHA_F64:
-	    return( H5T_ALPHA_F64 );
-
-	case E_MIPS_I8:
-	    return( H5T_MIPS_I8 );
-	case E_MIPS_I16:
-	    return( H5T_MIPS_I16 );
-	case E_MIPS_I32:
-	    return( H5T_MIPS_I32 );
-	case E_MIPS_I64:
-	    return( H5T_MIPS_I64 );
-	case E_MIPS_U8:
-	    return( H5T_MIPS_U8 );
-	case E_MIPS_U16:
-	    return( H5T_MIPS_U16 );
-	case E_MIPS_U32:
-	    return( H5T_MIPS_U32 );
-	case E_MIPS_U64:
-	    return( H5T_MIPS_U64 );
-	case E_MIPS_B8:
-	    return( H5T_MIPS_B8 );
-	case E_MIPS_B16:
-	    return( H5T_MIPS_B16 );
-	case E_MIPS_B32:
-	    return( H5T_MIPS_B32 );
-	case E_MIPS_B64:
-	    return( H5T_MIPS_B64 );
-	case E_MIPS_F32:
-	    return( H5T_MIPS_F32 );
-	case E_MIPS_F64:
-	    return( H5T_MIPS_F64 );
-
-	case E_NATIVE_CHAR:
-	    return( H5T_NATIVE_CHAR );
-	case E_NATIVE_INT:
-	    return( H5T_NATIVE_INT );
-	case E_NATIVE_FLOAT:
-	    return( H5T_NATIVE_FLOAT );
-	case E_NATIVE_SCHAR:
-	    return( H5T_NATIVE_SCHAR );
-	case E_NATIVE_UCHAR:
-	    return( H5T_NATIVE_UCHAR );
-	case E_NATIVE_SHORT:
-	    return( H5T_NATIVE_SHORT );
-	case E_NATIVE_USHORT:
-	    return( H5T_NATIVE_USHORT );
-	case E_NATIVE_UINT:
-	    return( H5T_NATIVE_UINT );
-	case E_NATIVE_LONG:
-	    return( H5T_NATIVE_LONG );
-	case E_NATIVE_ULONG:
-	    return( H5T_NATIVE_ULONG );
-	case E_NATIVE_LLONG:
-	    return( H5T_NATIVE_LLONG );
-	case E_NATIVE_ULLONG:
-	    return( H5T_NATIVE_ULLONG );
-	case E_NATIVE_DOUBLE:
-	    return( H5T_NATIVE_DOUBLE );
-	case E_NATIVE_LDOUBLE:
-	    return( H5T_NATIVE_LDOUBLE );
-	case E_NATIVE_B8:
-	    return( H5T_NATIVE_B8 );
-	case E_NATIVE_B16:
-	    return( H5T_NATIVE_B16 );
-	case E_NATIVE_B32:
-	    return( H5T_NATIVE_B32 );
-	case E_NATIVE_B64:
-	    return( H5T_NATIVE_B64 );
-	case E_NATIVE_OPAQUE:
-	    return( H5T_NATIVE_OPAQUE );
-	case E_NATIVE_HSIZE:
-	    return( H5T_NATIVE_HSIZE );
-	case E_NATIVE_HSSIZE:
-	    return( H5T_NATIVE_HSSIZE );
-	case E_NATIVE_HERR:
-	    return( H5T_NATIVE_HERR );
-	case E_NATIVE_HBOOL:
-	    return( H5T_NATIVE_HBOOL );
-
-	case E_NATIVE_INT8:
-	    return( H5T_NATIVE_INT8 );
-	case E_NATIVE_UINT8:
-	    return( H5T_NATIVE_UINT8 );
-	case E_NATIVE_INT_LEAST8:
-	    return( H5T_NATIVE_INT_LEAST8 );
-	case E_NATIVE_UINT_LEAST8:
-	    return( H5T_NATIVE_UINT_LEAST8 );
-	case E_NATIVE_INT_FAST8:
-	    return( H5T_NATIVE_INT_FAST8 );
-	case E_NATIVE_UINT_FAST8:
-	    return( H5T_NATIVE_UINT_FAST8 );
-
-	case E_NATIVE_INT16:
-	    return( H5T_NATIVE_INT16 );
-	case E_NATIVE_UINT16:
-	    return( H5T_NATIVE_UINT16 );
-	case E_NATIVE_INT_LEAST16:
-	    return( H5T_NATIVE_INT_LEAST16 );
-	case E_NATIVE_UINT_LEAST16:
-	    return( H5T_NATIVE_UINT_LEAST16 );
-	case E_NATIVE_INT_FAST16:
-	    return( H5T_NATIVE_INT_FAST16 );
-	case E_NATIVE_UINT_FAST16:
-	    return( H5T_NATIVE_UINT_FAST16 );
-
-	case E_NATIVE_INT32:
-	    return( H5T_NATIVE_INT32 );
-	case E_NATIVE_UINT32:
-	    return( H5T_NATIVE_UINT32 );
-	case E_NATIVE_INT_LEAST32:
-	    return( H5T_NATIVE_INT_LEAST32 );
-	case E_NATIVE_UINT_LEAST32:
-	    return( H5T_NATIVE_UINT_LEAST32 );
-	case E_NATIVE_INT_FAST32:
-	    return( H5T_NATIVE_INT_FAST32 );
-	case E_NATIVE_UINT_FAST32:
-	    return( H5T_NATIVE_UINT_FAST32 );
-
-	case E_NATIVE_INT64:
-	    return( H5T_NATIVE_INT64 );
-	case E_NATIVE_UINT64:
-	    return( H5T_NATIVE_UINT64 );
-	case E_NATIVE_INT_LEAST64:
-	    return( H5T_NATIVE_INT_LEAST64 );
-	case E_NATIVE_UINT_LEAST64:
-	    return( H5T_NATIVE_UINT_LEAST64 );
-	case E_NATIVE_INT_FAST64:
-	    return( H5T_NATIVE_INT_FAST64 );
-	case E_NATIVE_UINT_FAST64:
-	    return( H5T_NATIVE_UINT_FAST64 );
-
-	default:
-	    return( INVALID );
-    }   // end switch
-}   // end of getId()
-
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 // These dummy functions do not inherit from DataType - they'll
 // throw an DataTypeIException if invoked.
+void PredType::commit( H5File& loc, const char* name )
+{
+   throw DataTypeIException("PredType::commit", "Error: Attempted to commit a predefined datatype.  Invalid operation!" );
+}
+
+void PredType::commit( H5File& loc, const H5std_string& name )
+{
+   commit( loc, name.c_str());
+}
+
 void PredType::commit( H5Object& loc, const char* name )
 {
-   throw DataTypeIException("PredType::commit", "Attempting to commit a predefined datatype.  This operation is invalid" );
+   throw DataTypeIException("PredType::commit", "Error: Attempted to commit a predefined datatype.  Invalid operation!" );
 }
 
-void PredType::commit( H5Object& loc, const string& name )
+void PredType::commit( H5Object& loc, const H5std_string& name )
 {
    commit( loc, name.c_str());
 }

Modified: packages/hdf5/trunk/c++/src/H5PredType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5PredType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5PredType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // PredType holds the definition of all the HDF5 predefined datatypes.
@@ -28,7 +29,7 @@
 class H5_DLLCPP PredType : public AtomType {
    public:
 	// Returns this class name
-	virtual string fromClass () const { return ("PredType"); }
+	virtual H5std_string fromClass () const { return("PredType"); }
 
 	// Makes a copy of the predefined type and stores the new
 	// id in the left hand side object.
@@ -37,9 +38,6 @@
 	// Copy constructor - makes copy of the original object
 	PredType( const PredType& original );
 
-	// Returns the HDF5 predefined type id.
-	virtual hid_t getId() const;
-
 	// Noop destructor
 	virtual ~PredType();
 
@@ -155,36 +153,77 @@
 
 	static const PredType NATIVE_INT8;
 	static const PredType NATIVE_UINT8;
+	static const PredType NATIVE_INT16;
+	static const PredType NATIVE_UINT16;
+	static const PredType NATIVE_INT32;
+	static const PredType NATIVE_UINT32;
+	static const PredType NATIVE_INT64;
+	static const PredType NATIVE_UINT64;
+
+// LEAST types
+#if H5_SIZEOF_INT_LEAST8_T != 0
 	static const PredType NATIVE_INT_LEAST8;
+#endif /* H5_SIZEOF_INT_LEAST8_T */
+#if H5_SIZEOF_UINT_LEAST8_T != 0
 	static const PredType NATIVE_UINT_LEAST8;
-	static const PredType NATIVE_INT_FAST8;
-	static const PredType NATIVE_UINT_FAST8;
+#endif /* H5_SIZEOF_UINT_LEAST8_T */
 
-	static const PredType NATIVE_INT16;
-	static const PredType NATIVE_UINT16;
+#if H5_SIZEOF_INT_LEAST16_T != 0
 	static const PredType NATIVE_INT_LEAST16;
+#endif /* H5_SIZEOF_INT_LEAST16_T */
+#if H5_SIZEOF_UINT_LEAST16_T != 0
 	static const PredType NATIVE_UINT_LEAST16;
-	static const PredType NATIVE_INT_FAST16;
-	static const PredType NATIVE_UINT_FAST16;
+#endif /* H5_SIZEOF_UINT_LEAST16_T */
 
-	static const PredType NATIVE_INT32;
-	static const PredType NATIVE_UINT32;
+#if H5_SIZEOF_INT_LEAST32_T != 0
 	static const PredType NATIVE_INT_LEAST32;
+#endif /* H5_SIZEOF_INT_LEAST32_T */
+#if H5_SIZEOF_UINT_LEAST32_T != 0
 	static const PredType NATIVE_UINT_LEAST32;
-	static const PredType NATIVE_INT_FAST32;
-	static const PredType NATIVE_UINT_FAST32;
+#endif /* H5_SIZEOF_UINT_LEAST32_T */
 
-	static const PredType NATIVE_INT64;
-	static const PredType NATIVE_UINT64;
+#if H5_SIZEOF_INT_LEAST64_T != 0
 	static const PredType NATIVE_INT_LEAST64;
+#endif /* H5_SIZEOF_INT_LEAST64_T */
+#if H5_SIZEOF_UINT_LEAST64_T != 0
 	static const PredType NATIVE_UINT_LEAST64;
+#endif /* H5_SIZEOF_UINT_LEAST64_T */
+
+// FAST types
+#if H5_SIZEOF_INT_FAST8_T != 0
+	static const PredType NATIVE_INT_FAST8;
+#endif /* H5_SIZEOF_INT_FAST8_T */
+#if H5_SIZEOF_UINT_FAST8_T != 0
+	static const PredType NATIVE_UINT_FAST8;
+#endif /* H5_SIZEOF_UINT_FAST8_T */
+
+#if H5_SIZEOF_INT_FAST16_T != 0
+	static const PredType NATIVE_INT_FAST16;
+#endif /* H5_SIZEOF_INT_FAST16_T */
+#if H5_SIZEOF_UINT_FAST16_T != 0
+	static const PredType NATIVE_UINT_FAST16;
+#endif /* H5_SIZEOF_UINT_FAST16_T */
+
+#if H5_SIZEOF_INT_FAST32_T != 0
+	static const PredType NATIVE_INT_FAST32;
+#endif /* H5_SIZEOF_INT_FAST32_T */
+#if H5_SIZEOF_UINT_FAST32_T != 0
+	static const PredType NATIVE_UINT_FAST32;
+#endif /* H5_SIZEOF_UINT_FAST32_T */
+
+#if H5_SIZEOF_INT_FAST64_T != 0
 	static const PredType NATIVE_INT_FAST64;
+#endif /* H5_SIZEOF_INT_FAST64_T */
+#if H5_SIZEOF_UINT_FAST64_T != 0
 	static const PredType NATIVE_UINT_FAST64;
+#endif /* H5_SIZEOF_UINT_FAST64_T */
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 	// These dummy functions do not inherit from DataType - they'll
 	// throw a DataTypeIException if invoked.
-	void commit( H5Object& loc, const string& name );
+	void commit( H5File& loc, const H5std_string& name );
+	void commit( H5File& loc, const char* name );
+	void commit( H5Object& loc, const H5std_string& name );
 	void commit( H5Object& loc, const char* name );
 	bool committed();
 #endif // DOXYGEN_SHOULD_SKIP_THIS
@@ -194,54 +233,6 @@
 	// temporarily - it'll prevent the use of atexit to clean up
 	static const PredType NotAtexit;	// not working yet
 
-	// This enum type is used by this class only to handle the
-	// global PredType objects.  These values will ensure that the
-	// application receives an appropriate and uptodated id for an
-	// HDF5 predefined type; particularly usefull when the application
-	// closes and opens the library again.
-	enum predefined_types {
-
-	    INVALID = 0, E_C_S1 = 1, E_FORTRAN_S1,
-
-	    E_STD_I8BE, E_STD_I8LE, E_STD_I16BE, E_STD_I16LE, E_STD_I32BE,
-	    E_STD_I32LE, E_STD_I64BE, E_STD_I64LE, E_STD_U8BE, E_STD_U8LE,
-	    E_STD_U16BE, E_STD_U16LE, E_STD_U32BE, E_STD_U32LE, E_STD_U64BE,
-	    E_STD_U64LE, E_STD_B8BE, E_STD_B8LE, E_STD_B16BE, E_STD_B16LE,
-	    E_STD_B32BE, E_STD_B32LE, E_STD_B64BE, E_STD_B64LE, E_STD_REF_OBJ,
-	    E_STD_REF_DSETREG,
-
-	    E_IEEE_F32BE, E_IEEE_F32LE, E_IEEE_F64BE, E_IEEE_F64LE,
-
-	    E_UNIX_D32BE, E_UNIX_D32LE, E_UNIX_D64BE, E_UNIX_D64LE,
-
-	    E_INTEL_I8, E_INTEL_I16, E_INTEL_I32, E_INTEL_I64, E_INTEL_U8,
-	    E_INTEL_U16, E_INTEL_U32, E_INTEL_U64, E_INTEL_B8, E_INTEL_B16,
-	    E_INTEL_B32, E_INTEL_B64, E_INTEL_F32, E_INTEL_F64,
-
-	    E_ALPHA_I8, E_ALPHA_I16, E_ALPHA_I32, E_ALPHA_I64, E_ALPHA_U8,
-	    E_ALPHA_U16, E_ALPHA_U32, E_ALPHA_U64, E_ALPHA_B8, E_ALPHA_B16,
-	    E_ALPHA_B32, E_ALPHA_B64, E_ALPHA_F32, E_ALPHA_F64,
-
-	    E_MIPS_I8, E_MIPS_I16, E_MIPS_I32, E_MIPS_I64, E_MIPS_U8,
-	    E_MIPS_U16, E_MIPS_U32, E_MIPS_U64, E_MIPS_B8, E_MIPS_B16,
-	    E_MIPS_B32, E_MIPS_B64, E_MIPS_F32, E_MIPS_F64,
-
-	    E_NATIVE_CHAR, E_NATIVE_INT, E_NATIVE_FLOAT, E_NATIVE_SCHAR,
-	    E_NATIVE_UCHAR, E_NATIVE_SHORT, E_NATIVE_USHORT, E_NATIVE_UINT,
-	    E_NATIVE_LONG, E_NATIVE_ULONG, E_NATIVE_LLONG, E_NATIVE_ULLONG,
-	    E_NATIVE_DOUBLE, E_NATIVE_LDOUBLE, E_NATIVE_B8, E_NATIVE_B16,
-	    E_NATIVE_B32, E_NATIVE_B64, E_NATIVE_OPAQUE, E_NATIVE_HSIZE,
-	    E_NATIVE_HSSIZE, E_NATIVE_HERR, E_NATIVE_HBOOL, E_NATIVE_INT8,
-	    E_NATIVE_UINT8, E_NATIVE_INT_LEAST8, E_NATIVE_UINT_LEAST8,
-	    E_NATIVE_INT_FAST8, E_NATIVE_UINT_FAST8, E_NATIVE_INT16,
-	    E_NATIVE_UINT16, E_NATIVE_INT_LEAST16, E_NATIVE_UINT_LEAST16,
-	    E_NATIVE_INT_FAST16, E_NATIVE_UINT_FAST16, E_NATIVE_INT32,
-	    E_NATIVE_UINT32, E_NATIVE_INT_LEAST32, E_NATIVE_UINT_LEAST32,
-	    E_NATIVE_INT_FAST32, E_NATIVE_UINT_FAST32, E_NATIVE_INT64,
-	    E_NATIVE_UINT64, E_NATIVE_INT_LEAST64, E_NATIVE_UINT_LEAST64,
-	    E_NATIVE_INT_FAST64, E_NATIVE_UINT_FAST64
-	};
-
    protected:
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
 	// Default constructor

Modified: packages/hdf5/trunk/c++/src/H5PropList.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5PropList.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5PropList.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,17 +9,17 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include <string>
 #include <cstdlib>
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
 #include "H5Include.h"
 #include "H5Exception.h"
@@ -27,6 +28,10 @@
 
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
 #endif
 
 //--------------------------------------------------------------------------
@@ -66,18 +71,18 @@
 PropList::PropList( const hid_t plist_id ) : IdComponent(0)
 {
     if (H5I_GENPROP_CLS == H5Iget_type(plist_id)) {
-        // call C routine to create the new property
-        id = H5Pcreate(plist_id);
-        if( id < 0 )
-        {
-            throw PropListIException("PropList constructor", "H5Pcreate failed");
-        }
+	// call C routine to create the new property
+	id = H5Pcreate(plist_id);
+	if( id < 0 )
+	{
+	    throw PropListIException("PropList constructor", "H5Pcreate failed");
+	}
     }
     else {
-        if(plist_id==H5P_NO_CLASS)
-            id=H5P_DEFAULT;
-        else
-            id=plist_id;
+	if(plist_id==H5P_NO_CLASS)
+	    id=H5P_DEFAULT;
+	else
+	    id=plist_id;
     }
 }
 
@@ -88,25 +93,26 @@
 ///\exception	H5::PropListIException
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 void PropList::copy( const PropList& like_plist )
 {
-    // If this object has a valid id, appropriately decrement reference
-    // counter and close the id.
+    // If this object is representing an hdf5 object, close it before
+    // copying like_plist to it
     try {
-        decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        throw PropListIException(inMemFunc("copy"), close_error.getDetailMsg());
+	throw PropListIException(inMemFunc("copy"), close_error.getDetailMsg());
     }
 
-   // call C routine to copy the property list
-   id = H5Pcopy( like_plist.getId() );
-
-   if( id < 0 )
-      throw PropListIException(inMemFunc("copy"), "H5Pcopy failed");
+    // call C routine to copy the property list
+    id = H5Pcopy( like_plist.getId() );
+    if( id < 0 )
+	throw PropListIException(inMemFunc("copy"), "H5Pcopy failed");
 }
 
 //--------------------------------------------------------------------------
@@ -122,8 +128,9 @@
 //--------------------------------------------------------------------------
 PropList& PropList::operator=( const PropList& rhs )
 {
-   copy(rhs);
-   return(*this);
+    if (this != &rhs)
+	copy(rhs);
+    return(*this);
 }
 
 //--------------------------------------------------------------------------
@@ -150,10 +157,10 @@
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
 ///\param	dest - IN: Destination property list or class
-///\param	name - IN: Name of the property to copy - \c std::string
+///\param	name - IN: Name of the property to copy - \c H5std_string
 // Programmer	Binh-Minh Ribler - Jul, 2005
 //--------------------------------------------------------------------------
-void PropList::copyProp( PropList& dest, const string& name ) const
+void PropList::copyProp( PropList& dest, const H5std_string& name ) const
 {
    copyProp( dest, name.c_str());
 }
@@ -187,10 +194,10 @@
 ///		accepts. - Obsolete
 ///\param	dest - IN: Destination property list or class
 ///\param	src  - IN: Source property list or class
-///\param	name - IN: Name of the property to copy - \c std::string
+///\param	name - IN: Name of the property to copy - \c H5std_string
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-void PropList::copyProp( PropList& dest, PropList& src, const string& name ) const
+void PropList::copyProp( PropList& dest, PropList& src, const H5std_string& name ) const
 {
    copyProp( dest, src, name.c_str());
 }
@@ -204,18 +211,16 @@
 //--------------------------------------------------------------------------
 void PropList::close()
 {
-   if( id != H5P_NO_CLASS ) // not a constant, should call H5Pclose
-   {
-      herr_t ret_value = H5Pclose( id );
-      if( ret_value < 0 )
-      {
-         throw PropListIException(inMemFunc("close"), "H5Pclose failed");
-      }
-      // reset the id because the property list that it represents is now closed
-      id = 0;
-   }
-   else
-      throw PropListIException(inMemFunc("close"), "Cannot close a constant");
+    if (p_valid_id(id))
+    {
+	herr_t ret_value = H5Pclose( id );
+	if( ret_value < 0 )
+	{
+	    throw PropListIException(inMemFunc("close"), "H5Pclose failed");
+	}
+	// reset the id because the property list that it represents is now closed
+	id = 0;
+    }
 }
 
 //--------------------------------------------------------------------------
@@ -268,10 +273,10 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name - IN: Name of property to check for - \c std::string
+///\param	name - IN: Name of property to check for - \c H5std_string
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-bool PropList::propExist(const string& name ) const
+bool PropList::propExist(const H5std_string& name ) const
 {
    return( propExist( name.c_str()) );
 }
@@ -321,11 +326,11 @@
 ///   		It differs from the above function only in what arguments it
 ///		accepts.
 ///\param	name -  IN: Name of property to query - \c char pointer
-///\return	The property that is a \c std::string.
+///\return	The property that is a \c H5std_string.
 ///\exception	H5::PropListIException
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-string PropList::getProperty(const char* name) const
+H5std_string PropList::getProperty(const char* name) const
 {
    size_t size = getPropSize(name);
    char* prop_strg_C = new char[size+1];  // temporary C-string for C API
@@ -338,7 +343,7 @@
    }
 
    // Return propety value as a string after deleting temp C-string
-   string prop_strg = string(prop_strg_C);
+   H5std_string prop_strg = H5std_string(prop_strg_C);
    delete []prop_strg_C;
    return (prop_strg);
 }
@@ -347,11 +352,11 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 ///   		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name -   IN: Name of property to query - \c str::string
+///\param	name -   IN: Name of property to query - \c H5std_string
 ///\param	value - OUT: Pointer to the buffer for the property value
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void PropList::getProperty(const string& name, void* value) const
+void PropList::getProperty(const H5std_string& name, void* value) const
 {
    getProperty(name.c_str(), value);
 }
@@ -360,11 +365,11 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 ///   		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name -  IN: Name of property to query - \c std::string
-///\return	The property that is a \c std::string.
+///\param	name -  IN: Name of property to query - \c H5std_string
+///\return	The property that is a \c H5std_string.
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-string PropList::getProperty(const string& name) const
+H5std_string PropList::getProperty(const H5std_string& name) const
 {
    return (getProperty(name.c_str()));
 }
@@ -397,11 +402,11 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name - IN: Name of property to query - \c std::string
+///\param	name - IN: Name of property to query - \c H5std_string
 ///
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-size_t PropList::getPropSize(const string& name) const
+size_t PropList::getPropSize(const H5std_string& name) const
 {
    return (getPropSize(name.c_str()));
 }
@@ -413,14 +418,14 @@
 ///		a NULL string.
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-string PropList::getClassName() const
+H5std_string PropList::getClassName() const
 {
    char* temp_str;
    temp_str = H5Pget_class_name(id);
 
    if (temp_str != NULL)
    {
-      string class_name = string(temp_str);
+      H5std_string class_name = H5std_string(temp_str);
       free(temp_str);
       return(class_name);
    }
@@ -484,10 +489,10 @@
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
 ///\param	name - IN: Name of property to set - \c char pointer
-///\param	strg - IN: Value for the property is a \c std::string
+///\param	strg - IN: Value for the property is a \c H5std_string
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void PropList::setProperty(const char* name, string& strg) const
+void PropList::setProperty(const char* name, H5std_string& strg) const
 {
    setProperty(name, strg.c_str());
 }
@@ -497,11 +502,11 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name  - IN: Name of property to set - \c std::string
+///\param	name  - IN: Name of property to set - \c H5std_string
 ///\param	value - IN: Void pointer to the value for the property
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void PropList::setProperty(const string& name, void* value) const
+void PropList::setProperty(const H5std_string& name, void* value) const
 {
    setProperty(name.c_str(), value);
 }
@@ -511,11 +516,11 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name - IN: Name of property to set - \c std::string
-///\param	strg - IN: Value for the property is a \c std::string
+///\param	name - IN: Name of property to set - \c H5std_string
+///\param	strg - IN: Value for the property is a \c H5std_string
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void PropList::setProperty(const string& name, string& strg) const
+void PropList::setProperty(const H5std_string& name, H5std_string& strg) const
 {
    setProperty(name.c_str(), strg.c_str());
 }
@@ -564,10 +569,10 @@
 ///\brief	This is an overloaded member function, provided for convenience.
 /// 		It differs from the above function only in what arguments it
 ///		accepts.
-///\param	name - IN: Name of property to remove - \c std::string
+///\param	name - IN: Name of property to remove - \c H5std_string
 // Programmer:  Binh-Minh Ribler - April, 2004
 //--------------------------------------------------------------------------
-void PropList::removeProp(const string& name) const
+void PropList::removeProp(const H5std_string& name) const
 {
    removeProp(name.c_str());
 }
@@ -617,17 +622,18 @@
 ///\brief	Properly terminates access to this property list.
 // Programmer	Binh-Minh Ribler - 2000
 // Modification
-//		Replaced resetIdComponent with decRefCount to use C library
-//		ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced resetIdComponent() with decRefCount() to use C
+//		library ID reference counting mechanism - BMR, Feb 20, 2005
+//		- Replaced decRefCount with close() to let the C library
+//		handle the reference counting - BMR, Jun 1, 2006
 //--------------------------------------------------------------------------
 PropList::~PropList()
 {
-   // The property list id will be closed properly
     try {
-	decRefCount();
+	close();
     }
     catch (Exception close_error) {
-        cerr << "PropList::~PropList - " << close_error.getDetailMsg() << endl;
+	cerr << "PropList::~PropList - " << close_error.getDetailMsg() << endl;
     }
 }
 

Modified: packages/hdf5/trunk/c++/src/H5PropList.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5PropList.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5PropList.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5PropList_H
@@ -46,18 +47,18 @@
 
 	// Copies a property from this property list or class to another
 	void copyProp( PropList& dest, const char* name) const;
-	void copyProp( PropList& dest, const string& name) const;
+	void copyProp( PropList& dest, const H5std_string& name) const;
 
 	// Copies a property from one property list or property class to another
 	void copyProp( PropList& dest, PropList& src, const char* name) const;
-	void copyProp( PropList& dest, PropList& src, const string& name) const;
+	void copyProp( PropList& dest, PropList& src, const H5std_string& name) const;
 
 	// Gets the class of this property list, i.e. H5P_FILE_CREATE,
 	// H5P_FILE_ACCESS, ...
 	hid_t getClass() const;
 
 	// Return the name of a generic property list class.
-	string getClassName() const;
+	H5std_string getClassName() const;
 
 	// Returns the parent class of a generic property class.
 	PropList getClassParent() const;
@@ -67,34 +68,34 @@
 
 	// Query the value of a property in a property list.
 	void getProperty(const char* name, void* value) const;
-	void getProperty(const string& name, void* value) const;
-	string getProperty(const char* name) const;
-	string getProperty(const string& name) const;
+	void getProperty(const H5std_string& name, void* value) const;
+	H5std_string getProperty(const char* name) const;
+	H5std_string getProperty(const H5std_string& name) const;
 
 	// Set a property's value in a property list.
 	void setProperty(const char* name, void* value) const;
 	void setProperty(const char* name, const char* charptr) const;
-	void setProperty(const char* name, string& strg) const;
-	void setProperty(const string& name, void* value) const;
-	void setProperty(const string& name, string& strg) const;
+	void setProperty(const char* name, H5std_string& strg) const;
+	void setProperty(const H5std_string& name, void* value) const;
+	void setProperty(const H5std_string& name, H5std_string& strg) const;
 
 	// Query the size of a property in a property list or class.
 	size_t getPropSize(const char *name) const;
-	size_t getPropSize(const string& name) const;
+	size_t getPropSize(const H5std_string& name) const;
 
 	// Determines whether a property list is a certain class.
 	bool isAClass(const PropList& prop_class) const;
 
 	/// Query the existance of a property in a property object.
 	bool propExist(const char* name) const;
-	bool propExist(const string& name) const;
+	bool propExist(const H5std_string& name) const;
 
 	// Removes a property from a property list.
 	void removeProp(const char *name) const;
-	void removeProp(const string& name) const;
+	void removeProp(const H5std_string& name) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return ("PropList"); }
+	virtual H5std_string fromClass () const { return("PropList"); }
 
 	// Default constructor: creates a stub PropList object.
 	PropList();

Modified: packages/hdf5/trunk/c++/src/H5StrType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5StrType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5StrType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>
@@ -57,34 +58,52 @@
 //--------------------------------------------------------------------------
 // Function:	StrType overloaded constructor
 ///\brief	Creates a string datatype with a specified length
-///\param	existing_id - IN: Id of an existing datatype
+///\param	pred_type - IN: String predefined type to replicate.
+///\param	size	  - IN: Length of the new string type
 ///\exception	H5::DataTypeIException
 // Description
 // 		The 1st argument could have been skipped, but this
 // 		constructor will collide with the one that takes an
 // 		existing id.
 //
-// 		Update: by passing 'size' by reference will avoid the
-// 		clashing problem, so the 1st argument can actually be
-// 		omitted.  This constructor should be replaced by the
-// 		other after announcing. - May, 2004
+//		Update: replacing the 1st argument with a dummy 0 to
+//		avoid the clashing problem, that doesn't eliminate the
+//		the 1st argument but it's simpler for the user to type
+//		a '0' than PredType::C_S1.  - Dec 2, 2005
 ///\note
-///		This constructor will be obsolete in later releases,
-///		please use StrType( const size_t& size ) instead.
+///		The use of this constructor can be shortened by using
+///		its overloaded below as StrType(0, size).
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
-StrType::StrType( const PredType& pred_type, const size_t size ) : AtomType()
+StrType::StrType( const PredType& pred_type, const size_t& size ) : AtomType()
 {
    // use DataType::copy to make a copy of the string predefined type
    // then set its length
    copy(pred_type);
    setSize(size);
 }
-StrType::StrType( const size_t& size ) : AtomType()
+
+//--------------------------------------------------------------------------
+// Function:	StrType overloaded constructor
+///\brief	Creates a string datatype with a specified length
+///\param	dummy - IN: To simplify calling the previous constructor
+///			and avoid prototype clash with another constructor
+///\param	size  - IN: Length of the new string type
+///\exception	H5::DataTypeIException
+///\par Description
+///		The 1st argument is just a dummy to simplify calling the
+///		previous constructor, such as:
+///		StrType atype(0, size) instead of
+///		StrType atype(PredType::C_S1, size)
+///\note
+///		This constructor may replace the previous one in the future.
+// Programmer	Binh-Minh Ribler - Nov 28, 2005
+//--------------------------------------------------------------------------
+StrType::StrType( const int dummy, const size_t& size ) : AtomType()
 {
    // use DataType::copy to make a copy of the string predefined type
    // then set its length
-   copy(H5T_C_S1);
+   copy(PredType::C_S1);
    setSize(size);
 }
 
@@ -105,7 +124,7 @@
 StrType::StrType( const StrType& original ) : AtomType ( original ) {}
 
 //--------------------------------------------------------------------------
-// Function:	EnumType overloaded constructor
+// Function:	StrType overloaded constructor
 ///\brief	Gets the string datatype of the specified dataset
 ///\param	dataset - IN: Dataset that this string datatype associates with
 ///\exception	H5::DataTypeIException
@@ -145,9 +164,9 @@
 //--------------------------------------------------------------------------
 // Function:	StrType::setCset
 ///\brief	Sets character set to be used.
-///\param	cset - IN: character set type
+///\param	cset - IN: character set type, which can be:
+///		\li \c H5T_CSET_ASCII (0) - Character set is US ASCII.
 ///\exception	H5::DataTypeIException
-///		\li \c H5T_CSET_ASCII (0) - Character set is US ASCII.
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void StrType::setCset( H5T_cset_t cset ) const
@@ -161,7 +180,7 @@
 }
 
 //--------------------------------------------------------------------------
-// Function:	StrType::getCset
+// Function:	StrType::getStrpad
 ///\brief	Retrieves the storage mechanism for of this string datatype.
 ///\return	String storage mechanism, which can be:
 ///		\li \c H5T_STR_NULLTERM (0) - Null terminate (as C does)
@@ -190,7 +209,7 @@
 ///\exception	H5::DataTypeIException
 ///\par Description
 ///		For detail, please refer to the C layer Reference Manual at:
-/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetStrpad
+/// <A HREF="../RM_H5T.html#Datatype-SetStrpad">../RM_H5T.html#Datatype-SetStrpad</A>
 // Programmer	Binh-Minh Ribler - 2000
 //--------------------------------------------------------------------------
 void StrType::setStrpad( H5T_str_t strpad ) const

Modified: packages/hdf5/trunk/c++/src/H5StrType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5StrType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5StrType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5StrType_H
@@ -25,12 +26,12 @@
 	// Creates a string type using a predefined type
 	StrType(const PredType& pred_type);
 
+	// Creates a string type with specified length - may be obsolete
+	StrType(const PredType& pred_type, const size_t& size);
+
 	// Creates a string type with specified length
-	StrType(const size_t& size);
+	StrType(const int dummy, const size_t& size);
 
-	// Creates a string type with specified length - will be obsolete
-	StrType(const PredType& pred_type, const size_t size);
-
         // Gets the string datatype of the specified dataset
 	StrType(const DataSet& dataset);
 
@@ -47,7 +48,7 @@
 	void setStrpad(H5T_str_t strpad) const;
 
 	// Returns this class name
-	virtual string fromClass () const { return ("StrType"); }
+	virtual H5std_string fromClass () const { return("StrType"); }
 
 	// default constructor
 	StrType();

Modified: packages/hdf5/trunk/c++/src/H5VarLenType.cpp
===================================================================
--- packages/hdf5/trunk/c++/src/H5VarLenType.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5VarLenType.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <string>

Modified: packages/hdf5/trunk/c++/src/H5VarLenType.h
===================================================================
--- packages/hdf5/trunk/c++/src/H5VarLenType.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/H5VarLenType.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 // C++ informative line for the emacs editor: -*- C++ -*-
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 // Class VarLenType inherits from DataType and provides wrappers for
@@ -22,15 +23,16 @@
 #ifndef H5_NO_NAMESPACE
 namespace H5 {
 #endif
+
 class H5_DLLCPP VarLenType : public DataType {
    public:
-	// Returns this class name
-	virtual string fromClass () const { return ("VarLenType"); }
-
 	// Constructor that creates a variable-length datatype based
 	// on the specified base type.
 	VarLenType(const DataType* base_type);
 
+	// Returns this class name
+	virtual H5std_string fromClass () const { return("VarLenType"); }
+
 	// Copy constructor: makes copy of the original object.
 	VarLenType( const VarLenType& original );
 
@@ -43,7 +45,6 @@
    protected:
 	// Default constructor
 	VarLenType();
-
 };
 #ifndef H5_NO_NAMESPACE
 }

Copied: packages/hdf5/trunk/c++/src/H5cxx_config.h.in (from rev 1094, packages/hdf5/branches/upstream/current/c++/src/H5cxx_config.h.in)
===================================================================
--- packages/hdf5/trunk/c++/src/H5cxx_config.h.in	                        (rev 0)
+++ packages/hdf5/trunk/c++/src/H5cxx_config.h.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,5 @@
+/* src/H5cxx_config.h.in Created manually. */
+
+/* Define if offsetof extension is present */
+#undef HAVE_OFFSETOF
+

Modified: packages/hdf5/trunk/c++/src/Makefile.in
===================================================================
--- packages/hdf5/trunk/c++/src/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,20 +2,21 @@
 ## HDF5-C++ Library Makefile(.in)
 ##
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
 ##
 ##
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@
@@ -48,7 +49,8 @@
         H5DcreatProp.h H5DxferProp.h H5EnumType.h H5Exception.h H5FaccProp.h    \
         H5FcreatProp.h H5File.h H5FloatType.h H5Group.h H5IdComponent.h         \
         H5Include.h H5IntType.h H5Library.h H5Object.h H5PredType.h             \
-        H5PropList.h H5StrType.h H5CppDoc.h H5ArrayType.h H5VarLenType.h
+        H5PropList.h H5StrType.h H5CppDoc.h H5ArrayType.h H5VarLenType.h        \
+        H5cxx_pubconf.h
 
 PUB_PROGS=h5c++
 

Modified: packages/hdf5/trunk/c++/src/RM_stylesheet.css
===================================================================
--- packages/hdf5/trunk/c++/src/RM_stylesheet.css	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/RM_stylesheet.css	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,450 +1,450 @@
-BODY
-{
-}
-H1
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-H2
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-H3
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-H4
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-H5
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-H6
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-P
-{
-}
-CENTER
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-TD
-{
-}
-TH
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-UL
-{
-}
-DL
-{
-}
-DIV
-{
-    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
-}
-H1
-{
-    TEXT-ALIGN: center
-}
-CAPTION
-{
-    FONT-WEIGHT: bold
-}
-DIV.qindex
-{
-    BORDER-RIGHT: #b0b0b0 1px solid;
-    PADDING-RIGHT: 2px;
-    BORDER-TOP: #b0b0b0 1px solid;
-    PADDING-LEFT: 2px;
-    PADDING-BOTTOM: 2px;
-    MARGIN: 2px;
-    BORDER-LEFT: #b0b0b0 1px solid;
-    WIDTH: 100%;
-    LINE-HEIGHT: 140%;
-    PADDING-TOP: 2px;
-    BORDER-BOTTOM: #b0b0b0 1px solid;
-    BACKGROUND-COLOR: #eeeeff;
-    TEXT-ALIGN: center
-}
-DIV.nav
-{
-    BORDER-RIGHT: #b0b0b0 1px solid;
-    PADDING-RIGHT: 2px;
-    BORDER-TOP: #b0b0b0 1px solid;
-    PADDING-LEFT: 2px;
-    PADDING-BOTTOM: 2px;
-    MARGIN: 2px;
-    BORDER-LEFT: #b0b0b0 1px solid;
-    WIDTH: 100%;
-    LINE-HEIGHT: 140%;
-    PADDING-TOP: 2px;
-    BORDER-BOTTOM: #b0b0b0 1px solid;
-    BACKGROUND-COLOR: #eeeeff;
-    TEXT-ALIGN: center
-}
-A.qindex
-{
-    FONT-WEIGHT: bold;
-    COLOR: #1a419d;
-    TEXT-DECORATION: none
-}
-A.qindex:visited
-{
-    FONT-WEIGHT: bold;
-    COLOR: #1a419d;
-    TEXT-DECORATION: none
-}
-A.qindex:hover
-{
-    BACKGROUND-COLOR: #ddddff;
-    TEXT-DECORATION: none
-}
-A.qindexHL
-{
-    BORDER-RIGHT: #9295c2 1px double;
-    BORDER-TOP: #9295c2 1px double;
-    FONT-WEIGHT: bold;
-    BORDER-LEFT: #9295c2 1px double;
-    COLOR: #ffffff;
-    BORDER-BOTTOM: #9295c2 1px double;
-    BACKGROUND-COLOR: #6666cc;
-    TEXT-DECORATION: none
-}
-A.qindexHL:hover
-{
-    COLOR: #ffffff;
-    BACKGROUND-COLOR: #6666cc;
-    TEXT-DECORATION: none
-}
-A.qindexHL:visited
-{
-    COLOR: #ffffff;
-    BACKGROUND-COLOR: #6666cc;
-    TEXT-DECORATION: none
-}
-A.el
-{
-    FONT-WEIGHT: bold;
-    TEXT-DECORATION: none
-}
-A.elRef
-{
-    FONT-WEIGHT: bold
-}
-A.code:link
-{
-    FONT-WEIGHT: normal;
-    COLOR: #0000ff;
-    TEXT-DECORATION: none
-}
-A.code:visited
-{
-    FONT-WEIGHT: normal;
-    COLOR: #0000ff;
-    TEXT-DECORATION: none
-}
-A.codeRef:link
-{
-    FONT-WEIGHT: normal;
-    COLOR: #0000ff
-}
-A.codeRef:visited
-{
-    FONT-WEIGHT: normal;
-    COLOR: #0000ff
-}
-A:hover
-{
-    BACKGROUND-COLOR: #f2f2ff;
-    TEXT-DECORATION: none
-}
-DL.el
-{
-    MARGIN-LEFT: -1cm
-}
-.fragment
-{
-    FONT-FAMILY: monospace
-}
-PRE.fragment
-{
-    BORDER-RIGHT: #cccccc 1px solid;
-    PADDING-RIGHT: 6px;
-    BORDER-TOP: #cccccc 1px solid;
-    PADDING-LEFT: 6px;
-    PADDING-BOTTOM: 4px;
-    MARGIN: 4px 8px 4px 2px;
-    BORDER-LEFT: #cccccc 1px solid;
-    PADDING-TOP: 4px;
-    BORDER-BOTTOM: #cccccc 1px solid;
-    BACKGROUND-COLOR: #f5f5f5
-}
-DIV.ah
-{
-    MARGIN-TOP: 3px;
-    FONT-WEIGHT: bold;
-    MARGIN-BOTTOM: 3px;
-    COLOR: #ffffff;
-    BACKGROUND-COLOR: black
-}
-TD.md
-{
-    FONT-WEIGHT: bold;
-    BACKGROUND-COLOR: #f4f4fb
-}
-TD.mdname1
-{
-    FONT-WEIGHT: bold;
-    COLOR: #602020;
-    BACKGROUND-COLOR: #f4f4fb
-}
-TD.mdname
-{
-    FONT-WEIGHT: bold;
-    WIDTH: 600px;
-    COLOR: #602020;
-    BACKGROUND-COLOR: #f4f4fb
-}
-DIV.groupHeader
-{
-    MARGIN-TOP: 12px;
-    FONT-WEIGHT: bold;
-    MARGIN-BOTTOM: 6px;
-    MARGIN-LEFT: 16px
-}
-DIV.groupText
-{
-    FONT-SIZE: 14px;
-    MARGIN-LEFT: 16px;
-    FONT-STYLE: italic
-}
-BODY
-{
-    BACKGROUND: white;
-    MARGIN-LEFT: 20px;
-    COLOR: black;
-    MARGIN-RIGHT: 20px
-}
-TD.indexkey
-{
-    BORDER-RIGHT: #cccccc 1px solid;
-    PADDING-RIGHT: 10px;
-    BORDER-TOP: #cccccc 1px solid;
-    PADDING-LEFT: 10px;
-    FONT-WEIGHT: bold;
-    PADDING-BOTTOM: 2px;
-    MARGIN: 2px 0px;
-    BORDER-LEFT: #cccccc 1px solid;
-    PADDING-TOP: 2px;
-    BORDER-BOTTOM: #cccccc 1px solid;
-    BACKGROUND-COLOR: #eeeeff
-}
-TD.indexvalue
-{
-    BORDER-RIGHT: #cccccc 1px solid;
-    PADDING-RIGHT: 10px;
-    BORDER-TOP: #cccccc 1px solid;
-    PADDING-LEFT: 10px;
-    PADDING-BOTTOM: 2px;
-    MARGIN: 2px 0px;
-    BORDER-LEFT: #cccccc 1px solid;
-    PADDING-TOP: 2px;
-    BORDER-BOTTOM: #cccccc 1px solid;
-    FONT-STYLE: italic;
-    BACKGROUND-COLOR: #eeeeff
-}
-TR.memlist
-{
-    BACKGROUND-COLOR: #f0f0f0
-}
-P.formulaDsp
-{
-    TEXT-ALIGN: center
-}
-IMG.formulaDsp
-{
-}
-IMG.formulaInl
-{
-    VERTICAL-ALIGN: middle
-}
-SPAN.keyword
-{
-    COLOR: #008000
-}
-SPAN.keywordtype
-{
-    COLOR: #604020
-}
-SPAN.keywordflow
-{
-    COLOR: #e08000
-}
-SPAN.comment
-{
-    COLOR: #800000
-}
-SPAN.preprocessor
-{
-    COLOR: #806020
-}
-SPAN.stringliteral
-{
-    COLOR: #002080
-}
-SPAN.charliteral
-{
-    COLOR: #008080
-}
-.mdTable
-{
-    BORDER-RIGHT: #868686 1px solid;
-    BORDER-TOP: #868686 1px solid;
-    BORDER-LEFT: #868686 1px solid;
-    BORDER-BOTTOM: #868686 1px solid;
-    BACKGROUND-COLOR: #f4f4fb
-}
-.mdRow
-{
-    PADDING-RIGHT: 10px;
-    PADDING-LEFT: 10px;
-    PADDING-BOTTOM: 8px;
-    PADDING-TOP: 8px
-}
-.mdescLeft
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 8px;
-    BORDER-TOP: #e0e0e0 1px;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 12px;
-    PADDING-BOTTOM: 4px;
-    MARGIN: 0px;
-    BORDER-LEFT: #e0e0e0 1px;
-    PADDING-TOP: 0px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    FONT-STYLE: italic;
-    BACKGROUND-COLOR: #fafafa
-}
-.mdescRight
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 8px;
-    BORDER-TOP: #e0e0e0 1px;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 12px;
-    PADDING-BOTTOM: 4px;
-    MARGIN: 0px;
-    BORDER-LEFT: #e0e0e0 1px;
-    PADDING-TOP: 0px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    FONT-STYLE: italic;
-    BACKGROUND-COLOR: #fafafa
-}
-.memItemLeft
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 0px;
-    BORDER-TOP: #e0e0e0 1px solid;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 12px;
-    PADDING-BOTTOM: 0px;
-    MARGIN: 4px;
-    BORDER-LEFT: #e0e0e0 1px;
-    PADDING-TOP: 1px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    BACKGROUND-COLOR: #fafafa
-}
-.memItemRight
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 8px;
-    BORDER-TOP: #e0e0e0 1px solid;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 13px;
-    PADDING-BOTTOM: 0px;
-    MARGIN: 4px;
-    BORDER-LEFT: #e0e0e0 1px;
-    PADDING-TOP: 1px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    BACKGROUND-COLOR: #fafafa
-}
-.memTemplItemLeft
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 0px;
-    BORDER-TOP: #e0e0e0 1px;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 12px;
-    PADDING-BOTTOM: 0px;
-    MARGIN: 4px;
-    BORDER-LEFT: #e0e0e0 1px;
-    PADDING-TOP: 1px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    BACKGROUND-COLOR: #fafafa
-}
-.memTemplItemRight
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 8px;
-    BORDER-TOP: #e0e0e0 1px;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 13px;
-    PADDING-BOTTOM: 0px;
-    MARGIN: 4px;
-    BORDER-LEFT: #e0e0e0 1px;
-    PADDING-TOP: 1px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    BACKGROUND-COLOR: #fafafa
-}
-.memTemplParams
-{
-    BORDER-RIGHT: #e0e0e0 1px;
-    PADDING-RIGHT: 0px;
-    BORDER-TOP: #e0e0e0 1px solid;
-    PADDING-LEFT: 8px;
-    FONT-SIZE: 12px;
-    PADDING-BOTTOM: 0px;
-    MARGIN: 4px;
-    BORDER-LEFT: #e0e0e0 1px;
-    COLOR: #606060;
-    PADDING-TOP: 1px;
-    BORDER-BOTTOM: #e0e0e0 1px;
-    BACKGROUND-COLOR: #fafafa
-}
-.search
-{
-    FONT-WEIGHT: bold;
-    COLOR: #003399
-}
-FORM.search
-{
-    MARGIN-TOP: 0px;
-    MARGIN-BOTTOM: 0px
-}
-INPUT.search
-{
-    FONT-WEIGHT: normal;
-    FONT-SIZE: 75%;
-    COLOR: #000080;
-    BACKGROUND-COLOR: #eeeeff
-}
-TD.tiny
-{
-    FONT-SIZE: 75%
-}
-A
-{
-    COLOR: #252e78
-}
-A:visited
-{
-    COLOR: #3d2185
-}
+BODY
+{
+}
+H1
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+H2
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+H3
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+H4
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+H5
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+H6
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+P
+{
+}
+CENTER
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+TD
+{
+}
+TH
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+UL
+{
+}
+DL
+{
+}
+DIV
+{
+    FONT-FAMILY: Geneva, Arial, Helvetica, sans-serif
+}
+H1
+{
+    TEXT-ALIGN: center
+}
+CAPTION
+{
+    FONT-WEIGHT: bold
+}
+DIV.qindex
+{
+    BORDER-RIGHT: #b0b0b0 1px solid;
+    PADDING-RIGHT: 2px;
+    BORDER-TOP: #b0b0b0 1px solid;
+    PADDING-LEFT: 2px;
+    PADDING-BOTTOM: 2px;
+    MARGIN: 2px;
+    BORDER-LEFT: #b0b0b0 1px solid;
+    WIDTH: 100%;
+    LINE-HEIGHT: 140%;
+    PADDING-TOP: 2px;
+    BORDER-BOTTOM: #b0b0b0 1px solid;
+    BACKGROUND-COLOR: #eeeeff;
+    TEXT-ALIGN: center
+}
+DIV.nav
+{
+    BORDER-RIGHT: #b0b0b0 1px solid;
+    PADDING-RIGHT: 2px;
+    BORDER-TOP: #b0b0b0 1px solid;
+    PADDING-LEFT: 2px;
+    PADDING-BOTTOM: 2px;
+    MARGIN: 2px;
+    BORDER-LEFT: #b0b0b0 1px solid;
+    WIDTH: 100%;
+    LINE-HEIGHT: 140%;
+    PADDING-TOP: 2px;
+    BORDER-BOTTOM: #b0b0b0 1px solid;
+    BACKGROUND-COLOR: #eeeeff;
+    TEXT-ALIGN: center
+}
+A.qindex
+{
+    FONT-WEIGHT: bold;
+    COLOR: #1a419d;
+    TEXT-DECORATION: none
+}
+A.qindex:visited
+{
+    FONT-WEIGHT: bold;
+    COLOR: #1a419d;
+    TEXT-DECORATION: none
+}
+A.qindex:hover
+{
+    BACKGROUND-COLOR: #ddddff;
+    TEXT-DECORATION: none
+}
+A.qindexHL
+{
+    BORDER-RIGHT: #9295c2 1px double;
+    BORDER-TOP: #9295c2 1px double;
+    FONT-WEIGHT: bold;
+    BORDER-LEFT: #9295c2 1px double;
+    COLOR: #ffffff;
+    BORDER-BOTTOM: #9295c2 1px double;
+    BACKGROUND-COLOR: #6666cc;
+    TEXT-DECORATION: none
+}
+A.qindexHL:hover
+{
+    COLOR: #ffffff;
+    BACKGROUND-COLOR: #6666cc;
+    TEXT-DECORATION: none
+}
+A.qindexHL:visited
+{
+    COLOR: #ffffff;
+    BACKGROUND-COLOR: #6666cc;
+    TEXT-DECORATION: none
+}
+A.el
+{
+    FONT-WEIGHT: bold;
+    TEXT-DECORATION: none
+}
+A.elRef
+{
+    FONT-WEIGHT: bold
+}
+A.code:link
+{
+    FONT-WEIGHT: normal;
+    COLOR: #0000ff;
+    TEXT-DECORATION: none
+}
+A.code:visited
+{
+    FONT-WEIGHT: normal;
+    COLOR: #0000ff;
+    TEXT-DECORATION: none
+}
+A.codeRef:link
+{
+    FONT-WEIGHT: normal;
+    COLOR: #0000ff
+}
+A.codeRef:visited
+{
+    FONT-WEIGHT: normal;
+    COLOR: #0000ff
+}
+A:hover
+{
+    BACKGROUND-COLOR: #f2f2ff;
+    TEXT-DECORATION: none
+}
+DL.el
+{
+    MARGIN-LEFT: -1cm
+}
+.fragment
+{
+    FONT-FAMILY: monospace
+}
+PRE.fragment
+{
+    BORDER-RIGHT: #cccccc 1px solid;
+    PADDING-RIGHT: 6px;
+    BORDER-TOP: #cccccc 1px solid;
+    PADDING-LEFT: 6px;
+    PADDING-BOTTOM: 4px;
+    MARGIN: 4px 8px 4px 2px;
+    BORDER-LEFT: #cccccc 1px solid;
+    PADDING-TOP: 4px;
+    BORDER-BOTTOM: #cccccc 1px solid;
+    BACKGROUND-COLOR: #f5f5f5
+}
+DIV.ah
+{
+    MARGIN-TOP: 3px;
+    FONT-WEIGHT: bold;
+    MARGIN-BOTTOM: 3px;
+    COLOR: #ffffff;
+    BACKGROUND-COLOR: black
+}
+TD.md
+{
+    FONT-WEIGHT: bold;
+    BACKGROUND-COLOR: #f4f4fb
+}
+TD.mdname1
+{
+    FONT-WEIGHT: bold;
+    COLOR: #602020;
+    BACKGROUND-COLOR: #f4f4fb
+}
+TD.mdname
+{
+    FONT-WEIGHT: bold;
+    WIDTH: 600px;
+    COLOR: #602020;
+    BACKGROUND-COLOR: #f4f4fb
+}
+DIV.groupHeader
+{
+    MARGIN-TOP: 12px;
+    FONT-WEIGHT: bold;
+    MARGIN-BOTTOM: 6px;
+    MARGIN-LEFT: 16px
+}
+DIV.groupText
+{
+    FONT-SIZE: 14px;
+    MARGIN-LEFT: 16px;
+    FONT-STYLE: italic
+}
+BODY
+{
+    BACKGROUND: white;
+    MARGIN-LEFT: 20px;
+    COLOR: black;
+    MARGIN-RIGHT: 20px
+}
+TD.indexkey
+{
+    BORDER-RIGHT: #cccccc 1px solid;
+    PADDING-RIGHT: 10px;
+    BORDER-TOP: #cccccc 1px solid;
+    PADDING-LEFT: 10px;
+    FONT-WEIGHT: bold;
+    PADDING-BOTTOM: 2px;
+    MARGIN: 2px 0px;
+    BORDER-LEFT: #cccccc 1px solid;
+    PADDING-TOP: 2px;
+    BORDER-BOTTOM: #cccccc 1px solid;
+    BACKGROUND-COLOR: #eeeeff
+}
+TD.indexvalue
+{
+    BORDER-RIGHT: #cccccc 1px solid;
+    PADDING-RIGHT: 10px;
+    BORDER-TOP: #cccccc 1px solid;
+    PADDING-LEFT: 10px;
+    PADDING-BOTTOM: 2px;
+    MARGIN: 2px 0px;
+    BORDER-LEFT: #cccccc 1px solid;
+    PADDING-TOP: 2px;
+    BORDER-BOTTOM: #cccccc 1px solid;
+    FONT-STYLE: italic;
+    BACKGROUND-COLOR: #eeeeff
+}
+TR.memlist
+{
+    BACKGROUND-COLOR: #f0f0f0
+}
+P.formulaDsp
+{
+    TEXT-ALIGN: center
+}
+IMG.formulaDsp
+{
+}
+IMG.formulaInl
+{
+    VERTICAL-ALIGN: middle
+}
+SPAN.keyword
+{
+    COLOR: #008000
+}
+SPAN.keywordtype
+{
+    COLOR: #604020
+}
+SPAN.keywordflow
+{
+    COLOR: #e08000
+}
+SPAN.comment
+{
+    COLOR: #800000
+}
+SPAN.preprocessor
+{
+    COLOR: #806020
+}
+SPAN.stringliteral
+{
+    COLOR: #002080
+}
+SPAN.charliteral
+{
+    COLOR: #008080
+}
+.mdTable
+{
+    BORDER-RIGHT: #868686 1px solid;
+    BORDER-TOP: #868686 1px solid;
+    BORDER-LEFT: #868686 1px solid;
+    BORDER-BOTTOM: #868686 1px solid;
+    BACKGROUND-COLOR: #f4f4fb
+}
+.mdRow
+{
+    PADDING-RIGHT: 10px;
+    PADDING-LEFT: 10px;
+    PADDING-BOTTOM: 8px;
+    PADDING-TOP: 8px
+}
+.mdescLeft
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 8px;
+    BORDER-TOP: #e0e0e0 1px;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 12px;
+    PADDING-BOTTOM: 4px;
+    MARGIN: 0px;
+    BORDER-LEFT: #e0e0e0 1px;
+    PADDING-TOP: 0px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    FONT-STYLE: italic;
+    BACKGROUND-COLOR: #fafafa
+}
+.mdescRight
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 8px;
+    BORDER-TOP: #e0e0e0 1px;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 12px;
+    PADDING-BOTTOM: 4px;
+    MARGIN: 0px;
+    BORDER-LEFT: #e0e0e0 1px;
+    PADDING-TOP: 0px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    FONT-STYLE: italic;
+    BACKGROUND-COLOR: #fafafa
+}
+.memItemLeft
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 0px;
+    BORDER-TOP: #e0e0e0 1px solid;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 12px;
+    PADDING-BOTTOM: 0px;
+    MARGIN: 4px;
+    BORDER-LEFT: #e0e0e0 1px;
+    PADDING-TOP: 1px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    BACKGROUND-COLOR: #fafafa
+}
+.memItemRight
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 8px;
+    BORDER-TOP: #e0e0e0 1px solid;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 13px;
+    PADDING-BOTTOM: 0px;
+    MARGIN: 4px;
+    BORDER-LEFT: #e0e0e0 1px;
+    PADDING-TOP: 1px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    BACKGROUND-COLOR: #fafafa
+}
+.memTemplItemLeft
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 0px;
+    BORDER-TOP: #e0e0e0 1px;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 12px;
+    PADDING-BOTTOM: 0px;
+    MARGIN: 4px;
+    BORDER-LEFT: #e0e0e0 1px;
+    PADDING-TOP: 1px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    BACKGROUND-COLOR: #fafafa
+}
+.memTemplItemRight
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 8px;
+    BORDER-TOP: #e0e0e0 1px;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 13px;
+    PADDING-BOTTOM: 0px;
+    MARGIN: 4px;
+    BORDER-LEFT: #e0e0e0 1px;
+    PADDING-TOP: 1px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    BACKGROUND-COLOR: #fafafa
+}
+.memTemplParams
+{
+    BORDER-RIGHT: #e0e0e0 1px;
+    PADDING-RIGHT: 0px;
+    BORDER-TOP: #e0e0e0 1px solid;
+    PADDING-LEFT: 8px;
+    FONT-SIZE: 12px;
+    PADDING-BOTTOM: 0px;
+    MARGIN: 4px;
+    BORDER-LEFT: #e0e0e0 1px;
+    COLOR: #606060;
+    PADDING-TOP: 1px;
+    BORDER-BOTTOM: #e0e0e0 1px;
+    BACKGROUND-COLOR: #fafafa
+}
+.search
+{
+    FONT-WEIGHT: bold;
+    COLOR: #003399
+}
+FORM.search
+{
+    MARGIN-TOP: 0px;
+    MARGIN-BOTTOM: 0px
+}
+INPUT.search
+{
+    FONT-WEIGHT: normal;
+    FONT-SIZE: 75%;
+    COLOR: #000080;
+    BACKGROUND-COLOR: #eeeeff
+}
+TD.tiny
+{
+    FONT-SIZE: 75%
+}
+A
+{
+    COLOR: #252e78
+}
+A:visited
+{
+    COLOR: #3d2185
+}

Modified: packages/hdf5/trunk/c++/src/cpp_doc_config
===================================================================
--- packages/hdf5/trunk/c++/src/cpp_doc_config	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/cpp_doc_config	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -7,8 +8,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # Doxyfile 1.4.2
 

Modified: packages/hdf5/trunk/c++/src/h5c++.in
===================================================================
--- packages/hdf5/trunk/c++/src/h5c++.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/h5c++.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,18 +1,21 @@
 #! /bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 
+# This tool is adapted from the mpicc command of the MPICH Software.
+
 ############################################################################
 ##                                                                        ##
 ## Things You May Have to Modify:                                         ##
@@ -210,9 +213,6 @@
 	            do_link="yes"
 	            link_objs="$link_objs $arg"
                 fi
-            elif test "x$ext" = "x.a"; then
-              # This is an archive that we're linking in
-              libraries=" $libraries $arg "
             else
               compile_args="$compile_args $arg"
               link_args="$link_args $arg"
@@ -225,6 +225,11 @@
   esac
 done
 
+if test "$dash_c" = "yes" -a "$do_compile" = no -a "$do_link" = no ; then
+    # -c was specified.  Force do_compile on.
+    do_compile=yes
+fi
+
 if test "x$do_compile" = "xyes"; then
   if test "x$dash_c" != "xyes"; then
     compile_args="-c $compile_args"
@@ -241,7 +246,7 @@
 if test "x$do_link" = "xyes"; then
   # conditionnaly link with the hl library  
     if test "X$HL" = "Xhl"; then
-     link_args="$link_args ${libdir}/libhdf5_cpp.a ${libdir}/libhdf5.a ${libdir}/libhdf5_hl.a $LIBS"
+     link_args="$link_args ${libdir}/libhdf5_hl.a ${libdir}/libhdf5_cpp.a ${libdir}/libhdf5.a $LIBS"
     else
      link_args="$link_args ${libdir}/libhdf5_cpp.a ${libdir}/libhdf5.a $LIBS"
     fi

Modified: packages/hdf5/trunk/c++/src/header.html
===================================================================
--- packages/hdf5/trunk/c++/src/header.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/header.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,338 +1,339 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<!--
-  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-  * Copyright by the Board of Trustees of the University of Illinois.         *
-  * All rights reserved.                                                      *
-  *                                                                           *
-  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
-  * terms governing use, modification, and redistribution, is contained in    *
-  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
-  * of the source code distribution tree; Copyright.html can be found at the  *
-  * root level of an installed copy of the electronic HDF5 document set and   *
-  * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
-  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- -->
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 10">
-<meta name=Originator content="Microsoft Word 10">
-<link rel=File-List href="header_files/filelist.xml">
-<link rel=Edit-Time-Data href="header_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]-->
-<title>Main Page</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>Randy Ribler</o:Author>
-  <o:Template>Normal</o:Template>
-  <o:LastAuthor>Randy Ribler</o:LastAuthor>
-  <o:Revision>6</o:Revision>
-  <o:TotalTime>16</o:TotalTime>
-  <o:Created>2004-07-23T05:34:00Z</o:Created>
-  <o:LastSaved>2004-07-23T06:03:00Z</o:LastSaved>
-  <o:Pages>1</o:Pages>
-  <o:Words>5</o:Words>
-  <o:Characters>32</o:Characters>
-  <o:Company>LC</o:Company>
-  <o:Lines>1</o:Lines>
-  <o:Paragraphs>1</o:Paragraphs>
-  <o:CharactersWithSpaces>36</o:CharactersWithSpaces>
-  <o:Version>10.2625</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:SpellingState>Clean</w:SpellingState>
-  <w:GrammarState>Clean</w:GrammarState>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
-</xml><![endif]-->
-<link rel=Stylesheet type="text/css" media=all href=RM_stylesheet.css>
-<style>
-<!--
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	mso-believe-normal-left:yes;}
-h1
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:widow-orphan;
-	mso-outline-level:1;
-	font-size:24.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-h2
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:2;
-	font-size:18.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-a:link, span.MsoHyperlink
-	{color:#252E78;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{color:#3D2185;
-	text-decoration:underline;
-	text-underline:single;}
-p
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-address
-	{margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	font-style:italic;}
-pre
-	{margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
-	font-size:10.0pt;
-	font-family:"Courier New";
-	mso-fareast-font-family:"Times New Roman";}
-p.formuladsp, li.formuladsp, div.formuladsp
-	{mso-style-name:formuladsp;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.mdtable, li.mdtable, div.mdtable
-	{mso-style-name:mdtable;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	background:#F4F4FB;
-	border:none;
-	mso-border-alt:solid #868686 .75pt;
-	padding:0in;
-	mso-padding-alt:0in 0in 0in 0in;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.mdrow, li.mdrow, div.mdrow
-	{mso-style-name:mdrow;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.mdescleft, li.mdescleft, div.mdescleft
-	{mso-style-name:mdescleft;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	font-size:10.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	font-style:italic;}
-p.mdescright, li.mdescright, div.mdescright
-	{mso-style-name:mdescright;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	font-size:10.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	font-style:italic;}
-p.memitemleft, li.memitemleft, div.memitemleft
-	{mso-style-name:memitemleft;
-	margin:3.0pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	border:none;
-	mso-border-top-alt:solid #E0E0E0 .75pt;
-	padding:0in;
-	mso-padding-alt:1.0pt 0in 0in 0in;
-	font-size:9.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.memitemright, li.memitemright, div.memitemright
-	{mso-style-name:memitemright;
-	margin:3.0pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	border:none;
-	mso-border-top-alt:solid #E0E0E0 .75pt;
-	padding:0in;
-	mso-padding-alt:1.0pt 0in 0in 0in;
-	font-size:10.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.search, li.search, div.search
-	{mso-style-name:search;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	font-weight:bold;}
- at page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Times New Roman";}
-table.MsoTableGrid
-	{mso-style-name:"Table Grid";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	border:solid windowtext 1.0pt;
-	mso-border-alt:solid windowtext .5pt;
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-border-insideh:.5pt solid windowtext;
-	mso-border-insidev:.5pt solid windowtext;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Times New Roman";}
-</style>
-<![endif]--><![if mso 9]>
-<style>
-p.MsoNormal
-	{margin-left:15.0pt;}
-</style>
-<![endif]><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="4098">
-  <o:colormru v:ext="edit" colors="#060"/>
-  <o:colormenu v:ext="edit" strokecolor="#060"/>
- </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
-  <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
-.5in;margin-left:15.0pt;margin-right:15.0pt'>
-
-<div class=Section1>
-
-<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
-0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
- id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
- path="m at 4@5l at 4@11 at 9@11 at 9@5xe" filled="f" stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
-  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
-  <v:f eqn="sum @0 1 0"/>
-  <v:f eqn="sum 0 0 @1"/>
-  <v:f eqn="prod @2 1 2"/>
-  <v:f eqn="prod @3 21600 pixelWidth"/>
-  <v:f eqn="prod @3 21600 pixelHeight"/>
-  <v:f eqn="sum @0 0 1"/>
-  <v:f eqn="prod @6 1 2"/>
-  <v:f eqn="prod @7 21600 pixelWidth"/>
-  <v:f eqn="sum @8 21600 0"/>
-  <v:f eqn="prod @7 21600 pixelHeight"/>
-  <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
- left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
- z-index:1'>
- <v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
-</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
-absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
-height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
-style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
-style='font-size:22.0pt'><o:p></o:p></span></b></p>
-
-<div align=center>
-
-<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
- style='margin-left:103.45pt;border-collapse:collapse;border:none;mso-border-bottom-alt:
- solid #006600 2.25pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
-  <td width=443 valign=top style='width:332.6pt;border:none;border-bottom:solid #006600 2.25pt;
-  padding:0in 5.4pt 0in 5.4pt;height:29.25pt'>
-  <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-  style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b></p>
-  </td>
- </tr>
-</table>
-
-</div>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-</div>
-
-</body>
-
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml"
+xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 10">
+<meta name=Originator content="Microsoft Word 10">
+<link rel=File-List href="header_files/filelist.xml">
+<link rel=Edit-Time-Data href="header_files/editdata.mso">
+<!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]-->
+<title>Main Page</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>Randy Ribler</o:Author>
+  <o:Template>Normal</o:Template>
+  <o:LastAuthor>Randy Ribler</o:LastAuthor>
+  <o:Revision>6</o:Revision>
+  <o:TotalTime>16</o:TotalTime>
+  <o:Created>2004-07-23T05:34:00Z</o:Created>
+  <o:LastSaved>2004-07-23T06:03:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>5</o:Words>
+  <o:Characters>32</o:Characters>
+  <o:Company>LC</o:Company>
+  <o:Lines>1</o:Lines>
+  <o:Paragraphs>1</o:Paragraphs>
+  <o:CharactersWithSpaces>36</o:CharactersWithSpaces>
+  <o:Version>10.2625</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]-->
+<link rel=Stylesheet type="text/css" media=all href=RM_stylesheet.css>
+<style>
+<!--
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	mso-believe-normal-left:yes;}
+h1
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	mso-outline-level:1;
+	font-size:24.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+h2
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:2;
+	font-size:18.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+a:link, span.MsoHyperlink
+	{color:#252E78;
+	text-decoration:underline;
+	text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:#3D2185;
+	text-decoration:underline;
+	text-underline:single;}
+p
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+address
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	font-style:italic;}
+pre
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+	font-size:10.0pt;
+	font-family:"Courier New";
+	mso-fareast-font-family:"Times New Roman";}
+p.formuladsp, li.formuladsp, div.formuladsp
+	{mso-style-name:formuladsp;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdtable, li.mdtable, div.mdtable
+	{mso-style-name:mdtable;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	background:#F4F4FB;
+	border:none;
+	mso-border-alt:solid #868686 .75pt;
+	padding:0in;
+	mso-padding-alt:0in 0in 0in 0in;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdrow, li.mdrow, div.mdrow
+	{mso-style-name:mdrow;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdescleft, li.mdescleft, div.mdescleft
+	{mso-style-name:mdescleft;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.mdescright, li.mdescright, div.mdescright
+	{mso-style-name:mdescright;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.memitemleft, li.memitemleft, div.memitemleft
+	{mso-style-name:memitemleft;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:9.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.memitemright, li.memitemright, div.memitemright
+	{mso-style-name:memitemright;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.search, li.search, div.search
+	{mso-style-name:search;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-weight:bold;}
+ at page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Table Normal";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+table.MsoTableGrid
+	{mso-style-name:"Table Grid";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	border:solid windowtext 1.0pt;
+	mso-border-alt:solid windowtext .5pt;
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-border-insideh:.5pt solid windowtext;
+	mso-border-insidev:.5pt solid windowtext;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+</style>
+<![endif]--><![if mso 9]>
+<style>
+p.MsoNormal
+	{margin-left:15.0pt;}
+</style>
+<![endif]><!--[if gte mso 9]><xml>
+ <o:shapedefaults v:ext="edit" spidmax="4098">
+  <o:colormru v:ext="edit" colors="#060"/>
+  <o:colormenu v:ext="edit" strokecolor="#060"/>
+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
+ <o:shapelayout v:ext="edit">
+  <o:idmap v:ext="edit" data="1"/>
+ </o:shapelayout></xml><![endif]-->
+</head>
+
+<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
+.5in;margin-left:15.0pt;margin-right:15.0pt'>
+
+<div class=Section1>
+
+<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
+0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
+ path="m at 4@5l at 4@11 at 9@11 at 9@5xe" filled="f" stroked="f">
+ <v:stroke joinstyle="miter"/>
+ <v:formulas>
+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
+  <v:f eqn="sum @0 1 0"/>
+  <v:f eqn="sum 0 0 @1"/>
+  <v:f eqn="prod @2 1 2"/>
+  <v:f eqn="prod @3 21600 pixelWidth"/>
+  <v:f eqn="prod @3 21600 pixelHeight"/>
+  <v:f eqn="sum @0 0 1"/>
+  <v:f eqn="prod @6 1 2"/>
+  <v:f eqn="prod @7 21600 pixelWidth"/>
+  <v:f eqn="sum @8 21600 0"/>
+  <v:f eqn="prod @7 21600 pixelHeight"/>
+  <v:f eqn="sum @10 21600 0"/>
+ </v:formulas>
+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
+ <o:lock v:ext="edit" aspectratio="t"/>
+</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
+ left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
+ z-index:1'>
+ <v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
+</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
+absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
+height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
+style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
+style='font-size:22.0pt'><o:p></o:p></span></b></p>
+
+<div align=center>
+
+<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
+ style='margin-left:103.45pt;border-collapse:collapse;border:none;mso-border-bottom-alt:
+ solid #006600 2.25pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
+  <td width=443 valign=top style='width:332.6pt;border:none;border-bottom:solid #006600 2.25pt;
+  padding:0in 5.4pt 0in 5.4pt;height:29.25pt'>
+  <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
+  style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b></p>
+  </td>
+ </tr>
+</table>
+
+</div>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+</div>
+
+</body>
+
+</html>

Modified: packages/hdf5/trunk/c++/src/header_files/filelist.xml
===================================================================
--- packages/hdf5/trunk/c++/src/header_files/filelist.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/src/header_files/filelist.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,6 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../header.html"/>
- <o:File HRef="image001.jpg"/>
- <o:File HRef="image002.jpg"/>
- <o:File HRef="filelist.xml"/>
+<xml xmlns:o="urn:schemas-microsoft-com:office:office">
+ <o:MainFile HRef="../header.html"/>
+ <o:File HRef="image001.jpg"/>
+ <o:File HRef="image002.jpg"/>
+ <o:File HRef="filelist.xml"/>
 </xml>
\ No newline at end of file

Modified: packages/hdf5/trunk/c++/test/Dependencies
===================================================================
--- packages/hdf5/trunk/c++/test/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/trunk/c++/test/Makefile.in
===================================================================
--- packages/hdf5/trunk/c++/test/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,20 +1,21 @@
 ## HDF5-C++ test/Makefile(.in)
 ##
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
 ##
 ##
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@
@@ -39,7 +40,8 @@
 ## executed, generally most specific tests to least specific tests.
 RUNTEST=$(LT_RUN)
 
-TESTHDF5_SRC=testhdf5.cpp tfile.cpp th5s.cpp h5cpputil.cpp
+TESTHDF5_SRC=testhdf5.cpp tattr.cpp tcompound.cpp tfile.cpp tfilter.cpp \
+	th5s.cpp trefer.cpp ttypes.cpp tvlstr.cpp h5cpputil.cpp
 TESTHDF5_OBJ=$(TESTHDF5_SRC:.cpp=.lo)
 
 TEST_SRC=dsets.cpp $(TESTHDF5_SRC)

Modified: packages/hdf5/trunk/c++/test/dsets.cpp
===================================================================
--- packages/hdf5/trunk/c++/test/dsets.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/dsets.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*****************************************************************************
@@ -29,7 +30,15 @@
 #else
 #include <iostream>
 #endif
+#include <string>
 
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "testhdf5.h"	// C test header file
 #include "H5Cpp.h"	// C++ API header file
 
@@ -39,13 +48,13 @@
 
 #include "h5cpputil.h"	// C++ utilility header file
 
-const string	FILE1("dataset.h5");
-const string	DSET_DEFAULT_NAME("default");
-const string	DSET_CHUNKED_NAME("chunked");
-const string	DSET_SIMPLE_IO_NAME("simple_io");
-const string	DSET_TCONV_NAME	("tconv");
-const string	DSET_COMPRESS_NAME("compressed");
-const string	DSET_BOGUS_NAME	("bogus");
+const H5std_string	FILE1("dataset.h5");
+const H5std_string	DSET_DEFAULT_NAME("default");
+const H5std_string	DSET_CHUNKED_NAME("chunked");
+const H5std_string	DSET_SIMPLE_IO_NAME("simple_io");
+const H5std_string	DSET_TCONV_NAME	("tconv");
+const H5std_string	DSET_COMPRESS_NAME("compressed");
+const H5std_string	DSET_BOGUS_NAME	("bogus");
 
 const int H5Z_FILTER_BOGUS = 305;
 
@@ -172,43 +181,9 @@
 	return -1;
     }
 }   // test_create
+
 
 /*-------------------------------------------------------------------------
- * Function:	check_values
- *
- * Purpose:	Checks a read value against the written value.  If they are
- *		different, the function will print out a message and the
- *		different values.  This function is made to reuse the code
- *		segment that is used in various places throughout
- *		test_compression and in test_simple_io.  Where the C version
- *		of this code segment "goto error," this function will
- *		return -1.
- *
- * Return:	Success:	0
- *
- *		Failure:	-1
- *
- * Programmer:	Binh-Minh Ribler (using C code segment for checking values)
- *		Friday, February 6, 2001
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static int
-check_values (hsize_t i, hsize_t j, int apoint, int acheck)
-{
-    if (apoint != acheck)
-    {
-	cerr << "    Read different values than written.\n" << endl;
-	cerr << "    At index " << (unsigned long)i << "," <<
-   	(unsigned long)j << endl;
-	return -1;
-    }
-    return 0;
-} // check_values
-
-/*-------------------------------------------------------------------------
  * Function:	test_simple_io
  *
  * Purpose:	Tests simple I/O.  That is, reading and writing a complete
@@ -1035,7 +1010,7 @@
     }
     catch (Exception E)
     {
-	return(test_report(nerrors, string(" Dataset")));
+	return(test_report(nerrors, H5std_string(" Dataset")));
     }
 
     // Clean up data file
@@ -1043,7 +1018,7 @@
 
     // Print out dsets test results
     cerr << endl << endl;
-    return(test_report(nerrors, string(" Dataset")));
+    return(test_report(nerrors, H5std_string(" Dataset")));
 }   // main
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/c++/test/h5cpputil.cpp
===================================================================
--- packages/hdf5/trunk/c++/test/h5cpputil.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/h5cpputil.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*****************************************************************************
@@ -27,8 +28,15 @@
 #endif
 #include <string>
 
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "h5test.h"
-#include "H5Exception.h"
+#include "H5Cpp.h"	// C++ API header file
 #include "h5cpputil.h"
 
 #ifndef H5_NO_NAMESPACE
@@ -54,7 +62,7 @@
  *
  *-------------------------------------------------------------------------
  */
-int test_report( int nerrors, const string& testname )
+int test_report( int nerrors, const H5std_string& testname )
 {
    if (nerrors)
    {
@@ -89,13 +97,46 @@
 void issue_fail_msg(const char* where, int line, const char* file_name,
 		    const char* message)
 {
-    if (GetTestVerbosity()>=VERBO_HI)
+    //if (GetTestVerbosity()>=VERBO_HI)
     {
-        cerr << "--> From " << where << " at line " << line
+        cerr << "ERROR>>> From " << where << " at line " << line
              << " in " << file_name << " - " << message << endl << endl;
     }
 }
 
+/*-------------------------------------------------------------------------
+ * Function:	check_values
+ *
+ * Purpose:	Checks a read value against the written value.  If they are
+ *		different, the function will print out a message and the
+ *		different values.  This function is made to reuse the code
+ *		segment that is used in various places throughout
+ *		the test code.  Where the C version of this code segment
+ *		"goto error," this function will return -1.
+ *
+ * Return:	Success:        0
+ *
+ *		Failure:        -1
+ *
+ * Programmer:	Binh-Minh Ribler (using C code segment for checking values)
+ *		Friday, February 6, 2001
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+int check_values (hsize_t i, hsize_t j, int apoint, int acheck)
+{
+    if (apoint != acheck)
+    {
+	cerr << "    Read different values than written.\n" << endl;
+	cerr << "    At index " << (unsigned long)i << "," <<
+	(unsigned long)j << endl;
+	return -1;
+    }
+    return 0;
+} // check_values
+
 //--------------------------------------------------------------------------
 // Function:    InvalidActionException default constructor
 //--------------------------------------------------------------------------
@@ -111,7 +152,7 @@
 //		func_name - IN: Name of the function where failure should occur
 //		message   - IN: Message
 //--------------------------------------------------------------------------
-InvalidActionException::InvalidActionException(const string func_name, const string message) : Exception(func_name, message) {}
+InvalidActionException::InvalidActionException(const H5std_string func_name, const H5std_string message) : Exception(func_name, message) {}
 
 //--------------------------------------------------------------------------
 // Function:    InvalidActionException destructor

Modified: packages/hdf5/trunk/c++/test/h5cpputil.h
===================================================================
--- packages/hdf5/trunk/c++/test/h5cpputil.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/h5cpputil.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*****************************************************************************
@@ -30,13 +31,14 @@
 #endif
 
 #ifndef H5_NO_STD
-int test_report (int, const std::string&);
 using std::cerr;
 using std::endl;
-#else
-int test_report (int, const string&);
 #endif
 
+#define SUBTEST(WHAT)   {printf("   Subtest: %-52s",WHAT); fflush(stdout);}
+
+int check_values (hsize_t i, hsize_t j, int apoint, int acheck);
+int test_report (int, const H5std_string&);
 void issue_fail_msg(const char* where, int line, const char* file_name,
 		    const char* message="");
 
@@ -69,11 +71,56 @@
     }
 }
 
+template <class Type1, class Type2>
+    void verify_val_noteq(Type1 x, Type2 value, const char* where, int line, const char* file_name)
+{
+    if (GetTestVerbosity()>=VERBO_HI)
+    {
+	cerr << "   Call to routine: " << where << " at line " << line
+	     << " in " << file_name <<  " had value " << x << endl;
+    }
+    if (x == value)
+    {
+	cerr << "*** UNEXPECTED VALUE from " << where << " should not be "
+	     << value << " at line " << line << " in " << file_name << endl;
+	IncTestNumErrs();
+    }
+}
+
 class InvalidActionException : public Exception {
    public:
-	InvalidActionException(const string func_name, const string message = DEFAULT_MSG);
+	InvalidActionException(const H5std_string func_name, const H5std_string message = DEFAULT_MSG);
 	InvalidActionException();
 	virtual ~InvalidActionException();
 };
 
+/* Prototypes for the test routines */
+void test_attr(void);
+void test_compound(void);
+void test_file(void);
+void test_filters(void);
+void test_h5s(void);
+void test_reference(void);
+void test_types(void);
+void test_vlstrings(void);
+
+/* Prototypes for the cleanup routines */
+void cleanup_attr(void);
+void cleanup_compound(void);
+void cleanup_file(void);
+void cleanup_filters(void);
+void cleanup_h5s(void);
+void cleanup_reference(void);
+void cleanup_types(void);
+void cleanup_vlstrings(void);
+/* not yet
+void cleanup_select(void);
+void cleanup_time(void);
+void cleanup_vltypes(void);
+void cleanup_iterate(void);
+void cleanup_array(void);
+void cleanup_genprop(void);
+void cleanup_misc(void);
+*/
+
 #endif

Copied: packages/hdf5/trunk/c++/test/tattr.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/test/tattr.cpp)
===================================================================
--- packages/hdf5/trunk/c++/test/tattr.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/test/tattr.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,1255 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*****************************************************************************
+   FILE
+   tattr.cpp - HDF5 C++ testing the functionalities associated with the
+        C attribute interface (H5A)
+
+ ***************************************************************************/
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "testhdf5.h"	// C test header file
+#include "H5Cpp.h"	// C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+    using namespace H5;
+#endif
+
+#include "h5cpputil.h"	// C++ utilility header file
+
+const H5std_string	FILENAME("tattr.h5");
+const size_t	ATTR_MAX_DIMS = 7;
+const H5std_string	ATTR_TMP_NAME("temp_name");
+
+/* 3-D dataset with fixed dimensions */
+const H5std_string SPACE1_NAME("Space1");
+const int SPACE1_RANK = 3;
+const int SPACE1_DIM1 = 3;
+const int SPACE1_DIM2 = 15;
+const int SPACE1_DIM3 = 13;
+
+/* Dataset Information */
+const H5std_string DSET1_NAME("Dataset1");
+const H5std_string DSET2_NAME("Dataset2");
+
+/* Group Information */
+const H5std_string GROUP1_NAME("/Group1");
+
+/* Named Datatype Information */
+const H5std_string TYPE1_NAME("/Type");
+
+/* Attribute Rank & Dimensions */
+const H5std_string ATTR1_NAME("Attr1");
+const int ATTR1_RANK = 1;
+const int ATTR1_DIM1 = 3;
+int attr_data1[ATTR1_DIM1]={512,-234,98123}; /* Test data for 1st attribute */
+
+const H5std_string ATTR2_NAME("Attr2");
+const int ATTR2_RANK = 2;
+const int ATTR2_DIM1 = 2;
+const int ATTR2_DIM2 = 2;
+int attr_data2[ATTR2_DIM1][ATTR2_DIM2]={{7614,-416},{197814,-3}}; /* Test data for 2nd attribute */
+
+const H5std_string ATTR3_NAME("Attr3");
+const int ATTR3_RANK = 3;
+const hsize_t ATTR3_DIM1 = 2;
+const hsize_t ATTR3_DIM2 = 2;
+const hsize_t ATTR3_DIM3 = 2;
+double attr_data3[ATTR3_DIM1][ATTR3_DIM2][ATTR3_DIM3]={{{2.3,-26.1},{0.123,-10.0}},{{981724.2,-0.91827},{2.0,23.0}}}; /* Test data for 3rd attribute */
+
+const H5std_string ATTR4_NAME("Attr4");
+const int ATTR4_RANK = 2;
+const hsize_t ATTR4_DIM1 = 2;
+const hsize_t ATTR4_DIM2 = 2;
+
+const H5std_string ATTR4_FIELDNAME1("i");
+const H5std_string ATTR4_FIELDNAME2("d");
+const H5std_string ATTR4_FIELDNAME3("c");
+size_t attr4_field1_off=0;
+size_t attr4_field2_off=0;
+size_t attr4_field3_off=0;
+struct attr4_struct {
+    int i;
+    double d;
+    char c;
+ } attr_data4[ATTR4_DIM1][ATTR4_DIM2]={{{3,-26.1,'d'},{-100000, 0.123,'3'}},
+    {{-23,981724.2,'Q'},{0,2.0,'\n'}}}; // Test data for 4th attribute
+
+const H5std_string ATTR5_NAME("Attr5");
+const int ATTR5_RANK = 0;
+float attr_data5 = (float)-5.123;    	// Test data for 5th attribute
+
+/* Info for another attribute */
+const H5std_string ATTR1A_NAME("Attr1_a");
+int attr_data1a[ATTR1_DIM1]={256,11945,-22107};
+
+/****************************************************************
+**
+**  test_attr_basic_write(): Test basic write attribute.
+**      Tests integer attributes on both datasets and groups
+**
+****************************************************************/
+static void
+test_attr_basic_write(void)
+{
+    hsize_t dims1[] = {SPACE1_DIM1, SPACE1_DIM2, SPACE1_DIM3};
+    hsize_t dims2[] = {ATTR1_DIM1};
+    hsize_t dims3[] = {ATTR2_DIM1,ATTR2_DIM2};
+    int     read_data1[ATTR1_DIM1]={0}; // Buffer for reading 1st attribute
+    int     i;
+
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic Attribute Writing Functions\n"));
+
+    try {
+	// Create file
+	H5File fid1 (FILENAME, H5F_ACC_TRUNC);
+
+	// Create dataspace for dataset
+	DataSpace ds_space (SPACE1_RANK, dims1);
+
+	// Create a dataset
+	DataSet dataset = fid1.createDataSet(DSET1_NAME, PredType::NATIVE_UCHAR, ds_space);
+
+	// Create dataspace for attribute
+	DataSpace att_space (ATTR1_RANK, dims2);
+
+	// Create an attribute for the dataset
+	Attribute ds_attr1 = dataset.createAttribute (ATTR1_NAME, PredType::NATIVE_INT, att_space);
+
+	// Try creating an attribute that already exists.  This should fail
+	// since two attributes cannot have the same name.  If an exception
+	// is not thrown for this action by createAttribute, then throw an
+	// invalid action exception.
+	try {
+	    Attribute invalid_attr = dataset.createAttribute (ATTR1_NAME, PredType::NATIVE_INT, att_space);
+
+	    // continuation here, that means no exception has been thrown
+	    throw InvalidActionException("H5File::createDataSet", "Library allowed overwrite of existing dataset");
+	}
+	catch (AttributeIException E) // catching invalid creating attribute
+        {} // do nothing, exception expected
+
+	// Write attribute information
+	ds_attr1.write (PredType::NATIVE_INT, attr_data1);
+
+	// Read attribute information immediately, without closing attribute
+	ds_attr1.read (PredType::NATIVE_INT, read_data1);
+
+	// Verify values read in
+	for(i=0; i<ATTR1_DIM1; i++)
+	    if(attr_data1[i]!=read_data1[i])
+		TestErrPrintf("%d: attribute data different: attr_data1[%d]=%d,read_data1[%d]=%d\n",__LINE__,i,attr_data1[i],i,read_data1[i]);
+
+	// Create another attribute for this dataset
+	Attribute ds_attr2 = dataset.createAttribute (ATTR1A_NAME, PredType::NATIVE_INT, att_space);
+
+	// Write attribute information
+	ds_attr2.write (PredType::NATIVE_INT, attr_data1a);
+
+	// Read attribute information immediately, without closing attribute
+	ds_attr2.read (PredType::NATIVE_INT, read_data1);
+
+	// Verify values read in
+	for(i=0; i<ATTR1_DIM1; i++)
+	    if(attr_data1a[i]!=read_data1[i])
+		TestErrPrintf("%d: attribute data different: attr_data1a[%d]=%d,read_data1[%d]=%d\n",__LINE__,i,attr_data1a[i],i,read_data1[i]);
+
+	// Close both attributes
+	ds_attr1.close();
+	ds_attr2.close();
+
+	/*
+	 *		Test attribute with group
+	 */
+
+	// Create group in file fid1
+	Group group = fid1.createGroup (GROUP1_NAME);
+
+	// Create dataspace for attribute
+	DataSpace sid3(ATTR2_RANK, dims3);
+
+	// Create an attribute for the group
+	Attribute gr_attr = group.createAttribute (ATTR2_NAME, PredType::NATIVE_INT, sid3);
+
+	// Check storage size for attribute
+	hsize_t attr_size = gr_attr.getStorageSize();
+	verify_val((long)attr_size, (long)(ATTR2_DIM1*ATTR2_DIM2*sizeof(int)),
+			"Attribute::getStorageSize",__LINE__,__FILE__);
+
+	// Try to create the same attribute again (should fail)
+	try {
+	    Attribute invalid_attr = group.createAttribute (ATTR2_NAME, PredType::NATIVE_INT, sid3);
+            // continuation here, that means no exception has been thrown
+            throw InvalidActionException("H5Group::createAttribute",
+			"Attempting to create an existing attribute");
+	}
+        catch (AttributeIException E) // catching invalid creating attribute
+        {} // do nothing, exception expected
+
+	// Write attribute information
+	gr_attr.write (PredType::NATIVE_INT, attr_data2);
+
+	// Check storage size for attribute
+	attr_size = gr_attr.getStorageSize();
+	verify_val((long)attr_size, (long)(ATTR2_DIM1*ATTR2_DIM2*sizeof(int)),
+			"Attribute::getStorageSize",  __LINE__, __FILE__);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_basic_write() */
+
+/****************************************************************
+**
+**  test_attr_rename(): Test renaming attribute function.
+**
+****************************************************************/
+static void
+test_attr_rename(void)
+{
+    int read_data1[ATTR1_DIM1]={0}; // Buffer for reading the attribute
+    int i;
+
+	// Output message about test being performed
+    MESSAGE(5, ("Testing Rename Attribute Function\n"));
+
+    try {
+	// Open file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Open the dataset
+	DataSet dataset = fid1.openDataSet(DSET1_NAME);
+
+	// Check rename
+
+	// change attribute name
+	dataset.renameAttr(ATTR1_NAME, ATTR_TMP_NAME);
+
+	// Open attribute again
+	Attribute attr1(dataset.openAttribute(ATTR_TMP_NAME));
+
+	// Verify new attribute name
+	H5std_string attr_name = attr1.getName();
+	verify_val(attr_name, ATTR_TMP_NAME, "Attribute::getName", __LINE__, __FILE__);
+
+	// Read attribute information immediately, without closing attribute
+	attr1.read (PredType::NATIVE_INT, read_data1);
+
+	// Verify values read in
+	for(i=0; i<ATTR1_DIM1; i++)
+	    if(attr_data1[i]!=read_data1[i])
+		TestErrPrintf("%d: attribute data different: attr_data1[%d]=%d,read_data1[%d]=%d\n",__LINE__,i,attr_data1[i],i,read_data1[i]);
+
+	// Close attribute
+    	attr1.close();
+
+	// Open the second attribute
+	Attribute attr2(dataset.openAttribute(ATTR1A_NAME));
+
+	// Verify second attribute name
+	H5std_string attr2_name = attr2.getName();
+	verify_val(attr2_name, ATTR1A_NAME, "Attribute::getName", __LINE__, __FILE__);
+
+	// Read attribute information immediately, without closing attribute
+	attr2.read (PredType::NATIVE_INT, read_data1);
+
+	// Verify values read in
+	for(i=0; i<ATTR1_DIM1; i++)
+	    if(attr_data1a[i]!=read_data1[i])
+		TestErrPrintf("%d: attribute data different: attr_data1a[%d]=%d,read_data1[%d]=%d\n",__LINE__,i,attr_data1a[i],i,read_data1[i]);
+
+	// Close attribute
+	attr2.close();
+
+	// Change first attribute back to the original name
+	dataset.renameAttr(ATTR_TMP_NAME, ATTR1_NAME);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_rename() */
+
+/********************************************************************
+**
+**  test_attr_basic_read(): Test basic read attribute.
+**
+********************************************************************/
+static void
+test_attr_basic_read(void)
+{
+    int i, j;
+
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic Attribute Reading Functions\n"));
+
+    try {
+	// Open file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Open the dataset
+	DataSet dataset = fid1.openDataSet(DSET1_NAME);
+
+	// Verify the correct number of attributes
+	int num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 2, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Open an attribute for the dataset
+	Attribute ds_attr=dataset.openAttribute(ATTR1_NAME);
+
+	// Read attribute information
+	int read_data1[ATTR1_DIM1]={0}; // Buffer for reading 1st attribute
+	ds_attr.read(PredType::NATIVE_INT, &read_data1);
+
+	// Verify values read in
+	for(i=0; i<ATTR1_DIM1; i++)
+            if(attr_data1[i]!=read_data1[i])
+		TestErrPrintf("%d: attribute data different: attr_data1[%d]=%d, read_data1[%d]=%d\n",__LINE__,i,attr_data1[i],i,read_data1[i]);
+
+	/*
+	 *		Test attribute with group
+	 */
+	// Open the group
+	Group group = fid1.openGroup(GROUP1_NAME);
+
+	// Verify the correct number of attributes
+	num_attrs = group.getNumAttrs();
+	verify_val(num_attrs, 1, "H5Group::getNumAttrs", __LINE__, __FILE__);
+
+	// Open an attribute for the group
+	Attribute gr_attr = group.openAttribute(ATTR2_NAME);
+
+	// Buffer for reading 2nd attribute
+	int read_data2[ATTR2_DIM1][ATTR2_DIM2]={{0}};
+
+	// Read attribute information
+	gr_attr.read(PredType::NATIVE_INT, read_data2);
+
+	// Verify values read in
+	for(i=0; i<ATTR2_DIM1; i++)
+            for(j=0; j<ATTR2_DIM2; j++)
+        	if(attr_data2[i][j]!=read_data2[i][j]) {
+		    TestErrPrintf("%d: attribute data different: attr_data2[%d][%d]=%d, read_data2[%d][%d]=%d\n",__LINE__, i,j,attr_data2[i][j],i,j,read_data1[i]);
+		}
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_basic_read() */
+
+/****************************************************************
+**
+**  test_attr_compound_write(): Tests compound datatype attributes
+**
+****************************************************************/
+static void
+test_attr_compound_write(void)
+{
+
+	// Output message about test being performed
+    MESSAGE(5, ("Testing Multiple Attribute Functions\n"));
+
+    try {
+	// Create file
+	H5File fid1(FILENAME.c_str(), H5F_ACC_TRUNC);
+
+	// Create dataspace for dataset
+	hsize_t		dims1[] = {SPACE1_DIM1, SPACE1_DIM2, SPACE1_DIM3};
+	DataSpace sid1(SPACE1_RANK, dims1);
+
+	// Create a dataset
+	DataSet dataset = fid1.createDataSet(DSET1_NAME, PredType::NATIVE_UCHAR,sid1);
+
+	// Create the attribute datatype.
+	CompType comp_type(sizeof(struct attr4_struct));
+
+	attr4_field1_off = HOFFSET(struct attr4_struct, i);
+	comp_type.insertMember(ATTR4_FIELDNAME1, attr4_field1_off, PredType::NATIVE_INT);
+
+	attr4_field2_off = HOFFSET(struct attr4_struct, d);
+	comp_type.insertMember(ATTR4_FIELDNAME2, attr4_field2_off, PredType::NATIVE_DOUBLE);
+
+	attr4_field3_off = HOFFSET(struct attr4_struct, c);
+	comp_type.insertMember(ATTR4_FIELDNAME3, attr4_field3_off, PredType::NATIVE_SCHAR);
+
+	// Create dataspace for 1st attribute
+	hsize_t		dims2[] = {ATTR4_DIM1,ATTR4_DIM2};
+	DataSpace sid2(ATTR4_RANK, dims2);
+
+	// Create complex attribute for the dataset
+	Attribute attr = dataset.createAttribute(ATTR4_NAME, comp_type, sid2);
+
+	// Try to create the same attribute again (should fail)
+	try {
+	    Attribute invalid_attr = dataset.createAttribute (ATTR4_NAME, comp_type, sid2);
+	}
+        catch (AttributeIException E) // catching invalid creating attribute
+        {} // do nothing, exception expected
+
+	// Write complex attribute data
+	attr.write(comp_type, attr_data4);
+
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_compound_write() */
+
+/****************************************************************
+**
+**  test_attr_compound_read(): Test basic H5A (attribute) code.
+**
+****************************************************************/
+static void
+test_attr_compound_read(void)
+{
+    hsize_t dims[ATTR_MAX_DIMS];	// Attribute dimensions
+    size_t      size;   // Attribute datatype size as stored in file
+    size_t      offset; // Attribute datatype field offset
+    struct attr4_struct read_data4[ATTR4_DIM1][ATTR4_DIM2]; // Buffer for reading 4th attribute
+    int     i,j;
+
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic Attribute Functions\n"));
+
+    try {
+	// Open file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Open the dataset
+	DataSet dataset = fid1.openDataSet(DSET1_NAME);
+
+	// Verify the correct number of attributes
+	int num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 1, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Open 1st attribute for the dataset
+	Attribute attr = dataset.openAttribute((unsigned)0);
+
+	/* Verify Dataspace */
+
+	// Get the dataspace of the attribute
+	DataSpace space = attr.getSpace();
+
+	// Get the rank of the dataspace and verify it
+	int rank = space.getSimpleExtentNdims();
+	verify_val(rank, ATTR4_RANK, "DataSpace::getSimpleExtentNdims", __LINE__, __FILE__);
+
+	// Get the dims of the dataspace and verify them
+	int ndims = space.getSimpleExtentDims(dims);
+	if(dims[0]!=ATTR4_DIM1)
+        verify_val((long)dims[0], (long)ATTR4_DIM1, "DataSpace::getSimpleExtentDims",__LINE__, __FILE__);
+        verify_val((long)dims[1], (long)ATTR4_DIM2, "DataSpace::getSimpleExtentDims",__LINE__, __FILE__);
+
+	// Get the class of the datatype that is used by attr
+	H5T_class_t type_class = attr.getTypeClass();
+
+	// Verify that the type is of compound datatype
+	verify_val(type_class, H5T_COMPOUND, "Attribute::getTypeClass", __LINE__, __FILE__);
+
+	// Get the compound datatype
+	CompType datatype = attr.getCompType();
+
+	// Verify the number of fields in the datatype, which must be 3
+	int fields = datatype.getNmembers();
+	verify_val(fields, 3, "CompType::getNmembers", __LINE__, __FILE__);
+
+	// Verify that the fields have the same names as when the type
+	// was created
+	for(i=0; i<fields; i++)
+	{
+	    H5std_string fieldname = datatype.getMemberName(i);
+	    if(!((fieldname == ATTR4_FIELDNAME1) ||
+		(fieldname == ATTR4_FIELDNAME2) ||
+		(fieldname == ATTR4_FIELDNAME3)))
+            TestErrPrintf("%d:invalid field name for field #%d: %s\n",__LINE__,i,fieldname.c_str());
+	} /* end for */
+
+	offset = datatype.getMemberOffset(0);
+	verify_val(offset, attr4_field1_off, "DataType::getMemberOffset", __LINE__, __FILE__);
+
+	offset = datatype.getMemberOffset(1);
+	verify_val(offset, attr4_field2_off, "DataType::getMemberOffset", __LINE__, __FILE__);
+
+	offset = datatype.getMemberOffset(2);
+	verify_val(offset, attr4_field3_off, "DataType::getMemberOffset", __LINE__, __FILE__);
+
+	/* Verify each field's type, class & size */
+
+	// Get and verify the type class of the first member
+	type_class = datatype.getMemberClass(0);
+	verify_val(type_class, H5T_INTEGER, "DataType::getMemberClass", __LINE__, __FILE__);
+	// Get and verify the order of this member's type
+	IntType i_type = datatype.getMemberIntType(0);
+	H5T_order_t order = i_type.getOrder();
+	verify_val(order, PredType::NATIVE_INT.getOrder(), "DataType::getOrder", __LINE__, __FILE__);
+
+	// Get and verify the size of this member's type
+	size = i_type.getSize();
+	verify_val(size, PredType::NATIVE_INT.getSize(), "DataType::getSize", __LINE__, __FILE__);
+
+	// Get and verify class, order, and size of the second member's type
+	type_class = datatype.getMemberClass(1);
+	verify_val(type_class, H5T_FLOAT, "DataType::getMemberClass", __LINE__, __FILE__);
+	FloatType f_type = datatype.getMemberFloatType(1);
+	order = f_type.getOrder();
+	verify_val(order, PredType::NATIVE_DOUBLE.getOrder(), "DataType::getOrder", __LINE__, __FILE__);
+	size = f_type.getSize();
+	verify_val(size, PredType::NATIVE_DOUBLE.getSize(), "DataType::getSize", __LINE__, __FILE__);
+
+	// Get and verify class, order, and size of the third member's type
+	type_class = datatype.getMemberClass(2);
+	verify_val(type_class, H5T_INTEGER, "DataType::getMemberClass", __LINE__, __FILE__);
+	// Note: H5T_INTEGER is correct here!
+
+	StrType s_type = datatype.getMemberStrType(2);
+	order = s_type.getOrder();
+	verify_val(order, PredType::NATIVE_SCHAR.getOrder(), "DataType::getOrder", __LINE__, __FILE__);
+	size = s_type.getSize();
+	verify_val(size, PredType::NATIVE_SCHAR.getSize(), "DataType::getSize", __LINE__, __FILE__);
+
+	// Read attribute information
+	attr.read(datatype, read_data4);
+
+	// Verify values read in
+	for(i=0; i<ATTR4_DIM1; i++)
+	    for(j=0; j<ATTR4_DIM2; j++)
+		if(HDmemcmp(&attr_data4[i][j],&read_data4[i][j],sizeof(struct attr4_struct))) {
+		    TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].i=%d, read_data4[%d][%d].i=%d\n",__LINE__,i,j,attr_data4[i][j].i,i,j,read_data4[i][j].i);
+		    TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].d=%f, read_data4[%d][%d].d=%f\n",__LINE__,i,j,attr_data4[i][j].d,i,j,read_data4[i][j].d);
+		    TestErrPrintf("%d:attribute data different: attr_data4[%d][%d].c=%c, read_data4[%d][%d].c=%c\n",__LINE__,i,j,attr_data4[i][j].c,i,j,read_data4[i][j].c);
+             } /* end if */
+
+	// Verify name
+	H5std_string attr_name = attr.getName();
+	verify_val(attr_name, ATTR4_NAME, "Attribute::getName", __LINE__, __FILE__);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_compound_read() */
+
+/****************************************************************
+**
+**  test_attr_scalar_write(): Test scalar attribute writing functionality.
+**
+****************************************************************/
+static void
+test_attr_scalar_write(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic Scalar Attribute Writing Functions\n"));
+
+    try {
+	// Create file
+	H5File fid1(FILENAME, H5F_ACC_TRUNC);
+
+	// Create dataspace for dataset
+	hsize_t	dims1[] = {SPACE1_DIM1, SPACE1_DIM2, SPACE1_DIM3};
+	DataSpace sid1(SPACE1_RANK, dims1);
+
+	// Create a dataset
+	DataSet dataset = fid1.createDataSet(DSET1_NAME, PredType::NATIVE_UCHAR,sid1);
+
+	// Close dataset's dataspace
+	sid1.close();
+
+	// Create dataspace for attribute
+	DataSpace att_space(ATTR5_RANK, NULL);
+
+	// Create an attribute for the dataset
+	Attribute ds_attr = dataset.createAttribute (ATTR5_NAME, PredType::NATIVE_FLOAT, att_space);
+
+	// Try creating an attribute that already exists.  This should fail
+	// since two attributes cannot have the same name.  If an exception
+	// is not thrown for this action by createAttribute, then throw an
+	// invalid action exception.
+	try {
+	    Attribute invalid_attr = dataset.createAttribute (ATTR5_NAME, PredType::NATIVE_FLOAT, att_space);
+
+	    // continuation here, that means no exception has been thrown
+	    throw InvalidActionException("H5File::createDataSet", "Library allowed overwrite of existing dataset");
+	}
+	catch (AttributeIException E) // catching invalid creating attribute
+        {} // do nothing, exception expected
+
+	// Write attribute information
+	ds_attr.write (PredType::NATIVE_FLOAT, &attr_data5);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_scalar_write() */
+
+/****************************************************************
+**
+**  test_attr_scalar_read(): Test scalar attribute reading functionality.
+**
+****************************************************************/
+static void
+test_attr_scalar_read(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic Scalar Attribute Reading Functions\n"));
+
+    try {
+	// Open file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Open the dataset
+	DataSet dataset = fid1.openDataSet(DSET1_NAME);
+
+	// Verify the correct number of attributes
+	int num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 1, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Open an attribute for the dataset
+	Attribute ds_attr=dataset.openAttribute(ATTR5_NAME);
+
+	// Read attribute information
+	float read_data2=0.0;  // Buffer for reading 1st attribute
+	ds_attr.read(PredType::NATIVE_FLOAT,&read_data2);
+	verify_val(read_data2, attr_data5, "Attribute::read", __LINE__, __FILE__);
+
+	// Get the dataspace of the attribute
+	DataSpace att_space = ds_attr.getSpace();
+
+	// Make certain the dataspace is scalar
+	H5S_class_t space_type = att_space.getSimpleExtentType();
+	verify_val(space_type, H5S_SCALAR, "DataSpace::getSimpleExtentType", __LINE__, __FILE__);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_scalar_read() */
+
+/****************************************************************
+**
+**  test_attr_mult_write(): Test multiple attributes
+**
+****************************************************************/
+static void
+test_attr_mult_write(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Multiple Attribute Writing Functions\n"));
+
+    try {
+	// Create file
+	H5File fid1 (FILENAME, H5F_ACC_TRUNC);
+
+	// Create dataspace for dataset
+	hsize_t	dims1[] = {SPACE1_DIM1, SPACE1_DIM2, SPACE1_DIM3};
+	DataSpace ds_space (SPACE1_RANK, dims1);
+
+	// Create a dataset
+	DataSet dataset = fid1.createDataSet(DSET1_NAME, PredType::NATIVE_UCHAR, ds_space);
+
+	// Create dataspace for 1st attribute
+	hsize_t	dims2[] = {ATTR1_DIM1};
+	DataSpace att_space (ATTR1_RANK, dims2);
+
+	// Create 1st attribute for the dataset
+	Attribute ds_attr = dataset.createAttribute (ATTR1_NAME, PredType::NATIVE_INT, att_space);
+
+	// Write attribute information
+	ds_attr.write (PredType::NATIVE_INT, attr_data1);
+
+	// Create dataspace for 2nd attribute
+	hsize_t	dims3[] = {ATTR2_DIM1,ATTR2_DIM2};
+	DataSpace att2_space (ATTR2_RANK, dims3);
+
+	// Create 2nd attribute for the dataset
+	Attribute ds_attr2 = dataset.createAttribute (ATTR2_NAME, PredType::NATIVE_INT, att2_space);
+
+	// Write 2nd attribute information
+	ds_attr2.write (PredType::NATIVE_INT, attr_data2);
+
+	// Create dataspace for 3rd attribute
+	hsize_t	dims4[] = {ATTR3_DIM1,ATTR3_DIM2,ATTR3_DIM3};
+	DataSpace att3_space (ATTR3_RANK, dims4);
+
+	// Create 3rd attribute for the dataset
+	Attribute ds_attr3 = dataset.createAttribute (ATTR3_NAME, PredType::NATIVE_DOUBLE, att3_space);
+
+	// Try creating an attribute that already exists.  This should fail
+	// since two attributes cannot have the same name.  If an exception
+	// is not thrown for this action by createAttribute, then throw an
+	// invalid action exception.
+	try {
+	    Attribute invalid_attr = dataset.createAttribute (ATTR3_NAME, PredType::NATIVE_DOUBLE, att3_space);
+
+	    // continuation here, that means no exception has been thrown
+	    throw InvalidActionException("DataSet::createAttribute", "Attempting to create a duplicate attribute");
+	}
+	catch (AttributeIException E) // catching invalid creating attribute
+        {} // do nothing, exception expected
+
+	// Write 3rd attribute information
+	ds_attr3.write (PredType::NATIVE_DOUBLE, attr_data3);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_mult_write() */
+
+/****************************************************************
+**
+**  test_attr_mult_read(): Test reading multiple attributes.
+**
+****************************************************************/
+static void
+test_attr_mult_read(void)
+{
+    int     read_data1[ATTR1_DIM1]={0}; // Buffer for reading 1st attribute
+    int     read_data2[ATTR2_DIM1][ATTR2_DIM2]={{0}}; // Buffer for reading 2nd attribute
+    double  read_data3[ATTR3_DIM1][ATTR3_DIM2][ATTR3_DIM3]={{{0}}}; // Buffer for reading 3rd attribute
+    int     i,j,k;
+
+	// Output message about test being performed
+    MESSAGE(5, ("Testing Multiple Attribute Reading Functions\n"));
+
+    try {
+	// Open file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Open the dataset
+	DataSet dataset = fid1.openDataSet(DSET1_NAME);
+
+	// Verify the correct number of attributes
+	int num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 3, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Open 1st attribute for the dataset
+	Attribute attr = dataset.openAttribute((unsigned)0);
+
+	/* Verify Dataspace */
+
+	// Get the dataspace of the attribute
+	DataSpace space = attr.getSpace();
+
+	// Get the rank of the dataspace and verify it
+	int rank = space.getSimpleExtentNdims();
+	verify_val(rank, ATTR1_RANK, "DataSpace::getSimpleExtentNdims", __LINE__, __FILE__);
+
+	// Get the dims of the dataspace and verify them
+	hsize_t dims[ATTR_MAX_DIMS];    // Attribute dimensions
+	int ndims = space.getSimpleExtentDims(dims);
+	if(dims[0]!=ATTR1_DIM1)
+	    TestErrPrintf("%d:attribute dimensions different: dims[0]=%d, should be %d\n",__LINE__,(int)dims[0],ATTR1_DIM1);
+
+	/* Verify Datatype */
+
+        // Get the class of the datatype that is used by attr
+        H5T_class_t type_class = attr.getTypeClass();
+
+        // Verify that the type is of integer datatype
+        verify_val(type_class, H5T_INTEGER, "Attribute::getTypeClass", __LINE__, __FILE__);
+
+    	// Get the integer datatype
+        IntType i_type1 = attr.getIntType();
+
+	// Get and verify the order of this type
+	H5T_order_t order = i_type1.getOrder();
+	verify_val(order, PredType::NATIVE_INT.getOrder(), "DataType::getOrder", __LINE__, __FILE__);
+
+	// Get and verify the size of this type
+	size_t size = i_type1.getSize();
+	verify_val(size, PredType::NATIVE_INT.getSize(), "DataType::getSize", __LINE__, __FILE__);
+
+	// Read attribute information
+	attr.read(PredType::NATIVE_INT, read_data1);
+
+	// Verify values read in
+	for(i=0; i<ATTR1_DIM1; i++)
+	    if(attr_data1[i]!=read_data1[i])
+		TestErrPrintf("%d: attribute data different: attr_data1[%d]=%d,read_data1[%d]=%d\n",__LINE__,i,attr_data1[i],i,read_data1[i]);
+
+	// Verify Name
+	H5std_string attr_name = attr.getName();
+	verify_val(attr_name, ATTR1_NAME, "DataType::getName", __LINE__, __FILE__);
+
+	attr.close();
+	space.close();
+
+	// Open 2nd attribute for the dataset
+	attr = dataset.openAttribute((unsigned)1);
+
+	/* Verify Dataspace */
+
+	// Get the dataspace of the attribute
+	space = attr.getSpace();
+
+	// Get the rank of the dataspace and verify it
+	rank = space.getSimpleExtentNdims();
+	verify_val(rank, ATTR2_RANK, "DataSpace::getSimpleExtentNdims", __LINE__, __FILE__);
+
+	// Get the dims of the dataspace and verify them
+	ndims = space.getSimpleExtentDims(dims);
+	if(dims[0]!=ATTR2_DIM1)
+	    TestErrPrintf("%d:attribute dimensions different: dims[0]=%d, should be %d\n",__LINE__,(int)dims[0],ATTR2_DIM1);
+	if(dims[1]!=ATTR2_DIM2)
+	    TestErrPrintf("%d:attribute dimensions different: dims[1]=%d, should be %d\n",__LINE__,(int)dims[1],ATTR2_DIM2);
+
+	/* Verify Datatype */
+
+        // Get the class of the datatype that is used by attr
+        type_class = attr.getTypeClass();
+
+        // Verify that the type is of integer datatype
+        verify_val(type_class, H5T_INTEGER, "Attribute::getTypeClass", __LINE__, __FILE__);
+
+    	// Get the integer datatype
+        IntType i_type2 = attr.getIntType();
+
+	// Get and verify the order of this type
+	order = i_type2.getOrder();
+	verify_val(order, PredType::NATIVE_INT.getOrder(), "DataType::getOrder", __LINE__, __FILE__);
+
+	// Get and verify the size of this type
+	size = i_type2.getSize();
+	verify_val(size, PredType::NATIVE_INT.getSize(), "DataType::getSize", __LINE__, __FILE__);
+
+	// Read attribute information
+	attr.read(PredType::NATIVE_INT, read_data2);
+	//attr.read(i_type, read_data2);
+
+	// Verify values read in
+	for(i=0; i<ATTR2_DIM1; i++)
+	  for(j=0; j<ATTR2_DIM2; j++)
+            if(attr_data2[i][j]!=read_data2[i][j])
+                TestErrPrintf("%d: attribute data different: attr_data2[%d][%d]=%d, read_data2[%d][%d]=%d\n",__LINE__,i,j,attr_data2[i][j],i,j,read_data2[i][j]);
+
+	// Verify Name
+	attr_name = attr.getName();
+	verify_val(attr_name, ATTR2_NAME, "DataType::getName", __LINE__, __FILE__);
+	attr.close();
+	space.close();
+
+	// Open 3rd attribute for the dataset
+	attr = dataset.openAttribute((unsigned)2);
+
+	/* Verify Dataspace */
+
+	// Get the dataspace of the attribute
+	space = attr.getSpace();
+
+	// Get the rank of the dataspace and verify it
+	rank = space.getSimpleExtentNdims();
+	verify_val(rank, ATTR3_RANK, "DataSpace::getSimpleExtentNdims", __LINE__, __FILE__);
+
+	// Get the dims of the dataspace and verify them
+	ndims = space.getSimpleExtentDims(dims);
+	verify_val((long)dims[0],(long)ATTR3_DIM1,"attribute dimensions",__FILE__,__LINE__);
+	verify_val((long)dims[1],(long)ATTR3_DIM2,"attribute dimensions",__FILE__,__LINE__);
+	verify_val((long)dims[2],(long)ATTR3_DIM3,"attribute dimensions",__FILE__,__LINE__);
+
+	/* Verify Datatype */
+
+        // Get the class of the datatype that is used by attr
+        type_class = attr.getTypeClass();
+
+        // Verify that the type is of compound datatype
+        verify_val(type_class, H5T_FLOAT, "Attribute::getTypeClass", __LINE__, __FILE__);
+
+    	// Get the double datatype
+        FloatType f_type = attr.getFloatType();
+
+	// Get and verify the order of this type
+	order = f_type.getOrder();
+	verify_val(order, PredType::NATIVE_DOUBLE.getOrder(), "DataType::getOrder", __LINE__, __FILE__);
+
+	// Get and verify the size of this type
+	size = f_type.getSize();
+	verify_val(size, PredType::NATIVE_DOUBLE.getSize(), "DataType::getSize", __LINE__, __FILE__);
+
+	// Read attribute information
+	attr.read(PredType::NATIVE_DOUBLE, read_data3);
+
+	// Verify values read in
+	for(i=0; i<ATTR3_DIM1; i++)
+	    for(j=0; j<ATTR3_DIM2; j++)
+		for(k=0; k<ATTR3_DIM3; k++)
+		    if(attr_data3[i][j][k]!=read_data3[i][j][k])
+			TestErrPrintf("%d: attribute data different: attr_data3[%d][%d][%d]=%f, read_data3[%d][%d][%d]=%f\n",__LINE__,i,j,k,attr_data3[i][j][k],i,j,k,read_data3[i][j][k]);
+
+	// Verify Name
+	attr_name = attr.getName();
+	verify_val(attr_name, ATTR3_NAME, "DataType::getName", __LINE__, __FILE__);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_mult_read() */
+
+/****************************************************************
+**
+**  test_attr_delete(): Test deleting attribute from different
+**			hdf5 objects.
+**
+****************************************************************/
+static void
+test_attr_delete(void)
+{
+    H5std_string  attr_name; // Buffer for attribute names
+
+	// Output message about test being performed
+    MESSAGE(5, ("Testing Removing Attribute Function\n"));
+
+    try {
+	// Open file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Open the dataset
+	DataSet dataset = fid1.openDataSet(DSET1_NAME);
+
+	// Verify the correct number of attributes
+	int num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 3, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Try to delete bogus attribute, should fail.
+	try {
+	    dataset.removeAttr("Bogus");
+
+	    // continuation here, that means no exception has been thrown
+	    throw InvalidActionException("DataSet::removeAttr", "Attempting to remove non-existing attribute");
+	}
+	catch (AttributeIException E) // catching invalid removing attribute
+        {} // do nothing, exception expected
+
+	// Verify the correct number of attributes
+	num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 3, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Delete middle (2nd) attribute
+	dataset.removeAttr(ATTR2_NAME);
+
+	// Verify the correct number of attributes
+	num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 2, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Open 1st attribute for the dataset
+	Attribute attr = dataset.openAttribute((unsigned)0);
+
+	// Verify Name
+	attr_name = attr.getName();
+	verify_val(attr_name, ATTR1_NAME, "Attribute::getName", __LINE__, __FILE__);
+
+	// Close attribute
+	attr.close();
+
+	// Open last (formally 3rd) attribute for the dataset
+	attr = dataset.openAttribute((unsigned)1);
+
+	// Verify Name
+	attr_name = attr.getName();
+	verify_val(attr_name, ATTR3_NAME, "Attribute::getName", __LINE__, __FILE__);
+
+	attr.close();
+
+	// Delete first attribute
+	dataset.removeAttr(ATTR1_NAME);
+
+	// Verify the correct number of attributes
+	num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 1, "H5Object::getNumAttrs", __LINE__, __FILE__);
+
+	// Open last (formally 3rd) attribute for the dataset
+	attr = dataset.openAttribute((unsigned)0);
+
+	// Verify Name
+	attr_name = attr.getName();
+	verify_val(attr_name, ATTR3_NAME, "Attribute::getName", __LINE__, __FILE__);
+	// Close attribute
+	attr.close();
+
+	// Delete first attribute
+	dataset.removeAttr(ATTR3_NAME);
+
+	// Verify the correct number of attributes
+	num_attrs = dataset.getNumAttrs();
+	verify_val(num_attrs, 0, "H5Object::getNumAttrs", __LINE__, __FILE__);
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_delete() */
+
+/****************************************************************
+**
+**  test_attr_dtype_shared(): Test code for using shared datatypes
+**				in attributes.
+**
+****************************************************************/
+static void
+test_attr_dtype_shared(void)
+{
+    int data=8;                 /* Data to write */
+    int rdata=0;                /* Read read in */
+    H5G_stat_t statbuf;         /* Object's information */
+    h5_stat_size_t filesize;             /* Size of file after modifications */
+
+    // Output message about test being performed
+    MESSAGE (5, ("Testing Shared Datatypes with Attributes\n"));
+
+    try {
+	// Create a file
+	H5File fid1(FILENAME, H5F_ACC_TRUNC);
+
+	// Close file
+	fid1.close();
+
+	// Get size of file
+	h5_stat_size_t empty_filesize;       // Size of empty file
+	empty_filesize = h5_get_file_size(FILENAME.c_str());
+	if (empty_filesize < 0)
+    	TestErrPrintf("Line %d: file size wrong!\n",__LINE__);
+
+	// Open the file again
+	fid1.openFile(FILENAME, H5F_ACC_RDWR);
+
+	// Create a datatype to commit and use
+	IntType dtype(PredType::NATIVE_INT);
+
+	// Commit datatype to file
+	dtype.commit(fid1, TYPE1_NAME);
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 1, "DataType::getObjinfo", __LINE__, __FILE__);
+
+	// Create dataspace for dataset
+	DataSpace dspace;
+
+	// Enclose the following so that all temporary objects can be
+	// destroyed before testing reference count - this is to overcome
+	// the different time when the temporary objects are to be destroyed
+	// by different compilers.
+	{
+	// Create dataset
+	DataSet dset = fid1.createDataSet(DSET1_NAME, dtype, dspace);
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 2, "H5File::getObjinfo", __LINE__, __FILE__);
+
+	// Create attribute on dataset
+	Attribute attr = dset.createAttribute(ATTR1_NAME,dtype,dspace);
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 3, "DataSet::getObjinfo", __LINE__, __FILE__);
+
+	// Close attribute
+	attr.close();
+
+	// Delete attribute
+	dset.removeAttr(ATTR1_NAME);
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 2, "DataSet::getObjinfo after DataSet::removeAttr", __LINE__, __FILE__);
+
+	// Create attribute on dataset
+	attr = dset.createAttribute(ATTR1_NAME,dtype,dspace);
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 3, "DataSet::createAttribute", __LINE__, __FILE__);
+
+	// Write data into the attribute
+	attr.write(PredType::NATIVE_INT,&data);
+
+	// Close attribute, dataset, dataspace, datatype, and file
+	attr.close();
+	dset.close();
+	dspace.close();
+	dtype.close();
+	fid1.close();
+
+	// Open the file again
+	fid1.openFile(FILENAME, H5F_ACC_RDWR);
+
+	// Open dataset
+	DataSet *dset2 = new DataSet (fid1.openDataSet(DSET1_NAME));
+
+	// Open attribute
+	Attribute *attr2 = new Attribute (dset2->openAttribute(ATTR1_NAME));
+
+	// Read data from the attribute
+	attr2->read(PredType::NATIVE_INT, &rdata);
+	verify_val(data, rdata, "Attribute::read", __LINE__, __FILE__);
+
+	// Close attribute and dataset
+	delete attr2;
+	delete dset2;
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 3, "DataSet::openAttribute", __LINE__, __FILE__);
+
+	// Unlink the dataset
+	fid1.unlink(DSET1_NAME);
+
+	} // end of enclosing to test reference counts
+
+	// Check reference count on named datatype
+	fid1.getObjinfo(TYPE1_NAME, statbuf);
+	verify_val((int)statbuf.nlink, 1, "H5File::unlink", __LINE__, __FILE__);
+
+	// Unlink the named datatype
+	fid1.unlink(TYPE1_NAME);
+
+	// Close file
+	fid1.close();
+
+	// Check size of file
+	filesize=h5_get_file_size(FILENAME.c_str());
+	verify_val((long)filesize, (long)empty_filesize, "Checking file size", __LINE__, __FILE__);
+    }   // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_attr_dtype_shared() */
+
+/****************************************************************
+**
+**  test_string_attr(): Test read/write string attribute.
+**      Tests string attributes on groups.
+**
+****************************************************************/
+/* Info for a string attribute */
+const H5std_string ATTRSTR_NAME("String_attr");
+const H5std_string ATTRSTR_DATA("String Attribute");
+
+static void
+test_string_attr(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic Attribute Writing Functions\n"));
+
+    try {
+	// Create file
+	H5File fid1(FILENAME, H5F_ACC_RDWR);
+
+	// Create a variable length string datatype to refer to.
+	StrType type(0, H5T_VARIABLE);
+
+	// Open the root group.
+	Group root = fid1.openGroup("/");
+
+	// Create dataspace for the attribute.
+	DataSpace att_space (H5S_SCALAR);
+
+	// Create an attribute for the root group.
+	Attribute gr_attr = root.createAttribute(ATTRSTR_NAME, type, att_space);
+
+	// Write data to the attribute.
+	gr_attr.write(type, ATTRSTR_DATA);
+
+	// Read and verify the attribute string as a string of chars.
+	char *string_att_check;
+	gr_attr.read(type, &string_att_check);
+	if(HDstrcmp(string_att_check, ATTRSTR_DATA.c_str())!=0)
+	    TestErrPrintf("Line %d: Attribute data different: ATTRSTR_DATA=%s,string_att_check=%s\n",__LINE__, ATTRSTR_DATA.c_str(), string_att_check);
+
+	// Read and verify the attribute string as an std::string.
+	H5std_string read_str;
+	gr_attr.read(type, read_str);
+	if (read_str != ATTRSTR_DATA)
+	    TestErrPrintf("Line %d: Attribute data different: ATTRSTR_DATA=%s,read_str=%s\n",__LINE__, ATTRSTR_DATA.c_str(), read_str.c_str());
+    } // end try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   /* test_string_attr() */
+
+/****************************************************************
+**
+**  test_attr(): Main attribute testing routine.
+**
+****************************************************************/
+void
+test_attr(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Attributes\n"));
+
+    test_attr_basic_write();	// Test basic H5A writing code
+    test_attr_rename();		// Test renaming attribute
+    test_attr_basic_read(); 	// Test basic H5A reading code
+
+    test_attr_compound_write();	// Test complex datatype H5A writing code
+    test_attr_compound_read();	// Test complex datatype H5A reading code
+
+    test_attr_scalar_write();	// Test scalar dataspace H5A writing code
+    test_attr_scalar_read();	// Test scalar dataspace H5A reading code
+
+    test_attr_mult_write();	// Test writing multiple attributes
+    test_attr_mult_read();	// Test reading multiple attributes
+    test_attr_delete();		// Test deleting attributes
+
+    test_attr_dtype_shared();	// Test using shared datatypes in attributes
+
+    test_string_attr();		// Test read/write string attribute
+
+}   /* test_attr() */
+
+/*-------------------------------------------------------------------------
+ * Function:	cleanup_attr
+ *
+ * Purpose:	Cleanup temporary test files
+ *
+ * Return:	none
+ *
+ * Programmer:	Albert Cheng
+ *              July 2, 1998
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+cleanup_attr(void)
+{
+    remove(FILENAME.c_str());
+}
+

Copied: packages/hdf5/trunk/c++/test/tcompound.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/test/tcompound.cpp)
===================================================================
--- packages/hdf5/trunk/c++/test/tcompound.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/test/tcompound.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,763 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*****************************************************************************
+   FILE
+   tcompound.cpp - HDF5 C++ testing the compound data type functionality
+
+ ***************************************************************************/
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "testhdf5.h"   // C test header file
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+    using namespace H5;
+#endif
+
+#include "h5cpputil.h"  // C++ utilility header file
+
+/* Number of elements in each test */
+#define NTESTELEM	100000
+
+typedef struct complex_t {
+    double                  re;
+    double                  im;
+} complex_t;
+
+
+/*-------------------------------------------------------------------------
+ * Function:    test_compound_1
+ *
+ * Purpose:     Tests various things about compound data types.
+ *
+ * Return:      None
+ *
+ * Programmer:  Binh-Minh Ribler (using C version)
+ *              January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_1(void)
+{
+    // Output message about test being performed
+    SUBTEST("Compound Data Types");
+    try
+    {
+	// Create an empty compound datatype
+	CompType complex_type(sizeof(complex_t));
+
+	// Add a couple of fields
+	complex_type.insertMember("real", HOFFSET(complex_t, re), PredType::NATIVE_DOUBLE);
+	complex_type.insertMember("imaginary", HOFFSET(complex_t, im), PredType::NATIVE_DOUBLE);
+
+	PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_1()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound_2
+ *
+ * Purpose:	Tests a compound type conversion where the source and
+ *		destination are the same except for the order of the
+ *		elements.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *              January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_2(void)
+{
+    typedef struct {
+	int a, b, c[4], d, e;
+    } src_typ_t;
+    typedef struct {
+	int e, d, c[4], b, a;
+    } dst_typ_t;
+
+    src_typ_t	  *s_ptr;
+    dst_typ_t	  *d_ptr;
+    const int	   nelmts = NTESTELEM;
+    const hsize_t  four = 4;
+    int		   i;
+    unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+
+    // Output message about test being performed
+    SUBTEST("Compound Element Reordering");
+    try
+    {
+	/* Sizes should be the same, but be careful just in case */
+	buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+	bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
+	orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    s_ptr->a    = i*8+0;
+	    s_ptr->b    = i*8+1;
+	    s_ptr->c[0] = i*8+2;
+	    s_ptr->c[1] = i*8+3;
+	    s_ptr->c[2] = i*8+4;
+	    s_ptr->c[3] = i*8+5;
+	    s_ptr->d    = i*8+6;
+	    s_ptr->e    = i*8+7;
+	}
+	memcpy(buf, orig, nelmts*sizeof(src_typ_t));
+
+	/* Build hdf5 datatypes */
+	ArrayType* array_dt = new ArrayType(PredType::NATIVE_INT, 1, &four);
+
+	// Create an empty compound datatype
+	CompType st(sizeof(src_typ_t));
+	st.insertMember("a", HOFFSET(src_typ_t, a), PredType::NATIVE_INT);
+	st.insertMember("b", HOFFSET(src_typ_t, b), PredType::NATIVE_INT);
+	st.insertMember("c", HOFFSET(src_typ_t, c), *array_dt);
+	st.insertMember("d", HOFFSET(src_typ_t, d), PredType::NATIVE_INT);
+	st.insertMember("e", HOFFSET(src_typ_t, e), PredType::NATIVE_INT);
+	array_dt->close();
+
+	array_dt = new ArrayType(PredType::NATIVE_INT, 1, &four);
+
+	// Create an empty compound datatype
+	CompType dt(sizeof(dst_typ_t));
+	dt.insertMember("a", HOFFSET(dst_typ_t, a), PredType::NATIVE_INT);
+	dt.insertMember("b", HOFFSET(dst_typ_t, b), PredType::NATIVE_INT);
+	dt.insertMember("c", HOFFSET(dst_typ_t, c), *array_dt);
+	dt.insertMember("d", HOFFSET(dst_typ_t, d), PredType::NATIVE_INT);
+	dt.insertMember("e", HOFFSET(dst_typ_t, e), PredType::NATIVE_INT);
+	array_dt->close();
+
+	/* Perform the conversion */
+	st.convert(dt, (size_t)nelmts, buf, bkg);
+
+	/* Compare results */
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    d_ptr = ((dst_typ_t*)buf)  + i;
+	    if (s_ptr->a    != d_ptr->a    ||
+		s_ptr->b    != d_ptr->b    ||
+		s_ptr->c[0] != d_ptr->c[0] ||
+		s_ptr->c[1] != d_ptr->c[1] ||
+		s_ptr->c[2] != d_ptr->c[2] ||
+		s_ptr->c[3] != d_ptr->c[3] ||
+		s_ptr->d    != d_ptr->d    ||
+		s_ptr->e    != d_ptr->e) {
+		H5_FAILED();
+		cerr << "    i=" << i << endl;
+		cerr << "    src={a=" << s_ptr->a << ", b=" << s_ptr->b 
+		     << "c=[" << s_ptr->c[0] << "," << s_ptr->c[1] << "," 
+		     << s_ptr->c[2] << "," << s_ptr->c[3] << ", d=" 
+		     << s_ptr->d << ", e=" << s_ptr->e << "}" << endl;
+		cerr << "    dst={a=" << s_ptr->a << ", b=" << s_ptr->b 
+		     << "c=[" << s_ptr->c[0] << "," << s_ptr->c[1] << "," 
+		     << s_ptr->c[2] << "," << s_ptr->c[3] << ", d=" 
+		     << s_ptr->d << ", e=" << s_ptr->e << "}" << endl;
+	}
+    }
+    
+    /* Release resources */
+    free(buf);
+    free(bkg);
+    free(orig);
+    s_ptr = NULL;
+    d_ptr = NULL;
+    st.close();
+    dt.close();
+
+    PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_2()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound_3
+ *
+ * Purpose:	Tests compound conversions where the source and destination
+ *		are the same except the destination is missing a couple
+ *		members which appear in the source.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *              January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_3(void)
+{
+    typedef struct {
+	int a, b, c[4], d, e;
+    } src_typ_t;
+    typedef struct {
+	int a,    c[4],    e;
+    } dst_typ_t;
+
+    src_typ_t	  *s_ptr;
+    dst_typ_t 	  *d_ptr;
+    int		   i;
+    const int	   nelmts = NTESTELEM;
+    const hsize_t  four = 4;
+    unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+
+    // Output message about test being performed
+    SUBTEST("Compound Datatype Subset Conversions");
+    try
+    {
+	/* Initialize */
+	buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+	bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
+	orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    s_ptr->a    = i*8+0;
+	    s_ptr->b    = i*8+1;
+	    s_ptr->c[0] = i*8+2;
+	    s_ptr->c[1] = i*8+3;
+	    s_ptr->c[2] = i*8+4;
+	    s_ptr->c[3] = i*8+5;
+	    s_ptr->d    = i*8+6;
+	    s_ptr->e    = i*8+7;
+	}
+	memcpy(buf, orig, nelmts*sizeof(src_typ_t));
+
+	/* Build hdf5 datatypes */
+	ArrayType* array_dt = new ArrayType(PredType::NATIVE_INT, 1, &four);
+
+	// Create an empty compound datatype
+	CompType st(sizeof(src_typ_t));
+	st.insertMember("a", HOFFSET(src_typ_t, a), PredType::NATIVE_INT);
+	st.insertMember("b", HOFFSET(src_typ_t, b), PredType::NATIVE_INT);
+	st.insertMember("c", HOFFSET(src_typ_t, c), *array_dt);
+	st.insertMember("d", HOFFSET(src_typ_t, d), PredType::NATIVE_INT);
+	st.insertMember("e", HOFFSET(src_typ_t, e), PredType::NATIVE_INT);
+	array_dt->close();
+
+	array_dt = new ArrayType(PredType::NATIVE_INT, 1, &four);
+
+	// Create an empty compound datatype
+	CompType dt(sizeof(dst_typ_t));
+	dt.insertMember("a", HOFFSET(dst_typ_t, a), PredType::NATIVE_INT);
+	dt.insertMember("c", HOFFSET(dst_typ_t, c), *array_dt);
+	dt.insertMember("e", HOFFSET(dst_typ_t, e), PredType::NATIVE_INT);
+	array_dt->close();
+
+	/* Perform the conversion */
+	st.convert(dt, (size_t)nelmts, buf, bkg);
+
+	/* Compare results */
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    d_ptr = ((dst_typ_t*)buf)  + i;
+	    if (s_ptr->a    != d_ptr->a    ||
+		s_ptr->c[0] != d_ptr->c[0] ||
+		s_ptr->c[1] != d_ptr->c[1] ||
+		s_ptr->c[2] != d_ptr->c[2] ||
+		s_ptr->c[3] != d_ptr->c[3] ||
+		s_ptr->e    != d_ptr->e) {
+		H5_FAILED();
+		cerr << "    i=" << i << endl;
+		cerr << "    src={a=" << s_ptr->a << ", b=" << s_ptr->b 
+		     << ", c=[" << s_ptr->c[0] << "," << s_ptr->c[1] << "," 
+		     << s_ptr->c[2] << "," << s_ptr->c[3] << "], d=" 
+		     << s_ptr->d << ", e=" << s_ptr->e << "}" << endl;
+		cerr << "    dst={a=" << d_ptr->a
+		     << ", c=[" << d_ptr->c[0] << "," << d_ptr->c[1] << "," 
+		     << d_ptr->c[2] << "," << d_ptr->c[3] << "], e=" 
+		     << d_ptr->e << "}" << endl;
+	    } // if
+	} // for
+
+	/* Release resources */
+	free(buf);
+	free(bkg);
+	free(orig);
+	s_ptr = NULL;
+	d_ptr = NULL;
+	st.close();
+	dt.close();
+
+	PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_3()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound_4
+ *
+ * Purpose:	Tests compound conversions when the destination has the same
+ *		fields as the source but one or more of the fields are
+ *		smaller.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_4(void)
+{
+
+    typedef struct {
+	int a, b, c[4], d, e;
+    } src_typ_t;
+
+    typedef struct {
+	short b;
+	int a, c[4];
+	short d;
+	int e;
+    } dst_typ_t;
+
+    src_typ_t	  *s_ptr;
+    dst_typ_t	  *d_ptr;
+    int		   i;
+    const int	   nelmts = NTESTELEM;
+    const hsize_t  four = 4;
+    unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+
+    // Output message about test being performed
+    SUBTEST("Compound Element Shrinking & Reordering");
+    try
+    {
+	/* Sizes should be the same, but be careful just in case */
+	buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+	bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
+	orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    s_ptr->a    = i*8+0;
+	    s_ptr->b    = (i*8+1) & 0x7fff;
+	    s_ptr->c[0] = i*8+2;
+	    s_ptr->c[1] = i*8+3;
+	    s_ptr->c[2] = i*8+4;
+	    s_ptr->c[3] = i*8+5;
+	    s_ptr->d	    = (i*8+6) & 0x7fff;
+	    s_ptr->e    = i*8+7;
+	}
+	memcpy(buf, orig, nelmts*sizeof(src_typ_t));
+
+	/* Build hdf5 datatypes */
+	ArrayType* array_dt = new ArrayType(PredType::NATIVE_INT, 1, &four);
+
+	// Create an empty compound datatype
+	CompType st(sizeof(src_typ_t));
+	st.insertMember("a", HOFFSET(src_typ_t, a), PredType::NATIVE_INT);
+	st.insertMember("b", HOFFSET(src_typ_t, b), PredType::NATIVE_INT);
+	st.insertMember("c", HOFFSET(src_typ_t, c), *array_dt);
+	st.insertMember("d", HOFFSET(src_typ_t, d), PredType::NATIVE_INT);
+	st.insertMember("e", HOFFSET(src_typ_t, e), PredType::NATIVE_INT);
+	array_dt->close();
+    
+	array_dt = new ArrayType(PredType::NATIVE_INT, 1, &four);
+
+	// Create an empty compound datatype
+	CompType dt(sizeof(dst_typ_t));
+	dt.insertMember("a", HOFFSET(dst_typ_t, a), PredType::NATIVE_INT);
+	dt.insertMember("b", HOFFSET(dst_typ_t, b), PredType::NATIVE_SHORT);
+	dt.insertMember("c", HOFFSET(dst_typ_t, c), *array_dt);
+	dt.insertMember("d", HOFFSET(dst_typ_t, d), PredType::NATIVE_SHORT);
+	dt.insertMember("e", HOFFSET(dst_typ_t, e), PredType::NATIVE_INT);
+	array_dt->close();
+    
+	/* Perform the conversion */
+	st.convert(dt, (size_t)nelmts, buf, bkg);
+
+	/* Compare results */
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    d_ptr = ((dst_typ_t*)buf)  + i;
+	    if (s_ptr->a    != d_ptr->a    ||
+		s_ptr->b    != d_ptr->b    ||
+		s_ptr->c[0] != d_ptr->c[0] ||
+		s_ptr->c[1] != d_ptr->c[1] ||
+		s_ptr->c[2] != d_ptr->c[2] ||
+		s_ptr->c[3] != d_ptr->c[3] ||
+		s_ptr->d    != d_ptr->d    ||
+		s_ptr->e    != d_ptr->e)
+	    {
+		H5_FAILED();
+		cerr << "    i=" << i << endl;
+		cerr << "    src={a=" << s_ptr->a << ", b=" << s_ptr->b 
+		     << "c=[" << s_ptr->c[0] << "," << s_ptr->c[1] << "," 
+		     << s_ptr->c[2] << "," << s_ptr->c[3] << ", d=" 
+		     << s_ptr->d << ", e=" << s_ptr->e << "}" << endl;
+		cerr << "    dst={a=" << d_ptr->a << ", b=" << d_ptr->b 
+		     << "c=[" << d_ptr->c[0] << "," << d_ptr->c[1] << "," 
+		     << d_ptr->c[2] << "," << d_ptr->c[3] << ", d=" 
+		     << d_ptr->d << ", e=" << d_ptr->e << "}" << endl;
+	    } // if
+	} // for
+    
+	/* Release resources */
+	free(buf);
+	free(bkg);
+	free(orig);
+	s_ptr = NULL;
+	d_ptr = NULL;
+	st.close();
+	dt.close();
+
+	PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_4()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound_5
+ *
+ * Purpose:	Many versions of HDF5 have a bug in the optimized compound
+ *              datatype conversion function, H5T_conv_struct_opt(), which
+ *              is triggered when the top-level type contains a struct
+ *              which must undergo a conversion.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_5(void)
+{
+    typedef struct {
+        char    name[16];
+        short   tdim;
+        short   coll_ids[4];
+    } src_typ_t;
+
+    typedef struct {
+        char    name[16];
+        short   tdim;
+        int     coll_ids[4];
+    } dst_typ_t;
+
+    hsize_t      dims[1] = {4};
+    src_typ_t  src[2] = {{"one", 102, {104, 105, 106, 107}},
+                          {"two", 202, {204, 205, 206, 207}}};
+    dst_typ_t  *dst;
+    void        *buf = calloc(2, sizeof(dst_typ_t));
+    void        *bkg = calloc(2, sizeof(dst_typ_t));
+
+    // Output message about test being performed
+    SUBTEST("Optimized Struct Converter");
+    try
+    {
+
+	/* Build datatypes */
+	ArrayType* array_dt = new ArrayType(PredType::NATIVE_SHORT, 1, dims);	
+	CompType short_array(4*sizeof(short));
+	short_array.insertMember("_", 0, *array_dt);
+	array_dt->close();
+
+	CompType int_array(4*sizeof(int));
+	array_dt = new ArrayType(PredType::NATIVE_INT, 1, dims);	
+	int_array.insertMember("_", 0, *array_dt);
+	array_dt->close();
+
+	StrType strg(PredType::C_S1, 16);
+	CompType src_type(sizeof(src_typ_t));
+	src_type.insertMember("name", HOFFSET(src_typ_t, name), strg);
+	src_type.insertMember("tdim", HOFFSET(src_typ_t, tdim), PredType::NATIVE_SHORT);
+	src_type.insertMember("coll_ids", HOFFSET(src_typ_t, coll_ids), short_array);
+
+	CompType dst_type(sizeof(dst_typ_t));
+	dst_type.insertMember("name", HOFFSET(dst_typ_t, name), strg);
+	dst_type.insertMember("tdim", HOFFSET(dst_typ_t, tdim), PredType::NATIVE_SHORT);
+	dst_type.insertMember("coll_ids", HOFFSET(dst_typ_t, coll_ids), int_array);
+
+	/* Convert data */
+	memcpy(buf, src, sizeof(src));
+	src_type.convert(dst_type, (size_t)2, buf, bkg);
+	dst = (dst_typ_t*)buf;
+
+	/* Cleanup */
+	src_type.close();
+	dst_type.close();
+	strg.close();
+	short_array.close();
+	int_array.close();
+
+	/* Check results */
+	if (memcmp(src[1].name, dst[1].name, sizeof(src[1].name)) ||
+	    src[1].tdim!=dst[1].tdim ||
+	    src[1].coll_ids[0]!=dst[1].coll_ids[0] ||
+	    src[1].coll_ids[1]!=dst[1].coll_ids[1] ||
+	    src[1].coll_ids[2]!=dst[1].coll_ids[2] ||
+	    src[1].coll_ids[3]!=dst[1].coll_ids[3]) 
+	{ H5_FAILED(); }
+
+	/* Free memory buffers */
+	free(buf);
+	free(bkg);
+	dst = NULL;
+	PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_5()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound_6
+ *
+ * Purpose:	Tests compound conversions when the destination has the same
+ *		fields as the source but one or more of the fields are
+ *		larger.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_6(void)
+{
+    typedef struct {
+	short b;
+	short d;
+    } src_typ_t;
+
+    typedef struct {
+	long b;
+	long d;
+    } dst_typ_t;
+
+    src_typ_t	  *s_ptr;
+    dst_typ_t	  *d_ptr;
+    int		   i;
+    const int	   nelmts = NTESTELEM;
+    unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+
+    // Output message about test being performed
+    SUBTEST("Compound Element Growing");
+    try
+    {
+	/* Sizes should be the same, but be careful just in case */
+	buf = (unsigned char*)malloc(nelmts * MAX(sizeof(src_typ_t), sizeof(dst_typ_t)));
+	bkg = (unsigned char*)malloc(nelmts * sizeof(dst_typ_t));
+	orig = (unsigned char*)malloc(nelmts * sizeof(src_typ_t));
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    s_ptr->b    = (i*8+1) & 0x7fff;
+	    s_ptr->d    = (i*8+6) & 0x7fff;
+	}
+	memcpy(buf, orig, nelmts*sizeof(src_typ_t));
+
+	/* Build hdf5 datatypes */
+	CompType st(sizeof(src_typ_t));
+	st.insertMember("b", HOFFSET(src_typ_t, b), PredType::NATIVE_SHORT);
+	st.insertMember("d", HOFFSET(src_typ_t, d), PredType::NATIVE_SHORT);
+
+	CompType dt(sizeof(dst_typ_t));
+	dt.insertMember("b", HOFFSET(dst_typ_t, b), PredType::NATIVE_LONG);
+	dt.insertMember("d", HOFFSET(dst_typ_t, d), PredType::NATIVE_LONG);
+
+	/* Perform the conversion */
+	st.convert(dt, (size_t)nelmts, buf, bkg);
+
+	/* Compare results */
+	for (i=0; i<nelmts; i++) {
+	    s_ptr = ((src_typ_t*)orig) + i;
+	    d_ptr = ((dst_typ_t*)buf)  + i;
+	    if (s_ptr->b    != d_ptr->b    ||
+		s_ptr->d    != d_ptr->d) 
+	    {
+		H5_FAILED();
+		cerr << "    i=" << i << endl;
+		cerr << "    src={b=" << s_ptr->b << ", d=" << s_ptr->d 
+		     << "}" << endl;
+		cerr << "    dst={b=" << d_ptr->b << ", d=" << d_ptr->d 
+		     << "}" << endl;
+	    } // if
+	} // for
+    
+	/* Release resources */
+	free(buf);
+	free(bkg);
+	free(orig);
+	s_ptr = NULL;
+	d_ptr = NULL;
+	st.close();
+	dt.close();
+
+	PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_6()
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound_7
+ *
+ * Purpose:	Tests inserting fields into compound datatypes when the field
+ *		overlaps the end of the compound datatype.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_compound_7(void)
+{
+    typedef struct {
+	int a;
+	float b;
+	long c;
+    } s1_typ_t;
+
+    typedef struct {
+	int a;
+	float b;
+	long c;
+	double d;
+    } s2_typ_t;
+
+    // Output message about test being performed
+    SUBTEST("Compound Element Insertion");
+    try
+    {
+	CompType tid1(sizeof(s1_typ_t));
+
+	tid1.insertMember("a", HOFFSET(s1_typ_t,a),PredType::NATIVE_INT);
+	tid1.insertMember("b", HOFFSET(s1_typ_t,b),PredType::NATIVE_FLOAT);
+	tid1.insertMember("c", HOFFSET(s1_typ_t,c),PredType::NATIVE_LONG);
+
+	size_t type_size = tid1.getSize();
+	verify_val(type_size, sizeof(s1_typ_t), "DataType::getSize", __LINE__, __FILE__);
+
+	CompType tid2;
+	tid2.copy(tid1);
+
+	type_size = tid2.getSize();
+	verify_val_noteq(type_size, sizeof(s2_typ_t), "DataType::getSize", __LINE__, __FILE__);
+
+	/* Should not be able to insert field past end of compound datatype */
+	try {
+	    tid2.insertMember("d", HOFFSET(s2_typ_t, d), PredType::NATIVE_DOUBLE);
+	    // Should FAIL but didn't, so throw an invalid action exception
+	    throw InvalidActionException("CompType::insertMember", "Attempted to insert field past end of compound data type.");
+	} catch (DataTypeIException err) {}
+
+	/* Release resources */
+	tid1.close();
+	tid2.close();
+
+	PASSED();
+    }   // end of try block
+
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compound_7()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_compound
+ *
+ * Purpose:	Main compound datatype testing routine
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler
+ *		January 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+void test_compound(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Compound Data Type operations\n"));
+
+    test_compound_1();	// various things about compound data types
+    test_compound_2();	// compound element reordering
+    test_compound_3();	// compound datatype subset conversions
+    test_compound_4();	// compound element shrinking & reordering
+    test_compound_5();	// optimized struct converter
+    test_compound_6();	// compound element growing
+    test_compound_7();	// compound element insertion
+}   // test_compound()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	cleanup_compound
+ *
+ * Purpose:	Cleanup temporary test files - nothing at this time.
+ *
+ * Return:	none
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+cleanup_compound(void)
+{
+}   // cleanup_file

Modified: packages/hdf5/trunk/c++/test/testhdf5.cpp
===================================================================
--- packages/hdf5/trunk/c++/test/testhdf5.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/testhdf5.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*****************************************************************************
@@ -42,15 +43,29 @@
 
  ***************************************************************************/
 
-// Use C version of the header file testhdf5.h instead of re-coding it
-#include "testhdf5.h"
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
 
-#include "H5Cpp.h"
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
 
+#include "testhdf5.h"	// C test header file
+#include "H5Cpp.h"	// C++ API header file
+
 #ifndef H5_NO_NAMESPACE
-using namespace H5;
+    using namespace H5;
 #endif  /* !H5_NO_NAMESPACE */
 
+#include "h5cpputil.h"  // C++ utilility header file
+
 int
 main(int argc, char *argv[])
 {
@@ -61,17 +76,23 @@
     AddTest("file", test_file, cleanup_file, "File I/O Operations", NULL);
     // testing dataspace functionalities in th5s.cpp
     AddTest("h5s",  test_h5s,  cleanup_h5s,  "Dataspaces", NULL);
-
+    // testing attribute functionalities in tattr.cpp
+    AddTest("attr", test_attr, cleanup_attr,  "Attributes", NULL);
+    // testing reference functionalities in trefer.cpp
+    AddTest("reference", test_reference, cleanup_reference,  "References", NULL);
+    // testing variable-length strings in tvlstr.cpp
+    AddTest("vlstrings", test_vlstrings, cleanup_vlstrings,  "Variable-Length Strings", NULL);
+    AddTest("types", test_types, cleanup_types,  "Generic Data Types", NULL);
+    AddTest("compound", test_compound, cleanup_compound,  "Compound Data Types", NULL);
+    AddTest("filter", test_filters, cleanup_filters,  "Various Filters", NULL);
 /* Comment out tests that are not done yet. - BMR, Feb 2001
-    AddTest("attr", test_attr, cleanup_attr,  "Attributes", NULL);
     AddTest("select", test_select, cleanup_select,  "Selections", NULL);
     AddTest("time", test_time, cleanup_time,  "Time Datatypes", NULL);
-    AddTest("reference", test_reference, cleanup_reference,  "References", NULL);
     AddTest("vltypes", test_vltypes, cleanup_vltypes,  "Variable-Length Datatypes", NULL);
-    AddTest("vlstrings", test_vlstrings, cleanup_vlstrings,  "Variable-Length Strings", NULL);
     AddTest("iterate", test_iterate, cleanup_iterate,  "Group & Attribute Iteration", NULL);
     AddTest("array", test_array, cleanup_array,  "Array Datatypes", NULL);
     AddTest("genprop", test_genprop, cleanup_genprop,  "Generic Properties", NULL);
+
 Comment out tests that are not done yet */
 
     /* Display testing information */

Modified: packages/hdf5/trunk/c++/test/tfile.cpp
===================================================================
--- packages/hdf5/trunk/c++/test/tfile.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/tfile.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*****************************************************************************
@@ -22,14 +23,20 @@
 
  ***************************************************************************/
 
-#include <string>
-
 #ifdef OLD_HEADER_FILENAME
 #include <iostream.h>
 #else
 #include <iostream>
 #endif
+#include <string>
 
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "testhdf5.h"	// C test header file
 #include "H5Cpp.h"	// C++ API header file
 
@@ -49,7 +56,7 @@
 const unsigned F1_SYM_LEAF_K  = 4;
 const unsigned F1_SYM_INTERN_K = 16;
 #endif /* H5_WANT_H5_V1_4_COMPAT */
-const string    FILE1("tfile1.h5");
+const H5std_string    FILE1("tfile1.h5");
 
 const hsize_t F2_USERBLOCK_SIZE = (hsize_t)512;
 const size_t F2_OFFSET_SIZE = 8;
@@ -61,7 +68,7 @@
 const unsigned F2_SYM_LEAF_K  = 4;
 const unsigned F2_SYM_INTERN_K = 32;
 #endif /* H5_WANT_H5_V1_4_COMPAT */
-const string    FILE2("tfile2.h5");
+const H5std_string    FILE2("tfile2.h5");
 
 const hsize_t F3_USERBLOCK_SIZE = (hsize_t)0;
 const size_t F3_OFFSET_SIZE = F2_OFFSET_SIZE;
@@ -73,10 +80,10 @@
 const unsigned F3_SYM_LEAF_K  = F2_SYM_LEAF_K;
 const unsigned F3_SYM_INTERN_K = F2_SYM_INTERN_K;
 #endif /* H5_WANT_H5_V1_4_COMPAT */
-const string    FILE3("tfile3.h5");
+const H5std_string    FILE3("tfile3.h5");
 
 const int KB =  1024;
-const string    FILE4("tfile4.h5");
+const H5std_string    FILE4("tfile4.h5");
 
 
 /*-------------------------------------------------------------------------
@@ -426,10 +433,10 @@
 const int	RANK = 2;
 const int	NX = 4;
 const int	NY = 5;
-const string	GROUPNAME ("group");
-const string	DSETNAME ("dataset");
-const string	ATTRNAME ("attribute");
-const string	DTYPENAME ("compound");
+const H5std_string	GROUPNAME ("group");
+const H5std_string	DSETNAME ("dataset");
+const H5std_string	ATTRNAME ("attribute");
+const H5std_string	DTYPENAME ("compound");
 
 // Compound datatype
 typedef struct s1_t {
@@ -443,7 +450,7 @@
     // Output message about test being performed
     MESSAGE(5, ("Testing File Name\n"));
 
-    string file_name;
+    H5std_string file_name;
     try {
         // Create a file using default properties.
 	H5File file4(FILE4, H5F_ACC_TRUNC);

Copied: packages/hdf5/trunk/c++/test/tfilter.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/test/tfilter.cpp)
===================================================================
--- packages/hdf5/trunk/c++/test/tfilter.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/test/tfilter.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,332 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*****************************************************************************
+   FILE
+   tfilter.cpp - HDF5 C++ testing various filters and their combination.
+
+   Note: This test file is not complete; it is made to test briefly the
+	 szip addition to the C++ library.  More through tests and organization
+	 will be done later - BMR 2007/1/30
+ ***************************************************************************/
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "testhdf5.h"   // C test header file
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+    using namespace H5;
+#endif
+
+#include "h5cpputil.h"  // C++ utilility header file
+
+#define DSET_DIM1	  100
+#define DSET_DIM2	  200
+#define FILTER_CHUNK_DIM1 2
+#define FILTER_CHUNK_DIM2 25
+
+// will do this function later or use it as guideline - BMR - 2007/01/26
+/*static herr_t test_filter_internal(hid_t fid, const char *name, hid_t dcpl, 
+		int if_fletcher32, int corrupted, hsize_t *dset_size)
+{
+    cerr << "do nothing right now" << endl;
+    return(0);
+}
+*/
+
+/* Temporary filter IDs used for testing */
+#define H5Z_FILTER_BOGUS        305
+static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
+    const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf); 
+/* This message derives from H5Z */
+const H5Z_class_t H5Z_BOGUS[1] = {{
+    H5Z_FILTER_BOGUS,           /* Filter id number             */
+    "bogus",                    /* Filter name for debugging    */
+    NULL,                       /* The "can apply" callback     */
+    NULL,                       /* The "set local" callback     */
+    filter_bogus,               /* The actual filter function   */
+}};
+
+#ifndef H5_WANT_H5_V1_4_COMPAT
+static herr_t can_apply_bogus(hid_t dcpl_id, hid_t type_id, hid_t space_id);
+
+/*-------------------------------------------------------------------------
+ * Function:    can_apply_bogus
+ *
+ * Purpose:     A bogus 'can apply' callback that returns 0 for H5T_NATIVE_DOUBLE
+ *              dataype, but returns 1 for all other datatypes
+ *
+ * Return:      Success:        Described above
+ *              Failure:        0
+ *
+ * Programmer:  Quincey Koziol
+ *              Friday, April  5, 2003
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+can_apply_bogus(hid_t UNUSED dcpl_id, hid_t type_id, hid_t UNUSED space_id)
+{
+    if(H5Tequal(type_id,H5T_NATIVE_DOUBLE))
+        return 0;
+    else
+        return 1;
+}
+#endif
+
+/*-------------------------------------------------------------------------
+ * Function:    filter_bogus
+ *
+ * Purpose:     A bogus compression method that doesn't do anything.
+ *
+ * Return:      Success:        Data chunk size
+ *
+ *              Failure:        0
+ *
+ * Programmer:  Robb Matzke
+ *              Tuesday, April 21, 1998
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static size_t
+filter_bogus(unsigned int UNUSED flags, size_t UNUSED cd_nelmts,
+      const unsigned int UNUSED *cd_values, size_t nbytes,
+      size_t UNUSED *buf_size, void UNUSED **buf)
+{
+    return nbytes;
+}
+
+/*-------------------------------------------------------------------------
+ * Function:	test_null_filter
+ *
+ * Purpose:	Test null I/O filter by itself.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (use C version, from dsets.c/test_filters)
+ *		January, 2007
+ *
+ * Modifications:
+ *		Note: H5Z interface is not implemented yet.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+// Chunk dimensions
+const hsize_t chunk_size[2] = {FILTER_CHUNK_DIM1, FILTER_CHUNK_DIM2};
+
+static void test_null_filter(void)
+{
+    // Output message about test being performed
+    SUBTEST("'Null' filter");
+
+    try
+    {
+	//hsize_t  null_size;          // Size of dataset with null filter
+
+	// Prepare dataset create property list
+	DSetCreatPropList dsplist;
+	dsplist.setChunk(2, chunk_size);
+
+#ifdef H5_WANT_H5_V1_4_COMPAT
+	if (H5Zregister (H5Z_FILTER_BOGUS, "bogus", filter_bogus)<0)
+            throw Exception("test_null_filter", "H5Zregister failed");
+#else /* H5_WANT_H5_V1_4_COMPAT */
+	if (H5Zregister (H5Z_BOGUS)<0)
+            throw Exception("test_null_filter", "H5Zregister failed");
+#endif /* H5_WANT_H5_V1_4_COMPAT */
+
+
+	// Set some pretent filter
+	dsplist.setFilter(H5Z_FILTER_BOGUS);
+
+	// this function is just a stub right now; will work on it later - BMR
+	//if(test_filter_internal(file,DSET_BOGUS_NAME,dc,DISABLE_FLETCHER32,DATA_NOT_CORRUPTED,&null_size)<0)
+        //  throw Exception("test_null_filter", "test_filter_internal failed");
+
+	// Close objects.
+	dsplist.close();
+	PASSED();
+    } // end of try
+
+    // catch all other exceptions
+    catch (Exception E)
+    {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}  // test_null_filter
+
+/*-------------------------------------------------------------------------
+ * Function:	test_szip_filter
+ *
+ * Purpose:	Test SZIP filter by itself.
+ *
+ * Return:	None
+ *
+ * Programmer:	Binh-Minh Ribler (partly from dsets.c/test_filters)
+ *		January, 2007
+ *
+ * Modifications:
+ *		Note: H5Z interface is not implemented yet.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+const H5std_string      DSET_SZIP_NAME("szipped dataset");
+
+void test_szip_filter(H5File& file1)
+{
+#ifdef H5_HAVE_FILTER_SZIP
+    int      points[DSET_DIM1][DSET_DIM2], check[DSET_DIM1][DSET_DIM2];
+    //hsize_t  szip_size;       /* Size of dataset with szip filter */
+    unsigned szip_options_mask=H5_SZIP_NN_OPTION_MASK;
+    unsigned szip_pixels_per_block=4;
+
+    // Output message about test being performed
+    SUBTEST("szip filter (with encoder)");
+    if ( h5_szip_can_encode() == 1) {
+    char* tconv_buf = new char [1000];
+    try
+    {
+        const hsize_t   size[2] = {DSET_DIM1, DSET_DIM2};
+
+        // Create the data space
+        DataSpace space1(2, size, NULL);
+
+        // Create a small conversion buffer to test strip mining (?)
+        DSetMemXferPropList xfer;
+        xfer.setBuffer (1000, tconv_buf, NULL);
+
+	// Prepare dataset create property list
+	DSetCreatPropList dsplist;
+	dsplist.setChunk(2, chunk_size);
+
+	// Set up for szip compression
+	dsplist.setSzip(szip_options_mask, szip_pixels_per_block);
+
+	// Create a dataset with szip compression
+        DataSpace space2 (2, size, NULL);
+        DataSet dataset(file1.createDataSet (DSET_SZIP_NAME, PredType::NATIVE_INT, space2, dsplist));
+
+	hsize_t i, j, n;
+	for (i=n=0; i<size[0]; i++)
+        {
+            for (j=0; j<size[1]; j++)
+            {
+                points[i][j] = n++;
+            }
+        }
+
+	// Write to the dataset then read back the values
+        dataset.write ((void*)points, PredType::NATIVE_INT, DataSpace::ALL, DataSpace::ALL, xfer);
+        dataset.read ((void*)check, PredType::NATIVE_INT, DataSpace::ALL, DataSpace::ALL, xfer);
+
+        // Check that the values read are the same as the values written
+        for (i = 0; i < size[0]; i++)
+            for (j = 0; j < size[1]; j++)
+            {
+                int status = check_values (i, j, points[i][j], check[i][j]);
+                if (status == -1)
+                    throw Exception("test_szip_filter", "Failed in testing szip method");
+            }
+	dsplist.close();
+	PASSED();
+    } // end of try
+
+    // catch all other exceptions
+    catch (Exception E)
+    {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+    } 
+    else {
+	SKIPPED();
+    }
+
+#else /* H5_HAVE_FILTER_SZIP */
+    SUBTEST("szip filter");
+    SKIPPED();
+    puts("    Szip filter not enabled");
+#endif /* H5_HAVE_FILTER_SZIP */
+}  // test_szip_filter
+
+
+/****************************************************************
+**
+**  test_filters(): Main routine for testing filters.
+**
+****************************************************************/
+const H5std_string      FILE1("tfilters.h5");
+void test_filters(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Various Filters\n"));
+
+    hid_t       fapl_id;
+    fapl_id = h5_fileaccess(); // in h5test.c, returns a file access template
+
+    try
+    {
+        // Use the file access template id to create a file access prop. list
+        FileAccPropList fapl(fapl_id);
+
+        H5File file1(FILE1, H5F_ACC_TRUNC, FileCreatPropList::DEFAULT, fapl);
+
+	// Test basic VL string datatype
+	test_null_filter();
+	test_szip_filter(file1);
+    }
+    catch (Exception E)
+    {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_filters()
+
+/*-------------------------------------------------------------------------
+ * Function:	cleanup_filters
+ *
+ * Purpose:	Cleanup temporary test files
+ *
+ * Return:	none
+ *
+ * Programmer:	Quincey Koziol
+ *              September 10, 1999
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+cleanup_filters(void)
+{
+    HDremove(FILE1.c_str());
+}

Modified: packages/hdf5/trunk/c++/test/th5s.cpp
===================================================================
--- packages/hdf5/trunk/c++/test/th5s.cpp	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/c++/test/th5s.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*****************************************************************************
@@ -26,7 +27,15 @@
 #else
 #include <iostream>
 #endif
+#include <string>
 
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
 #include "testhdf5.h"	// C test header file
 #include "H5Cpp.h"	// C++ API header file
 
@@ -36,18 +45,18 @@
 
 #include "h5cpputil.h"	// C++ utilility header file
 
-const string    TESTFILE("th5s.h5");
-const string    DATAFILE("th5s1.h5");
+const H5std_string    TESTFILE("th5s.h5");
+const H5std_string    DATAFILE("th5s1.h5");
 
 /* 3-D dataset with fixed dimensions */
-const string SPACE1_NAME("Space1");
+const H5std_string SPACE1_NAME("Space1");
 const int SPACE1_RANK = 3;
 const int SPACE1_DIM1 = 3;
 const int SPACE1_DIM2 = 15;
 const int SPACE1_DIM3 = 13;
 
 /* 4-D dataset with one unlimited dimension */
-const string SPACE2_NAME("Space2");
+const H5std_string SPACE2_NAME("Space2");
 const int SPACE2_RANK = 4;
 const int SPACE2_DIM1 = 0;
 const int SPACE2_DIM2 = 15;
@@ -59,17 +68,16 @@
 const hsize_t SPACE2_MAX4 = 23;
 
 /* Scalar dataset with simple datatype */
-const string SPACE3_NAME("Scalar1");
+const H5std_string SPACE3_NAME("Scalar1");
 const int SPACE3_RANK = 0;
 unsigned space3_data=65;
 
 /* Scalar dataset with compound datatype */
-const string SPACE4_NAME("Scalar2");
-const int SPACE4_RANK = 0;
-const string SPACE4_FIELDNAME1("c1");
-const string SPACE4_FIELDNAME2("u");
-const string SPACE4_FIELDNAME3("f");
-const string SPACE4_FIELDNAME4("c2");
+const H5std_string SPACE4_NAME("Scalar2");
+const H5std_string SPACE4_FIELDNAME1("c1");
+const H5std_string SPACE4_FIELDNAME2("u");
+const H5std_string SPACE4_FIELDNAME3("f");
+const H5std_string SPACE4_FIELDNAME4("c2");
 size_t space4_field1_off=0;
 size_t space4_field2_off=0;
 size_t space4_field3_off=0;
@@ -131,7 +139,7 @@
 	verify_val(rank, SPACE1_RANK, "DataSpace::getSimpleExtentNdims", __LINE__, __FILE__);
 
 	// Retrieves dimension size of dataspace sid1 and verify it
-	int ndims;		// Number of dimensions
+	int ndims;              // Number of dimensions
 	hsize_t	tdims[4];	// Dimension array to test with
 	ndims = sid1.getSimpleExtentDims( tdims );
 	verify_val(HDmemcmp(tdims, dims1, SPACE1_RANK * sizeof(unsigned)), 0,

Copied: packages/hdf5/trunk/c++/test/trefer.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/test/trefer.cpp)
===================================================================
--- packages/hdf5/trunk/c++/test/trefer.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/test/trefer.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,293 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*****************************************************************************
+   FILE
+   trefer.cpp - HDF5 C++ testing the functionalities associated with the C
+		Reference interface (H5R)
+
+ ***************************************************************************/
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "testhdf5.h"   // C test header file
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+    using namespace H5;
+#endif
+
+#include "h5cpputil.h"  // C++ utilility header file
+
+const H5std_string      FILE1("trefer1.h5");
+const H5std_string      FILE2("trefer2.h5");
+const H5std_string      FILE3("trefer3.h5");
+const H5std_string      DSET_DEFAULT_NAME("default");
+
+const H5std_string MEMBER1( "a_name" );
+const H5std_string MEMBER2( "b_name" );
+const H5std_string MEMBER3( "c_name" );
+
+// 1-D dataset with fixed dimensions
+const H5std_string      SPACE1_NAME("Space1");
+const int SPACE1_RANK = 1;
+const int SPACE1_DIM1 = 4;
+
+// 2-D dataset with fixed dimensions
+const H5std_string      SPACE2_NAME("Space2");
+
+// Larger 1-D dataset with fixed dimensions
+const H5std_string      SPACE3_NAME("Space3");
+
+// Compound datatype
+typedef struct s1_t {
+    unsigned int a;
+    unsigned int b;
+    float c;
+} s1_t;
+
+/****************************************************************
+**
+**  test_reference_obj(): Test basic object reference functionality.
+**      Tests references to various kinds of objects
+**
+****************************************************************/
+static void
+test_reference_obj(void)
+{
+    int    i;          // counting variables
+    const  H5std_string write_comment="Foo!"; // Comments for group
+
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Object Reference Functions\n"));
+
+    H5File* file1 = NULL;
+    try {
+	hobj_ref_t *wbuf,      // buffer to write to disk
+		   *rbuf,      // buffer read from disk
+		   *tbuf;      // temp. buffer read from disk
+
+	// Allocate write & read buffers
+	int temp_size = MAX(sizeof(unsigned),sizeof(hobj_ref_t));
+	wbuf=(hobj_ref_t*)malloc(temp_size*SPACE1_DIM1);
+	rbuf=(hobj_ref_t*)malloc(temp_size*SPACE1_DIM1);
+	tbuf=(hobj_ref_t*)malloc(temp_size*SPACE1_DIM1);
+
+        // Create file FILE1
+        file1 = new H5File (FILE1, H5F_ACC_TRUNC);
+
+	// Create dataspace for datasets
+	hsize_t	dims1[] = {SPACE1_DIM1};
+	DataSpace sid1(SPACE1_RANK, dims1);
+
+	// Create a group
+	Group group = file1->createGroup("Group1", (size_t)-1);
+
+	// Set group's comment
+	group.setComment(".", write_comment);
+
+	// Create a dataset (inside /Group1)
+	DataSet dataset = group.createDataSet("Dataset1", PredType::NATIVE_UINT, sid1);
+
+	unsigned *tu32;      // Temporary pointer to uint32 data
+	for (tu32=(unsigned *)wbuf, i=0; i<SPACE1_DIM1; i++)
+	    *tu32++=i*3; // from C test
+
+	// Write selection to disk
+	dataset.write(wbuf, PredType::NATIVE_UINT);
+
+	// Close Dataset
+	dataset.close();
+
+	// Create another dataset (inside /Group1)
+	dataset = group.createDataSet("Dataset2", PredType::NATIVE_UCHAR, sid1);
+
+	// Close Dataset
+	dataset.close();
+
+	// Create a datatype to refer to
+	CompType dtype1(sizeof(s1_t));
+
+	// Insert fields
+	dtype1.insertMember(MEMBER1, HOFFSET(s1_t, a), PredType::NATIVE_INT);
+	dtype1.insertMember(MEMBER2, HOFFSET(s1_t, b), PredType::NATIVE_INT);
+	dtype1.insertMember(MEMBER3, HOFFSET(s1_t, c), PredType::NATIVE_FLOAT);
+
+	// Save datatype for later
+	dtype1.commit(group, "Datatype1");
+
+	// Close datatype and group
+	dtype1.close();
+	group.close();
+
+	// Create a dataset
+	dataset = file1->createDataSet("Dataset3", PredType::STD_REF_OBJ, sid1);
+
+	// Create reference to dataset
+	file1->reference(&wbuf[0], "/Group1/Dataset1");
+
+	H5G_obj_t obj_type = dataset.getObjType(&wbuf[0], H5R_OBJECT);
+	verify_val(obj_type, H5G_DATASET, "DataSet::getObjType", __LINE__, __FILE__);
+
+	// Create reference to dataset
+	file1->reference(&wbuf[1], "/Group1/Dataset2");
+	obj_type = dataset.getObjType(&wbuf[1], H5R_OBJECT);
+	verify_val(obj_type, H5G_DATASET, "DataSet::getObjType", __LINE__, __FILE__);
+
+	// Create reference to group
+	file1->reference(&wbuf[2], "/Group1");
+	obj_type = dataset.getObjType(&wbuf[2], H5R_OBJECT);
+	verify_val(obj_type, H5G_GROUP, "DataSet::getObjType", __LINE__, __FILE__);
+
+	// Create reference to named datatype
+	file1->reference(&wbuf[3], "/Group1/Datatype1");
+	obj_type = dataset.getObjType(&wbuf[3], H5R_OBJECT);
+	verify_val(obj_type, H5G_TYPE, "DataSet::getObjType", __LINE__, __FILE__);
+
+	// Write selection to disk
+	dataset.write(wbuf, PredType::STD_REF_OBJ);
+
+	// Close disk dataspace, dataset, and file
+	sid1.close();
+	dataset.close();
+	delete file1;
+	
+	// Re-open the file
+	file1 = new H5File(FILE1, H5F_ACC_RDWR);
+
+	// Open the dataset
+	dataset = file1->openDataSet("/Dataset3");
+
+	// Read selection from disk
+	dataset.read(rbuf, PredType::STD_REF_OBJ); 
+
+	// Dereference dataset object by ctor, from the location where 
+	// 'dataset' is located
+	DataSet dset2(dataset, &rbuf[0]);
+
+	// Check information in the referenced dataset
+	sid1 = dset2.getSpace();
+	hssize_t n_elements = sid1.getSimpleExtentNpoints();
+	verify_val((long)n_elements, 4, "DataSpace::getSimpleExtentNpoints", __LINE__, __FILE__);
+
+	// Read from disk
+	dset2.read(tbuf, PredType::NATIVE_UINT);
+
+	for(tu32=(unsigned *)tbuf,i=0; i<SPACE1_DIM1; i++,tu32++)
+	   VERIFY(*tu32, (uint32_t)(i*3), "Data");
+
+	// Close dereferenced dataset
+	dset2.close();
+
+	// Dereference group object from the location where 'dataset' is located
+	group.dereference(dataset, &rbuf[2]);
+
+	// Get group's comment
+	H5std_string read_comment1 = group.getComment(".", 10);
+	verify_val(read_comment1, write_comment, "Group::getComment", __LINE__, __FILE__);
+
+	// Close group
+	group.close();
+
+	// Dereference group object using file to specify location
+	group.dereference(*file1, &rbuf[2]);
+	H5std_string read_comment2 = group.getComment(".", 10);
+	verify_val(read_comment2, write_comment, "Group::getComment", __LINE__, __FILE__);
+	group.close();
+
+	// Dereference group object by ctor and using dataset to specify 
+	// location
+	Group new_group(dataset, &rbuf[2]);
+	H5std_string read_comment3 = new_group.getComment(".", 10);
+	verify_val(read_comment3, write_comment, "Group::getComment", __LINE__, __FILE__);
+	new_group.close();
+
+	// Dereference datatype object from the location where 'dataset' 
+	// is located
+	dtype1.dereference(dataset, &rbuf[3]);
+
+	// Verify correct datatype
+	H5T_class_t tclass = dtype1.getClass();
+	verify_val(tclass, H5T_COMPOUND, "DataType::getClass", __LINE__, __FILE__);
+
+	int n_members = dtype1.getNmembers();
+	verify_val(n_members, 3, "DataType::getNmembers", __LINE__, __FILE__);
+
+	// Close datatype
+	dtype1.close();
+
+	// Dereference datatype object by ctor, using file to specify location
+	DataType dtype2(*file1, &rbuf[3]);
+
+	// Verify correct datatype
+	H5T_class_t tclass2 = dtype2.getClass();
+	verify_val(tclass2, H5T_COMPOUND, "DataType::getClass", __LINE__, __FILE__);
+
+	// Close datatype
+	dtype2.close();
+
+	// Close dataset and file
+	dataset.close();
+	file1->close();
+
+	// Free memory buffers
+	free(wbuf);
+	free(rbuf);
+	free(tbuf);
+    } // end try
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_reference_obj()
+
+/****************************************************************
+**
+**  test_reference(): Main reference testing routine.
+**
+****************************************************************/
+void
+test_reference(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing References\n"));
+
+    test_reference_obj();       // Test basic object reference functionality
+
+}   // test_reference()
+
+
+/****************************************************************
+** Function:	cleanup_reference
+** Purpose:	Cleanup temporary test files
+** Return:	none
+****************************************************************/
+void
+cleanup_reference(void)
+{
+    remove(FILE1.c_str());
+}
+

Copied: packages/hdf5/trunk/c++/test/ttypes.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/test/ttypes.cpp)
===================================================================
--- packages/hdf5/trunk/c++/test/ttypes.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/test/ttypes.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,650 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*****************************************************************************
+   FILE
+   ttypes.cpp - HDF5 C++ testing the general data type functionality
+
+ ***************************************************************************/
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "testhdf5.h"   // C test header file
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+    using namespace H5;
+#endif
+
+#include "h5cpputil.h"  // C++ utilility header file
+
+const H5std_string      DATAFILE("ttypes.h5");
+
+#define NTESTS	1
+
+// Number of elements in each test
+#define NTESTELEM	100000
+
+// Define if you want to see a count of overflows
+#undef SHOW_OVERFLOWS
+
+/*
+ * Offset from alinged memory returned by malloc().  This can be used to test
+ * that type conversions handle non-aligned buffers correctly.
+ */
+
+#define ALIGNMENT	1
+
+/*
+ * Define if you want to test alignment code on a machine that doesn't
+ * normally require alignment. When set, all native data types must be aligned
+ * on a byte boundary equal to the data size.
+ */
+
+#define TEST_ALIGNMENT
+
+// Alignment test stuff
+#ifdef TEST_ALIGNMENT
+#define H5T_PACKAGE
+#include "H5Tpkg.h"
+#endif
+#define SET_ALIGNMENT(TYPE,VAL) \
+    H5T_NATIVE_##TYPE##_ALIGN_g=MAX(H5T_NATIVE_##TYPE##_ALIGN_g, VAL)
+
+const char *FILENAME[] = {
+    "dtypes1.h5",
+    "dtypes2.h5",
+    "dtypes3.h5",
+    NULL
+};
+
+/*
+ * Count up or down depending on whether the machine is big endian or little
+ * endian.  If local variable `endian' is H5T_ORDER_BE then the result will
+ * be I, otherwise the result will be Z-(I+1).
+ */
+
+#define ENDIAN(Z,I)	(H5T_ORDER_BE==endian?(I):(Z)-((I)+1))
+
+
+typedef enum flt_t {
+    FLT_FLOAT, FLT_DOUBLE, FLT_LDOUBLE, FLT_OTHER
+} flt_t;
+
+typedef enum int_t {
+    INT_CHAR, INT_UCHAR, INT_SHORT, INT_USHORT, INT_INT, INT_UINT,
+    INT_LONG, INT_ULONG, INT_LLONG, INT_ULLONG, INT_OTHER
+} int_t;
+
+// Count the number of overflows
+#ifdef SHOW_OVERFLOWS
+static int noverflows_g = 0;
+#endif
+
+// Skip overflow tests if non-zero
+
+// Don't use hardware conversions if set
+
+// Count opaque conversions
+
+/*
+ * Although we check whether a floating point overflow generates a SIGFPE and
+ * turn off overflow tests in that case, it might still be possible for an
+ * overflow condition to occur.  Once a SIGFPE is raised the program cannot
+ * be allowed to continue (cf. Posix signals) so in order to recover from a
+ * SIGFPE we run tests that might generate one in a child process.
+ */
+
+#if defined(H5_HAVE_FORK) && defined(H5_HAVE_WAITPID)
+#   define HANDLE_SIGFPE
+#endif
+
+// Allocates memory aligned on a certain boundary.
+#define aligned_malloc(Z)	((void*)((char*)malloc(ALIGNMENT+Z)+ALIGNMENT))
+#define aligned_free(M)		free((char*)(M)-ALIGNMENT)
+
+
+/*-------------------------------------------------------------------------
+ * Function:	overflow_handler
+ *
+ * Purpose:	Gets called for all data type conversion overflows.
+ *
+ * Return:	Success:	0
+ *
+ *		Failure:	-1
+ *
+ * Programmer:	Robb Matzke
+ *              Tuesday, July  7, 1998
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifdef SHOW_OVERFLOWS
+static herr_t
+overflow_handler(hid_t UNUSED src_id, hid_t UNUSED dst_id,
+		 void UNUSED *src_buf, void UNUSED *dst_buf)
+{
+    noverflows_g++;
+    return -1;
+}
+#endif
+
+
+/*-------------------------------------------------------------------------
+ * Function:    test_classes
+ *
+ * Purpose:     Test type classes
+ *
+ * Return:      Success:        0
+ *
+ *              Failure:        number of errors
+ *
+ * Programmer:  Binh-Minh Ribler (using C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_classes(void)
+{
+    SUBTEST("PredType::getClass()");
+    try {
+	// PredType::NATIVE_INT should be in H5T_INTEGER class
+	H5T_class_t tcls = PredType::NATIVE_INT.getClass();
+	if (H5T_INTEGER!=tcls) {
+	    H5_FAILED();
+	    puts("    Invalid type class for H5T_NATIVE_INT");
+	}
+
+	// PredType::NATIVE_DOUBLE should be in H5T_FLOAT class
+	tcls = PredType::NATIVE_DOUBLE.getClass();
+	if (H5T_FLOAT!=tcls) {
+	    H5_FAILED();
+	    puts("    Invalid type class for H5T_NATIVE_DOUBLE");
+	}
+	PASSED();
+    }   // end of try block
+    catch (DataTypeIException E) { 
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}
+
+/*-------------------------------------------------------------------------
+ * Function:    test_copy
+ *
+ * Purpose:     Test datatype copy functionality
+ *
+ * Return:      Success:        0
+ *
+ *              Failure:        number of errors
+ *
+ * Programmer:  Binh-Minh Ribler (using C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void test_copy(void)
+{
+    SUBTEST("DataType::copy() and DataType::operator=");
+    try {
+	// Test copying from a predefined datatype using DataType::operator=
+	DataType assigned_type;
+	assigned_type = PredType::NATIVE_SHORT;
+
+        // Test copying a predefined type using DataType::copy
+	DataType copied_type;
+        copied_type.copy (PredType::STD_B8LE);
+
+	// Test copying a user-defined type using DataType::operator=
+	DataType assigned_usertype;
+	assigned_usertype = copied_type;
+
+	// Test copying from a user-defined datatype using DataType::copy
+	DataType copied_usertype;
+	copied_usertype.copy(copied_type);
+
+        // Test copying a user-defined int type using DataType::operator=
+        IntType orig_int(PredType::STD_B8LE);
+        DataType generic_type;
+        generic_type = orig_int;
+
+        // Test copying an integer predefined type
+        IntType new_int_type(PredType::STD_B8LE);
+
+        // Test copying an int predefined type using DataType::operator=
+        IntType another_int_type;
+        another_int_type = new_int_type;
+
+	PASSED();
+    } 
+    catch (DataTypeIException E) { 
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_query
+ *
+ * Purpose:	Tests query functions of compound and enumeration types.
+ *
+ * Return:	Success: 	0
+ * 	
+ *		Failure:	number of errors
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *  
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+
+const H5std_string CompT_NAME("Compound_type");
+const H5std_string EnumT_NAME("Enum_type");
+
+static void test_query(void)
+{
+    typedef struct {
+	int    a;
+	float  b;
+	long   c;
+	double d;
+    } s_type_t;
+    short	enum_val;
+
+    // Output message about test being performed
+    SUBTEST("Query functions of compound and enumeration types");
+    try
+    {
+	// Create File
+	H5File file(FILENAME[2], H5F_ACC_TRUNC);
+
+	// Create a compound datatype
+	CompType tid1(sizeof(s_type_t));
+
+	tid1.insertMember("a", HOFFSET(s_type_t, a), PredType::NATIVE_INT);
+	tid1.insertMember("b", HOFFSET(s_type_t, b), PredType::NATIVE_FLOAT);
+	tid1.insertMember("c", HOFFSET(s_type_t, c), PredType::NATIVE_LONG);
+	tid1.insertMember("d", HOFFSET(s_type_t, d), PredType::NATIVE_DOUBLE);
+
+	// Create a enumerate datatype
+	EnumType tid2(sizeof(short));
+
+	tid2.insert("RED", (enum_val=0,&enum_val));
+	tid2.insert("GREEN", (enum_val=1,&enum_val));
+	tid2.insert("BLUE", (enum_val=2,&enum_val));
+	tid2.insert("ORANGE", (enum_val=3,&enum_val));
+	tid2.insert("YELLOW", (enum_val=4,&enum_val));
+
+	// Query member number and member index by name, for compound type
+	int nmembs = tid1.getNmembers();
+	verify_val(nmembs, 4, "CompType::getNmembers()", __LINE__, __FILE__);
+
+	int index = tid1.getMemberIndex("c");
+	verify_val(index, 2, "CompType::getMemberIndex()", __LINE__, __FILE__);
+
+	// Query member number and member index by name, for enumeration type.
+	nmembs = tid2.getNmembers();
+	verify_val(nmembs, 5, "EnumType::getNmembers()", __LINE__, __FILE__);
+
+	index = tid2.getMemberIndex("ORANGE");
+	verify_val(index, 3, "EnumType::getMemberIndex()", __LINE__, __FILE__);
+
+	// Commit compound datatype and close it
+	tid1.commit(file, CompT_NAME);
+	tid1.close();
+
+	// Commit enumeration datatype and close it
+	tid2.commit(file, EnumT_NAME);
+	tid2.close();
+
+	// Open the datatype for query
+	tid1 = file.openCompType(CompT_NAME);
+
+	tid2 = file.openEnumType(EnumT_NAME);
+
+	// Query member number and member index by name, for compound type
+	nmembs = tid1.getNmembers();
+	verify_val(nmembs, 4, "CompType::getNmembers()", __LINE__, __FILE__);
+
+	index = tid1.getMemberIndex("c");
+	verify_val(index, 2, "CompType::getMemberIndex()", __LINE__, __FILE__);
+
+	// Query member number and member index by name, for enumeration type
+	nmembs = tid2.getNmembers();
+	verify_val(nmembs, 5, "EnumType::getNmembers()", __LINE__, __FILE__);
+
+	index = tid2.getMemberIndex("ORANGE");
+	verify_val(index, 3, "EnumType::getMemberIndex()", __LINE__, __FILE__);
+
+	// Close data types and file
+	tid1.close();
+	tid2.close();
+	file.close();
+
+    PASSED();
+    }   // end of try block
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_query
+ 
+
+/*-------------------------------------------------------------------------
+ * Function:	test_transient
+ *
+ * Purpose:	Tests transient data types.
+ *
+ * Return:	Success:	0
+ *
+ *		Failure:	number of errors
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+const H5std_string filename1("dtypes1.h5");
+static void test_transient ()
+{
+    static hsize_t	ds_size[2] = {10, 20};
+    
+    SUBTEST("Transient data types");
+    try {
+
+	H5File file(filename1, H5F_ACC_TRUNC);
+	DataSpace space(2, ds_size, ds_size);
+
+	// Predefined types cannot be modified or closed
+	// PredType::NATIVE_INT is a constant and cannot make a call, 
+	// don't need these tests
+
+	// Copying a predefined type results in a modifiable copy
+	IntType type(PredType::NATIVE_INT);
+	type.setPrecision(256);
+
+	// It should not be possible to create an attribute for a transient 
+	// type 
+	try {
+	    Attribute attr(type.createAttribute("attr1", PredType::NATIVE_INT, space));
+	    // Should FAIL but didn't, so throw an invalid action exception
+	    throw InvalidActionException("H5Object::createAttribute", "Attempted to commit a predefined datatype.");
+	} catch (AttributeIException err) {}
+
+	// Create a dataset from a transient data type
+	type.copy(PredType::NATIVE_INT);
+	DataSet dset(file.createDataSet("dset1", type, space));
+
+	// The type returned from a dataset should not be modifiable
+	IntType itype(dset);
+	try {
+	    itype.setPrecision(256);
+
+	    // Should FAIL but didn't, so throw an invalid action exception
+	    throw InvalidActionException("PredType::setPrecision", "Dataset data types should not be modifiable!");
+	} catch (DataTypeIException err) {}
+
+	itype.close();
+
+	//
+ 	// Get the dataset data type by applying H5Tcopy() to the dataset. The
+ 	// result should be modifiable.
+ 	///
+	itype.copy(dset);
+	itype.setPrecision(256);
+
+	//
+ 	// Close the dataset and reopen it, testing that its type is still
+ 	// read-only. <--- how come modifiable below?
+ 	///
+	dset.close();
+    //if (H5Dclose (dset)<0) printf("goto error in C\n");
+	dset = file.openDataSet("dset1");
+    //if ((dset=H5Dopen (file, "dset1"))<0) printf("goto error in C\n");
+
+	//
+ 	// Get the dataset data type by applying H5Tcopy() to the dataset. The
+ 	// result should be modifiable.
+ 	///
+	itype.copy(dset);
+	itype.setPrecision(256);
+	itype.close();
+    
+	// Close objects and file.
+	dset.close();
+	file.close();
+	type.close();
+	space.close();
+	PASSED();
+    }   // end of try block
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_transient
+
+
+/*-------------------------------------------------------------------------
+ * Function:	test_named
+ *
+ * Purpose:	Tests named data types.
+ *
+ * Return:	Success:	0
+ *
+ *		Failure:	number of errors
+ *
+ * Programmer:	Binh-Minh Ribler (use C version)
+ *		January, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+const H5std_string filename2("dtypes2.h5");
+static void test_named ()
+{
+    static hsize_t	ds_size[2] = {10, 20};
+    hsize_t		i;
+    unsigned 		attr_data[10][20];
+    
+    //MESSAGE(5, ("named data types"));
+    SUBTEST("Named data types");
+    try {
+	// Create the file
+	H5File file(filename2, H5F_ACC_TRUNC);
+
+	// Create simple dataspace
+	DataSpace space(2, ds_size, ds_size);
+
+	// Predefined types cannot be committed
+	try {
+	    PredType nativeint(PredType::NATIVE_INT);
+	    nativeint.commit(file, "test_named_1 (should not exist)");
+
+	    // Should FAIL but didn't, so throw an invalid action exception
+	    throw InvalidActionException("PredType::commit", "Attempted to commit a predefined datatype.");
+	} catch (DataTypeIException err) {}
+
+	// Copy a predefined data type and commit the copy
+        IntType itype(PredType::NATIVE_INT);
+        itype.commit(file, "native-int");
+	if (itype.committed() <= (bool)0)
+	    cerr << "IntType::committed() returned false" << endl;
+
+	// We should not be able to modify a type after it has been committed.
+	try {
+	    itype.setPrecision(256);
+
+	    // Should FAIL but didn't, so throw an invalid action exception
+	    throw InvalidActionException("IntType::setPrecision", "Attempted to modify a committed datatype.");
+	} catch (DataTypeIException err) {}
+
+	// We should not be able to re-commit a committed type
+	try {
+	    itype.commit(file, "test_named_2 (should not exist)");
+
+	    // Should FAIL but didn't, so throw an invalid action exception
+	    throw InvalidActionException("IntType::commit", "Attempted to re-commit a committed data type.");
+	} catch (DataTypeIException err) {}
+
+	// It should be possible to define an attribute for the named type
+	Attribute attr1 = itype.createAttribute("attr1", PredType::NATIVE_UCHAR, space);
+
+	for (i=0; i<ds_size[0]*ds_size[1]; i++)
+	    attr_data[0][i] = (int)i; //tricky
+
+	attr1.write(PredType::NATIVE_UINT, attr_data);
+	attr1.close();
+
+	// Copying a committed type should result in a transient type which 
+	// is not locked.
+	IntType trans_type;
+	trans_type.copy(itype);
+	bool iscommitted = trans_type.committed();
+	verify_val(iscommitted, (bool)0, "DataType::committed() - Copying a named type should result in a transient type!", __LINE__, __FILE__);
+
+	trans_type.setPrecision(256);
+	trans_type.close();
+
+	// Close the committed type and reopen it.  It should return a 
+	// named type.
+
+	/* This had something to do with the way IntType was returned and 
+	   assigned and caused itype.committed not working correctly.  So, 
+	   use another_type for now.  Need to address it later - BMR 01/2007
+	itype = file.openIntType("native-int");
+	iscommitted = itype.committed();
+	*/
+	IntType another_type = file.openIntType("native-int");
+	iscommitted = another_type.committed();
+	if (!iscommitted)
+	    throw InvalidActionException("IntType::committed()", "Opened named types should be named types!");
+
+	// Create a dataset that uses the named type
+	DataSet dset = file.createDataSet("dset1", itype, space);
+
+	// Get the dataset's data type and make sure it's a named type
+	DataType *ds_type = new DataType(dset.getDataType());
+	iscommitted = ds_type->committed();
+	if (!iscommitted)
+	    throw InvalidActionException("IntType::committed()", "1 Dataset type should be named type!");
+
+	// Close the dataset, then close its type, then reopen the dataset
+	dset.close();
+	ds_type->close();
+
+	dset = file.openDataSet("dset1");
+
+	// Get the dataset's data type and make sure it's a named type
+	ds_type = new DataType(dset.getDataType());
+	iscommitted = ds_type->committed();
+	if (!iscommitted)
+	    throw InvalidActionException("IntType::committed()", "Dataset type should be named type!");
+
+	// Close the dataset and create another with the type returned 
+	// from the first dataset.
+	dset.close();
+	dset = file.createDataSet("dset2", *ds_type, space);
+
+	// Close then reopen the second dataset and make sure the type is 
+	// shared
+	ds_type->close();
+	dset.close();
+	dset = file.openDataSet("dset2");
+	ds_type = new DataType(dset.getDataType());
+	iscommitted = ds_type->committed();
+	if (!iscommitted)
+	    throw InvalidActionException("IntType::committed()", "Dataset type should be named type!");
+
+	ds_type->close();
+    
+	// Get the dataset data type by way of copying via the dataset. The
+	// result should be modifiable.
+	IntType copied_type;
+	copied_type.copy(dset);
+	copied_type.setPrecision(256);	// modifiable
+	copied_type.close();
+
+	// Close all objects and file.
+	dset.close();
+	itype.close();
+	space.close();
+	file.close();
+    PASSED();
+    }   // end of try block
+    catch (Exception E) {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_named
+
+
+/****************************************************************
+**
+**  test_types(): Main data types testing routine.
+**
+****************************************************************/
+void test_types(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Generic Data Types\n"));
+
+    // Test basic datatypes
+    test_classes();
+    test_copy();
+    test_query();
+    test_transient();
+    test_named();
+
+}   // test_types()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	cleanup_types
+ *
+ * Purpose:	Cleanup temporary test files
+ *
+ * Return:	none
+ *
+ * Programmer:	Quincey Koziol
+ *		September 10, 1999
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+cleanup_types(void)
+{
+    for (int i = 0; i < 3; i++)
+	HDremove(FILENAME[i]);
+}

Copied: packages/hdf5/trunk/c++/test/tvlstr.cpp (from rev 1094, packages/hdf5/branches/upstream/current/c++/test/tvlstr.cpp)
===================================================================
--- packages/hdf5/trunk/c++/test/tvlstr.cpp	                        (rev 0)
+++ packages/hdf5/trunk/c++/test/tvlstr.cpp	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,792 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/***********************************************************
+*
+* Test program:	 tvlstr
+*
+* Test the variable length string functionality
+*
+*************************************************************/
+
+#ifdef OLD_HEADER_FILENAME
+#include <iostream.h>
+#else
+#include <iostream>
+#endif
+#include <string>
+
+#ifndef H5_NO_NAMESPACE
+#ifndef H5_NO_STD
+    using std::cerr;
+    using std::endl;
+#endif  // H5_NO_STD
+#endif
+
+#include "testhdf5.h"   // C test header file
+#include "H5Cpp.h"      // C++ API header file
+
+#ifndef H5_NO_NAMESPACE
+using namespace H5;
+#endif
+
+#include "h5cpputil.h"  // C++ utilility header file
+
+const H5std_string      DATAFILE("tvlstr.h5");
+const H5std_string      DATAFILE2("tvlstr2.h5");
+
+// 1-D dataset with fixed dimensions
+const int SPACE1_RANK = 1;
+const hsize_t SPACE1_DIM1 = 4;
+
+const H5std_string      VLSTR_TYPE("vl_string_type");
+
+// Definitions for the VL re-writing test
+const int REWRITE_NDATASETS = 32;
+
+/***********************************************************
+*
+* Test program:	 tvlstr
+*
+* Test the Variable-Length String functionality
+*
+*************************************************************/
+
+void *test_vlstr_alloc_custom(size_t size, void *info);
+void test_vlstr_free_custom(void *mem, void *info);
+
+/****************************************************************
+**
+**  test_vlstr_alloc_custom(): Test VL datatype custom memory
+**      allocation routines.  This routine just uses malloc to
+**      allocate the memory and increments the amount of memory
+**      allocated.
+**
+****************************************************************/
+void *test_vlstr_alloc_custom(size_t size, void *info)
+{
+    void *ret_value=NULL;   	// Pointer to return
+    int *mem_used=(int *)info;  // Get the pointer to the memory used
+    size_t extra;           	// Extra space needed
+
+    /*
+     *  This weird contortion is required on the DEC Alpha to keep the
+     *  alignment correct - QAK
+     */
+    
+    extra=MAX(sizeof(void *),sizeof(size_t));
+
+    if((ret_value=HDmalloc(extra+size))!=NULL) {
+        *(size_t *)ret_value=size;
+        *mem_used+=size;
+    } // end if
+    ret_value=((unsigned char *)ret_value)+extra;
+    return(ret_value);
+}
+
+/****************************************************************
+**
+**  test_vlstr_free_custom(): Test VL datatype custom memory
+**      allocation routines.  This routine just uses free to
+**      release the memory and decrements the amount of memory
+**      allocated.
+**
+****************************************************************/
+void test_vlstr_free_custom(void *_mem, void *info)
+{
+    unsigned char *mem;
+    int *mem_used=(int *)info;  // Get the pointer to the memory used
+    size_t extra;           	// Extra space needed
+
+    /*
+     *  This weird contortion is required on the DEC Alpha to keep the
+     *  alignment correct - QAK
+     */
+    
+    extra=MAX(sizeof(void *),sizeof(size_t));
+
+    if(_mem!=NULL) {
+        mem=((unsigned char *)_mem)-extra;
+        *mem_used-=*(size_t *)mem;
+        HDfree(mem);
+    } // end if
+}
+
+/****************************************************************
+**
+**  test_vlstrings_basic(): Test basic VL string code.
+**      Tests simple VL string I/O
+**
+****************************************************************/
+static void
+test_vlstrings_basic(void)
+{
+    const char *wdata[SPACE1_DIM1]= {
+        "Four score and seven years ago our forefathers brought forth on this continent a new nation,",
+        "conceived in liberty and dedicated to the proposition that all men are created equal.",
+        "Now we are engaged in a great civil war,",
+        "testing whether that nation or any nation so conceived and so dedicated can long endure."
+        };   // Information to write
+
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Basic VL String Functionality\n"));
+
+    H5File* file1 = NULL;
+    try {
+        // Create file.
+        file1 = new H5File (DATAFILE, H5F_ACC_TRUNC);
+
+	// Create dataspace for datasets.
+	hsize_t	dims1[] = {SPACE1_DIM1};
+	DataSpace sid1(SPACE1_RANK, dims1);
+
+	// Create a datatype to refer to.
+	StrType tid1(0, H5T_VARIABLE);
+
+	// Create a dataset.
+	DataSet dataset(file1->createDataSet("Dataset1", tid1, sid1));
+
+	// Write dataset to disk.
+	dataset.write(wdata, tid1);
+
+	// Create H5S_SCALAR data space.
+	DataSpace dataspace;
+
+	DataSet dataset2(file1->createDataSet("Dataset2", tid1, dataspace));
+
+	char *wdata2 = (char*)HDcalloc(65534, sizeof(char));
+	HDmemset(wdata2, 'A', 65533);
+
+	dataset2.write(&wdata2, tid1);
+
+	dataspace.close();
+	dataset2.close();
+	HDfree(wdata2);
+
+	// Change to the custom memory allocation routines for reading VL string.
+	DSetMemXferPropList xfer;
+	int mem_used=0;	// Memory used during allocation
+	xfer.setVlenMemManager(test_vlstr_alloc_custom, &mem_used, test_vlstr_free_custom, &mem_used);
+
+	// Make certain the correct amount of memory will be used.
+	hsize_t vlsize = dataset.getVlenBufSize(tid1, sid1);
+
+	// Count the actual number of bytes used by the strings.
+	int     str_used;   // String data in memory
+	hsize_t i;	// counting variable
+	for (i=0,str_used=0; i<SPACE1_DIM1; i++)
+	    str_used+=HDstrlen(wdata[i])+1;
+
+	// Compare against the strings actually written.
+	verify_val((int)vlsize,str_used,"DataSet::getVlenBufSize", __LINE__, __FILE__);
+
+	// Read dataset from disk.
+	char *rdata[SPACE1_DIM1];   // Information read in
+	dataset.read(rdata, tid1, DataSpace::ALL, DataSpace::ALL, xfer);
+
+	// Make certain the correct amount of memory has been used.
+	VERIFY(mem_used, str_used, "H5Dread");
+
+	// Compare data read in.
+	for (i=0; i<SPACE1_DIM1; i++) {
+	    if(HDstrlen(wdata[i])!=strlen(rdata[i])) {
+		TestErrPrintf("VL data length don't match!, strlen(wdata[%d])=%d, strlen(rdata[%d])=%d\n",(int)i,(int)strlen(wdata[i]),(int)i,(int)strlen(rdata[i]));
+		continue;
+	    } // end if
+	    if( HDstrcmp(wdata[i],rdata[i]) != 0 ) {
+		TestErrPrintf("VL data values don't match!, wdata[%d]=%s, rdata[%d]=%s\n",(int)i,wdata[i],(int)i,rdata[i]);
+		continue;
+	    } // end if
+	} // end for
+
+	// Reclaim the read VL data.
+	DataSet::vlenReclaim((void *)rdata, tid1, sid1, xfer);
+
+	// Make certain the VL memory has been freed.
+	VERIFY(mem_used, 0, "DataSet::vlenReclaim");
+
+	// Close objects and file.
+	dataset.close();
+	tid1.close();
+	sid1.close();
+	xfer.close();
+	file1->close();
+    } // end try
+
+    // Catch all exceptions.
+    catch (Exception E)
+    {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+        if (file1 != NULL) // clean up
+            delete file1;
+    }
+} // end test_vlstrings_basic()
+
+/****************************************************************
+**
+**  test_vlstrings_special(): Test VL string code for special
+**      string cases, nil and zero-sized.
+**
+****************************************************************/
+static void
+test_vlstrings_special(void)
+{
+    const char *wdata[SPACE1_DIM1] = {"one", "two", "", "four"};
+    const char *wdata2[SPACE1_DIM1] = {NULL, NULL, NULL, NULL};
+    char *rdata[SPACE1_DIM1];   // Information read in
+
+    // Output message about test being performed.
+    MESSAGE(5, ("Testing Special VL Strings\n"));
+
+    try {
+	// Create file.
+	H5File file1(DATAFILE, H5F_ACC_TRUNC);
+
+        // Create dataspace for datasets.
+        hsize_t dims1[] = {SPACE1_DIM1};
+        DataSpace sid1(SPACE1_RANK, dims1);
+
+	// Create a datatype to refer to.
+	StrType tid1(0, H5T_VARIABLE);
+
+	// Create a dataset.
+	DataSet dataset(file1.createDataSet("Dataset3", tid1, sid1));
+
+	// Read from dataset before writing data.
+	dataset.read(rdata, tid1);
+
+	// Check data read in.
+	hsize_t i;      	// counting variable
+	for (i=0; i<SPACE1_DIM1; i++)
+	    if(rdata[i]!=NULL)
+		TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)i,rdata[i]);
+
+	// Write dataset to disk.
+	dataset.write(wdata, tid1);
+
+	// Read dataset from disk.
+	dataset.read(rdata, tid1);
+
+	// Compare data read in.
+	for (i=0; i<SPACE1_DIM1; i++) {
+	    if(HDstrlen(wdata[i])!=strlen(rdata[i])) {
+		TestErrPrintf("VL data length don't match!, strlen(wdata[%d])=%d, strlen(rdata[%d])=%d\n",(int)i,(int)strlen(wdata[i]),(int)i,(int)strlen(rdata[i]));
+		continue;
+	    } // end if
+	    if( HDstrcmp(wdata[i],rdata[i]) != 0 ) {
+		TestErrPrintf("VL data values don't match!, wdata[%d]=%s, rdata[%d]=%s\n",(int)i,wdata[i],(int)i,rdata[i]);
+		continue;
+	    } // end if
+	} // end for
+
+	// Reclaim the read VL data.
+	DataSet::vlenReclaim((void *)rdata, tid1, sid1);
+
+	// Close Dataset.
+	dataset.close();
+
+	// Create another dataset to test nil strings.
+	DSetCreatPropList dcpl;
+
+	// Set the fill value for the second dataset.
+	char *fill = NULL;	// Fill value
+	dcpl.setFillValue(tid1, &fill);
+
+	dataset = file1.createDataSet("Dataset4", tid1, sid1, dcpl);
+
+	// Close dataset creation property list.
+	dcpl.close();
+
+	// Read from dataset before writing data.
+	dataset.read(rdata, tid1);
+
+	// Check data read in.
+	for (i=0; i<SPACE1_DIM1; i++)
+	  if(rdata[i]!=NULL)
+	    TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)i,rdata[i]);
+
+	// Try to write nil strings to disk.
+	dataset.write(wdata2, tid1);
+
+	// Read nil strings back from disk.
+	dataset.read(rdata, tid1);
+
+	// Check data read in.
+	for (i=0; i<SPACE1_DIM1; i++)
+	  if(rdata[i]!=NULL)
+	    TestErrPrintf("VL doesn't match!, rdata[%d]=%p\n",(int)i,rdata[i]);
+
+	// Close objects and file.
+	dataset.close();
+	tid1.close();
+	sid1.close();
+	file1.close();
+    } // end try
+
+    // Catch all exceptions.
+    catch (Exception E)
+    {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+} // test_vlstrings_special
+
+/****************************************************************
+**
+**  test_vlstring_type(): Test VL string type.
+**      Tests if VL string is treated as string.
+**
+****************************************************************/
+static void test_vlstring_type(void)
+{
+    // Output message about test being performed.
+    MESSAGE(5, ("Testing VL String type\n"));
+
+    H5File* file1 = NULL;
+    try {
+	// Open file.
+	file1 = new H5File(DATAFILE, H5F_ACC_RDWR);
+
+	// Create a datatype to refer to.
+	StrType vlstr_type(PredType::C_S1);
+
+	// Change padding and verify it.
+	vlstr_type.setStrpad(H5T_STR_NULLPAD);
+	H5T_str_t pad = vlstr_type.getStrpad();
+	verify_val(pad, H5T_STR_NULLPAD, "StrType::getStrpad", __LINE__, __FILE__);
+
+	// Convert to variable-length string.
+	vlstr_type.setSize(H5T_VARIABLE);
+
+	// Check if datatype is VL string.
+	H5T_class_t type_class = vlstr_type.getClass();
+	verify_val(type_class, H5T_STRING, "DataType::getClass", __LINE__, __FILE__);
+	bool is_variable_str = vlstr_type.isVariableStr();
+	verify_val(is_variable_str, true, "DataType::isVariableStr", __LINE__, __FILE__);
+
+	// Check default character set and padding.
+	H5T_cset_t cset = vlstr_type.getCset();
+	verify_val(cset, H5T_CSET_ASCII, "StrType::getCset", __LINE__, __FILE__);
+	pad = vlstr_type.getStrpad();
+	verify_val(pad, H5T_STR_NULLPAD, "StrType::getStrpad", __LINE__, __FILE__);
+
+	// Commit variable-length string datatype to storage.
+	vlstr_type.commit(*file1, VLSTR_TYPE);
+
+	// Close datatype.
+	vlstr_type.close();
+
+	// Try opening datatype again.
+	vlstr_type = file1->openStrType(VLSTR_TYPE);
+
+	// Close datatype and file.
+	vlstr_type.close();
+	file1->close();
+
+	// Open file.
+	file1 = new H5File(DATAFILE, H5F_ACC_RDWR);
+
+    //fid = H5Fopen(DATAFILE.c_str(), H5F_ACC_RDWR, H5P_DEFAULT);
+
+	// Open the variable-length string datatype just created
+	vlstr_type.setId((file1->openStrType(VLSTR_TYPE)).getId());
+    //tid_vlstr = H5Topen(fid, VLSTR_TYPE.c_str());
+
+	// Verify character set and padding
+	cset = vlstr_type.getCset();
+	verify_val(cset, H5T_CSET_ASCII, "StrType::getCset", __LINE__, __FILE__);
+    //cset = H5Tget_cset(tid_vlstr);
+	pad = vlstr_type.getStrpad();
+    //pad = H5Tget_strpad(tid_vlstr);
+	verify_val(pad, H5T_STR_NULLPAD, "StrType::getStrpad", __LINE__, __FILE__);
+
+	// Close datatype and file
+	vlstr_type.close();
+	file1->close();
+    } // end try
+
+    // Catch all exceptions.
+    catch (Exception E)
+    {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+} // end test_vlstring_type()
+
+/****************************************************************
+**
+**  test_compact_vlstring(): Test code for storing VL strings in
+**      compact datasets.
+**
+****************************************************************/
+static void
+test_compact_vlstring(void)
+{
+    const char *wdata[SPACE1_DIM1] = {"one", "two", "three", "four"};
+    char *rdata[SPACE1_DIM1];   // Information read in
+
+	// Output message about test being performed
+    MESSAGE(5, ("Testing VL Strings in compact dataset\n"));
+
+    try {
+	// Create file
+	H5File file1(DATAFILE, H5F_ACC_TRUNC);
+
+	// Create dataspace for datasets
+        hsize_t dims1[] = {SPACE1_DIM1};
+        DataSpace sid1(SPACE1_RANK, dims1);
+
+	// Create a datatype to refer to
+	StrType tid1(0, H5T_VARIABLE);
+
+	// Create dataset create property list and set layout
+	DSetCreatPropList plist;
+	plist.setLayout(H5D_COMPACT);
+
+	// Create a dataset
+	DataSet dataset(file1.createDataSet("Dataset5", tid1, sid1, plist));
+
+	// Write dataset to disk
+	dataset.write(wdata, tid1);
+
+	// Read dataset from disk
+	dataset.read(rdata, tid1);
+
+	// Compare data read in
+	hsize_t i;
+	for (i=0; i<SPACE1_DIM1; i++) {
+	    if (HDstrlen(wdata[i])!=strlen(rdata[i])) {
+		TestErrPrintf("VL data length don't match!, strlen(wdata[%d])=%d, strlen(rdata[%d])=%d\n",(int)i,(int)strlen(wdata[i]),(int)i,(int)strlen(rdata[i]));
+		continue;
+	    } // end if
+	    if (HDstrcmp(wdata[i],rdata[i]) != 0) {
+		TestErrPrintf("VL data values don't match!, wdata[%d]=%s, rdata[%d]=%s\n",(int)i,wdata[i],(int)i,rdata[i]);
+		continue;
+	    } // end if
+	} // end for
+
+	// Reclaim the read VL data
+	DataSet::vlenReclaim((void *)rdata, tid1, sid1);
+
+	// Close objects and file
+	dataset.close();
+	tid1.close();
+	sid1.close();
+	plist.close();
+	file1.close();
+    } // end try
+
+    // Catch all exceptions.
+    catch (Exception E)
+    {
+        issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_compact_vlstrings
+
+/****************************************************************
+**
+**  test_write_vl_string_attribute(): Test basic VL string code.
+**      Tests writing VL strings as attributes
+**
+****************************************************************/
+// String for testing attributes
+static char *string_att_write=NULL;
+
+// Info for a string attribute
+const H5std_string ATTRSTR_NAME("String_attr");
+const H5std_string ATTRSTR_DATA("String Attribute");
+
+static void 
+test_write_vl_string_attribute(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing writing VL String as attributes\n"));
+
+    try {
+	// Open the file
+	H5File file1(DATAFILE, H5F_ACC_RDWR);
+
+	// Create a datatype to refer to.
+	StrType tid1(0, H5T_VARIABLE);
+
+	// Open the root group.
+	Group root = file1.openGroup("/");
+
+	// Create dataspace for the attribute.
+	DataSpace att_space (H5S_SCALAR);
+
+	// Create an attribute for the root group.
+	Attribute gr_attr = root.createAttribute(ATTRSTR_NAME, tid1, att_space);
+
+	// Write data to the attribute.
+	gr_attr.write(tid1, ATTRSTR_DATA);
+
+	// Read and verify the attribute string as a string of chars.
+	char *string_att_check;
+	gr_attr.read(tid1, &string_att_check);
+	if(HDstrcmp(string_att_check, ATTRSTR_DATA.c_str())!=0)
+	    TestErrPrintf("Line %d: Attribute data different: ATTRSTR_DATA=%s,string_att_check=%s\n",__LINE__, ATTRSTR_DATA.c_str(), string_att_check);
+
+	HDfree(string_att_check);  // note: no need for std::string test
+
+	// Read and verify the attribute string as an std::string.
+	H5std_string read_str;
+	gr_attr.read(tid1, read_str);
+	if (read_str != ATTRSTR_DATA)
+	    TestErrPrintf("Line %d: Attribute data different: ATTRSTR_DATA=%s,read_str=%s\n",__LINE__, ATTRSTR_DATA.c_str(), read_str.c_str());
+
+	// Close group's attribute.
+	gr_attr.close();
+
+	// Test creating a "large" sized string attribute
+	gr_attr = root.createAttribute("test_scalar_large", tid1, att_space);
+
+	string_att_write = (char*)HDcalloc(8192, sizeof(char));
+	HDmemset(string_att_write, 'A', 8191);
+
+	// Write data to the attribute.
+	gr_attr.write(tid1, &string_att_write);
+
+	gr_attr.read(tid1, &string_att_check);
+
+	if(HDstrcmp(string_att_check,string_att_write)!=0)
+	    TestErrPrintf("VL string attributes don't match!, string_att_write=%s, string_att_check=%s\n",string_att_write,string_att_check);
+
+	HDfree(string_att_check);
+
+	gr_attr = root.openAttribute(ATTRSTR_NAME);
+
+	// The attribute string written is freed below, in the 
+	// test_read_vl_string_attribute() test
+
+	// Close attribute and file
+	gr_attr.close();
+	file1.close();
+    } // end try block
+
+    // Catch all exceptions.
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+}   // test_string_attr()
+
+/****************************************************************
+**
+**  test_read_vl_string_attribute(): Test basic VL string code.
+**      Tests reading VL strings from attributes
+**
+****************************************************************/
+static void test_read_vl_string_attribute(void)
+{
+    char *string_att_check;
+
+    try {
+	// Open file
+	H5File file1(DATAFILE, H5F_ACC_RDONLY);
+
+	// Create a datatype to refer to.
+	StrType tid1(0, H5T_VARIABLE);
+
+	Group root = file1.openGroup("/");
+
+	Attribute att = root.openAttribute(ATTRSTR_NAME);
+
+	// Test reading "normal" sized string attribute
+	att.read(tid1, &string_att_check);
+
+	if(HDstrcmp(string_att_check,ATTRSTR_DATA.c_str())!=0)
+	    TestErrPrintf("VL string attributes don't match!, string_att=%s, string_att_check=%s\n",ATTRSTR_DATA.c_str(),string_att_check);
+
+	HDfree(string_att_check);
+
+	// Close this attribute.
+	att.close();
+
+	// Test reading "large" sized string attribute
+	att = root.openAttribute("test_scalar_large");
+	att.read(tid1, &string_att_check);
+
+	if(HDstrcmp(string_att_check,string_att_write)!=0)
+	    TestErrPrintf("VL string attributes don't match!, string_att_write=%s, string_att_check=%s\n",string_att_write,string_att_check);
+
+	HDfree(string_att_check);
+	HDfree(string_att_write);   // Free string allocated in test_write_vl_string_attribute
+
+	// Close objects and file.
+	att.close();
+	tid1.close();
+	root.close();
+	file1.close();
+    } // end try
+
+    // Catch all exceptions.
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+} // test_read_vl_string_attribute
+
+/* Helper routine for test_vl_rewrite() */
+static void write_scalar_dset(H5File& file, DataType& type, DataSpace& space, char *name, char *data)
+{
+    DataSet dset;
+    try {
+	dset = file.createDataSet(name, type, space);
+	dset.write(&data, type, space, space);
+	dset.close();
+    } // end try
+    catch (FileIException ferr) {
+	throw;
+    }
+    catch (DataSetIException derr) {
+	throw;
+    }
+}
+
+/* Helper routine for test_vl_rewrite() */
+static void read_scalar_dset(H5File& file, DataType& type, DataSpace& space, char *name, char *data)
+{
+    char *data_read;
+    DataSet dset;
+    try {
+	dset = file.openDataSet(name);
+	dset.read(&data_read, type, space, space);
+	dset.close();
+
+	if(HDstrcmp(data, data_read))
+	    TestErrPrintf("Expected %s for dataset %s but read %s\n", data, name, data_read);
+
+	HDfree(data_read);
+    } // end try
+    catch (FileIException ferr) {
+	throw;
+    }
+    catch (DataSetIException derr) {
+	throw;
+    }
+}
+
+/****************************************************************
+**
+**  test_vl_rewrite(): Test basic VL string code.
+**      Tests I/O on VL strings when lots of objects in the file
+**      have been linked/unlinked.
+**
+****************************************************************/
+static void test_vl_rewrite(void)
+{
+    try {
+	// Create the files.
+	H5File file1(DATAFILE, H5F_ACC_TRUNC);
+	H5File file2(DATAFILE2, H5F_ACC_TRUNC);
+
+	// Create the VL string datatype.
+	StrType type(0, H5T_VARIABLE);
+
+	// Create dataspace for the attribute.
+	DataSpace space (H5S_SCALAR);
+
+	// Create in file 1.
+	int i;
+	char name[256]; 	// Buffer for names & data
+	for (i=0; i<REWRITE_NDATASETS; i++) {
+	    sprintf(name, "/set_%d", i);
+	    write_scalar_dset(file1, type, space, name, name);
+	}
+
+	// Effectively copy data from file 1 to 2.
+	for (i=0; i<REWRITE_NDATASETS; i++) {
+	    sprintf(name, "/set_%d", i);
+	    read_scalar_dset(file1, type, space, name, name);
+	    write_scalar_dset(file2, type, space, name, name);
+	}
+
+	// Read back from file 2.
+	for (i=0; i<REWRITE_NDATASETS; i++) {
+	    sprintf(name, "/set_%d", i);
+	    read_scalar_dset(file2, type, space, name, name);
+	}
+
+	// Remove from file 2.
+	for (i=0; i<REWRITE_NDATASETS; i++) {
+	    sprintf(name, "/set_%d", i);
+	    file2.unlink(name);
+	}
+
+	// Effectively copy from file 1 to file 2.
+	for (i=0; i<REWRITE_NDATASETS; i++) {
+	    sprintf(name, "/set_%d", i);
+	    read_scalar_dset(file1, type, space, name, name);
+	    write_scalar_dset(file2, type, space, name, name);
+	}
+
+	// Close objects and file.
+	type.close();
+	space.close();
+	file1.close();
+	file2.close();
+    } // end try
+
+    // Catch all exceptions.
+    catch (Exception E) {
+	issue_fail_msg(E.getCFuncName(), __LINE__, __FILE__, E.getCDetailMsg());
+    }
+} // end test_vl_rewrite()
+
+/****************************************************************
+**
+**  test_vlstrings(): Main VL string testing routine.
+**
+****************************************************************/
+void test_vlstrings(void)
+{
+    // Output message about test being performed
+    MESSAGE(5, ("Testing Variable-Length Strings\n"));
+
+    // These tests use the same file
+    // Test basic VL string datatype
+    test_vlstrings_basic();
+    test_vlstrings_special();
+    test_vlstring_type();
+    test_compact_vlstring();
+
+    // Test using VL strings in attributes
+    test_write_vl_string_attribute();
+    test_read_vl_string_attribute();
+
+    // Test writing VL datasets in files with lots of unlinking
+    test_vl_rewrite();
+
+}   // test_vlstrings()
+
+
+/*-------------------------------------------------------------------------
+ * Function:	cleanup_vlstrings
+ *
+ * Purpose:	Cleanup temporary test files
+ *
+ * Return:	none
+ *
+ * Programmer:	Quincey Koziol
+ *              September 10, 1999
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+cleanup_vlstrings(void)
+{
+    HDremove(DATAFILE.c_str());
+    HDremove(DATAFILE2.c_str());
+}
+

Modified: packages/hdf5/trunk/config/BlankForm
===================================================================
--- packages/hdf5/trunk/config/BlankForm	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/BlankForm	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Copied: packages/hdf5/trunk/config/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/config/COPYING)
===================================================================
--- packages/hdf5/trunk/config/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/config/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/config/commence.in
===================================================================
--- packages/hdf5/trunk/config/commence.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/commence.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ##------------------------------------------------------------ -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
 ##
-##
 ## The following section of this makefile comes from the
 ## `./config/commence' file which was generated with config.status
 ## from `./config/commence.in'.
@@ -184,6 +185,10 @@
 	  fi;								\
 	done;
 
+## make help target
+help:
+	$(top_srcdir)/bin/makehelp
+
 ##-----------------------------------------------------------------------------
 ## The following section of this makefile comes from the middle of
 ## `Makefile.in' from this directory.  It was generated by running

Modified: packages/hdf5/trunk/config/conclude.in
===================================================================
--- packages/hdf5/trunk/config/conclude.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/conclude.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ##------------------------------------------------------------ -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
 ##
-##
 ## The following section of this makefile comes from the
 ## `./config/conclude' file which was generated with config.status
 ## from `./config/conclude.in'.

Modified: packages/hdf5/trunk/config/dec-flags
===================================================================
--- packages/hdf5/trunk/config/dec-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/dec-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is a DEC

Deleted: packages/hdf5/trunk/config/dec-osf4.x
===================================================================
--- packages/hdf5/trunk/config/dec-osf4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/dec-osf4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,34 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for detailed information.
-
-# The default compiler is `cc'
-if test "X-" =  "X-$CC"; then
-    CC=cc
-    CC_BASENAME=cc
-fi
-
-# Try GNU compiler flags.
-. $srcdir/config/gnu-flags
-
-# Try native DEC compiler
-ARCH=${ARCH:='-arch host -tune host'}
-. $srcdir/config/dec-flags
-hdf5_mpi_complex_derived_datatype_works=${hdf5_mpi_complex_derived_datatype_works='no'}

Modified: packages/hdf5/trunk/config/dec-osf5.x
===================================================================
--- packages/hdf5/trunk/config/dec-osf5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/dec-osf5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/depend1.in
===================================================================
--- packages/hdf5/trunk/config/depend1.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/depend1.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##                                                             -*- makefile -*-
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 ## We keep a list of dependencies in `.depend' for each of the source

Modified: packages/hdf5/trunk/config/depend2.in
===================================================================
--- packages/hdf5/trunk/config/depend2.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/depend2.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##							       -*- makefile -*-
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## This platform doesn't support automatic dependencies because we're
 ## not using GNU gcc.  GNU gcc is needed in order to generate the list

Modified: packages/hdf5/trunk/config/depend3.in
===================================================================
--- packages/hdf5/trunk/config/depend3.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/depend3.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##							       -*- makefile -*-
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Since automatic dependencies are not being used, we attempt to include the
 ## `.distdep' file from the source tree. This file was automatically generated 

Modified: packages/hdf5/trunk/config/depend4.in
===================================================================
--- packages/hdf5/trunk/config/depend4.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/depend4.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##							       -*- makefile -*-
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Since automatic dependencies are not being used, we attempt to include the
 ## `.distdep' file from the source tree. This file was automatically generated 

Modified: packages/hdf5/trunk/config/dependN.in
===================================================================
--- packages/hdf5/trunk/config/dependN.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/dependN.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##							       -*- makefile -*-
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 ## Automatic dependencies are not being used and we cannot include other
 ## files.

Modified: packages/hdf5/trunk/config/freebsd
===================================================================
--- packages/hdf5/trunk/config/freebsd	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/freebsd	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/gnu-flags
===================================================================
--- packages/hdf5/trunk/config/gnu-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/gnu-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the
@@ -117,13 +118,19 @@
             case "$host_cpu_model" in
                 # Hmm.. this might not catch Celerons, but it won't hurt them either...
                 *Pro*|*II*|*III*|*IV*|*Athlon*)
-                    arch="-march=i686"
+                    # architecture-specific optimizations cause problems
+                    # for some users who build binaries to be used on
+                    # multiple architectures.
+                    # arch="-march=i686"
                 ;;
             esac
             ;;
 
         *-i686)
-            arch="-march=i686"
+                    # architecture-specific optimizations cause problems
+                    # for some users who build binaries to be used on
+                    # multiple architectures.
+                    #arch="-march=i686"
             ;;
     esac
 
@@ -140,33 +147,26 @@
     # Production
     case "$cc_vendor-$cc_version" in
       gcc-2.95.[34])
-        PROD_CFLAGS="-g -O3"
+        PROD_CFLAGS="-O3"
         ;;
-      gcc-3.[0-4]*|gcc-4.[01]*)
+      gcc-3.[0-4]*|gcc-4.[012]*)
         # The optimization level is reduced for gcc 3.* and 4.* due to problems
         # with code generation for src/H5Tconv.c with the -O2 & -O3 
         # optimization levels (which shows up as failures for various integer
         # types -> long long conversions in the test/dtypes test).  Perhaps
         # later versions of gcc will fix this bug... - QAK - 2003/10/20
-        PROD_CFLAGS="-g -O"
+        PROD_CFLAGS="-O"
         ;;
       gcc-4*)
         # Be optimistic about future versions of gcc.. :-) - QAK - 2003/10/20
-        PROD_CFLAGS="-g -O3"
+        PROD_CFLAGS="-O3"
         ;;
       *)
         PROD_CFLAGS="-O"
         ;;
     esac
 
-    case "$host_cpu" in
-      m68k)
-        PROD_CFLAGS="$PROD_CFLAGS -finline-functions"
-        ;;
-      *)
-        PROD_CFLAGS="$PROD_CFLAGS -fomit-frame-pointer -finline-functions"
-        ;;
-    esac
+    PROD_CFLAGS="$PROD_CFLAGS -fomit-frame-pointer -finline-functions"
     PROD_CPPFLAGS=
 
     # Debug
@@ -199,6 +199,10 @@
     CFLAGS="$CFLAGS -Wno-long-long"
 
     # Append warning flags from gcc-3* case
+    # (don't use -Wpadded flag for normal builds, many of the warnings its
+    #   issuing can't be fixed and they are making it hard to detect other,
+    #   more important warnings)
+    #DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
     DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
 
     # Append warning flags from gcc-3.2* case
@@ -232,7 +236,7 @@
     CFLAGS="$CFLAGS -Wno-long-long"
 
     # Append warning flags from gcc-3* case
-    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
+    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
 
     # Append warning flags from gcc-3.2* case
     DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wmultichar"
@@ -262,7 +266,7 @@
     CFLAGS="$CFLAGS -Wno-long-long"
 
     # Append warning flags from gcc-3* case
-    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
+    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
 
     # Append warning flags from gcc-3.2* case
     DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wmultichar"
@@ -286,7 +290,7 @@
     CFLAGS="$CFLAGS -Wno-long-long"
 
     # Append warning flags from gcc-3* case
-    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
+    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
 
     # Append more extra warning flags that only gcc3.2+ know about
     DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wmultichar"
@@ -307,7 +311,7 @@
     CFLAGS="$CFLAGS -Wno-long-long"
 
     # Append some extra warning flags that only gcc3+ know about
-    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute"
+    DEBUG_CFLAGS="$DEBUG_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
     ;;
 
   gcc-2.9[56]*)

Deleted: packages/hdf5/trunk/config/hpux10.20
===================================================================
--- packages/hdf5/trunk/config/hpux10.20	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/hpux10.20	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,49 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Default compiler is `cc'
-if test "X-" =  "X-$CC"; then
-  CC=cc
-  CC_BASENAME=cc
-fi
-
-# Flags
-case "X-$CC" in
-  X-gcc)
-    CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-    DEBUG_CFLAGS="-g -fverbose-asm"
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS="-O3"
-    PROD_CPPFLAGS=
-    PROFILE_CFLAGS="-pg"
-    PROFILE_CPPFLAGS=
-    ;;
-
-  *)
-    CFLAGS="$CFLAGS -Ae"
-    DEBUG_CFLAGS=-g
-    DEBUG_CPPFLAGS="-Ae"
-    PROD_CFLAGS=-O
-    PROD_CPPFLAGS="-Ae"
-    PROFILE_CFLAGS=
-    PROFILE_CPPFLAGS="-Ae"
-    ;;
-esac

Modified: packages/hdf5/trunk/config/hpux11.00
===================================================================
--- packages/hdf5/trunk/config/hpux11.00	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/hpux11.00	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/hpux11.23
===================================================================
--- packages/hdf5/trunk/config/hpux11.23	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/hpux11.23	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/config/hpux9.03
===================================================================
--- packages/hdf5/trunk/config/hpux9.03	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/hpux9.03	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,49 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details
-
-# Default compiler is `cc'
-if test "X$CC" = "X"; then
-  CC=cc
-  CC_BASENAME=cc
-fi
-
-# Flags
-case "X-$CC" in
-  X-gcc)
-    CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-    DEBUG_CFLAGS="-g -fverbose-asm"
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS="-O3"
-    PROD_CPPFLAGS=
-    PROFILE_CFLAGS="-pg"
-    PROFILE_CPPFLAGS=
-    ;;
-
-  *)
-    CFLAGS="$CFLAGS -Ae"
-    DEBUG_CFLAGS=-g
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS=
-    PROD_CPPFLAGS=
-    PROFILE_CFLAGS=
-    PROFILE_CPPFLAGS=
-    ;;
-esac

Modified: packages/hdf5/trunk/config/i386-pc-cygwin32
===================================================================
--- packages/hdf5/trunk/config/i386-pc-cygwin32	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/i386-pc-cygwin32	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Copied: packages/hdf5/trunk/config/i686-apple (from rev 1094, packages/hdf5/branches/upstream/current/config/i686-apple)
===================================================================
--- packages/hdf5/trunk/config/i686-apple	                        (rev 0)
+++ packages/hdf5/trunk/config/i686-apple	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,31 @@
+#							-*- shell-script -*-
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+
+
+# This file is part of the HDF5 build script.  It is processed shortly
+# after configure starts and defines, among other things, flags for
+# the various compile modes.
+#
+# See BlankForm in this directory for details.
+
+# The default compiler is `gcc'
+if test "X-" = "X-$CC"; then
+    CC=gcc
+    CC_BASENAME=gcc
+fi
+
+# Figure out compiler flags
+. $srcdir/config/gnu-flags
+

Modified: packages/hdf5/trunk/config/i686-pc-cygwin
===================================================================
--- packages/hdf5/trunk/config/i686-pc-cygwin	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/i686-pc-cygwin	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/ia64-linux-gnu
===================================================================
--- packages/hdf5/trunk/config/ia64-linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/ia64-linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly
@@ -50,3 +51,12 @@
 
 # Check MPICH settings
 . $srcdir/config/mpich
+
+#Uncomment the next line if your system doesn't support MPI complex derived datatype.
+#hdf5_mpi_complex_derived_datatype_works=${hdf5_mpi_complex_derived_datatype_works='no'}
+#Comment out the following line if your system supports collective IO when some processes
+#don't have any contributions to IOs.
+hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'}
+hdf5_mpi_complex_derived_datatype_works=${hdf5_mpi_complex_derived_datatype-works='no'}
+
+

Modified: packages/hdf5/trunk/config/intel-flags
===================================================================
--- packages/hdf5/trunk/config/intel-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/intel-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the
@@ -93,6 +94,9 @@
 # Please follow the pattern below by adding new versions at the top, copying
 # the information from the previous version and adding modifications to that.
 case "$cc_vendor-$cc_version" in
+    icc-10.0*)
+        PROD_CFLAGS="-O1 -Wl,-s"
+        ;;
     icc-8.0*)
 	# v8.0 -O3 infinite loops when compiling test/tselect.c. Use -O2.
 	PROD_CFLAGS="-O2 -Wl,-s"

Deleted: packages/hdf5/trunk/config/intel-osf1
===================================================================
--- packages/hdf5/trunk/config/intel-osf1	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/intel-osf1	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,167 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# This is for the ASCI RED TFLOPS machine
-
-# The default compiler is `cicc'
-if test "X-" = "X-$CC"; then
-    CC=cicc
-    CC_BASENAME=cicc
-fi
-
-# The default archiver is `xar'
-AR=${AR:-xar}
-
-# There is no ranlib
-RANLIB=:
-
-# Additional libraries
-LIBS="$LIBS -lnoop_stubs"
-
-# How to run serial and parallel test programs
-# Default parallel tests can fit within 1 processor in -proc 3 mode.
-# You may want to use -proc 3 to use fewer physical nodes. 
-RUNSERIAL=${RUNSERIAL:-"yod -sz 1"}
-RUNPARALLEL=${RUNPARALLEL:-"yod -sz 8"}
-
-# CFLAGS must be set else configure set it to -g
-CFLAGS="$CFLAGS"
-
-# What must *always* be present for things to compile correctly?
-#CPPFLAGS="$CPPFLAGS -I."
-
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS=-g
-DEBUG_CPPFLAGS=
-
-# What compiler flags should be used for building a production
-# library?
-PROD_CFLAGS=-O
-PROD_CPPFLAGS=
-
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=-pg
-PROFILE_CPPFLAGS=
-
-# Turn off shared lib option.  It does not work for TFLOPS yet.
-enable_shared="${enable_shared:-no}"
-
-# Disable stream-vfd option.  It does not work for TFLOPS.
-enable_stream_vfd="${enable_stream_vfd:-no}"
-
-# Set this to the width required by printf() to print type `long
-# long'.  For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-# Cache the sizeof of the following types to save configure time.
-# These are verified in test/tconfig in case they change.
-ac_cv_type_char=${ac_cv_type_char=yes}
-ac_cv_sizeof_char=${ac_cv_sizeof_char='1'}
-ac_cv_type_short=${ac_cv_type_short=yes}
-ac_cv_sizeof_short=${ac_cv_sizeof_short='2'}
-ac_cv_type_int=${ac_cv_type_int=yes}
-ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
-ac_cv_type_long=${ac_cv_type_long=yes}
-ac_cv_sizeof_long=${ac_cv_sizeof_long='4'}
-ac_cv_type_float=${ac_cv_type_float=yes}
-ac_cv_sizeof_float=${ac_cv_sizeof_float='4'}
-ac_cv_type_double=${ac_cv_type_double=yes}
-ac_cv_sizeof_double=${ac_cv_sizeof_double='8'}
-ac_cv_type_long_double=${ac_cv_type_long_double=yes}
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double='8'}
-ac_cv_type_long_long=${ac_cv_type_long_long=yes}
-ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long='8'}
-ac_cv_type_size_t=${ac_cv_type_size_t=yes}
-ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t='4'}
-ac_cv_type_ssize_t=${ac_cv_type_ssize_t=yes}
-ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t='4'}
-ac_cv_type_off_t=${ac_cv_type_off_t=yes}
-ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t='4'}
-
-# Hard set sizeof of the following types to 0 because they are not supported.
-ac_cv_type___int64=${ac_cv_type___int64=no}
-ac_cv_sizeof___int64=${ac_cv_sizeof___int64='0'}
-
-# Hard set malloc of zero bytes to no because it does not work.
-hdf5_cv_malloc_works=${hdf5_cv_malloc_works='no'}
-
-# Hard set sizeof_intN_t to 0 because they are not supported.
-ac_cv_type_int8_t=${ac_cv_type_int8_t=no}
-ac_cv_type_int16_t=${ac_cv_type_int16_t=no}
-ac_cv_type_int32_t=${ac_cv_type_int32_t=no}
-ac_cv_type_int64_t=${ac_cv_type_int64_t=no}
-ac_cv_type_uint8_t=${ac_cv_type_uint8_t=no}
-ac_cv_type_uint16_t=${ac_cv_type_uint16_t=no}
-ac_cv_type_uint32_t=${ac_cv_type_uint32_t=no}
-ac_cv_type_uint64_t=${ac_cv_type_uint64_t=no}
-ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t='0'}
-ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t='0'}
-ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t='0'}
-ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t='0'}
-ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t='0'}
-ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t='0'}
-ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t='0'}
-ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t='0'}
-
-# Hard set sizeof_int_leastN_t to 0 because they are not supported.
-ac_cv_type_int_least8_t=${ac_cv_type_int_least8_t=no}
-ac_cv_type_int_least16_t=${ac_cv_type_int_least16_t=no}
-ac_cv_type_int_least32_t=${ac_cv_type_int_least32_t=no}
-ac_cv_type_int_least64_t=${ac_cv_type_int_least64_t=no}
-ac_cv_type_uint_least8_t=${ac_cv_type_uint_least8_t=no}
-ac_cv_type_uint_least16_t=${ac_cv_type_uint_least16_t=no}
-ac_cv_type_uint_least32_t=${ac_cv_type_uint_least32_t=no}
-ac_cv_type_uint_least64_t=${ac_cv_type_uint_least64_t=no}
-ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t='0'}
-ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t='0'}
-ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t='0'}
-ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t='0'}
-ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t='0'}
-ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t='0'}
-ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t='0'}
-ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t='0'}
-
-# Hard set sizeof_int_fastN_t to 0 because they are not supported.
-ac_cv_type_int_fast8_t=${ac_cv_type_int_fast8_t=no}
-ac_cv_type_int_fast16_t=${ac_cv_type_int_fast16_t=no}
-ac_cv_type_int_fast32_t=${ac_cv_type_int_fast32_t=no}
-ac_cv_type_int_fast64_t=${ac_cv_type_int_fast64_t=no}
-ac_cv_type_uint_fast8_t=${ac_cv_type_uint_fast8_t=no}
-ac_cv_type_uint_fast16_t=${ac_cv_type_uint_fast16_t=no}
-ac_cv_type_uint_fast32_t=${ac_cv_type_uint_fast32_t=no}
-ac_cv_type_uint_fast64_t=${ac_cv_type_uint_fast64_t=no}
-ac_cv_sizeof_int_fast8_t=${ac_cv_sizeof_int_fast8_t='0'}
-ac_cv_sizeof_int_fast16_t=${ac_cv_sizeof_int_fast16_t='0'}
-ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t='0'}
-ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t='0'}
-ac_cv_sizeof_uint_fast8_t=${ac_cv_sizeof_uint_fast8_t='0'}
-ac_cv_sizeof_uint_fast16_t=${ac_cv_sizeof_uint_fast16_t='0'}
-ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t='0'}
-ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t='0'}
-
-hdf5_cv_system_scope_threads=${hdf5_cv_system_scope_threads="no"}
-
-# Hard set MPI_File_set_size() working for files over 2GB to no
-hdf5_cv_mpi_file_set_size_big=${hdf5_cv_mpi_file_set_size_big='no'}
-
-# Set gettimeofday_tz to yes.
-hdf5_cv_gettimeofday_tz=${hdf5_cv_gettimeofday_tz='yes'}

Deleted: packages/hdf5/trunk/config/irix5.x
===================================================================
--- packages/hdf5/trunk/config/irix5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/irix5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,63 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details
-
-# The default compiler is `cc' and there is no ranlib.
-if test "X-" = "X-$CC"; then
-  CC=cc
-  CC_BASENAME=cc
-fi
-RANLIB=:
-
-case "X-$CC_BASENAME" in
-  X-gcc)
-    CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-    DEBUG_CFLAGS="-g -fverbose-asm"
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS="-O3"
-	PROD_CPPFLAGS=
-    PROFILE_CFLAGS="-pg"
-    PROFILE_CPPFLAGS=
-    ;;
-
-  *)
-    # Do *not* use -ansi because it prevents hdf5 from being able
-    # to read modification dates from the file. On some systems it
-    # can also result in compile errors in system header files
-    # since hdf5 includes a couple non-ANSI header files.
-    #CFLAGS="$CFLAGS -ansi"
-
-    # Always turn off these compiler warnings:
-    CFLAGS="$CFLAGS -woff 799"
-
-    # Extra debugging flags
-    DEBUG_CFLAGS=-g
-    DEBUG_CPPFLAGS=
-
-    # Extra production flags
-    # Note: higher optimizations relax alignment requirements needed.
-    PROD_CFLAGS="-O -s"
-    PROD_CPPFLAGS=
-
-    # Extra profiling flags
-    PROFILE_CFLAGS=-pg
-    PROFILE_CPPFLAGS=
-    ;;
-esac

Modified: packages/hdf5/trunk/config/irix6.x
===================================================================
--- packages/hdf5/trunk/config/irix6.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/irix6.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/linux-gnu
===================================================================
--- packages/hdf5/trunk/config/linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This is the same as linux-gnulibc1

Modified: packages/hdf5/trunk/config/linux-gnuaout
===================================================================
--- packages/hdf5/trunk/config/linux-gnuaout	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/linux-gnuaout	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This is the same as linux-gnulibc1

Modified: packages/hdf5/trunk/config/linux-gnulibc1
===================================================================
--- packages/hdf5/trunk/config/linux-gnulibc1	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/linux-gnulibc1	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/linux-gnulibc2
===================================================================
--- packages/hdf5/trunk/config/linux-gnulibc2	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/linux-gnulibc2	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/mpich
===================================================================
--- packages/hdf5/trunk/config/mpich	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/mpich	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This file should be sourced into configure if the compiler is the
 # MPICH compiler script. It is careful not to do anything if the compiler

Modified: packages/hdf5/trunk/config/nv1-cray
===================================================================
--- packages/hdf5/trunk/config/nv1-cray	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/nv1-cray	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #                                                      -*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/pgi-flags
===================================================================
--- packages/hdf5/trunk/config/pgi-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/pgi-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the

Modified: packages/hdf5/trunk/config/powerpc-apple
===================================================================
--- packages/hdf5/trunk/config/powerpc-apple	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/powerpc-apple	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/config/powerpc-ibm-aix4.x
===================================================================
--- packages/hdf5/trunk/config/powerpc-ibm-aix4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/powerpc-ibm-aix4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,99 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-
-
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-
-# What must *always* be present for things to compile correctly?
-#CFLAGS="$CFLAGS -ansi"
-#CPPFLAGS="$CPPFLAGS -I."
-
-# CFLAGS must be set else configure set it to -g
-CFLAGS="$CFLAGS"
-
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS=
-DEBUG_CPPFLAGS=
-
-# What compiler flags should be used for building a production
-# library?
-PROD_CFLAGS=
-PROD_CPPFLAGS=
-
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=
-PROFILE_CPPFLAGS=
-
-
-#----------------------------------------------------------------------------
-# Values for overriding configuration tests when cross compiling.
-# This includes compiling on some machines where the serial front end
-# compiles for a parallel back end.
-
-# Set this to `yes' or `no' depending on whether the target is big
-# endian or little endian.
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-ac_cv_header_stdc=${ac_cv_header_stdc='yes'}
-ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes}
-RUNPARALLEL=${RUNPARALLEL="MP_PROCS=3 MP_TASKS_PER_NODE=3 poe"}
-
-# cache the sizeof of "standard C types" so that configure can run faster.
-ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
-ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
-ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
-ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
-ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
-ac_cv_sizeof___int64=${ac_cv_sizeof___int64=8}
-ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
-ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
-ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t=1}
-ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t=1}
-ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t=1}
-ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t=1}
-ac_cv_sizeof_int_fast8_t=${ac_cv_sizeof_int_fast8_t=1}
-ac_cv_sizeof_uint_fast8_t=${ac_cv_sizeof_uint_fast8_t=4}
-ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t=2}
-ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t=2}
-ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t=2}
-ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t=2}
-ac_cv_sizeof_int_fast16_t=${ac_cv_sizeof_int_fast16_t=4}
-ac_cv_sizeof_uint_fast16_t=${ac_cv_sizeof_uint_fast16_t=4}
-ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t=4}
-ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t=4}
-ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t=4}
-ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t=4}
-ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t=4}
-ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t=4}
-ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t=8}
-ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t=8}
-ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t=8}
-ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t=8}
-ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t=8}
-ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t=8}
-
-# Don't cache size_t and off_t because they depend on if -D_LARGE_FILES is used
-#ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
-#ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=8}
-
-hdf5_mpi_complex_derived_datatype_works=${hdf5_mpi_complex_derived_datatype_works='no'}

Modified: packages/hdf5/trunk/config/powerpc-ibm-aix5.x
===================================================================
--- packages/hdf5/trunk/config/powerpc-ibm-aix5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/powerpc-ibm-aix5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,10 +10,10 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
-
+# Configuration file for building on the IBM POWER AIX platforms.
 # This file is part of the HDF5 build script.  It is processed shortly
 # after configure starts and defines, among other things, flags for
 # the various compile modes.
@@ -45,7 +46,8 @@
     # Turn off shared lib option.  It causes some test suite to fail.
     enable_shared="${enable_shared:-no}"
     # Use -D_LARGE_FILES by default to support large file size.
-    CFLAGS="-qlanglvl=ansi -D_LARGE_FILES -DSTDC $CFLAGS"
+    # Use stdc99 to use C99 standard.
+    CFLAGS="-qlanglvl=stdc99 -D_LARGE_FILES $CFLAGS"
     DEBUG_CFLAGS="-g -qfullpath"
     DEBUG_CPPFLAGS=
     # -O causes test/dtypes to fail badly. Turn it off for now.

Modified: packages/hdf5/trunk/config/powerpc-ibm-linux-gnu
===================================================================
--- packages/hdf5/trunk/config/powerpc-ibm-linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/powerpc-ibm-linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,10 +10,10 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
-
+# Configuration file for building on the IBM BG/L platform.
 # This file is part of the HDF5 build script.  It is processed shortly
 # after configure starts and defines, among other things, flags for
 # the various compile modes.

Deleted: packages/hdf5/trunk/config/rs6000-ibm-aix4.x
===================================================================
--- packages/hdf5/trunk/config/rs6000-ibm-aix4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/rs6000-ibm-aix4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,24 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Cross compiling defaults
-ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}

Modified: packages/hdf5/trunk/config/site-specific/BlankForm
===================================================================
--- packages/hdf5/trunk/config/site-specific/BlankForm	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/site-specific/BlankForm	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script. It is processed shortly

Modified: packages/hdf5/trunk/config/solaris2.x
===================================================================
--- packages/hdf5/trunk/config/solaris2.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/solaris2.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/sv1-cray
===================================================================
--- packages/hdf5/trunk/config/sv1-cray	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/sv1-cray	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/unicos
===================================================================
--- packages/hdf5/trunk/config/unicos	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/unicos	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/unicos10.0.X
===================================================================
--- packages/hdf5/trunk/config/unicos10.0.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/unicos10.0.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/unicosmk
===================================================================
--- packages/hdf5/trunk/config/unicosmk	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/unicosmk	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/config/unicosmk2.0.5.X
===================================================================
--- packages/hdf5/trunk/config/unicosmk2.0.5.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/unicosmk2.0.5.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,151 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-
-
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-#----------------------------------------------------------------------------
-
-
-# Choosing a C Compiler
-# ---------------------
-#
-# The user should be able to specify the compiler by setting the CC
-# environment variable to the name of the compiler and any switches it 
-# requires for proper operation.  If CC is unset then this script may
-# set it.  If CC is unset by time this script completes then configure 
-# will try `gcc' and `cc' in that order (perhaps some others too).
-#
-# Note: Code later in this file may depend on the value of $CC_BASENAME
-#       in order to distinguish between different compilers when
-#       deciding which compiler command-line switches to use.  This
-#       variable is set based on the incoming value of $CC and is only
-#       used within this file.
-
-if test "X-" =  "X-$CC"; then
-  CC=cc
-  CC_BASENAME=cc
-fi
-# no need to use RANLIB
-RANLIB=:
-
-
-# C Compiler and Preprocessor Flags
-# ---------------------------------
-#
-# Flags that end with `_CFLAGS' are always passed to the compiler.
-# Flags that end with `_CPPFLAGS' are passed to the compiler when
-# compiling but not when linking.
-#
-# DEBUG_CFLAGS		Flags to pass to the compiler to create a
-# DEBUG_CPPFLAGS	library suitable for use with debugging
-#			tools. Usually this list will exclude
-#			optimization switches (like `-O') and include
-#			switches that turn on symbolic debugging
-#			support (like `-g').
-#
-# PROD_CFLAGS		Flags to pass to the compiler to create a
-# PROD_CPPFLAGS		production version of the library.  These
-#			usualy exclude symbolic debugging switches
-#			(like `-g') and include optimization switches
-#			(like `-O').
-#
-# PROFILE_CFLAGS	Flags to pass to the compiler to create a
-# PROFILE_CPPFLAGS	library suitable for performance testing (like 
-# 			`-pg').  This may or may not include debugging 
-# 			or production flags.
-#			
-# CFLAGS		Flags can be added to this variable which
-#			might already be partially initialized.  These 
-#			flags will always be passed to the compiler
-#			and should include switches to turn on full
-#			warnings.  HDF5 attempts to be ANSI and Posix
-#			compliant and employ good programming
-#			practices resulting in few if any
-#			warnings.
-#
-#			Warning flags do not have to be added to CFLAGS
-#			variable if the compiler is the GNU gcc
-#			compiler or a descendent of gcc such as EGCS or PGCC.
-#
-#			The CFLAGS should contains *something* or else 
-#			configure will probably add `-g'.  For most
-#			systems this isn't a problem but some systems
-#			will disable optimizations in favor of the
-#			`-g'.
-#			
-#
-# These flags should be set according to the compiler being used.
-# There are two ways to check the compiler.  You can try using `-v' or 
-# `--version' to see if the compiler will print a version string.  You 
-# can use the value of $CC_BASENAME which is the base name of the
-# first word in $CC (note that the value of CC may have changed
-# above).
-
-case $CC_BASENAME in
-  gcc)
-    CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-    DEBUG_CFLAGS="-g -fverbose-asm"
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS="-O3 -fomit-frame-pointer"
-    PROD_CPPFLAGS=
-    PROFILE_CFLAGS="-pg"
-    PROFILE_CPPFLAGS=
-    ;;
-
-  cc)
-    CFLAGS="$CFLAGS"
-    DEBUG_CFLAGS="-g -h zero"
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS="-O2 -h scalar0"
-    PROD_CPPFLAGS=
-    PROFILE_CFLAGS="-pg"
-    PROFILE_CPPFLAGS=
-    ;;
-
-  *)
-    CFLAGS="$CFLAGS -ansi"
-    DEBUG_CFLAGS="-g"
-    DEBUG_CPPFLAGS=
-    PROD_CFLAGS="-O"
-    PROD_CPPFLAGS=
-    PROFILE_CFLAGS="-pg"
-    PROFILE_CPPFLAGS=
-    ;;
-esac
-
-
-
-# Overriding Configure Tests
-# --------------------------
-#
-# Values for overriding configuration tests when cross compiling.
-# This includes compiling on some machines where the serial front end
-# compiles for a parallel back end.
-
-# Set this to `yes' or `no' depending on whether the target is big
-# endian or little endian.
-#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-
-# Set this to the width required by printf() to print type `long
-# long'.  For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}

Modified: packages/hdf5/trunk/config/unicosmk2.0.6.X
===================================================================
--- packages/hdf5/trunk/config/unicosmk2.0.6.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/unicosmk2.0.6.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/config/unicosmk2.0.X
===================================================================
--- packages/hdf5/trunk/config/unicosmk2.0.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/config/unicosmk2.0.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/configure
===================================================================
--- packages/hdf5/trunk/configure	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/configure	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,29 +1,58 @@
 #! /bin/sh
-# From configure.in Id: configure.in.
+# From configure.in Id: configure.in 14063 2007-08-09 20:51:55Z mcgreevy .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for HDF5 1.6.5.
+# Generated by GNU Autoconf 2.61 for HDF5 1.6.6.
 #
-# Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+# Report bugs to <help at hdfgroup.org>.
 #
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
@@ -32,8 +61,43 @@
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -47,18 +111,19 @@
   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -66,157 +131,388 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
 fi
 
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
+  case $as_dir in
 	 /*)
-	   if ("$as_dir/$as_base" -c '
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 # Try only shells that exist, to save several forks.
+	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		{ ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
 
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf at gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
+  chmod +x "$as_me.lineno" ||
     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -225,7 +521,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -234,17 +551,8 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
 
-# CDPATH.
-$as_unset CDPATH
 
-
-
 # Check that we are running under the correct shell.
 SHELL=${CONFIG_SHELL-/bin/sh}
 
@@ -398,78 +706,208 @@
 
 tagnames=${tagnames+${tagnames},}F77
 
+exec 7<&0 </dev/null 6>&1
+
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-exec 6>&1
-
 #
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_clean_files=
 ac_config_libobj_dir=.
+LIBOBJS=
 cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME='HDF5'
 PACKAGE_TARNAME='hdf5'
-PACKAGE_VERSION='1.6.5'
-PACKAGE_STRING='HDF5 1.6.5'
-PACKAGE_BUGREPORT='hdfhelp at ncsa.uiuc.edu'
+PACKAGE_VERSION='1.6.6'
+PACKAGE_STRING='HDF5 1.6.6'
+PACKAGE_BUGREPORT='help at hdfgroup.org'
 
 ac_unique_file="src/H5.c"
 ac_default_prefix=`pwd`/hdf5
-ac_subdirs_all="$ac_subdirs_all ${config_dirs}"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
 #endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS H5_CPPFLAGS H5_CFLAGS DEFAULT_LIBS TR HSIZET CC CFLAGS LDFLAGS ac_ct_CC EXEEXT OBJEXT config_dirs subdirs LT_STATIC_EXEC PERL AR SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL USE_FILTER_DEFLATE USE_FILTER_SZIP SSL GASS TESTGASS SRB TESTSRB PTHREAD DEBUG_PKG TRACE_API INSTRUMENT_LIBRARY PARALLEL RUNSERIAL RUNPARALLEL TESTPARALLEL MPE FILTERS USE_FILTER_SHUFFLE USE_FILTER_FLETCHER32 H5_VERSION CONFIG_DATE CONFIG_USER CONFIG_MODE BYTESEX STATIC_SHARED CC_VERSION ROOT DYNAMIC_DIRS HL SEARCH SETX LIBOBJS LTLIBOBJS'
-ac_subst_files='DEPEND COMMENCE CONCLUDE'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPPFLAGS
+H5_CPPFLAGS
+H5_CFLAGS
+DEFAULT_LIBS
+HSIZET
+CC
+CFLAGS
+LDFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+config_dirs
+subdirs
+LT_STATIC_EXEC
+PERL
+AR
+SET_MAKE
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+PARALLEL
+RUNSERIAL
+RUNPARALLEL
+TESTPARALLEL
+BUILD_PARALLEL_CONDITIONAL_TRUE
+BUILD_PARALLEL_CONDITIONAL_FALSE
+SED
+GREP
+EGREP
+LN_S
+ECHO
+RANLIB
+STRIP
+CPP
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXCPP
+F77
+FFLAGS
+ac_ct_F77
+LIBTOOL
+USE_FILTER_DEFLATE
+USE_FILTER_SZIP
+SSL
+GASS
+TESTGASS
+SRB
+TESTSRB
+PTHREAD
+DEBUG_PKG
+TRACE_API
+INSTRUMENT_LIBRARY
+CLEARFILEBUF
+MPE
+MPI_GET_SIZE
+FILTERS
+USE_FILTER_SHUFFLE
+USE_FILTER_FLETCHER32
+H5_VERSION
+CONFIG_DATE
+CONFIG_USER
+CONFIG_MODE
+BYTESEX
+STATIC_SHARED
+CC_VERSION
+ROOT
+DYNAMIC_DIRS
+HL
+SEARCH
+SETX
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files='DEPEND
+COMMENCE
+CONCLUDE'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+F77
+FFLAGS'
+ac_subdirs_all='${config_dirs}'
 
 # Initialize some variables set by options.
 ac_init_help=
@@ -496,34 +934,48 @@
 # and all the variables that are supposed to be based on exec_prefix
 # by default will actually change.
 # Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
 ac_prev=
+ac_dashdash=
 for ac_option
 do
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case $ac_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -545,33 +997,45 @@
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
     datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    eval "enable_$ac_feature=no" ;;
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
 
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -598,6 +1062,12 @@
   -host=* | --host=* | --hos=* | --ho=*)
     host_alias=$ac_optarg ;;
 
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
@@ -622,13 +1092,16 @@
   | --libexe=* | --libex=* | --libe=*)
     libexecdir=$ac_optarg ;;
 
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
   -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -693,6 +1166,16 @@
   | --progr-tra=* | --program-tr=* | --program-t=*)
     program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
@@ -745,24 +1228,20 @@
   -with-* | --with-*)
     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/-/_/g'`
-    eval "with_$ac_package=no" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -793,8 +1272,7 @@
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
@@ -814,29 +1292,21 @@
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
 do
-  eval ac_val=$`echo $ac_var`
+  eval ac_val=\$$ac_var
   case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
 done
 
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-	      localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
 # There might be people who depend on the old broken behavior: `$host'
 # used to hold the argument of --host etc.
 # FIXME: To remove some day.
@@ -861,94 +1331,76 @@
 test "$silent" = yes && exec 6>/dev/null
 
 
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
 $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$0" : 'X\(//\)[^/]' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
   srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
-  fi
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-   { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CXX_set=${CXX+set}
-ac_env_CXX_value=$CXX
-ac_cv_env_CXX_set=${CXX+set}
-ac_cv_env_CXX_value=$CXX
-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_env_CXXFLAGS_value=$CXXFLAGS
-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-ac_env_F77_set=${F77+set}
-ac_env_F77_value=$F77
-ac_cv_env_F77_set=${F77+set}
-ac_cv_env_F77_value=$F77
-ac_env_FFLAGS_set=${FFLAGS+set}
-ac_env_FFLAGS_value=$FFLAGS
-ac_cv_env_FFLAGS_set=${FFLAGS+set}
-ac_cv_env_FFLAGS_value=$FFLAGS
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
 #
 # Report the --help message.
@@ -957,7 +1409,7 @@
   # 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.6.5 to adapt to many kinds of systems.
+\`configure' configures HDF5 1.6.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -977,9 +1429,6 @@
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
 			  [$ac_default_prefix]
@@ -997,15 +1446,22 @@
   --bindir=DIR           user executables [EPREFIX/bin]
   --sbindir=DIR          system admin executables [EPREFIX/sbin]
   --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
   --libdir=DIR           object code libraries [EPREFIX/lib]
   --includedir=DIR       C header files [PREFIX/include]
   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/hdf5]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -1018,62 +1474,55 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of HDF5 1.6.5:";;
+     short | recursive ) echo "Configuration of HDF5 1.6.6:";;
    esac
   cat <<\_ACEOF
 
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-hsizet                         Datasets can normally be larger
-or
-                               'size_t'.than memory and/or files but some
-or
-                               'size_t'.compilers are unable to handle this
-or
-                               'size_t'.(including versions of GCC before
-or
-                               'size_t'.2.8.0). Disabling the feature
-or
-                               'size_t'.causes dataset sizes to be
-or
-                               'size_t'.restricted to the size of core
-or
-                               'size_t'.memory
-  --enable-fortran        Compile the Fortran interface default=no
-  --enable-cxx            Compile the C++ interface default=no
-  --enable-static-exec    Build only statically linked executables default=no
-  --enable-shared[=PKGS]
-                          build shared libraries [default=yes]
-  --enable-static[=PKGS]
-                          build static libraries [default=yes]
+  --enable-fortran        Compile the Fortran interface [default=no]
+  --enable-cxx            Compile the C++ interface [default=no]
+  --enable-static-exec    Build only statically linked executables
+                          [default=no]
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-production     Determines how to run the compiler.
   --enable-linux-lfs      Enable support for large (64-bit) files on Linux.
-                          default=check
+                          [default=check]
   --enable-threadsafe     Enable thread safe capability
   --enable-hdf5v1_4       Compile the HDF5 v1.4 compatibility interface
-                          default=no
-  --enable-stream-vfd     Build the Stream Virtual File Driver default=yes
+                          [default=no]
   --enable-gpfs           Enable GPFS hints for the MPI/POSIX file driver.
-                          default=no
+                          [default=no]
   --enable-debug=all      Turn on debugging in all packages. One may also
                           specify a comma-separated list of package names
                           without the leading H5 or the word no. The default
-                          is most packages.
+                          is most packages if production is disabled; no if it
+                          is enabled.
   --enable-funcstack      Enable the function stack tracing. Default=no if
                           debug is disabled.
   --enable-trace          Enable API tracing capability. Default=no if debug
                           is disabled.
   --enable-instrument     Enable library instrumentation of optimization
                           tracing. Default=no if debug is disabled.
+  --enable-clear-file-buffers
+                          Securely clear file buffers before writing to file.
+                          Default=yes.
   --enable-parallel       Search for MPI-IO and MPI support files
+  --enable-mpi-size       Some systems (only SGI Altix Propack 4 so far)
+                          return wrong value from MPI_File_get_size. By
+                          disabling this function, the library will replace it
+                          with stat to get the correct file size.
+                          [default=yes]
+  --enable-stream-vfd     Build the Stream Virtual File Driver [default=yes]
   --enable-filters=all    Turn on all internal I/O filters. One may also
                           specify a comma-separated list of filters or the
                           word no. The default is all internal I/O filters.
-  --enable-hl             Enable the high level library default=yes
+  --enable-hl             Enable the high level library [default=yes]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1081,8 +1530,7 @@
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
-  --with-tags[=TAGS]
-                          include additional configurations [automatic]
+  --with-tags[=TAGS]      include additional configurations [automatic]
 
  For the following --with-xxx options, you can specify where the header
  files and libraries are in two different ways:
@@ -1092,24 +1540,25 @@
     --with-xxx=DIR     - Specify only the directory which contains the
                          include/ and lib/ subdirectories
 
-  --with-dmalloc=DIR      Use dmalloc memory debugging aid default=no
+  --with-dmalloc=DIR      Use dmalloc memory debugging aid [default=no]
   --with-zlib=DIR         Use zlib library for external deflate I/O filter
-                          default=yes
+                          [default=yes]
   --with-szlib=DIR        Use szlib library for external szlib I/O filter
-                          default=no
-  --with-ssl=LIB          Use the SSL library default=no
-  --with-gass=DIR         Use the GASS library default=no
-  --with-srb=DIR          Use the SRB library default=no
-  --with-pthread=DIR      Use the Pthreads library default=no
-  --with-mpe=DIR          Use MPE instrumentation default=no
+                          [default=no]
+  --with-ssl=LIB          Use the SSL library [default=no]
+  --with-gass=DIR         Use the GASS library [default=no]
+  --with-srb=DIR          Use the SRB library [default=no]
+  --with-pthread=DIR      Use the Pthreads library [default=no]
+  --with-mpe=DIR          Use MPE instrumentation [default=no]
 
 Some influential environment variables:
   CC          C compiler command
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
@@ -1120,122 +1569,88 @@
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+Report bugs to <help at hdfgroup.org>.
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" || continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      echo
-      $SHELL $ac_srcdir/configure.gnu  --help=recursive
-    elif test -f $ac_srcdir/configure; then
-      echo
-      $SHELL $ac_srcdir/configure  --help=recursive
-    elif test -f $ac_srcdir/configure.ac ||
-	   test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd "$ac_popdir"
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-HDF5 configure 1.6.5
-generated by GNU Autoconf 2.59
+HDF5 configure 1.6.6
+generated by GNU Autoconf 2.61
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-  exit 0
+  exit
 fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+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.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
+It was created by HDF5 $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1254,7 +1669,7 @@
 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
@@ -1268,6 +1683,7 @@
   test -z "$as_dir" && as_dir=.
   echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1289,7 +1705,6 @@
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1300,7 +1715,7 @@
     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
-    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+    *\'*)
       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
@@ -1322,9 +1737,7 @@
 	  -* ) ac_must_keep_next=true ;;
 	esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1335,8 +1748,8 @@
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 # would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
@@ -1349,20 +1762,34 @@
 _ASBOX
     echo
     # The following way of writing the cache mishandles newlines in values,
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
   (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       sed -n \
-	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1373,22 +1800,28 @@
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
       cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-	eval ac_val=$`echo $ac_var`
-	echo "$ac_var='"'"'$ac_val'"'"'"
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1400,26 +1833,24 @@
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      cat confdefs.h
       echo
     fi
     test "$ac_signal" != 0 &&
       echo "$as_me: caught signal $ac_signal"
     echo "$as_me: exit $exit_status"
   } >&5
-  rm -f core *.core &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 0
 for ac_signal in 1 2 13 15; do
   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1450,14 +1881,17 @@
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
   if test -r "$ac_site_file"; then
     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
 echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1473,8 +1907,8 @@
     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
 echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
-      [\\/]* | ?:[\\/]* ) . $cache_file;;
-      *)                      . ./$cache_file;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
@@ -1486,12 +1920,11 @@
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
   eval ac_old_set=\$ac_cv_env_${ac_var}_set
   eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-  eval ac_new_val="\$ac_env_${ac_var}_value"
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1516,8 +1949,7 @@
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1534,11 +1966,6 @@
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
@@ -1563,42 +1990,52 @@
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_config_headers="$ac_config_headers src/H5config.h"
 
-          ac_config_headers="$ac_config_headers src/H5config.h"
 
-
 ac_aux_dir=
-for ac_dir in bin $srcdir/bin; do
-  if test -f $ac_dir/install-sh; then
+for ac_dir in bin "$srcdir"/bin; do
+  if test -f "$ac_dir/install-sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install-sh -c"
     break
-  elif test -f $ac_dir/install.sh; then
+  elif test -f "$ac_dir/install.sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install.sh -c"
     break
-  elif test -f $ac_dir/shtool; then
+  elif test -f "$ac_dir/shtool"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/shtool install -c"
     break
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in bin $srcdir/bin" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in bin $srcdir/bin" >&2;}
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in bin \"$srcdir\"/bin" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in bin \"$srcdir\"/bin" >&2;}
    { (exit 1); exit 1; }; }
 fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
-          ac_config_commands="$ac_config_commands default-1"
 
 
+ac_config_commands="$ac_config_commands default-1"
+
+
 case $host_alias in
   tflops)
     host_alias=i386-intel-osf1
@@ -1606,57 +2043,86 @@
 esac
 
 # Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
    { (exit 1); exit 1; }; }
 
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
 if test "${ac_cv_build+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
-  ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
   { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
 echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
    { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
 if test "${ac_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
-  ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
    { (exit 1); exit 1; }; }
+fi
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
@@ -1667,61 +2133,47 @@
 
 
 
-echo "$as_me:$LINENO: checking shell variables initial values" >&5
-echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking shell variables initial values" >&5
+echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6; }
 set >&5
-echo "$as_me:$LINENO: result: done" >&5
-echo "${ECHO_T}done" >&6
+{ echo "$as_me:$LINENO: result: done" >&5
+echo "${ECHO_T}done" >&6; }
 
-echo "$as_me:$LINENO: checking if tr works" >&5
-echo $ECHO_N "checking if tr works... $ECHO_C" >&6
 
-if test "X${TR}" = "X"; then
-  TR=tr
-fi
-TR_TEST="`echo Test | ${TR} 'a-z,' 'A-Z '`"
-if test "X${TR_TEST}" != "XTEST"; then
-  { { echo "$as_me:$LINENO: error: tr program doesn't work" >&5
-echo "$as_me: error: tr program doesn't work" >&2;}
-   { (exit 1); exit 1; }; }
-else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-fi
 
-echo "$as_me:$LINENO: checking if basename works" >&5
-echo $ECHO_N "checking if basename works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if basename works" >&5
+echo $ECHO_N "checking if basename works... $ECHO_C" >&6; }
 BASENAME_TEST="`basename /foo/bar/baz/qux/basename_works`"
 if test $BASENAME_TEST != "basename_works"; then
   { { echo "$as_me:$LINENO: error: basename program doesn't work" >&5
 echo "$as_me: error: basename program doesn't work" >&2;}
    { (exit 1); exit 1; }; }
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking if xargs works" >&5
-echo $ECHO_N "checking if xargs works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if xargs works" >&5
+echo $ECHO_N "checking if xargs works... $ECHO_C" >&6; }
 XARGS_TEST="`echo /foo/bar/baz/qux/xargs_works | xargs basename`"
 if test $XARGS_TEST != "xargs_works"; then
   { { echo "$as_me:$LINENO: error: xargs program doesn't work" >&5
 echo "$as_me: error: xargs program doesn't work" >&2;}
    { (exit 1); exit 1; }; }
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for cached host" >&5
-echo $ECHO_N "checking for cached host... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for cached host" >&5
+echo $ECHO_N "checking for cached host... $ECHO_C" >&6; }
 if test "${hdf5_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   hdf5_cv_host="none"
 fi
-echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
-echo "${ECHO_T}$hdf5_cv_host" >&6;
+{ echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
+echo "${ECHO_T}$hdf5_cv_host" >&6; };
 if test $hdf5_cv_host = "none"; then
   hdf5_cv_host=$host
 elif test $hdf5_cv_host != $host; then
@@ -1762,33 +2214,17 @@
     ;;
 esac
 
-# Check whether --enable-hsizet or --disable-hsizet was given.
-if test "${enable_hsizet+set}" = set; then
-  enableval="$enable_hsizet"
-  HSIZET=$enableval
-fi;
+{ echo "$as_me:$LINENO: checking for sizeof hsize_t and hssize_t" >&5
+echo $ECHO_N "checking for sizeof hsize_t and hssize_t... $ECHO_C" >&6; }
 
-echo "$as_me:$LINENO: checking for sizeof hsize_t and hssize_t" >&5
-echo $ECHO_N "checking for sizeof hsize_t and hssize_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: result: large" >&5
+echo "${ECHO_T}large" >&6; }
+HSIZET=large
 
-
-case $HSIZET in
-  no|small)
-    echo "$as_me:$LINENO: result: small" >&5
-echo "${ECHO_T}small" >&6
-    HSIZET=small
-    ;;
-  *)
-    echo "$as_me:$LINENO: result: large" >&5
-echo "${ECHO_T}large" >&6
-    HSIZET=large
-
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_LARGE_HSIZET 1
 _ACEOF
 
-    ;;
-esac
 
 host_config="none"
 for f in $host_cpu-$host_vendor-$host_os \
@@ -1802,16 +2238,16 @@
          $host_os_novers \
          $host_vendor \
          $host_cpu ; do
-  echo "$as_me:$LINENO: checking for config $f" >&5
-echo $ECHO_N "checking for config $f... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for config $f" >&5
+echo $ECHO_N "checking for config $f... $ECHO_C" >&6; }
   if test -f "$srcdir/config/$f"; then
     host_config=$srcdir/config/$f
-    echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
+    { echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6; }
     break
   fi
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 done
 if test "X$host_config" != "Xnone"; then
   CC_BASENAME="`echo $CC | cut -f1 -d' ' | xargs basename 2>/dev/null`"
@@ -1821,16 +2257,16 @@
 hname="`hostname`"
 while test -n "$hname"; do
   file=$srcdir/config/site-specific/host-$hname
-  echo "$as_me:$LINENO: checking for config $file" >&5
-echo $ECHO_N "checking for config $file... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for config $file" >&5
+echo $ECHO_N "checking for config $file... $ECHO_C" >&6; }
   if test -f "$file"; then
     . $file
-    echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
+    { echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6; }
     break
   fi
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   hname_tmp=$hname
   hname="`echo $hname | cut -d. -f2-99`"
   test "$hname_tmp" = "$hname" && break
@@ -1844,8 +2280,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1858,32 +2294,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1896,36 +2334,51 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
   CC="$ac_cv_prog_CC"
 fi
 
 if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1938,74 +2391,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+
   fi
-done
-done
-
 fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2019,7 +2432,7 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2030,6 +2443,7 @@
   fi
 done
 done
+IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
   # We found a bogon in the path, so make sure we never use it.
@@ -2047,22 +2461,23 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl
+  for ac_prog in cl.exe
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2075,36 +2490,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CC" && break
   done
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl
+  for ac_prog in cl.exe
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2117,29 +2534,45 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
@@ -2152,21 +2585,35 @@
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -2191,47 +2638,77 @@
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
 do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
 	;;
-    conftest.$ac_ext )
-	# This is the source file.
-	;;
     [ab].out )
 	# We found the default executable, but exeext='' is most
 	# certainly right.
 	break;;
     *.* )
-	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	# FIXME: I believe we export ac_cv_exeext for Libtool,
-	# but it would be cool to find out if it's true.  Does anybody
-	# maintain Libtool? --akim.
-	export ac_cv_exeext
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
 	break;;
     * )
 	break;;
   esac
 done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
@@ -2243,19 +2720,21 @@
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
 
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2274,22 +2753,27 @@
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 rm -f a.out a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
 
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
@@ -2300,9 +2784,8 @@
 for ac_file in conftest.exe conftest conftest.*; do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  export ac_cv_exeext
 	  break;;
     * ) break;;
   esac
@@ -2316,14 +2799,14 @@
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
 if test "${ac_cv_objext+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2343,14 +2826,20 @@
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -2368,12 +2857,12 @@
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2396,49 +2885,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
 GCC=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2454,37 +2943,118 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cc_g=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -2500,12 +3070,12 @@
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_prog_cc_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2539,12 +3109,17 @@
 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
    function prototypes and stuff, but not '\xHH' hex character constants.
    These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std1 is added to get
+   as 'x'.  The following induces an error, until -std is added to get
    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
    array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std1.  */
+   that's true only with -std.  */
 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
 int test (int i, double x);
 struct s1 {int (*f) (int a);};
 struct s2 {int (*f) (double a);};
@@ -2559,201 +3134,57 @@
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX			-qlanglvl=ansi
-# Ultrix and OSF/1	-std1
-# HP-UX 10.20 and later	-Ae
-# HP-UX older versions	-Aa -D_HPUX_SOURCE
-# SVR4			-Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
   rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2764,14 +3195,14 @@
 
  config_dirs=""
 
-echo "$as_me:$LINENO: checking if fortran interface enabled" >&5
-echo $ECHO_N "checking if fortran interface enabled... $ECHO_C" >&6
-# Check whether --enable-fortran or --disable-fortran was given.
+{ echo "$as_me:$LINENO: checking if fortran interface enabled" >&5
+echo $ECHO_N "checking if fortran interface enabled... $ECHO_C" >&6; }
+# Check whether --enable-fortran was given.
 if test "${enable_fortran+set}" = set; then
-  enableval="$enable_fortran"
-  HDF_FORTRAN=$enableval
-fi;
+  enableval=$enable_fortran; HDF_FORTRAN=$enableval
+fi
 
+
 if test "X$HDF_FORTRAN" = "Xyes"; then
   echo "yes"
   if test -z "$config_dirs"; then
@@ -2783,14 +3214,14 @@
   echo "no"
 fi
 
-echo "$as_me:$LINENO: checking if c++ interface enabled" >&5
-echo $ECHO_N "checking if c++ interface enabled... $ECHO_C" >&6
-# Check whether --enable-cxx or --disable-cxx was given.
+{ echo "$as_me:$LINENO: checking if c++ interface enabled" >&5
+echo $ECHO_N "checking if c++ interface enabled... $ECHO_C" >&6; }
+# Check whether --enable-cxx was given.
 if test "${enable_cxx+set}" = set; then
-  enableval="$enable_cxx"
-  HDF_CXX=$enableval
-fi;
+  enableval=$enable_cxx; HDF_CXX=$enableval
+fi
 
+
 if test "X$HDF_CXX" = "Xyes"; then
   echo "yes"
   if test -z "$config_dirs"; then
@@ -2802,19 +3233,17 @@
   echo "no"
 fi
 
-
-
 subdirs="$subdirs ${config_dirs}"
 
 
-echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
-echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6
-# Check whether --enable-static_exec or --disable-static_exec was given.
+{ echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
+echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6; }
+# Check whether --enable-static_exec was given.
 if test "${enable_static_exec+set}" = set; then
-  enableval="$enable_static_exec"
-  STATIC_EXEC=$enableval
-fi;
+  enableval=$enable_static_exec; STATIC_EXEC=$enableval
+fi
 
+
 if test "X$STATIC_EXEC" = "Xyes"; then
   echo "yes"
   LT_STATIC_EXEC="-all-static"
@@ -2830,8 +3259,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_PERL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2844,25 +3273,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_PERL="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 PERL=$ac_cv_prog_PERL
 if test -n "$PERL"; then
-  echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6
+  { echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$PERL" && break
 done
 
@@ -2873,8 +3304,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2887,25 +3318,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AR" && break
 done
 test -n "$AR" || AR=":"
@@ -2915,32 +3348,33 @@
 
 export AR
 
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
 all:
-	@echo 'ac_maketemp="$(MAKE)"'
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
 rm -f conftest.make
 fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   SET_MAKE=
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -2957,8 +3391,8 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2980,7 +3414,7 @@
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2999,21 +3433,22 @@
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -3025,10 +3460,101 @@
 
 
 
-# Check whether --enable-shared or --disable-shared was given.
+
+
+
+
+
+case "$CC_BASENAME" in
+  mpicc)
+            PARALLEL=mpicc
+    { echo "$as_me:$LINENO: checking for mpirun" >&5
+echo $ECHO_N "checking for mpirun... $ECHO_C" >&6; }
+
+        cmd="`echo $CC | cut -f1 -d' '`"
+    if (echo $cmd | grep / >/dev/null); then
+      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
+    else
+      for path in `echo $PATH | tr : ' '`; do
+        if test -x $path/$cmd; then
+          break
+        fi
+      done
+    fi
+
+        if test -x $path/mpirun; then
+      { echo "$as_me:$LINENO: result: $path/mpirun" >&5
+echo "${ECHO_T}$path/mpirun" >&6; }
+      RUNSERIAL="${RUNSERIAL:-none}"
+
+      if test -z "$RUNPARALLEL"; then
+        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}"
+      fi
+    else
+      { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
+    fi
+    ;;
+
+  hcc)
+            PARALLEL=hcc
+    { echo "$as_me:$LINENO: checking for mpirun_lam or mpirun" >&5
+echo $ECHO_N "checking for mpirun_lam or mpirun... $ECHO_C" >&6; }
+
+        cmd="`echo $CC | cut -f1 -d' '`"
+    if (echo $cmd | grep / >/dev/null); then
+      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
+    else
+      for path in `echo $PATH | tr : ' '`; do
+        if test -x $path/$cmd; then
+          break
+        fi
+      done
+    fi
+
+        if test -x $path/mpirun_lam -o -x $path/mpirun; then
+      if test -x $path/mpirun_lam; then
+        cmd=mpirun_lam
+      else
+        cmd=mpirun
+      fi
+      { echo "$as_me:$LINENO: result: $path/$cmd" >&5
+echo "${ECHO_T}$path/$cmd" >&6; }
+      RUNSERIAL="${RUNSERIAL:-none}"
+      if test -z "$RUNPARALLEL"; then
+        RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}"
+      fi
+    else
+      { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
+    fi
+    ;;
+
+  mpcc|mpcc_r)
+        PARALLEL="$CC_BASENAME"
+    ;;
+
+  *)
+            ;;
+esac
+
+if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries disabled in parallel'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries explicitly enabled by user'
+elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries disabled when a parallel compiler is being used'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries explicitly enabled by user'
+fi
+
+
+
+# Check whether --enable-shared was given.
 if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
+  enableval=$enable_shared; p=${PACKAGE-default}
     case $enableval in
     yes) enable_shared=yes ;;
     no) enable_shared=no ;;
@@ -3047,12 +3573,12 @@
     esac
 else
   enable_shared=yes
-fi;
+fi
 
-# Check whether --enable-static or --disable-static was given.
+
+# Check whether --enable-static was given.
 if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
+  enableval=$enable_static; p=${PACKAGE-default}
     case $enableval in
     yes) enable_static=yes ;;
     no) enable_static=no ;;
@@ -3071,12 +3597,12 @@
     esac
 else
   enable_static=yes
-fi;
+fi
 
-# Check whether --enable-fast-install or --disable-fast-install was given.
+
+# Check whether --enable-fast-install was given.
 if test "${enable_fast_install+set}" = set; then
-  enableval="$enable_fast_install"
-  p=${PACKAGE-default}
+  enableval=$enable_fast_install; p=${PACKAGE-default}
     case $enableval in
     yes) enable_fast_install=yes ;;
     no) enable_fast_install=no ;;
@@ -3095,10 +3621,11 @@
     esac
 else
   enable_fast_install=yes
-fi;
+fi
 
-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
 if test "${lt_cv_path_SED+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3111,12 +3638,13 @@
   test -z "$as_dir" && as_dir=.
   for lt_ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+      if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
         lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
       fi
     done
   done
 done
+IFS=$as_save_IFS
 lt_ac_max=0
 lt_ac_count=0
 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
@@ -3151,37 +3679,185 @@
 fi
 
 SED=$lt_cv_path_SED
-echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6; }
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
 
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
+else
+  ac_cv_path_GREP=$GREP
+fi
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+
+# Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi;
+fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -3210,11 +3886,11 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
 if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3247,17 +3923,17 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3271,20 +3947,20 @@
   ;;
 esac
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
 if test "${lt_cv_ld_reload_flag+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_ld_reload_flag='-r'
 fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
 reload_flag=$lt_cv_ld_reload_flag
 case $reload_flag in
 "" | " "*) ;;
@@ -3301,8 +3977,8 @@
     ;;
 esac
 
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
 if test "${lt_cv_path_NM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3350,23 +4026,23 @@
   test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
 fi
 fi
-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
 NM="$lt_cv_path_NM"
 
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
 if test "${lt_cv_deplibs_check_method+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3407,16 +4083,22 @@
 
 mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
   ;;
 
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu | dragonfly*)
+freebsd* | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -3454,7 +4136,7 @@
   esac
   ;;
 
-interix3*)
+interix[3-9]*)
   # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
   lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
   ;;
@@ -3470,11 +4152,11 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -3504,6 +4186,10 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 solaris*)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3541,8 +4227,8 @@
 esac
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3560,11 +4246,11 @@
 compiler=$CC
 
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+  enableval=$enable_libtool_lock;
+fi
 
-fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
@@ -3591,7 +4277,7 @@
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 3594 "configure"' > conftest.$ac_ext
+  echo '#line 4280 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -3626,7 +4312,8 @@
   rm -rf conftest*
   ;;
 
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -3637,6 +4324,9 @@
     case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_i386_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
@@ -3653,6 +4343,9 @@
       ;;
     *64-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_x86_64_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
@@ -3676,8 +4369,8 @@
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
-  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
 if test "${lt_cv_cc_needs_belf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3703,34 +4396,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   lt_cv_cc_needs_belf=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-lt_cv_cc_needs_belf=no
+	lt_cv_cc_needs_belf=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
      ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -3739,8 +4430,8 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     CFLAGS="$SAVE_CFLAGS"
@@ -3777,8 +4468,8 @@
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -3812,24 +4503,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3838,9 +4527,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3850,24 +4540,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -3878,6 +4566,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -3895,8 +4584,8 @@
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -3919,24 +4608,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -3945,9 +4632,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3957,24 +4645,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -3985,6 +4671,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4007,8 +4694,8 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4032,35 +4719,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+	ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
@@ -4115,6 +4799,7 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -4134,18 +4819,27 @@
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
 	|| toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4158,12 +4852,14 @@
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4186,9 +4882,9 @@
 		  inttypes.h stdint.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -4202,37 +4898,35 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+	eval "$as_ac_Header=no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -4247,18 +4941,19 @@
 for ac_header in dlfcn.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4269,40 +4964,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -4311,24 +5003,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -4336,9 +5026,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -4362,25 +5053,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -4392,18 +5082,22 @@
 
 done
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4416,36 +5110,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CXX=$ac_cv_prog_CXX
 if test -n "$CXX"; then
-  echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
+  { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CXX" && break
   done
 fi
 if test -z "$CXX"; then
   ac_ct_CXX=$CXX
-  for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4458,55 +5154,85 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
 if test -n "$ac_ct_CXX"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CXX" && break
 done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
 
-  CXX=$ac_ct_CXX
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
 fi
 
-
+  fi
+fi
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C++ compiler version" >&5
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4529,49 +5255,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
 GXX=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cxx_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4587,157 +5313,134 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cxx_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
+	CXXFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
+
 int
 main ()
 {
-exit (42);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   :
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
+	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
+
 int
 main ()
 {
-exit (42);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-ac_ext=cc
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -4748,13 +5451,13 @@
 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
     ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
     (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cc
+  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
 if test -z "$CXXCPP"; then
   if test "${ac_cv_prog_CXXCPP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4784,24 +5487,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -4810,9 +5511,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4822,24 +5524,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -4850,6 +5550,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4867,8 +5568,8 @@
 else
   ac_cv_prog_CXXCPP=$CXXCPP
 fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
 ac_preproc_ok=false
 for ac_cxx_preproc_warn_flag in '' yes
 do
@@ -4891,24 +5592,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -4917,9 +5616,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -4929,24 +5629,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_cxx_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -4957,6 +5655,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -4972,7 +5671,7 @@
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=cc
+ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -4986,12 +5685,12 @@
 ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_f77_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5004,36 +5703,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 F77=$ac_cv_prog_F77
 if test -n "$F77"; then
-  echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6
+  { echo "$as_me:$LINENO: result: $F77" >&5
+echo "${ECHO_T}$F77" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$F77" && break
   done
 fi
 if test -z "$F77"; then
   ac_ct_F77=$F77
-  for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5046,48 +5747,78 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_F77="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_F77=$ac_cv_prog_ac_ct_F77
 if test -n "$ac_ct_F77"; then
-  echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+echo "${ECHO_T}$ac_ct_F77" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_F77" && break
 done
 
-  F77=$ac_ct_F77
+  if test "x$ac_ct_F77" = x; then
+    F77=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    F77=$ac_ct_F77
+  fi
 fi
 
 
 # Provide some information about the compiler.
-echo "$as_me:5076:" \
-     "checking for Fortran 77 compiler version" >&5
+echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -5097,8 +5828,8 @@
 # input file.  (Note that this only needs to work for GNU compilers.)
 ac_save_ext=$ac_ext
 ac_ext=F
-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
 if test "${ac_cv_f77_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5111,45 +5842,42 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_f77_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
 ac_ext=$ac_save_ext
 ac_test_FFLAGS=${FFLAGS+set}
 ac_save_FFLAGS=$FFLAGS
 FFLAGS=
-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_f77_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5160,38 +5888,35 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_f77_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_f77_g=no
+	ac_cv_prog_f77_g=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
 if test "$ac_test_FFLAGS" = set; then
   FFLAGS=$ac_save_FFLAGS
 elif test $ac_cv_prog_f77_g = yes; then
@@ -5220,8 +5945,8 @@
 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
 
 # find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
 if test "${lt_cv_sys_max_cmd_len+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5305,43 +6030,47 @@
     fi
     ;;
   *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-    while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
 	       = "XX$teststring") >/dev/null 2>&1 &&
-	    new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	    lt_cv_sys_max_cmd_len=$new_result &&
-	    test $i != 17 # 1/2 MB should be enough
-    do
-      i=`expr $i + 1`
-      teststring=$teststring$teststring
-    done
-    teststring=
-    # Add a significant safety factor because C++ compilers can tack on massive
-    # amounts of additional arguments before passing them to the linker.
-    # It appears as though 1/2 is a usable value.
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	      lt_cv_sys_max_cmd_len=$new_result &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on massive
+      # amounts of additional arguments before passing them to the linker.
+      # It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
     ;;
   esac
 
 fi
 
 if test -n $lt_cv_sys_max_cmd_len ; then
-  echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+  { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
 else
-  echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+  { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
 fi
 
 
 
 
+
 # Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5376,7 +6105,7 @@
   lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
   lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
-linux*)
+linux* | k*bsd*-gnu)
   if test "$host_cpu" = ia64; then
     symcode='[ABCDGIRSTW]'
     lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
@@ -5545,15 +6274,15 @@
   lt_cv_sys_global_symbol_to_cdecl=
 fi
 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+  { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
 else
-  echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
 if test "${lt_cv_objdir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5567,8 +6296,8 @@
 fi
 rmdir .libs 2>/dev/null
 fi
-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+echo "${ECHO_T}$lt_cv_objdir" >&6; }
 objdir=$lt_cv_objdir
 
 
@@ -5619,8 +6348,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5633,32 +6362,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="${ac_tool_prefix}ar"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_AR"; then
   ac_ct_AR=$AR
   # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5671,27 +6402,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_AR="ar"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
 fi
 fi
 ac_ct_AR=$ac_cv_prog_ac_ct_AR
 if test -n "$ac_ct_AR"; then
-  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  AR=$ac_ct_AR
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
 else
   AR="$ac_cv_prog_AR"
 fi
@@ -5699,8 +6444,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5713,32 +6458,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5751,27 +6498,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -5779,8 +6540,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5793,32 +6554,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5831,27 +6594,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_STRIP="strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  STRIP=$ac_ct_STRIP
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
 else
   STRIP="$ac_cv_prog_STRIP"
 fi
@@ -5879,7 +6656,7 @@
 test -z "$ac_objext" && ac_objext=o
 
 # Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
 old_postuninstall_cmds=
 
@@ -5910,8 +6687,8 @@
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5963,17 +6740,17 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6025,11 +6802,11 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
   else
@@ -6044,21 +6821,21 @@
 enable_dlopen=yes
 enable_win32_dll=no
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+  enableval=$enable_libtool_lock;
+fi
 
-fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then
-  withval="$with_pic"
-  pic_mode="$withval"
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
-fi;
+fi
+
 test -z "$pic_mode" && pic_mode=default
 
 # Use C for the default configuration in the libtool script
@@ -6079,10 +6856,10 @@
 objext=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
 
 
 # If no C compiler was specified, use CC.
@@ -6097,13 +6874,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -6116,14 +6893,14 @@
   lt_prog_compiler_no_builtin_flag=' -fno-builtin'
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="-fno-rtti -fno-exceptions"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -6134,11 +6911,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6137: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6914: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6141: \$? = $ac_status" >&5
+   echo "$as_me:6918: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6151,8 +6928,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
     lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
@@ -6166,8 +6943,8 @@
 lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl='-Wl,'
@@ -6189,13 +6966,15 @@
       lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic='-DDLL_EXPORT'
       ;;
 
@@ -6205,7 +6984,7 @@
       lt_prog_compiler_pic='-fno-common'
       ;;
 
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -6263,7 +7042,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -6296,7 +7075,7 @@
       lt_prog_compiler_static='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	lt_prog_compiler_wl='-Wl,'
@@ -6315,6 +7094,22 @@
         # All Alpha code is PIC.
         lt_prog_compiler_static='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -6324,6 +7119,10 @@
       lt_prog_compiler_static='-non_shared'
       ;;
 
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
     solaris*)
       lt_prog_compiler_pic='-KPIC'
       lt_prog_compiler_static='-Bstatic'
@@ -6376,22 +7175,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -6402,11 +7201,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6405: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7204: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6409: \$? = $ac_status" >&5
+   echo "$as_me:7208: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6419,8 +7218,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; }
 
 if test x"$lt_prog_compiler_pic_works" = xyes; then
     case $lt_prog_compiler_pic in
@@ -6447,15 +7246,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -6475,8 +7274,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; }
 
 if test x"$lt_prog_compiler_static_works" = xyes; then
     :
@@ -6485,8 +7284,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6495,7 +7294,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -6506,11 +7305,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6509: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7308: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:6513: \$? = $ac_status" >&5
+   echo "$as_me:7312: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -6532,23 +7331,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -6558,8 +7357,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag=
@@ -6702,7 +7501,7 @@
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -6720,7 +7519,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
@@ -6735,7 +7534,7 @@
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -6753,13 +7552,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	link_all_deplibs=no
       else
@@ -6767,7 +7575,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -6919,7 +7727,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  hardcode_direct=yes
+  	  :
 	  else
   	  # We have old collect2
   	  hardcode_direct=unsupported
@@ -6975,38 +7783,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -7035,38 +7849,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -7112,7 +7932,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_From_new_cmds='true'
       # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes=yes
       ;;
@@ -7154,10 +7974,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -7204,15 +8024,6 @@
       hardcode_shlibpath_var=no
       ;;
 
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      link_all_deplibs=no
-      ;;
-
     hpux9*)
       if test "$GCC" = yes; then
 	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -7308,7 +8119,7 @@
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -7328,24 +8139,28 @@
       ;;
 
     openbsd*)
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct=yes
+	hardcode_shlibpath_var=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	ld_shlibs=no
       fi
       ;;
 
@@ -7404,17 +8219,16 @@
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       link_all_deplibs=yes
       ;;
@@ -7471,7 +8285,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       no_undefined_flag='${wl}-z,text'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
@@ -7524,8 +8338,8 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
 test "$ld_shlibs" = no && can_build_shared=no
 
 #
@@ -7545,10 +8359,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -7583,16 +8397,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -7606,17 +8420,55 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
+
 if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
@@ -7776,12 +8628,8 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -7798,18 +8646,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -7847,7 +8683,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -7910,7 +8746,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -7965,7 +8801,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -7981,7 +8817,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -8006,18 +8842,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -8099,6 +8923,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -8191,8 +9019,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -8200,8 +9028,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var" || \
@@ -8225,8 +9053,8 @@
   # directories.
   hardcode_action=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
 
 if test "$hardcode_action" = relink; then
   # Fast installation is not supported
@@ -8239,29 +9067,30 @@
 
 striplib=
 old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
 # FIXME - insert some real tests, host_os isn't really good enough
   case $host_os in
    darwin*)
        if test -n "$STRIP" ; then
          striplib="$STRIP -x"
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+         old_striplib="$STRIP -S"
+         { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
        else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
        ;;
    *)
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     ;;
   esac
 fi
@@ -8293,8 +9122,8 @@
 
   darwin*)
   # if libdl is installed we need to link against it
-    echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dl_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8307,55 +9136,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlopen=no
+	ac_cv_lib_dl_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
 if test $ac_cv_lib_dl_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
@@ -8369,8 +9196,8 @@
    ;;
 
   *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
 if test "${ac_cv_func_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8397,72 +9224,64 @@
 
 #undef shl_load
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
 choke me
-#else
-char (*f) () = shl_load;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != shl_load;
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_shl_load=no
+	ac_cv_func_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
 if test $ac_cv_func_shl_load = yes; then
   lt_cv_dlopen="shl_load"
 else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8475,60 +9294,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 int
 main ()
 {
-shl_load ();
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dld_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_shl_load=no
+	ac_cv_lib_dld_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
 if test $ac_cv_lib_dld_shl_load = yes; then
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
 else
-  echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
 if test "${ac_cv_func_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8555,72 +9372,64 @@
 
 #undef dlopen
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
 choke me
-#else
-char (*f) () = dlopen;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != dlopen;
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_dlopen=no
+	ac_cv_func_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
 if test $ac_cv_func_dlopen = yes; then
   lt_cv_dlopen="dlopen"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dl_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8633,60 +9442,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlopen=no
+	ac_cv_lib_dl_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
 if test $ac_cv_lib_dl_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_svld_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8699,60 +9506,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_svld_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_svld_dlopen=no
+	ac_cv_lib_svld_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
 if test $ac_cv_lib_svld_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
-  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_dld_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8765,55 +9570,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dld_link ();
 int
 main ()
 {
-dld_link ();
+return dld_link ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dld_dld_link=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_dld_link=no
+	ac_cv_lib_dld_dld_link=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
 if test $ac_cv_lib_dld_dld_link = yes; then
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
 fi
@@ -8853,8 +9656,8 @@
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8864,7 +9667,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8867 "configure"
+#line 9670 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -8948,13 +9751,13 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
 
     if test "x$lt_cv_dlopen_self" = xyes; then
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self_static+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8964,7 +9767,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8967 "configure"
+#line 9770 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -9048,8 +9851,8 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
     fi
 
     CPPFLAGS="$save_CPPFLAGS"
@@ -9071,13 +9874,13 @@
 
 
 # Report which library types will actually be built
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -9097,15 +9900,15 @@
   fi
     ;;
 esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
 
 # The else clause should only fire when bootstrapping the
 # libtool distribution, otherwise you forgot to ship ltmain.sh
@@ -9162,6 +9965,7 @@
     module_cmds \
     module_expsym_cmds \
     lt_cv_prog_compiler_c_o \
+    fix_srcfile_path \
     exclude_expsyms \
     include_expsyms; do
 
@@ -9206,7 +10010,7 @@
 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
 # Free Software Foundation, Inc.
 #
 # This file is part of GNU Libtool:
@@ -9530,7 +10334,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols
@@ -9597,12 +10401,12 @@
 CC="$lt_save_CC"
 
 
-# Check whether --with-tags or --without-tags was given.
+# Check whether --with-tags was given.
 if test "${with_tags+set}" = set; then
-  withval="$with_tags"
-  tagnames="$withval"
-fi;
+  withval=$with_tags; tagnames="$withval"
+fi
 
+
 if test -f "$ltmain" && test -n "$tagnames"; then
   if test ! -f "${ofile}"; then
     { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
@@ -9655,7 +10459,7 @@
 	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
 	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
 	    (test "X$CXX" != "Xg++"))) ; then
-	  ac_ext=cc
+	  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -9699,10 +10503,10 @@
 objext_CXX=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -9718,13 +10522,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -9774,18 +10578,18 @@
   # Set up default GNU C++ configuration
 
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi;
+fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -9814,11 +10618,11 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
 if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -9851,17 +10655,17 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9875,8 +10679,8 @@
   ;;
 esac
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
@@ -9926,8 +10730,8 @@
 fi
 
 # PORTME: fill in a description of your system's C++ link characteristics
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 ld_shlibs_CXX=yes
 case $host_os in
   aix3*)
@@ -9983,7 +10787,7 @@
 	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	then
 	  # We have reworked collect2
-	  hardcode_direct_CXX=yes
+	  :
 	else
 	  # We have old collect2
 	  hardcode_direct_CXX=unsupported
@@ -10039,38 +10843,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -10100,38 +10910,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -10242,10 +11058,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
           module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -10279,7 +11095,7 @@
   freebsd-elf*)
     archive_cmds_need_lc_CXX=no
     ;;
-  freebsd* | kfreebsd*-gnu | dragonfly*)
+  freebsd* | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     ld_shlibs_CXX=yes
@@ -10328,9 +11144,7 @@
       hardcode_libdir_separator_CXX=:
 
       case $host_cpu in
-      hppa*64*|ia64*)
-	hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
-        ;;
+      hppa*64*|ia64*) ;;
       *)
 	export_dynamic_flag_spec_CXX='${wl}-E'
         ;;
@@ -10398,7 +11212,7 @@
 	;;
     esac
     ;;
-  interix3*)
+  interix[3-9]*)
     hardcode_direct_CXX=no
     hardcode_shlibpath_var_CXX=no
     hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
@@ -10438,7 +11252,7 @@
     hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
     hardcode_libdir_separator_CXX=:
     ;;
-  linux*)
+  linux* | k*bsd*-gnu)
     case $cc_basename in
       KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -10518,6 +11332,29 @@
 	# dependencies.
 	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
 	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  no_undefined_flag_CXX=' -zdefs'
+	  archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	  hardcode_libdir_flag_spec_CXX='-R$libdir'
+	  whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # Archives containing C++ object files must be created using
+	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	  # necessary to make sure instantiated templates are included
+	  # in the archive.
+	  old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
     esac
     ;;
   lynxos*)
@@ -10540,7 +11377,7 @@
 	;;
     esac
     ;;
-  netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+  netbsd* | netbsdelf*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
       wlarc=
@@ -10556,16 +11393,20 @@
     ld_shlibs_CXX=no
     ;;
   openbsd*)
-    hardcode_direct_CXX=yes
-    hardcode_shlibpath_var_CXX=no
-    archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-      export_dynamic_flag_spec_CXX='${wl}-E'
-      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    if test -f /usr/libexec/ld.so; then
+      hardcode_direct_CXX=yes
+      hardcode_shlibpath_var_CXX=no
+      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	export_dynamic_flag_spec_CXX='${wl}-E'
+	whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      ld_shlibs_CXX=no
     fi
-    output_verbose_link_cmd='echo'
     ;;
   osf3*)
     case $cc_basename in
@@ -10727,15 +11568,10 @@
 	case $host_os in
 	  solaris2.[0-5] | solaris2.[0-5].*) ;;
 	  *)
-	    # The C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker. We must also pass each convience library through
-	    # to the system linker between allextract/defaultextract.
-	    # The C++ compiler will combine linker options so we
-	    # cannot just pass the convience library names through
-	    # without $wl.
+	    # The compiler driver will combine and reorder linker options,
+	    # but understands `-z linker_flag'.
 	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+	    whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
 	    ;;
 	esac
 	link_all_deplibs_CXX=yes
@@ -10782,6 +11618,12 @@
 	  fi
 
 	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+	  *)
+	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    ;;
+	  esac
 	fi
 	;;
     esac
@@ -10862,8 +11704,8 @@
     ld_shlibs_CXX=no
     ;;
 esac
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
 GCC_CXX="$GXX"
@@ -10973,7 +11815,7 @@
 
 # PORTME: override above test on systems where it is broken
 case $host_os in
-interix3*)
+interix[3-9]*)
   # Interix 3.5 installs completely hosed .la files for C++, so rather than
   # hack all around it, let's just trust "g++" to DTRT.
   predep_objects_CXX=
@@ -10981,13 +11823,46 @@
   postdeps_CXX=
   ;;
 
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+    #
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
 solaris*)
   case $cc_basename in
   CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
     # Adding this requires a known-good setup of shared libraries for
     # Sun compiler versions before 5.6, else PIC objects from an old
     # archive will be linked into the output, leading to subtle bugs.
-    postdeps_CXX='-lCstd -lCrun'
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
     ;;
   esac
   ;;
@@ -11002,8 +11877,8 @@
 lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -11024,12 +11899,14 @@
       # like `-m68040'.
       lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
-    mingw* | os2* | pw32*)
+    mingw* | cygwin* | os2* | pw32*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
       ;;
     darwin* | rhapsody*)
@@ -11041,7 +11918,7 @@
       # DJGPP does not support shared libraries at all
       lt_prog_compiler_pic_CXX=
       ;;
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -11107,7 +11984,7 @@
 	    ;;
 	esac
 	;;
-      freebsd* | kfreebsd*-gnu | dragonfly*)
+      freebsd* | dragonfly*)
 	# FreeBSD uses GNU C++
 	;;
       hpux9* | hpux10* | hpux11*)
@@ -11150,7 +12027,7 @@
 	    ;;
 	esac
 	;;
-      linux*)
+      linux* | k*bsd*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -11177,6 +12054,14 @@
 	    lt_prog_compiler_static_CXX='-non_shared'
 	    ;;
 	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      lt_prog_compiler_pic_CXX='-KPIC'
+	      lt_prog_compiler_static_CXX='-Bstatic'
+	      lt_prog_compiler_wl_CXX='-Qoption ld '
+	      ;;
+	    esac
 	    ;;
 	esac
 	;;
@@ -11193,7 +12078,7 @@
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+      netbsd* | netbsdelf*-gnu)
 	;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
@@ -11276,22 +12161,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_CXX"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works_CXX=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -11302,11 +12187,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11305: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12190: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11309: \$? = $ac_status" >&5
+   echo "$as_me:12194: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11319,8 +12204,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; }
 
 if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
     case $lt_prog_compiler_pic_CXX in
@@ -11347,15 +12232,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works_CXX=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -11375,8 +12260,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; }
 
 if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
     :
@@ -11385,8 +12270,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -11395,7 +12280,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -11406,11 +12291,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11409: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12294: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11413: \$? = $ac_status" >&5
+   echo "$as_me:12298: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -11432,23 +12317,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -11458,8 +12343,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   case $host_os in
@@ -11476,21 +12361,18 @@
     export_symbols_cmds_CXX="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
   ;;
-  kfreebsd*-gnu)
+  linux* | k*bsd*-gnu)
     link_all_deplibs_CXX=no
   ;;
-  linux*)
-    link_all_deplibs_CXX=no
-  ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   esac
 
-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
 #
@@ -11510,10 +12392,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -11548,16 +12430,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -11571,20 +12453,7 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -11741,12 +12610,7 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -11763,18 +12627,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -11812,7 +12664,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -11875,7 +12727,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -11930,7 +12782,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -11946,7 +12798,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -11971,18 +12823,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -12064,6 +12904,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -12156,8 +13000,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -12165,8 +13009,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action_CXX=
 if test -n "$hardcode_libdir_flag_spec_CXX" || \
    test -n "$runpath_var_CXX" || \
@@ -12190,8 +13034,8 @@
   # directories.
   hardcode_action_CXX=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
 
 if test "$hardcode_action_CXX" = relink; then
   # Fast installation is not supported
@@ -12258,6 +13102,7 @@
     module_cmds_CXX \
     module_expsym_cmds_CXX \
     lt_cv_prog_compiler_c_o_CXX \
+    fix_srcfile_path_CXX \
     exclude_expsyms_CXX \
     include_expsyms_CXX; do
 
@@ -12578,7 +13423,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_CXX"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_CXX
@@ -12669,10 +13514,17 @@
 objext_F77=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="      subroutine t\n      return\n      end\n"
+lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code="      program t\n      end\n"
+lt_simple_link_test_code="\
+      program t
+      end
+"
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -12688,13 +13540,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -12716,13 +13568,13 @@
 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
 
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -12741,15 +13593,15 @@
   fi
   ;;
 esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
 
 GCC_F77="$G77"
 LD_F77="$LD"
@@ -12758,8 +13610,8 @@
 lt_prog_compiler_pic_F77=
 lt_prog_compiler_static_F77=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl_F77='-Wl,'
@@ -12781,13 +13633,15 @@
       lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic_F77='-DDLL_EXPORT'
       ;;
 
@@ -12797,7 +13651,7 @@
       lt_prog_compiler_pic_F77='-fno-common'
       ;;
 
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -12855,7 +13709,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic_F77='-DDLL_EXPORT'
@@ -12888,7 +13742,7 @@
       lt_prog_compiler_static_F77='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	lt_prog_compiler_wl_F77='-Wl,'
@@ -12907,6 +13761,22 @@
         # All Alpha code is PIC.
         lt_prog_compiler_static_F77='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic_F77='-KPIC'
+	  lt_prog_compiler_static_F77='-Bstatic'
+	  lt_prog_compiler_wl_F77='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic_F77='-KPIC'
+	  lt_prog_compiler_static_F77='-Bstatic'
+	  lt_prog_compiler_wl_F77=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -12916,6 +13786,10 @@
       lt_prog_compiler_static_F77='-non_shared'
       ;;
 
+    rdos*)
+      lt_prog_compiler_static_F77='-non_shared'
+      ;;
+
     solaris*)
       lt_prog_compiler_pic_F77='-KPIC'
       lt_prog_compiler_static_F77='-Bstatic'
@@ -12968,22 +13842,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_F77"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works_F77=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_F77"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -12994,11 +13868,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12997: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13871: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13001: \$? = $ac_status" >&5
+   echo "$as_me:13875: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13011,8 +13885,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; }
 
 if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
     case $lt_prog_compiler_pic_F77 in
@@ -13039,15 +13913,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works_F77=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -13067,8 +13941,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; }
 
 if test x"$lt_prog_compiler_static_works_F77" = xyes; then
     :
@@ -13077,8 +13951,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -13087,7 +13961,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -13098,11 +13972,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13101: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13975: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13105: \$? = $ac_status" >&5
+   echo "$as_me:13979: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13124,23 +13998,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -13150,8 +14024,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag_F77=
@@ -13294,7 +14168,7 @@
       allow_undefined_flag_F77=unsupported
       always_export_symbols_F77=no
       enable_shared_with_static_runtimes_F77=yes
-      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -13312,7 +14186,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[3-9]*)
       hardcode_direct_F77=no
       hardcode_shlibpath_var_F77=no
       hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
@@ -13327,7 +14201,7 @@
       archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -13345,13 +14219,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	link_all_deplibs_F77=no
       else
@@ -13359,7 +14242,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -13511,7 +14394,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  hardcode_direct_F77=yes
+  	  :
 	  else
   	  # We have old collect2
   	  hardcode_direct_F77=unsupported
@@ -13557,38 +14440,44 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -13607,38 +14496,44 @@
       end
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_f77_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -13684,7 +14579,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_From_new_cmds_F77='true'
       # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes_F77=yes
       ;;
@@ -13726,10 +14621,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -13776,15 +14671,6 @@
       hardcode_shlibpath_var_F77=no
       ;;
 
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      link_all_deplibs_F77=no
-      ;;
-
     hpux9*)
       if test "$GCC" = yes; then
 	archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -13880,7 +14766,7 @@
       link_all_deplibs_F77=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -13900,24 +14786,28 @@
       ;;
 
     openbsd*)
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_F77='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct_F77=yes
+	hardcode_shlibpath_var_F77=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec_F77='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec_F77='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec_F77='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	ld_shlibs_F77=no
       fi
       ;;
 
@@ -13976,17 +14866,16 @@
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       link_all_deplibs_F77=yes
       ;;
@@ -14043,7 +14932,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       no_undefined_flag_F77='${wl}-z,text'
       archive_cmds_need_lc_F77=no
       hardcode_shlibpath_var_F77=no
@@ -14096,8 +14985,8 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+echo "${ECHO_T}$ld_shlibs_F77" >&6; }
 test "$ld_shlibs_F77" = no && can_build_shared=no
 
 #
@@ -14117,10 +15006,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -14155,16 +15044,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -14178,20 +15067,7 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -14348,12 +15224,7 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -14370,18 +15241,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -14419,7 +15278,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -14482,7 +15341,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -14537,7 +15396,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -14553,7 +15412,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -14578,18 +15437,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -14671,6 +15518,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -14763,8 +15614,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -14772,8 +15623,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action_F77=
 if test -n "$hardcode_libdir_flag_spec_F77" || \
    test -n "$runpath_var_F77" || \
@@ -14797,8 +15648,8 @@
   # directories.
   hardcode_action_F77=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+echo "${ECHO_T}$hardcode_action_F77" >&6; }
 
 if test "$hardcode_action_F77" = relink; then
   # Fast installation is not supported
@@ -14865,6 +15716,7 @@
     module_cmds_F77 \
     module_expsym_cmds_F77 \
     lt_cv_prog_compiler_c_o_F77 \
+    fix_srcfile_path_F77 \
     exclude_expsyms_F77 \
     include_expsyms_F77; do
 
@@ -15185,7 +16037,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_F77"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_F77
@@ -15235,7 +16087,6 @@
 	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
 
 
-
 # Source file extension for Java test sources.
 ac_ext=java
 
@@ -15244,10 +16095,10 @@
 objext_GCJ=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}\n"
+lt_simple_compile_test_code="class foo {}"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
@@ -15263,13 +16114,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -15303,14 +16154,14 @@
   lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="-fno-rtti -fno-exceptions"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -15321,11 +16172,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15324: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16175: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15328: \$? = $ac_status" >&5
+   echo "$as_me:16179: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15338,8 +16189,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
 
 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
     lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
@@ -15353,8 +16204,8 @@
 lt_prog_compiler_pic_GCJ=
 lt_prog_compiler_static_GCJ=
 
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl_GCJ='-Wl,'
@@ -15376,13 +16227,15 @@
       lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
       ;;
 
-    beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
       lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
       ;;
 
@@ -15392,7 +16245,7 @@
       lt_prog_compiler_pic_GCJ='-fno-common'
       ;;
 
-    interix3*)
+    interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
       ;;
@@ -15450,7 +16303,7 @@
        esac
        ;;
 
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
       # built for inclusion in a dll (and should export symbols for example).
       lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
@@ -15483,7 +16336,7 @@
       lt_prog_compiler_static_GCJ='-Bstatic'
       ;;
 
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
       icc* | ecc*)
 	lt_prog_compiler_wl_GCJ='-Wl,'
@@ -15502,6 +16355,22 @@
         # All Alpha code is PIC.
         lt_prog_compiler_static_GCJ='-non_shared'
         ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  lt_prog_compiler_pic_GCJ='-KPIC'
+	  lt_prog_compiler_static_GCJ='-Bstatic'
+	  lt_prog_compiler_wl_GCJ='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic_GCJ='-KPIC'
+	  lt_prog_compiler_static_GCJ='-Bstatic'
+	  lt_prog_compiler_wl_GCJ=''
+	  ;;
+	esac
+	;;
       esac
       ;;
 
@@ -15511,6 +16380,10 @@
       lt_prog_compiler_static_GCJ='-non_shared'
       ;;
 
+    rdos*)
+      lt_prog_compiler_static_GCJ='-non_shared'
+      ;;
+
     solaris*)
       lt_prog_compiler_pic_GCJ='-KPIC'
       lt_prog_compiler_static_GCJ='-Bstatic'
@@ -15563,22 +16436,22 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
 
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_GCJ"; then
 
-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_pic_works_GCJ=no
   ac_outfile=conftest.$ac_objext
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -15589,11 +16462,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15592: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16465: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:15596: \$? = $ac_status" >&5
+   echo "$as_me:16469: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15606,8 +16479,8 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; }
 
 if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
     case $lt_prog_compiler_pic_GCJ in
@@ -15634,15 +16507,15 @@
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
 if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_prog_compiler_static_works_GCJ=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   printf "$lt_simple_link_test_code" > conftest.$ac_ext
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
    if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
      # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -15662,8 +16535,8 @@
    LDFLAGS="$save_LDFLAGS"
 
 fi
-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; }
 
 if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
     :
@@ -15672,8 +16545,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -15682,7 +16555,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -15693,11 +16566,11 @@
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15696: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16569: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15700: \$? = $ac_status" >&5
+   echo "$as_me:16573: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -15719,23 +16592,23 @@
    $rm conftest*
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
 
 
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -15745,8 +16618,8 @@
   need_locks=no
 fi
 
-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag_GCJ=
@@ -15889,7 +16762,7 @@
       allow_undefined_flag_GCJ=unsupported
       always_export_symbols_GCJ=no
       enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
         archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -15907,7 +16780,7 @@
       fi
       ;;
 
-    interix3*)
+    interix[3-9]*)
       hardcode_direct_GCJ=no
       hardcode_shlibpath_var_GCJ=no
       hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
@@ -15922,7 +16795,7 @@
       archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 	tmp_addflag=
 	case $cc_basename,$host_cpu in
@@ -15940,13 +16813,22 @@
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
 	esac
-	archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
 	if test $supports_anon_versioning = yes; then
 	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
   cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
   $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
 	fi
 	link_all_deplibs_GCJ=no
       else
@@ -15954,7 +16836,7 @@
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -16106,7 +16988,7 @@
   	   strings "$collect2name" | grep resolve_lib_name >/dev/null
 	  then
   	  # We have reworked collect2
-  	  hardcode_direct_GCJ=yes
+  	  :
 	  else
   	  # We have old collect2
   	  hardcode_direct_GCJ=unsupported
@@ -16162,38 +17044,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -16222,38 +17110,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
@@ -16299,7 +17193,7 @@
       # The linker will automatically build a .lib file if we build a DLL.
       old_archive_From_new_cmds_GCJ='true'
       # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+      old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
       enable_shared_with_static_runtimes_GCJ=yes
       ;;
@@ -16341,10 +17235,10 @@
       case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
          module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -16391,15 +17285,6 @@
       hardcode_shlibpath_var_GCJ=no
       ;;
 
-    # GNU/kFreeBSD uses gcc -shared to do shared libraries.
-    kfreebsd*-gnu)
-      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      link_all_deplibs_GCJ=no
-      ;;
-
     hpux9*)
       if test "$GCC" = yes; then
 	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
@@ -16495,7 +17380,7 @@
       link_all_deplibs_GCJ=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu | knetbsd*-gnu)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
 	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -16515,24 +17400,28 @@
       ;;
 
     openbsd*)
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_GCJ='${wl}-E'
+      if test -f /usr/libexec/ld.so; then
+	hardcode_direct_GCJ=yes
+	hardcode_shlibpath_var_GCJ=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	  export_dynamic_flag_spec_GCJ='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	     archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     hardcode_libdir_flag_spec_GCJ='-R$libdir'
+	     ;;
+	   *)
+	     archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
       else
-       case $host_os in
-	 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	   archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	   hardcode_libdir_flag_spec_GCJ='-R$libdir'
-	   ;;
-	 *)
-	   archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	   hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	   ;;
-       esac
+	ld_shlibs_GCJ=no
       fi
       ;;
 
@@ -16591,17 +17480,16 @@
       case $host_os in
       solaris2.[0-5] | solaris2.[0-5].*) ;;
       *)
- 	# The compiler driver will combine linker options so we
- 	# cannot just pass the convience library names through
- 	# without $wl, iff we do not link with $LD.
- 	# Luckily, gcc supports the same syntax we need for Sun Studio.
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
  	# Supported since Solaris 2.6 (maybe 2.5.1?)
- 	case $wlarc in
- 	'')
- 	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
- 	*)
- 	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
- 	esac ;;
+	if test "$GCC" = yes; then
+	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
+	fi
+	;;
       esac
       link_all_deplibs_GCJ=yes
       ;;
@@ -16658,7 +17546,7 @@
       fi
       ;;
 
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       no_undefined_flag_GCJ='${wl}-z,text'
       archive_cmds_need_lc_GCJ=no
       hardcode_shlibpath_var_GCJ=no
@@ -16711,8 +17599,8 @@
     esac
   fi
 
-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
 test "$ld_shlibs_GCJ" = no && can_build_shared=no
 
 #
@@ -16732,10 +17620,10 @@
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
       $rm conftest*
-      printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -16770,16 +17658,16 @@
         cat conftest.err 1>&5
       fi
       $rm conftest*
-      echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
       ;;
     esac
   fi
   ;;
 esac
 
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -16793,20 +17681,7 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -16963,12 +17838,7 @@
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
   shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -16985,18 +17855,6 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -17034,7 +17892,7 @@
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
-  freebsd*) # from 4.6 on
+  *) # from 4.6 on, and DragonFly
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
@@ -17097,7 +17955,7 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-interix3*)
+interix[3-9]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -17152,7 +18010,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -17168,7 +18026,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -17193,18 +18051,6 @@
   dynamic_linker='NetBSD ld.elf_so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -17286,6 +18132,10 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
+rdos*)
+  dynamic_linker=no
+  ;;
+
 solaris*)
   version_type=linux
   need_lib_prefix=no
@@ -17378,8 +18228,8 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
@@ -17387,8 +18237,8 @@
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action_GCJ=
 if test -n "$hardcode_libdir_flag_spec_GCJ" || \
    test -n "$runpath_var_GCJ" || \
@@ -17412,8 +18262,8 @@
   # directories.
   hardcode_action_GCJ=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
 
 if test "$hardcode_action_GCJ" = relink; then
   # Fast installation is not supported
@@ -17480,6 +18330,7 @@
     module_cmds_GCJ \
     module_expsym_cmds_GCJ \
     lt_cv_prog_compiler_c_o_GCJ \
+    fix_srcfile_path_GCJ \
     exclude_expsyms_GCJ \
     include_expsyms_GCJ; do
 
@@ -17800,7 +18651,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_GCJ"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_GCJ
@@ -17849,7 +18700,6 @@
       RC)
 
 
-
 # Source file extension for RC test sources.
 ac_ext=rc
 
@@ -17858,7 +18708,7 @@
 objext_RC=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
 
 # Code to be used in simple link tests
 lt_simple_link_test_code="$lt_simple_compile_test_code"
@@ -17877,13 +18727,13 @@
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
 $rm conftest*
 
 ac_outfile=conftest.$ac_objext
-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
 $rm conftest*
@@ -17961,6 +18811,7 @@
     module_cmds_RC \
     module_expsym_cmds_RC \
     lt_cv_prog_compiler_c_o_RC \
+    fix_srcfile_path_RC \
     exclude_expsyms_RC \
     include_expsyms_RC; do
 
@@ -18281,7 +19132,7 @@
 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
 
 # Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path="$fix_srcfile_path_RC"
+fix_srcfile_path=$lt_fix_srcfile_path
 
 # Set to yes if exported symbols are required.
 always_export_symbols=$always_export_symbols_RC
@@ -18404,14 +19255,14 @@
     ;;
 esac
 
-echo "$as_me:$LINENO: checking make" >&5
-echo $ECHO_N "checking make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking make" >&5
+echo $ECHO_N "checking make... $ECHO_C" >&6; }
 
 
 if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\
           sed -n 1p|cut -c1-8`" = "GNU Make"; then
-  echo "$as_me:$LINENO: result: GNU make" >&5
-echo "${ECHO_T}GNU make" >&6
+  { echo "$as_me:$LINENO: result: GNU make" >&5
+echo "${ECHO_T}GNU make" >&6; }
   GMAKE=yes
   if test "X$GCC" = "Xyes"; then
     DEPEND=config/depend1
@@ -18419,13 +19270,13 @@
     DEPEND=config/depend2
   fi
 else
-  echo "$as_me:$LINENO: result: generic" >&5
-echo "${ECHO_T}generic" >&6
+  { echo "$as_me:$LINENO: result: generic" >&5
+echo "${ECHO_T}generic" >&6; }
 fi
 
 if test -z "$DEPEND"; then
-  echo "$as_me:$LINENO: checking how to include a makefile" >&5
-echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how to include a makefile" >&5
+echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6; }
 
     cat >makeinc <<EOF
 foo:
@@ -18435,22 +19286,22 @@
   while true; do #for break
             echo '.include <makeinc>' >maketest
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: .include <FILE>" >&5
-echo "${ECHO_T}.include <FILE>" >&6
+      { echo "$as_me:$LINENO: result: .include <FILE>" >&5
+echo "${ECHO_T}.include <FILE>" >&6; }
       DEPEND=config/depend3
       break
     fi
 
         echo 'include makeinc' >maketest
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: include FILE" >&5
-echo "${ECHO_T}include FILE" >&6
+      { echo "$as_me:$LINENO: result: include FILE" >&5
+echo "${ECHO_T}include FILE" >&6; }
       DEPEND=config/depend4
       break;
     fi
 
-        echo "$as_me:$LINENO: result: you have a deficient make command" >&5
-echo "${ECHO_T}you have a deficient make command" >&6
+        { echo "$as_me:$LINENO: result: you have a deficient make command" >&5
+echo "${ECHO_T}you have a deficient make command" >&6; }
     DEPEND=config/dependN
     break
   done
@@ -18458,8 +19309,8 @@
   rm makeinc maketest
 fi
 
-echo "$as_me:$LINENO: checking how make searches directories" >&5
-echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how make searches directories" >&5
+echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6; }
 while true; do #for break
   # The most common method is `VPATH=DIR1 DIR2 ...'
   cat >maketest <<EOF
@@ -18475,8 +19326,8 @@
   if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
     SEARCH_RULE='VPATH='
     SEARCH_SEP=' '
-    echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
-echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6
+    { echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
+echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6; }
     break
   fi
 
@@ -18493,8 +19344,8 @@
   if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
     SEARCH_RULE='VPATH='
     SEARCH_SEP=':'
-    echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
-echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6
+    { echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
+echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6; }
     break
   fi
 
@@ -18511,15 +19362,15 @@
   if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
     SEARCH_RULE='.PATH: '
     SEARCH_SEP=' '
-    echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
-echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6
+    { echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
+echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6; }
     break
   fi
 
     SEARCH_RULE='## SEARCH DISABLED: '
   SEARCH_SEP=' '
-  echo "$as_me:$LINENO: result: it doesn't" >&5
-echo "${ECHO_T}it doesn't" >&6
+  { echo "$as_me:$LINENO: result: it doesn't" >&5
+echo "${ECHO_T}it doesn't" >&6; }
   if test ! -f configure; then
     { { echo "$as_me:$LINENO: error: ${MAKE-make} requires the build and source directories to be the same" >&5
 echo "$as_me: error: ${MAKE-make} requires the build and source directories to be the same" >&2;}
@@ -18529,19 +19380,19 @@
 done
 rm maketest
 
-echo "$as_me:$LINENO: checking for production mode" >&5
-echo $ECHO_N "checking for production mode... $ECHO_C" >&6
-# Check whether --enable-production or --disable-production was given.
+{ echo "$as_me:$LINENO: checking for production mode" >&5
+echo $ECHO_N "checking for production mode... $ECHO_C" >&6; }
+# Check whether --enable-production was given.
 if test "${enable_production+set}" = set; then
-  enableval="$enable_production"
+  enableval=$enable_production;
+fi
 
-fi;
 
 case "X-$enable_production" in
   X-|X-yes)
     enable_production="yes"
-    echo "$as_me:$LINENO: result: production" >&5
-echo "${ECHO_T}production" >&6
+    { echo "$as_me:$LINENO: result: production" >&5
+echo "${ECHO_T}production" >&6; }
 
             CFLAGS_temp=""
     if test -n "$CFLAGS"; then
@@ -18559,31 +19410,31 @@
     ;;
   X-no)
     enable_production="no"
-    echo "$as_me:$LINENO: result: development" >&5
-echo "${ECHO_T}development" >&6
+    { echo "$as_me:$LINENO: result: development" >&5
+echo "${ECHO_T}development" >&6; }
     CONFIG_MODE=development
     CFLAGS="$CFLAGS $DEBUG_CFLAGS"
     CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS"
     ;;
   X-pg|X-profile)
     enable_production="profile"
-    echo "$as_me:$LINENO: result: profile" >&5
-echo "${ECHO_T}profile" >&6
+    { echo "$as_me:$LINENO: result: profile" >&5
+echo "${ECHO_T}profile" >&6; }
     CONFIG_MODE=profile
     CFLAGS="$CFLAGS $PROFILE_CFLAGS"
     CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS"
     ;;
   *)
     enable_production="user-defined"
-    echo "$as_me:$LINENO: result: user-defined" >&5
-echo "${ECHO_T}user-defined" >&6
+    { echo "$as_me:$LINENO: result: user-defined" >&5
+echo "${ECHO_T}user-defined" >&6; }
     CONFIG_MODE="$X-enableval"
     ;;
 esac
 
 
-echo "$as_me:$LINENO: checking for ceil in -lm" >&5
-echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ceil in -lm" >&5
+echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_m_ceil+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18596,55 +19447,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char ceil ();
 int
 main ()
 {
-ceil ();
+return ceil ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_m_ceil=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_m_ceil=no
+	ac_cv_lib_m_ceil=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
-echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
+echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6; }
 if test $ac_cv_lib_m_ceil = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
@@ -18657,8 +19506,8 @@
 
 if test "`uname`" = "SunOS" -o "`uname -sr`" = "HP-UX B.11.00"; then
 
-echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
-echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
+echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_nsl_xdr_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18671,55 +19520,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char xdr_int ();
 int
 main ()
 {
-xdr_int ();
+return xdr_int ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_nsl_xdr_int=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_nsl_xdr_int=no
+	ac_cv_lib_nsl_xdr_int=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6; }
 if test $ac_cv_lib_nsl_xdr_int = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
@@ -18732,8 +19579,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18757,35 +19604,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+	ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
@@ -18840,6 +19684,7 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -18859,18 +19704,27 @@
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
 	|| toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18883,12 +19737,14 @@
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -18897,8 +19753,8 @@
 
 fi
 
-echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
 if test "${ac_cv_header_time+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -18922,37 +19778,34 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_time=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_time=no
+	ac_cv_header_time=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+echo "${ECHO_T}$ac_cv_header_time" >&6; }
 if test $ac_cv_header_time = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -18966,9 +19819,9 @@
 for ac_func in difftime
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -18994,67 +19847,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -19067,9 +19913,9 @@
 for ac_func in gettimeofday
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -19095,67 +19941,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -19175,18 +20014,19 @@
 for ac_header in sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19197,40 +20037,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19239,24 +20076,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19264,9 +20099,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -19290,25 +20126,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19325,18 +20160,19 @@
 for ac_header in sys/socket.h sys/types.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19347,40 +20183,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19389,24 +20222,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19414,9 +20245,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -19440,25 +20272,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19476,18 +20307,19 @@
 for ac_header in stddef.h setjmp.h features.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19498,40 +20330,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19540,24 +20369,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19565,9 +20392,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -19591,25 +20419,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19625,18 +20452,19 @@
 for ac_header in stdint.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19647,40 +20475,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19689,24 +20514,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19714,9 +20537,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -19740,25 +20564,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19777,18 +20600,19 @@
 for ac_header in io.h winsock.h sys/timeb.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19799,40 +20623,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19841,24 +20662,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -19866,9 +20685,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -19892,25 +20712,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -19930,18 +20749,19 @@
 for ac_header in sys/sysinfo.h sys/proc.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19952,40 +20772,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19994,24 +20811,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20019,9 +20834,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -20045,25 +20861,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -20081,18 +20896,19 @@
 for ac_header in sys/fpu.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20103,40 +20919,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20145,24 +20958,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -20170,9 +20981,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -20196,25 +21008,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -20230,9 +21041,9 @@
 for ac_func in get_fpc_csr
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20258,67 +21069,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -20332,11 +21136,11 @@
 
 case "$host_cpu-$host_vendor-$host_os" in
   *linux*)
-                # Check whether --enable-linux-lfs or --disable-linux-lfs was given.
+                # Check whether --enable-linux-lfs was given.
 if test "${enable_linux_lfs+set}" = set; then
-  enableval="$enable_linux_lfs"
+  enableval=$enable_linux_lfs;
+fi
 
-fi;
 
     LINUX_LFS="no"
     case "X-$enable_linux_lfs" in
@@ -20355,15 +21159,15 @@
         ;;
     esac
 
-    echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
-echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
+echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6; }
     if test "X$LINUX_LFS" = "Xyes"; then
-      echo "$as_me:$LINENO: result: enabled" >&5
-echo "${ECHO_T}enabled" >&6
+      { echo "$as_me:$LINENO: result: enabled" >&5
+echo "${ECHO_T}enabled" >&6; }
       CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS"
     else
-      echo "$as_me:$LINENO: result: disabled" >&5
-echo "${ECHO_T}disabled" >&6
+      { echo "$as_me:$LINENO: result: disabled" >&5
+echo "${ECHO_T}disabled" >&6; }
     fi
 
                 CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS"
@@ -20388,34 +21192,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 
-for ac_func in lseek64 fseek64
+
+
+for ac_func in lseek64 fseek64 fseeko ftello
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -20441,67 +21243,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -20514,13 +21309,14 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: skipping test for lseek64() and fseek64()" >&5
-echo "${ECHO_T}skipping test for lseek64() and fseek64()" >&6
+	{ echo "$as_me:$LINENO: result: skipping test for lseek64(), fseek64(), fseeko(), and ftello" >&5
+echo "${ECHO_T}skipping test for lseek64(), fseek64(), fseeko(), and ftello" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for off_t" >&5
+echo $ECHO_N "checking for off_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_off_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -20531,61 +21327,59 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef off_t ac__type_new_;
 int
 main ()
 {
-if ((off_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (off_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_off_t=no
+	ac_cv_type_off_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
+echo "${ECHO_T}$ac_cv_type_off_t" >&6; }
 if test $ac_cv_type_off_t = yes; then
   :
 else
 
 cat >>confdefs.h <<_ACEOF
-#define off_t long
+#define off_t long int
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_size_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -20596,49 +21390,47 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef size_t ac__type_new_;
 int
 main ()
 {
-if ((size_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (size_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_size_t=no
+	ac_cv_type_size_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
 if test $ac_cv_type_size_t = yes; then
   :
 else
@@ -20649,8 +21441,8 @@
 
 fi
 
-echo "$as_me:$LINENO: checking for ssize_t" >&5
-echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ssize_t" >&5
+echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_ssize_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -20661,49 +21453,47 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef ssize_t ac__type_new_;
 int
 main ()
 {
-if ((ssize_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (ssize_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_ssize_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_ssize_t=no
+	ac_cv_type_ssize_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
 if test $ac_cv_type_ssize_t = yes; then
   :
 else
@@ -20714,8 +21504,8 @@
 
 fi
 
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
 if test "${ac_cv_c_bigendian+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -20732,7 +21522,8 @@
 int
 main ()
 {
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
+	&& BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
  bogus endian macros
 #endif
 
@@ -20741,26 +21532,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -20783,39 +21570,36 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_c_bigendian=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_c_bigendian=no
+	ac_cv_c_bigendian=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-# It does not; compile a test program.
+	# It does not; compile a test program.
 if test "$cross_compiling" = yes; then
   # try to guess the endianness by grepping values into an object file
   ac_cv_c_bigendian=unknown
@@ -20825,11 +21609,11 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
 void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
 void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
 int
 main ()
@@ -20840,26 +21624,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
   ac_cv_c_bigendian=yes
 fi
@@ -20875,8 +21655,10 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -20884,27 +21666,41 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+$ac_includes_default
 int
 main ()
 {
+
   /* Are we little or big endian?  From Harbison&Steele.  */
   union
   {
-    long l;
-    char c[sizeof (long)];
+    long int l;
+    char c[sizeof (long int)];
   } u;
   u.l = 1;
-  exit (u.c[sizeof (long) - 1] == 1);
+  return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -20917,13 +21713,16 @@
 ( exit $ac_status )
 ac_cv_c_bigendian=yes
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
 case $ac_cv_c_bigendian in
   yes)
 
@@ -20941,8 +21740,8 @@
    { (exit 1); exit 1; }; } ;;
 esac
 
-echo "$as_me:$LINENO: checking for char" >&5
-echo $ECHO_N "checking for char... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for char" >&5
+echo $ECHO_N "checking for char... $ECHO_C" >&6; }
 if test "${ac_cv_type_char+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -20953,60 +21752,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef char ac__type_new_;
 int
 main ()
 {
-if ((char *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (char))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_char=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_char=no
+	ac_cv_type_char=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
-echo "${ECHO_T}$ac_cv_type_char" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
+echo "${ECHO_T}$ac_cv_type_char" >&6; }
 
-echo "$as_me:$LINENO: checking size of char" >&5
-echo $ECHO_N "checking size of char... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of char" >&5
+echo $ECHO_N "checking size of char... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_char+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_char" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -21016,10 +21812,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef char ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (char))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -21027,26 +21824,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21056,10 +21849,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef char ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21067,55 +21861,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef char ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (char))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -21123,26 +21915,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21152,10 +21940,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef char ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21163,49 +21952,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -21216,10 +22004,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef char ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21227,49 +22016,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_char=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
+'') if test "$ac_cv_type_char" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char), 77
+echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_char=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -21277,8 +22062,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (char)); }
-unsigned long ulongval () { return (long) (sizeof (char)); }
+   typedef char ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -21287,35 +22073,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (char))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (char))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (char))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -21326,29 +22121,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
+if test "$ac_cv_type_char" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char), 77
+echo "$as_me: error: cannot compute sizeof (char)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_char=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_char=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
-echo "${ECHO_T}$ac_cv_sizeof_char" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
+echo "${ECHO_T}$ac_cv_sizeof_char" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_CHAR $ac_cv_sizeof_char
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for short" >&5
-echo $ECHO_N "checking for short... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for short" >&5
+echo $ECHO_N "checking for short... $ECHO_C" >&6; }
 if test "${ac_cv_type_short+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -21359,60 +22157,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef short ac__type_new_;
 int
 main ()
 {
-if ((short *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (short))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_short=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_short=no
+	ac_cv_type_short=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
-echo "${ECHO_T}$ac_cv_type_short" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
+echo "${ECHO_T}$ac_cv_type_short" >&6; }
 
-echo "$as_me:$LINENO: checking size of short" >&5
-echo $ECHO_N "checking size of short... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of short" >&5
+echo $ECHO_N "checking size of short... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_short+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_short" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -21422,10 +22217,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef short ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (short))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -21433,26 +22229,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21462,10 +22254,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef short ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21473,55 +22266,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef short ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (short))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -21529,26 +22320,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21558,10 +22345,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef short ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21569,49 +22357,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -21622,10 +22409,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef short ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21633,49 +22421,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_short=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
+'') if test "$ac_cv_type_short" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (short), 77
+echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_short=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -21683,8 +22467,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (short)); }
-unsigned long ulongval () { return (long) (sizeof (short)); }
+   typedef short ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -21693,35 +22478,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (short))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (short))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (short))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -21732,29 +22526,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
+if test "$ac_cv_type_short" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (short), 77
+echo "$as_me: error: cannot compute sizeof (short)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_short=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_short=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
-echo "${ECHO_T}$ac_cv_sizeof_short" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
+echo "${ECHO_T}$ac_cv_sizeof_short" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_SHORT $ac_cv_sizeof_short
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int" >&5
-echo $ECHO_N "checking for int... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int" >&5
+echo $ECHO_N "checking for int... $ECHO_C" >&6; }
 if test "${ac_cv_type_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -21765,60 +22562,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int ac__type_new_;
 int
 main ()
 {
-if ((int *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int=no
+	ac_cv_type_int=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-echo "${ECHO_T}$ac_cv_type_int" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
+echo "${ECHO_T}$ac_cv_type_int" >&6; }
 
-echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int" >&5
+echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -21828,10 +22622,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -21839,26 +22634,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21868,10 +22659,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21879,55 +22671,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -21935,26 +22725,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -21964,10 +22750,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -21975,49 +22762,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -22028,10 +22814,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22039,49 +22826,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
+'') if test "$ac_cv_type_int" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int), 77
+echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -22089,8 +22872,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int)); }
-unsigned long ulongval () { return (long) (sizeof (int)); }
+   typedef int ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -22099,35 +22883,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -22138,29 +22931,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
+if test "$ac_cv_type_int" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int), 77
+echo "$as_me: error: cannot compute sizeof (int)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT $ac_cv_sizeof_int
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for long" >&5
+echo $ECHO_N "checking for long... $ECHO_C" >&6; }
 if test "${ac_cv_type_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -22171,60 +22967,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef long ac__type_new_;
 int
 main ()
 {
-if ((long *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (long))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_long=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_long=no
+	ac_cv_type_long=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+echo "${ECHO_T}$ac_cv_type_long" >&6; }
 
-echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of long" >&5
+echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_long" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -22234,10 +23027,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -22245,26 +23039,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -22274,10 +23064,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22285,55 +23076,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -22341,26 +23130,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -22370,10 +23155,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22381,49 +23167,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -22434,10 +23219,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22445,49 +23231,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+'') if test "$ac_cv_type_long" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
+echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -22495,8 +23277,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (long)); }
-unsigned long ulongval () { return (long) (sizeof (long)); }
+   typedef long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -22505,35 +23288,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (long))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (long))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (long))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -22544,29 +23336,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+if test "$ac_cv_type_long" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
+echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_long=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG $ac_cv_sizeof_long
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for long long" >&5
-echo $ECHO_N "checking for long long... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for long long" >&5
+echo $ECHO_N "checking for long long... $ECHO_C" >&6; }
 if test "${ac_cv_type_long_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -22577,60 +23372,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef long long ac__type_new_;
 int
 main ()
 {
-if ((long long *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (long long))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_long_long=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_long_long=no
+	ac_cv_type_long_long=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
-echo "${ECHO_T}$ac_cv_type_long_long" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
+echo "${ECHO_T}$ac_cv_type_long_long" >&6; }
 
-echo "$as_me:$LINENO: checking size of long long" >&5
-echo $ECHO_N "checking size of long long... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of long long" >&5
+echo $ECHO_N "checking size of long long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_long_long" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -22640,10 +23432,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -22651,26 +23444,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -22680,10 +23469,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22691,55 +23481,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -22747,26 +23535,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -22776,10 +23560,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22787,49 +23572,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -22840,10 +23624,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -22851,49 +23636,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77
+'') if test "$ac_cv_type_long_long" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long long), 77
+echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long_long=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -22901,8 +23682,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (long long)); }
-unsigned long ulongval () { return (long) (sizeof (long long)); }
+   typedef long long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -22911,35 +23693,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (long long))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (long long))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (long long))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -22950,29 +23741,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77
+if test "$ac_cv_type_long_long" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long long), 77
+echo "$as_me: error: cannot compute sizeof (long long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long_long=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_long_long=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for __int64" >&5
-echo $ECHO_N "checking for __int64... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for __int64" >&5
+echo $ECHO_N "checking for __int64... $ECHO_C" >&6; }
 if test "${ac_cv_type___int64+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -22983,60 +23777,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef __int64 ac__type_new_;
 int
 main ()
 {
-if ((__int64 *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (__int64))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type___int64=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type___int64=no
+	ac_cv_type___int64=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type___int64" >&5
-echo "${ECHO_T}$ac_cv_type___int64" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type___int64" >&5
+echo "${ECHO_T}$ac_cv_type___int64" >&6; }
 
-echo "$as_me:$LINENO: checking size of __int64" >&5
-echo $ECHO_N "checking size of __int64... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of __int64" >&5
+echo $ECHO_N "checking size of __int64... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof___int64+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type___int64" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -23046,10 +23837,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef __int64 ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (__int64))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -23057,26 +23849,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -23086,10 +23874,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef __int64 ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (__int64))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23097,55 +23886,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef __int64 ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (__int64))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -23153,26 +23940,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -23182,10 +23965,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef __int64 ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (__int64))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23193,49 +23977,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -23246,10 +24029,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef __int64 ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (__int64))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23257,49 +24041,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof___int64=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (__int64), 77
+'') if test "$ac_cv_type___int64" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (__int64)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (__int64), 77
+echo "$as_me: error: cannot compute sizeof (__int64)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof___int64=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -23307,8 +24087,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (__int64)); }
-unsigned long ulongval () { return (long) (sizeof (__int64)); }
+   typedef __int64 ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -23317,35 +24098,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (__int64))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (__int64))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (__int64))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -23356,29 +24146,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (__int64), 77
+if test "$ac_cv_type___int64" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (__int64)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (__int64), 77
+echo "$as_me: error: cannot compute sizeof (__int64)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof___int64=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof___int64=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof___int64" >&5
-echo "${ECHO_T}$ac_cv_sizeof___int64" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof___int64" >&5
+echo "${ECHO_T}$ac_cv_sizeof___int64" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF___INT64 $ac_cv_sizeof___int64
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for float" >&5
-echo $ECHO_N "checking for float... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for float" >&5
+echo $ECHO_N "checking for float... $ECHO_C" >&6; }
 if test "${ac_cv_type_float+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -23389,60 +24182,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef float ac__type_new_;
 int
 main ()
 {
-if ((float *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (float))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_float=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_float=no
+	ac_cv_type_float=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_float" >&5
-echo "${ECHO_T}$ac_cv_type_float" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_float" >&5
+echo "${ECHO_T}$ac_cv_type_float" >&6; }
 
-echo "$as_me:$LINENO: checking size of float" >&5
-echo $ECHO_N "checking size of float... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of float" >&5
+echo $ECHO_N "checking size of float... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_float+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_float" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -23452,10 +24242,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef float ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (float))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -23463,26 +24254,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -23492,10 +24279,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef float ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (float))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23503,55 +24291,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef float ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (float))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -23559,26 +24345,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -23588,10 +24370,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef float ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (float))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23599,49 +24382,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -23652,10 +24434,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef float ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (float))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23663,49 +24446,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_float=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (float), 77
+'') if test "$ac_cv_type_float" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (float)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (float), 77
+echo "$as_me: error: cannot compute sizeof (float)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_float=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -23713,8 +24492,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (float)); }
-unsigned long ulongval () { return (long) (sizeof (float)); }
+   typedef float ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -23723,35 +24503,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (float))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (float))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (float))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -23762,29 +24551,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (float), 77
+if test "$ac_cv_type_float" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (float)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (float), 77
+echo "$as_me: error: cannot compute sizeof (float)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_float=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_float=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_float" >&5
-echo "${ECHO_T}$ac_cv_sizeof_float" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_float" >&5
+echo "${ECHO_T}$ac_cv_sizeof_float" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_FLOAT $ac_cv_sizeof_float
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for double" >&5
-echo $ECHO_N "checking for double... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for double" >&5
+echo $ECHO_N "checking for double... $ECHO_C" >&6; }
 if test "${ac_cv_type_double+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -23795,60 +24587,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef double ac__type_new_;
 int
 main ()
 {
-if ((double *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (double))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_double=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_double=no
+	ac_cv_type_double=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_double" >&5
-echo "${ECHO_T}$ac_cv_type_double" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_double" >&5
+echo "${ECHO_T}$ac_cv_type_double" >&6; }
 
-echo "$as_me:$LINENO: checking size of double" >&5
-echo $ECHO_N "checking size of double... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of double" >&5
+echo $ECHO_N "checking size of double... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_double+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_double" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -23858,10 +24647,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (double))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -23869,26 +24659,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -23898,10 +24684,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (double))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -23909,55 +24696,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (double))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -23965,26 +24750,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -23994,10 +24775,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (double))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24005,49 +24787,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -24058,10 +24839,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (double))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24069,49 +24851,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_double=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (double), 77
+'') if test "$ac_cv_type_double" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (double), 77
+echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_double=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -24119,8 +24897,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (double)); }
-unsigned long ulongval () { return (long) (sizeof (double)); }
+   typedef double ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -24129,35 +24908,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (double))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (double))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (double))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -24168,29 +24956,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (double), 77
+if test "$ac_cv_type_double" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (double), 77
+echo "$as_me: error: cannot compute sizeof (double)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_double=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_double=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
-echo "${ECHO_T}$ac_cv_sizeof_double" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
+echo "${ECHO_T}$ac_cv_sizeof_double" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_DOUBLE $ac_cv_sizeof_double
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for long double" >&5
-echo $ECHO_N "checking for long double... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for long double" >&5
+echo $ECHO_N "checking for long double... $ECHO_C" >&6; }
 if test "${ac_cv_type_long_double+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -24201,60 +24992,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef long double ac__type_new_;
 int
 main ()
 {
-if ((long double *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (long double))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_long_double=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_long_double=no
+	ac_cv_type_long_double=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long_double" >&5
-echo "${ECHO_T}$ac_cv_type_long_double" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_long_double" >&5
+echo "${ECHO_T}$ac_cv_type_long_double" >&6; }
 
-echo "$as_me:$LINENO: checking size of long double" >&5
-echo $ECHO_N "checking size of long double... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of long double" >&5
+echo $ECHO_N "checking size of long double... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long_double+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_long_double" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -24264,10 +25052,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long double))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -24275,26 +25064,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -24304,10 +25089,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long double))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24315,55 +25101,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long double))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -24371,26 +25155,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -24400,10 +25180,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long double))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24411,49 +25192,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -24464,10 +25244,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long double))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24475,49 +25256,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_double=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long double), 77
+'') if test "$ac_cv_type_long_double" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long double), 77
+echo "$as_me: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long_double=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -24525,8 +25302,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (long double)); }
-unsigned long ulongval () { return (long) (sizeof (long double)); }
+   typedef long double ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -24535,35 +25313,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (long double))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (long double))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (long double))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -24574,22 +25361,25 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long double), 77
+if test "$ac_cv_type_long_double" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long double), 77
+echo "$as_me: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long_double=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_long_double=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_double" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long_double" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_double" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long_double" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
 _ACEOF
@@ -24614,39 +25404,58 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -24661,8 +25470,8 @@
 EOF
 fi
 
-echo "$as_me:$LINENO: checking for int8_t" >&5
-echo $ECHO_N "checking for int8_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int8_t" >&5
+echo $ECHO_N "checking for int8_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -24673,60 +25482,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int8_t ac__type_new_;
 int
 main ()
 {
-if ((int8_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int8_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int8_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int8_t=no
+	ac_cv_type_int8_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int8_t" >&5
-echo "${ECHO_T}$ac_cv_type_int8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int8_t" >&5
+echo "${ECHO_T}$ac_cv_type_int8_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int8_t" >&5
-echo $ECHO_N "checking size of int8_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int8_t" >&5
+echo $ECHO_N "checking size of int8_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int8_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -24736,10 +25542,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int8_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -24747,26 +25554,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -24776,10 +25579,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24787,55 +25591,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int8_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -24843,26 +25645,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -24872,10 +25670,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int8_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24883,49 +25682,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -24936,10 +25734,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -24947,49 +25746,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int8_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int8_t), 77
+'') if test "$ac_cv_type_int8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int8_t), 77
+echo "$as_me: error: cannot compute sizeof (int8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int8_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -24997,8 +25792,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int8_t)); }
-unsigned long ulongval () { return (long) (sizeof (int8_t)); }
+   typedef int8_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -25007,35 +25803,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int8_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int8_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int8_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -25046,29 +25851,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int8_t), 77
+if test "$ac_cv_type_int8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int8_t), 77
+echo "$as_me: error: cannot compute sizeof (int8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int8_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int8_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int8_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int8_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int8_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT8_T $ac_cv_sizeof_int8_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint8_t" >&5
-echo $ECHO_N "checking for uint8_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint8_t" >&5
+echo $ECHO_N "checking for uint8_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -25079,60 +25887,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint8_t ac__type_new_;
 int
 main ()
 {
-if ((uint8_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint8_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint8_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint8_t=no
+	ac_cv_type_uint8_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint8_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint8_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint8_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint8_t" >&5
-echo $ECHO_N "checking size of uint8_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint8_t" >&5
+echo $ECHO_N "checking size of uint8_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint8_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -25142,10 +25947,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint8_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -25153,26 +25959,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -25182,10 +25984,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -25193,55 +25996,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint8_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -25249,26 +26050,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -25278,10 +26075,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint8_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -25289,49 +26087,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -25342,10 +26139,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -25353,49 +26151,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint8_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint8_t), 77
+'') if test "$ac_cv_type_uint8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint8_t), 77
+echo "$as_me: error: cannot compute sizeof (uint8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint8_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -25403,8 +26197,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint8_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint8_t)); }
+   typedef uint8_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -25413,35 +26208,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint8_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint8_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint8_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -25452,29 +26256,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint8_t), 77
+if test "$ac_cv_type_uint8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint8_t), 77
+echo "$as_me: error: cannot compute sizeof (uint8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint8_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint8_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint8_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint8_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint8_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT8_T $ac_cv_sizeof_uint8_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_least8_t" >&5
-echo $ECHO_N "checking for int_least8_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_least8_t" >&5
+echo $ECHO_N "checking for int_least8_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_least8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -25485,60 +26292,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_least8_t ac__type_new_;
 int
 main ()
 {
-if ((int_least8_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_least8_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_least8_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_least8_t=no
+	ac_cv_type_int_least8_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_least8_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_least8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least8_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_least8_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_least8_t" >&5
-echo $ECHO_N "checking size of int_least8_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_least8_t" >&5
+echo $ECHO_N "checking size of int_least8_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_least8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_least8_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -25548,10 +26352,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least8_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -25559,26 +26364,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -25588,10 +26389,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -25599,55 +26401,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least8_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -25655,26 +26455,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -25684,10 +26480,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least8_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -25695,49 +26492,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -25748,10 +26544,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -25759,49 +26556,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_least8_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least8_t), 77
+'') if test "$ac_cv_type_int_least8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least8_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least8_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -25809,8 +26602,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_least8_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_least8_t)); }
+   typedef int_least8_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -25819,35 +26613,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_least8_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_least8_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_least8_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -25858,29 +26661,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least8_t), 77
+if test "$ac_cv_type_int_least8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least8_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least8_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_least8_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least8_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_least8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least8_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_least8_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_LEAST8_T $ac_cv_sizeof_int_least8_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_least8_t" >&5
-echo $ECHO_N "checking for uint_least8_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_least8_t" >&5
+echo $ECHO_N "checking for uint_least8_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_least8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -25891,60 +26697,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_least8_t ac__type_new_;
 int
 main ()
 {
-if ((uint_least8_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_least8_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_least8_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_least8_t=no
+	ac_cv_type_uint_least8_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_least8_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_least8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_least8_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_least8_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_least8_t" >&5
-echo $ECHO_N "checking size of uint_least8_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_least8_t" >&5
+echo $ECHO_N "checking size of uint_least8_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_least8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_least8_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -25954,10 +26757,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least8_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -25965,26 +26769,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -25994,10 +26794,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26005,55 +26806,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least8_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -26061,26 +26860,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -26090,10 +26885,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least8_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26101,49 +26897,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -26154,10 +26949,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26165,49 +26961,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_least8_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least8_t), 77
+'') if test "$ac_cv_type_uint_least8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least8_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least8_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -26215,8 +27007,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_least8_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_least8_t)); }
+   typedef uint_least8_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -26225,35 +27018,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_least8_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_least8_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_least8_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -26264,29 +27066,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least8_t), 77
+if test "$ac_cv_type_uint_least8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least8_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least8_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_least8_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least8_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_least8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least8_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_least8_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_LEAST8_T $ac_cv_sizeof_uint_least8_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_fast8_t" >&5
-echo $ECHO_N "checking for int_fast8_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_fast8_t" >&5
+echo $ECHO_N "checking for int_fast8_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_fast8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -26297,60 +27102,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_fast8_t ac__type_new_;
 int
 main ()
 {
-if ((int_fast8_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_fast8_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_fast8_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_fast8_t=no
+	ac_cv_type_int_fast8_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_fast8_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_fast8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast8_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_fast8_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_fast8_t" >&5
-echo $ECHO_N "checking size of int_fast8_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_fast8_t" >&5
+echo $ECHO_N "checking size of int_fast8_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_fast8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_fast8_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -26360,10 +27162,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast8_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -26371,26 +27174,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -26400,10 +27199,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26411,55 +27211,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast8_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -26467,26 +27265,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -26496,10 +27290,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast8_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26507,49 +27302,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -26560,10 +27354,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26571,49 +27366,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_fast8_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast8_t), 77
+'') if test "$ac_cv_type_int_fast8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast8_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast8_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -26621,8 +27412,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_fast8_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_fast8_t)); }
+   typedef int_fast8_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -26631,35 +27423,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_fast8_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_fast8_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_fast8_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -26670,29 +27471,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast8_t), 77
+if test "$ac_cv_type_int_fast8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast8_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast8_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_fast8_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast8_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_fast8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast8_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_fast8_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_FAST8_T $ac_cv_sizeof_int_fast8_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_fast8_t" >&5
-echo $ECHO_N "checking for uint_fast8_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_fast8_t" >&5
+echo $ECHO_N "checking for uint_fast8_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_fast8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -26703,60 +27507,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_fast8_t ac__type_new_;
 int
 main ()
 {
-if ((uint_fast8_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_fast8_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_fast8_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_fast8_t=no
+	ac_cv_type_uint_fast8_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast8_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_fast8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast8_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_fast8_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_fast8_t" >&5
-echo $ECHO_N "checking size of uint_fast8_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_fast8_t" >&5
+echo $ECHO_N "checking size of uint_fast8_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_fast8_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_fast8_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -26766,10 +27567,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast8_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -26777,26 +27579,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -26806,10 +27604,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26817,55 +27616,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast8_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -26873,26 +27670,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -26902,10 +27695,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast8_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26913,49 +27707,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -26966,10 +27759,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast8_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast8_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -26977,49 +27771,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_fast8_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast8_t), 77
+'') if test "$ac_cv_type_uint_fast8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast8_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast8_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -27027,8 +27817,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_fast8_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_fast8_t)); }
+   typedef uint_fast8_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -27037,35 +27828,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_fast8_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_fast8_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_fast8_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -27076,30 +27876,33 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast8_t), 77
+if test "$ac_cv_type_uint_fast8_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast8_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast8_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast8_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast8_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_fast8_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast8_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_fast8_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast8_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_fast8_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_FAST8_T $ac_cv_sizeof_uint_fast8_t
 _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking for int16_t" >&5
-echo $ECHO_N "checking for int16_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int16_t" >&5
+echo $ECHO_N "checking for int16_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -27110,60 +27913,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int16_t ac__type_new_;
 int
 main ()
 {
-if ((int16_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int16_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int16_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int16_t=no
+	ac_cv_type_int16_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int16_t" >&5
-echo "${ECHO_T}$ac_cv_type_int16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int16_t" >&5
+echo "${ECHO_T}$ac_cv_type_int16_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int16_t" >&5
-echo $ECHO_N "checking size of int16_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int16_t" >&5
+echo $ECHO_N "checking size of int16_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int16_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -27173,10 +27973,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int16_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -27184,26 +27985,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -27213,10 +28010,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -27224,55 +28022,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int16_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -27280,26 +28076,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -27309,10 +28101,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int16_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -27320,49 +28113,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -27373,10 +28165,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -27384,49 +28177,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int16_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int16_t), 77
+'') if test "$ac_cv_type_int16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int16_t), 77
+echo "$as_me: error: cannot compute sizeof (int16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int16_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -27434,8 +28223,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int16_t)); }
-unsigned long ulongval () { return (long) (sizeof (int16_t)); }
+   typedef int16_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -27444,35 +28234,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int16_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int16_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int16_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -27483,29 +28282,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int16_t), 77
+if test "$ac_cv_type_int16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int16_t), 77
+echo "$as_me: error: cannot compute sizeof (int16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int16_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int16_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int16_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int16_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int16_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT16_T $ac_cv_sizeof_int16_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint16_t" >&5
-echo $ECHO_N "checking for uint16_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint16_t" >&5
+echo $ECHO_N "checking for uint16_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -27516,60 +28318,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint16_t ac__type_new_;
 int
 main ()
 {
-if ((uint16_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint16_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint16_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint16_t=no
+	ac_cv_type_uint16_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint16_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint16_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint16_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint16_t" >&5
-echo $ECHO_N "checking size of uint16_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint16_t" >&5
+echo $ECHO_N "checking size of uint16_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint16_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -27579,10 +28378,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint16_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -27590,26 +28390,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -27619,10 +28415,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -27630,55 +28427,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint16_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -27686,26 +28481,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -27715,10 +28506,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint16_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -27726,49 +28518,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -27779,10 +28570,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -27790,49 +28582,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint16_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint16_t), 77
+'') if test "$ac_cv_type_uint16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint16_t), 77
+echo "$as_me: error: cannot compute sizeof (uint16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint16_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -27840,8 +28628,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint16_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint16_t)); }
+   typedef uint16_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -27850,35 +28639,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint16_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint16_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint16_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -27889,29 +28687,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint16_t), 77
+if test "$ac_cv_type_uint16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint16_t), 77
+echo "$as_me: error: cannot compute sizeof (uint16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint16_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint16_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint16_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint16_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint16_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT16_T $ac_cv_sizeof_uint16_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_least16_t" >&5
-echo $ECHO_N "checking for int_least16_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_least16_t" >&5
+echo $ECHO_N "checking for int_least16_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_least16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -27922,60 +28723,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_least16_t ac__type_new_;
 int
 main ()
 {
-if ((int_least16_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_least16_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_least16_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_least16_t=no
+	ac_cv_type_int_least16_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_least16_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_least16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least16_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_least16_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_least16_t" >&5
-echo $ECHO_N "checking size of int_least16_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_least16_t" >&5
+echo $ECHO_N "checking size of int_least16_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_least16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_least16_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -27985,10 +28783,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least16_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -27996,26 +28795,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -28025,10 +28820,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28036,55 +28832,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least16_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -28092,26 +28886,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -28121,10 +28911,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least16_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28132,49 +28923,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -28185,10 +28975,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28196,49 +28987,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_least16_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least16_t), 77
+'') if test "$ac_cv_type_int_least16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least16_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least16_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -28246,8 +29033,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_least16_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_least16_t)); }
+   typedef int_least16_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -28256,35 +29044,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_least16_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_least16_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_least16_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -28295,29 +29092,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least16_t), 77
+if test "$ac_cv_type_int_least16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least16_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least16_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_least16_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least16_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_least16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least16_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_least16_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_LEAST16_T $ac_cv_sizeof_int_least16_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_least16_t" >&5
-echo $ECHO_N "checking for uint_least16_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_least16_t" >&5
+echo $ECHO_N "checking for uint_least16_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_least16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -28328,60 +29128,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_least16_t ac__type_new_;
 int
 main ()
 {
-if ((uint_least16_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_least16_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_least16_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_least16_t=no
+	ac_cv_type_uint_least16_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_least16_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_least16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_least16_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_least16_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_least16_t" >&5
-echo $ECHO_N "checking size of uint_least16_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_least16_t" >&5
+echo $ECHO_N "checking size of uint_least16_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_least16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_least16_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -28391,10 +29188,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least16_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -28402,26 +29200,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -28431,10 +29225,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28442,55 +29237,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least16_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -28498,26 +29291,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -28527,10 +29316,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least16_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28538,49 +29328,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -28591,10 +29380,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28602,49 +29392,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_least16_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least16_t), 77
+'') if test "$ac_cv_type_uint_least16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least16_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least16_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -28652,8 +29438,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_least16_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_least16_t)); }
+   typedef uint_least16_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -28662,35 +29449,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_least16_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_least16_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_least16_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -28701,29 +29497,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least16_t), 77
+if test "$ac_cv_type_uint_least16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least16_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least16_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_least16_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least16_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_least16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least16_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_least16_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_LEAST16_T $ac_cv_sizeof_uint_least16_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_fast16_t" >&5
-echo $ECHO_N "checking for int_fast16_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_fast16_t" >&5
+echo $ECHO_N "checking for int_fast16_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_fast16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -28734,60 +29533,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_fast16_t ac__type_new_;
 int
 main ()
 {
-if ((int_fast16_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_fast16_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_fast16_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_fast16_t=no
+	ac_cv_type_int_fast16_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_fast16_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_fast16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast16_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_fast16_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_fast16_t" >&5
-echo $ECHO_N "checking size of int_fast16_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_fast16_t" >&5
+echo $ECHO_N "checking size of int_fast16_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_fast16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_fast16_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -28797,10 +29593,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast16_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -28808,26 +29605,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -28837,10 +29630,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28848,55 +29642,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast16_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -28904,26 +29696,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -28933,10 +29721,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast16_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -28944,49 +29733,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -28997,10 +29785,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29008,49 +29797,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_fast16_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast16_t), 77
+'') if test "$ac_cv_type_int_fast16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast16_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast16_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -29058,8 +29843,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_fast16_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_fast16_t)); }
+   typedef int_fast16_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -29068,35 +29854,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_fast16_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_fast16_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_fast16_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -29107,29 +29902,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast16_t), 77
+if test "$ac_cv_type_int_fast16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast16_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast16_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_fast16_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast16_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_fast16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast16_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_fast16_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_FAST16_T $ac_cv_sizeof_int_fast16_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_fast16_t" >&5
-echo $ECHO_N "checking for uint_fast16_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_fast16_t" >&5
+echo $ECHO_N "checking for uint_fast16_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_fast16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29140,60 +29938,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_fast16_t ac__type_new_;
 int
 main ()
 {
-if ((uint_fast16_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_fast16_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_fast16_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_fast16_t=no
+	ac_cv_type_uint_fast16_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast16_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_fast16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast16_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_fast16_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_fast16_t" >&5
-echo $ECHO_N "checking size of uint_fast16_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_fast16_t" >&5
+echo $ECHO_N "checking size of uint_fast16_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_fast16_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_fast16_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -29203,10 +29998,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast16_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -29214,26 +30010,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -29243,10 +30035,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29254,55 +30047,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast16_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -29310,26 +30101,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -29339,10 +30126,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast16_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29350,49 +30138,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -29403,10 +30190,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast16_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast16_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29414,49 +30202,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_fast16_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast16_t), 77
+'') if test "$ac_cv_type_uint_fast16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast16_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast16_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -29464,8 +30248,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_fast16_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_fast16_t)); }
+   typedef uint_fast16_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -29474,35 +30259,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_fast16_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_fast16_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_fast16_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -29513,30 +30307,33 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast16_t), 77
+if test "$ac_cv_type_uint_fast16_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast16_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast16_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast16_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast16_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_fast16_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast16_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_fast16_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast16_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_fast16_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_FAST16_T $ac_cv_sizeof_uint_fast16_t
 _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking for int32_t" >&5
-echo $ECHO_N "checking for int32_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int32_t" >&5
+echo $ECHO_N "checking for int32_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29547,60 +30344,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int32_t ac__type_new_;
 int
 main ()
 {
-if ((int32_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int32_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int32_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int32_t=no
+	ac_cv_type_int32_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int32_t" >&5
-echo "${ECHO_T}$ac_cv_type_int32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int32_t" >&5
+echo "${ECHO_T}$ac_cv_type_int32_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int32_t" >&5
-echo $ECHO_N "checking size of int32_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int32_t" >&5
+echo $ECHO_N "checking size of int32_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int32_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -29610,10 +30404,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int32_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -29621,26 +30416,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -29650,10 +30441,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29661,55 +30453,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int32_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -29717,26 +30507,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -29746,10 +30532,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int32_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29757,49 +30544,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -29810,10 +30596,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -29821,49 +30608,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int32_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int32_t), 77
+'') if test "$ac_cv_type_int32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int32_t), 77
+echo "$as_me: error: cannot compute sizeof (int32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int32_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -29871,8 +30654,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int32_t)); }
-unsigned long ulongval () { return (long) (sizeof (int32_t)); }
+   typedef int32_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -29881,35 +30665,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int32_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int32_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int32_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -29920,29 +30713,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int32_t), 77
+if test "$ac_cv_type_int32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int32_t), 77
+echo "$as_me: error: cannot compute sizeof (int32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int32_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int32_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int32_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int32_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int32_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT32_T $ac_cv_sizeof_int32_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint32_t" >&5
-echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint32_t" >&5
+echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -29953,60 +30749,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint32_t ac__type_new_;
 int
 main ()
 {
-if ((uint32_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint32_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint32_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint32_t=no
+	ac_cv_type_uint32_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint32_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint32_t" >&5
-echo $ECHO_N "checking size of uint32_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint32_t" >&5
+echo $ECHO_N "checking size of uint32_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint32_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -30016,10 +30809,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint32_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -30027,26 +30821,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -30056,10 +30846,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30067,55 +30858,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint32_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -30123,26 +30912,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -30152,10 +30937,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint32_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30163,49 +30949,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -30216,10 +31001,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30227,49 +31013,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint32_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint32_t), 77
+'') if test "$ac_cv_type_uint32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint32_t), 77
+echo "$as_me: error: cannot compute sizeof (uint32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint32_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -30277,8 +31059,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint32_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint32_t)); }
+   typedef uint32_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -30287,35 +31070,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint32_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint32_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint32_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -30326,29 +31118,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint32_t), 77
+if test "$ac_cv_type_uint32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint32_t), 77
+echo "$as_me: error: cannot compute sizeof (uint32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint32_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint32_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint32_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint32_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint32_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT32_T $ac_cv_sizeof_uint32_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_least32_t" >&5
-echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_least32_t" >&5
+echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_least32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -30359,60 +31154,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_least32_t ac__type_new_;
 int
 main ()
 {
-if ((int_least32_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_least32_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_least32_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_least32_t=no
+	ac_cv_type_int_least32_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_least32_t" >&5
-echo $ECHO_N "checking size of int_least32_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_least32_t" >&5
+echo $ECHO_N "checking size of int_least32_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_least32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_least32_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -30422,10 +31214,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least32_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -30433,26 +31226,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -30462,10 +31251,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30473,55 +31263,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least32_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -30529,26 +31317,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -30558,10 +31342,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least32_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30569,49 +31354,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -30622,10 +31406,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30633,49 +31418,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_least32_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least32_t), 77
+'') if test "$ac_cv_type_int_least32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least32_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least32_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -30683,8 +31464,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_least32_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_least32_t)); }
+   typedef int_least32_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -30693,35 +31475,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_least32_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_least32_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_least32_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -30732,29 +31523,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least32_t), 77
+if test "$ac_cv_type_int_least32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least32_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least32_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_least32_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least32_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_least32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least32_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_least32_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_LEAST32_T $ac_cv_sizeof_int_least32_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_least32_t" >&5
-echo $ECHO_N "checking for uint_least32_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_least32_t" >&5
+echo $ECHO_N "checking for uint_least32_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_least32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -30765,60 +31559,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_least32_t ac__type_new_;
 int
 main ()
 {
-if ((uint_least32_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_least32_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_least32_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_least32_t=no
+	ac_cv_type_uint_least32_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_least32_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_least32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_least32_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_least32_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_least32_t" >&5
-echo $ECHO_N "checking size of uint_least32_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_least32_t" >&5
+echo $ECHO_N "checking size of uint_least32_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_least32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_least32_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -30828,10 +31619,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least32_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -30839,26 +31631,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -30868,10 +31656,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30879,55 +31668,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least32_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -30935,26 +31722,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -30964,10 +31747,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least32_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -30975,49 +31759,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -31028,10 +31811,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31039,49 +31823,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_least32_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least32_t), 77
+'') if test "$ac_cv_type_uint_least32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least32_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least32_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -31089,8 +31869,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_least32_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_least32_t)); }
+   typedef uint_least32_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -31099,35 +31880,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_least32_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_least32_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_least32_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -31138,29 +31928,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least32_t), 77
+if test "$ac_cv_type_uint_least32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least32_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least32_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_least32_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least32_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_least32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least32_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_least32_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_LEAST32_T $ac_cv_sizeof_uint_least32_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_fast32_t" >&5
-echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_fast32_t" >&5
+echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_fast32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -31171,60 +31964,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_fast32_t ac__type_new_;
 int
 main ()
 {
-if ((int_fast32_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_fast32_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_fast32_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_fast32_t=no
+	ac_cv_type_int_fast32_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_fast32_t" >&5
-echo $ECHO_N "checking size of int_fast32_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_fast32_t" >&5
+echo $ECHO_N "checking size of int_fast32_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_fast32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_fast32_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -31234,10 +32024,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast32_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -31245,26 +32036,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -31274,10 +32061,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31285,55 +32073,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast32_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -31341,26 +32127,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -31370,10 +32152,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast32_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31381,49 +32164,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -31434,10 +32216,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31445,49 +32228,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_fast32_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast32_t), 77
+'') if test "$ac_cv_type_int_fast32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast32_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast32_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -31495,8 +32274,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_fast32_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_fast32_t)); }
+   typedef int_fast32_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -31505,35 +32285,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_fast32_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_fast32_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_fast32_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -31544,29 +32333,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast32_t), 77
+if test "$ac_cv_type_int_fast32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast32_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast32_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_fast32_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast32_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_fast32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast32_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_fast32_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_FAST32_T $ac_cv_sizeof_int_fast32_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_fast32_t" >&5
-echo $ECHO_N "checking for uint_fast32_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_fast32_t" >&5
+echo $ECHO_N "checking for uint_fast32_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_fast32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -31577,60 +32369,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_fast32_t ac__type_new_;
 int
 main ()
 {
-if ((uint_fast32_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_fast32_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_fast32_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_fast32_t=no
+	ac_cv_type_uint_fast32_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast32_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_fast32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast32_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_fast32_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_fast32_t" >&5
-echo $ECHO_N "checking size of uint_fast32_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_fast32_t" >&5
+echo $ECHO_N "checking size of uint_fast32_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_fast32_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_fast32_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -31640,10 +32429,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast32_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -31651,26 +32441,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -31680,10 +32466,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31691,55 +32478,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast32_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -31747,26 +32532,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -31776,10 +32557,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast32_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31787,49 +32569,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -31840,10 +32621,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast32_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast32_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -31851,49 +32633,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_fast32_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast32_t), 77
+'') if test "$ac_cv_type_uint_fast32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast32_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast32_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -31901,8 +32679,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_fast32_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_fast32_t)); }
+   typedef uint_fast32_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -31911,35 +32690,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_fast32_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_fast32_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_fast32_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -31950,30 +32738,33 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast32_t), 77
+if test "$ac_cv_type_uint_fast32_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast32_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast32_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast32_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast32_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_fast32_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast32_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_fast32_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast32_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_fast32_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_FAST32_T $ac_cv_sizeof_uint_fast32_t
 _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking for int64_t" >&5
-echo $ECHO_N "checking for int64_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int64_t" >&5
+echo $ECHO_N "checking for int64_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -31984,60 +32775,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int64_t ac__type_new_;
 int
 main ()
 {
-if ((int64_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int64_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int64_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int64_t=no
+	ac_cv_type_int64_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int64_t" >&5
-echo "${ECHO_T}$ac_cv_type_int64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int64_t" >&5
+echo "${ECHO_T}$ac_cv_type_int64_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int64_t" >&5
-echo $ECHO_N "checking size of int64_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int64_t" >&5
+echo $ECHO_N "checking size of int64_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int64_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -32047,10 +32835,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int64_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -32058,26 +32847,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -32087,10 +32872,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32098,55 +32884,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int64_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -32154,26 +32938,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -32183,10 +32963,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int64_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32194,49 +32975,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -32247,10 +33027,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32258,49 +33039,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int64_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int64_t), 77
+'') if test "$ac_cv_type_int64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int64_t), 77
+echo "$as_me: error: cannot compute sizeof (int64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int64_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -32308,8 +33085,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int64_t)); }
-unsigned long ulongval () { return (long) (sizeof (int64_t)); }
+   typedef int64_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -32318,35 +33096,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int64_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int64_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int64_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -32357,29 +33144,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int64_t), 77
+if test "$ac_cv_type_int64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int64_t), 77
+echo "$as_me: error: cannot compute sizeof (int64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int64_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int64_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int64_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int64_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int64_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT64_T $ac_cv_sizeof_int64_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint64_t" >&5
-echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint64_t" >&5
+echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -32390,60 +33180,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint64_t ac__type_new_;
 int
 main ()
 {
-if ((uint64_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint64_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint64_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint64_t=no
+	ac_cv_type_uint64_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint64_t" >&5
-echo $ECHO_N "checking size of uint64_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint64_t" >&5
+echo $ECHO_N "checking size of uint64_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint64_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -32453,10 +33240,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint64_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -32464,26 +33252,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -32493,10 +33277,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32504,55 +33289,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint64_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -32560,26 +33343,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -32589,10 +33368,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint64_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32600,49 +33380,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -32653,10 +33432,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32664,49 +33444,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint64_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint64_t), 77
+'') if test "$ac_cv_type_uint64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint64_t), 77
+echo "$as_me: error: cannot compute sizeof (uint64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint64_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -32714,8 +33490,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint64_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint64_t)); }
+   typedef uint64_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -32724,35 +33501,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint64_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint64_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint64_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -32763,29 +33549,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint64_t), 77
+if test "$ac_cv_type_uint64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint64_t), 77
+echo "$as_me: error: cannot compute sizeof (uint64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint64_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint64_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint64_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint64_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint64_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT64_T $ac_cv_sizeof_uint64_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_least64_t" >&5
-echo $ECHO_N "checking for int_least64_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_least64_t" >&5
+echo $ECHO_N "checking for int_least64_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_least64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -32796,60 +33585,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_least64_t ac__type_new_;
 int
 main ()
 {
-if ((int_least64_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_least64_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_least64_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_least64_t=no
+	ac_cv_type_int_least64_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_least64_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_least64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least64_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_least64_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_least64_t" >&5
-echo $ECHO_N "checking size of int_least64_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_least64_t" >&5
+echo $ECHO_N "checking size of int_least64_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_least64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_least64_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -32859,10 +33645,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least64_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -32870,26 +33657,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -32899,10 +33682,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -32910,55 +33694,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least64_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -32966,26 +33748,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -32995,10 +33773,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least64_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33006,49 +33785,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -33059,10 +33837,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_least64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33070,49 +33849,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_least64_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least64_t), 77
+'') if test "$ac_cv_type_int_least64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least64_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least64_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -33120,8 +33895,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_least64_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_least64_t)); }
+   typedef int_least64_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -33130,35 +33906,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_least64_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_least64_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_least64_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -33169,29 +33954,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least64_t), 77
+if test "$ac_cv_type_int_least64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_least64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_least64_t), 77
+echo "$as_me: error: cannot compute sizeof (int_least64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_least64_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_least64_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least64_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_least64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_least64_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_least64_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_LEAST64_T $ac_cv_sizeof_int_least64_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_least64_t" >&5
-echo $ECHO_N "checking for uint_least64_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_least64_t" >&5
+echo $ECHO_N "checking for uint_least64_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_least64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -33202,60 +33990,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_least64_t ac__type_new_;
 int
 main ()
 {
-if ((uint_least64_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_least64_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_least64_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_least64_t=no
+	ac_cv_type_uint_least64_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_least64_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_least64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_least64_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_least64_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_least64_t" >&5
-echo $ECHO_N "checking size of uint_least64_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_least64_t" >&5
+echo $ECHO_N "checking size of uint_least64_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_least64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_least64_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -33265,10 +34050,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least64_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -33276,26 +34062,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -33305,10 +34087,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33316,55 +34099,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least64_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -33372,26 +34153,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -33401,10 +34178,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least64_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33412,49 +34190,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -33465,10 +34242,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_least64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_least64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33476,49 +34254,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_least64_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least64_t), 77
+'') if test "$ac_cv_type_uint_least64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least64_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least64_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -33526,8 +34300,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_least64_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_least64_t)); }
+   typedef uint_least64_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -33536,35 +34311,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_least64_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_least64_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_least64_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -33575,29 +34359,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least64_t), 77
+if test "$ac_cv_type_uint_least64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_least64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_least64_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_least64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_least64_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_least64_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least64_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_least64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_least64_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_least64_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_LEAST64_T $ac_cv_sizeof_uint_least64_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for int_fast64_t" >&5
-echo $ECHO_N "checking for int_fast64_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for int_fast64_t" >&5
+echo $ECHO_N "checking for int_fast64_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_int_fast64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -33608,60 +34395,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef int_fast64_t ac__type_new_;
 int
 main ()
 {
-if ((int_fast64_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (int_fast64_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_int_fast64_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_int_fast64_t=no
+	ac_cv_type_int_fast64_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int_fast64_t" >&5
-echo "${ECHO_T}$ac_cv_type_int_fast64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast64_t" >&5
+echo "${ECHO_T}$ac_cv_type_int_fast64_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of int_fast64_t" >&5
-echo $ECHO_N "checking size of int_fast64_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int_fast64_t" >&5
+echo $ECHO_N "checking size of int_fast64_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_int_fast64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_int_fast64_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -33671,10 +34455,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast64_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -33682,26 +34467,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -33711,10 +34492,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33722,55 +34504,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast64_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -33778,26 +34558,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -33807,10 +34583,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast64_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33818,49 +34595,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -33871,10 +34647,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef int_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (int_fast64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -33882,49 +34659,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_int_fast64_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast64_t), 77
+'') if test "$ac_cv_type_int_fast64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast64_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast64_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -33932,8 +34705,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (int_fast64_t)); }
-unsigned long ulongval () { return (long) (sizeof (int_fast64_t)); }
+   typedef int_fast64_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -33942,35 +34716,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (int_fast64_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (int_fast64_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (int_fast64_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -33981,29 +34764,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast64_t), 77
+if test "$ac_cv_type_int_fast64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int_fast64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int_fast64_t), 77
+echo "$as_me: error: cannot compute sizeof (int_fast64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int_fast64_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_int_fast64_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast64_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int_fast64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int_fast64_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int_fast64_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT_FAST64_T $ac_cv_sizeof_int_fast64_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for uint_fast64_t" >&5
-echo $ECHO_N "checking for uint_fast64_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for uint_fast64_t" >&5
+echo $ECHO_N "checking for uint_fast64_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_uint_fast64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -34014,60 +34800,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef uint_fast64_t ac__type_new_;
 int
 main ()
 {
-if ((uint_fast64_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (uint_fast64_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_uint_fast64_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_uint_fast64_t=no
+	ac_cv_type_uint_fast64_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast64_t" >&5
-echo "${ECHO_T}$ac_cv_type_uint_fast64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_uint_fast64_t" >&5
+echo "${ECHO_T}$ac_cv_type_uint_fast64_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of uint_fast64_t" >&5
-echo $ECHO_N "checking size of uint_fast64_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of uint_fast64_t" >&5
+echo $ECHO_N "checking size of uint_fast64_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_uint_fast64_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_uint_fast64_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -34077,10 +34860,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast64_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -34088,26 +34872,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -34117,10 +34897,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34128,55 +34909,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast64_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -34184,26 +34963,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -34213,10 +34988,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast64_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34224,49 +35000,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -34277,10 +35052,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef uint_fast64_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (uint_fast64_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34288,49 +35064,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_uint_fast64_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast64_t), 77
+'') if test "$ac_cv_type_uint_fast64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast64_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast64_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -34338,8 +35110,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (uint_fast64_t)); }
-unsigned long ulongval () { return (long) (sizeof (uint_fast64_t)); }
+   typedef uint_fast64_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -34348,35 +35121,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (uint_fast64_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (uint_fast64_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (uint_fast64_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -34387,30 +35169,33 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast64_t), 77
+if test "$ac_cv_type_uint_fast64_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (uint_fast64_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (uint_fast64_t), 77
+echo "$as_me: error: cannot compute sizeof (uint_fast64_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_uint_fast64_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_uint_fast64_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast64_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_uint_fast64_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_uint_fast64_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_uint_fast64_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_UINT_FAST64_T $ac_cv_sizeof_uint_fast64_t
 _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_size_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -34421,60 +35206,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef size_t ac__type_new_;
 int
 main ()
 {
-if ((size_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (size_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_size_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_size_t=no
+	ac_cv_type_size_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of size_t" >&5
-echo $ECHO_N "checking size of size_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of size_t" >&5
+echo $ECHO_N "checking size of size_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_size_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_size_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -34484,10 +35266,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef size_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (size_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -34495,26 +35278,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -34524,10 +35303,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef size_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34535,55 +35315,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef size_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (size_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -34591,26 +35369,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -34620,10 +35394,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef size_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (size_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34631,49 +35406,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -34684,10 +35458,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef size_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (size_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34695,49 +35470,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_size_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77
+'') if test "$ac_cv_type_size_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (size_t), 77
+echo "$as_me: error: cannot compute sizeof (size_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_size_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -34745,8 +35516,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (size_t)); }
-unsigned long ulongval () { return (long) (sizeof (size_t)); }
+   typedef size_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -34755,35 +35527,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (size_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (size_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (size_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -34794,29 +35575,32 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t), 77
+if test "$ac_cv_type_size_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (size_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (size_t), 77
+echo "$as_me: error: cannot compute sizeof (size_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_size_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_size_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking for ssize_t" >&5
-echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ssize_t" >&5
+echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_ssize_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -34827,60 +35611,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef ssize_t ac__type_new_;
 int
 main ()
 {
-if ((ssize_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (ssize_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_ssize_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_ssize_t=no
+	ac_cv_type_ssize_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of ssize_t" >&5
-echo $ECHO_N "checking size of ssize_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of ssize_t" >&5
+echo $ECHO_N "checking size of ssize_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_ssize_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_ssize_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -34890,10 +35671,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef ssize_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (ssize_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -34901,26 +35683,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -34930,10 +35708,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef ssize_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (ssize_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -34941,55 +35720,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef ssize_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (ssize_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -34997,26 +35774,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -35026,10 +35799,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef ssize_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (ssize_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -35037,49 +35811,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -35090,10 +35863,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef ssize_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (ssize_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -35101,49 +35875,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_ssize_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (ssize_t), 77
+'') if test "$ac_cv_type_ssize_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (ssize_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (ssize_t), 77
+echo "$as_me: error: cannot compute sizeof (ssize_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_ssize_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -35151,8 +35921,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (ssize_t)); }
-unsigned long ulongval () { return (long) (sizeof (ssize_t)); }
+   typedef ssize_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -35161,35 +35932,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (ssize_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (ssize_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (ssize_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -35200,22 +35980,25 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (ssize_t), 77
+if test "$ac_cv_type_ssize_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (ssize_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (ssize_t), 77
+echo "$as_me: error: cannot compute sizeof (ssize_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_ssize_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_ssize_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_ssize_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_ssize_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_SSIZE_T $ac_cv_sizeof_ssize_t
 _ACEOF
@@ -35225,8 +36008,8 @@
 cat >>confdefs.h <<\EOF
 #include <sys/types.h> /*for off_t definition*/
 EOF
-echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for off_t" >&5
+echo $ECHO_N "checking for off_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_off_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -35237,60 +36020,57 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef off_t ac__type_new_;
 int
 main ()
 {
-if ((off_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (off_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_type_off_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_off_t=no
+	ac_cv_type_off_t=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
+echo "${ECHO_T}$ac_cv_type_off_t" >&6; }
 
-echo "$as_me:$LINENO: checking size of off_t" >&5
-echo $ECHO_N "checking size of off_t... $ECHO_C" >&6
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of off_t" >&5
+echo $ECHO_N "checking size of off_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_off_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$ac_cv_type_off_t" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
-  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-  # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
@@ -35300,10 +36080,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef off_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (off_t))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -35311,26 +36092,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -35340,10 +36117,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef off_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (off_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -35351,55 +36129,53 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-		    if test $ac_lo -le $ac_mid; then
-		      ac_lo= ac_hi=
-		      break
-		    fi
-		    ac_mid=`expr 2 '*' $ac_mid + 1`
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef off_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (off_t))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -35407,26 +36183,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
@@ -35436,10 +36208,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef off_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (off_t))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -35447,49 +36220,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-		       if test $ac_mid -le $ac_hi; then
-			 ac_lo= ac_hi=
-			 break
-		       fi
-		       ac_mid=`expr 2 '*' $ac_mid`
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+	ac_lo= ac_hi=
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
@@ -35500,10 +36272,11 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+   typedef off_t ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (off_t))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -35511,49 +36284,45 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_off_t=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (off_t), 77
+'') if test "$ac_cv_type_off_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (off_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (off_t), 77
+echo "$as_me: error: cannot compute sizeof (off_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_off_t=0
+   fi ;;
 esac
 else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
-   { (exit 1); exit 1; }; }
-else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -35561,8 +36330,9 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (off_t)); }
-unsigned long ulongval () { return (long) (sizeof (off_t)); }
+   typedef off_t ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -35571,35 +36341,44 @@
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (off_t))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (off_t))))
-	exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (off_t))))
-	exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -35610,22 +36389,25 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (off_t), 77
+if test "$ac_cv_type_off_t" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (off_t)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (off_t), 77
+echo "$as_me: error: cannot compute sizeof (off_t)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_off_t=0
+   fi
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-fi
 rm -f conftest.val
-else
-  ac_cv_sizeof_off_t=0
 fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_off_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_off_t" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_off_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_off_t" >&6; }
+
+
+
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_OFF_T $ac_cv_sizeof_off_t
 _ACEOF
@@ -35650,45 +36432,64 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
 
-echo "$as_me:$LINENO: checking if dev_t is scalar" >&5
-echo $ECHO_N "checking if dev_t is scalar... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if dev_t is scalar" >&5
+echo $ECHO_N "checking if dev_t is scalar... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -35709,59 +36510,56 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define DEV_T_IS_SCALAR 1
 _ACEOF
 
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-# Check whether --with-fnord or --without-fnord was given.
+
+# Check whether --with-fnord was given.
 if test "${with_fnord+set}" = set; then
-  withval="$with_fnord"
+  withval=$with_fnord;
+fi
 
-fi;
 
 
-# Check whether --with-dmalloc or --without-dmalloc was given.
+# Check whether --with-dmalloc was given.
 if test "${with_dmalloc+set}" = set; then
-  withval="$with_dmalloc"
-
+  withval=$with_dmalloc;
 else
   withval=no
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_DMALLOC="yes"
@@ -35769,18 +36567,19 @@
 for ac_header in dmalloc.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -35791,40 +36590,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -35833,24 +36629,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -35858,9 +36652,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -35884,25 +36679,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -35915,8 +36709,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for dmalloc_shutdown in -ldmalloc" >&5
-echo $ECHO_N "checking for dmalloc_shutdown in -ldmalloc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for dmalloc_shutdown in -ldmalloc" >&5
+echo $ECHO_N "checking for dmalloc_shutdown in -ldmalloc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dmalloc_dmalloc_shutdown+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -35929,55 +36723,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dmalloc_shutdown ();
 int
 main ()
 {
-dmalloc_shutdown ();
+return dmalloc_shutdown ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dmalloc_dmalloc_shutdown=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dmalloc_dmalloc_shutdown=no
+	ac_cv_lib_dmalloc_dmalloc_shutdown=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5
-echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5
+echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6; }
 if test $ac_cv_lib_dmalloc_dmalloc_shutdown = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBDMALLOC 1
@@ -35998,10 +36790,10 @@
     ;;
   no)
     HAVE_DMALLOC="no"
-    echo "$as_me:$LINENO: checking for dmalloc library" >&5
-echo $ECHO_N "checking for dmalloc library... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for dmalloc library" >&5
+echo $ECHO_N "checking for dmalloc library... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_DMALLOC="yes"
@@ -36036,18 +36828,19 @@
 for ac_header in dmalloc.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -36058,40 +36851,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -36100,24 +36890,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -36125,9 +36913,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -36151,25 +36940,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -36189,8 +36977,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for dmalloc_shutdown in -ldmalloc" >&5
-echo $ECHO_N "checking for dmalloc_shutdown in -ldmalloc... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for dmalloc_shutdown in -ldmalloc" >&5
+echo $ECHO_N "checking for dmalloc_shutdown in -ldmalloc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dmalloc_dmalloc_shutdown+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -36203,55 +36991,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dmalloc_shutdown ();
 int
 main ()
 {
-dmalloc_shutdown ();
+return dmalloc_shutdown ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dmalloc_dmalloc_shutdown=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dmalloc_dmalloc_shutdown=no
+	ac_cv_lib_dmalloc_dmalloc_shutdown=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5
-echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dmalloc_dmalloc_shutdown" >&5
+echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_shutdown" >&6; }
 if test $ac_cv_lib_dmalloc_dmalloc_shutdown = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBDMALLOC 1
@@ -36274,14 +37060,14 @@
 
  USE_FILTER_DEFLATE="no"
 
-# Check whether --with-zlib or --without-zlib was given.
+# Check whether --with-zlib was given.
 if test "${with_zlib+set}" = set; then
-  withval="$with_zlib"
-
+  withval=$with_zlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_ZLIB="yes"
@@ -36289,18 +37075,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -36311,40 +37098,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -36353,24 +37137,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -36378,9 +37160,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -36404,25 +37187,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -36435,8 +37217,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -36449,55 +37231,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -36509,8 +37289,8 @@
   unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -36537,67 +37317,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -36611,10 +37383,10 @@
     ;;
   no)
     HAVE_ZLIB="no"
-    echo "$as_me:$LINENO: checking for GNU zlib" >&5
-echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for GNU zlib" >&5
+echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_ZLIB="yes"
@@ -36649,18 +37421,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -36671,40 +37444,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -36713,24 +37483,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -36738,9 +37506,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -36764,25 +37533,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -36802,8 +37570,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -36816,55 +37584,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -36876,8 +37642,8 @@
   LDFLAGS="$saved_LDFLAGS"; unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -36904,67 +37670,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -36995,14 +37753,14 @@
 
  USE_FILTER_SZIP="no"
 
-# Check whether --with-szlib or --without-szlib was given.
+# Check whether --with-szlib was given.
 if test "${with_szlib+set}" = set; then
-  withval="$with_szlib"
-
+  withval=$with_szlib;
 else
   withval=no
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_SZLIB="yes"
@@ -37010,18 +37768,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -37032,40 +37791,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -37074,24 +37830,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -37099,9 +37853,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -37125,25 +37880,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -37156,8 +37910,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37170,55 +37924,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -37239,10 +37991,10 @@
     ;;
   no)
     HAVE_SZLIB="no"
-    echo "$as_me:$LINENO: checking for szlib" >&5
-echo $ECHO_N "checking for szlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for szlib" >&5
+echo $ECHO_N "checking for szlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_SZLIB="yes"
@@ -37277,18 +38029,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -37299,40 +38052,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -37341,24 +38091,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -37366,9 +38114,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -37392,25 +38141,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -37430,8 +38178,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37444,55 +38192,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -37514,16 +38260,71 @@
 esac
 
 if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then
+        { echo "$as_me:$LINENO: checking for szlib encoder" >&5
+echo $ECHO_N "checking for szlib encoder... $ECHO_C" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FILTER_SZIP 1
+    if test "${hdf5_cv_szlib_functional+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-    USE_FILTER_SZIP="yes"
+        #include <szlib.h>
 
-        echo "$as_me:$LINENO: checking for szlib encoder" >&5
-echo $ECHO_N "checking for szlib encoder... $ECHO_C" >&6
+        int main(void)
+        {
+            SZ_encoder_enabled();
+            exit(0);
+        }
 
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  hdf5_cv_szlib_functional=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+hdf5_cv_szlib_functional=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+
     if test "${hdf5_cv_szlib_can_encode+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37554,13 +38355,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -37573,46 +38383,67 @@
 ( exit $ac_status )
 hdf5_cv_szlib_can_encode=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 
 
-    if test ${hdf5_cv_szlib_can_encode} = "yes"; then
-        echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    if test ${hdf5_cv_szlib_functional} = "no"; then
+        hdf5_cv_szlib_can_encode=broken
     else
-        echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FILTER_SZIP 1
+_ACEOF
+
+        USE_FILTER_SZIP="yes"
     fi
 
+    if test ${hdf5_cv_szlib_can_encode} = "yes"; then
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+    fi
+    if test ${hdf5_cv_szlib_can_encode} = "no"; then
+        { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    fi
+    if test ${hdf5_cv_szlib_can_encode} = "broken"; then
+        { echo "$as_me:$LINENO: result: shared szlib library cannot be linked. disabling szip. use static szip library instead." >&5
+echo "${ECHO_T}shared szlib library cannot be linked. disabling szip. use static szip library instead." >&6; }
+    fi
+
+        if test ${hdf5_cv_szlib_can_encode} = "yes"; then
         if test "X$EXTERNAL_FILTERS" != "X"; then
-        EXTERNAL_FILTERS="${EXTERNAL_FILTERS},"
+            EXTERNAL_FILTERS="${EXTERNAL_FILTERS},"
+        fi
+        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}szip(encoder)"
     fi
-    EXTERNAL_FILTERS="${EXTERNAL_FILTERS}szip"
-    if test ${hdf5_cv_szlib_can_encode} = "yes"; then
-        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}(encoder)"
-    else
-        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}(no encoder)"
+    if test ${hdf5_cv_szlib_can_encode} = "no"; then
+        if test "X$EXTERNAL_FILTERS" != "X"; then
+            EXTERNAL_FILTERS="${EXTERNAL_FILTERS},"
+        fi
+        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}szip(no encoder)"
     fi
+
 fi
 
-
  SSL=yes
 
-# Check whether --with-ssl or --without-ssl was given.
+# Check whether --with-ssl was given.
 if test "${with_ssl+set}" = set; then
-  withval="$with_ssl"
-
+  withval=$with_ssl;
 else
   withval=no
-fi;
+fi
 
+
 case "$withval" in
    yes)
 
-echo "$as_me:$LINENO: checking for main in -lcrypto" >&5
-echo $ECHO_N "checking for main in -lcrypto... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lcrypto" >&5
+echo $ECHO_N "checking for main in -lcrypto... $ECHO_C" >&6; }
 if test "${ac_cv_lib_crypto_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37629,45 +38460,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_crypto_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_crypto_main=no
+	ac_cv_lib_crypto_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_main" >&5
-echo "${ECHO_T}$ac_cv_lib_crypto_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_main" >&5
+echo "${ECHO_T}$ac_cv_lib_crypto_main" >&6; }
 if test $ac_cv_lib_crypto_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBCRYPTO 1
@@ -37680,8 +38509,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for SSL_get_version in -lssl" >&5
-echo $ECHO_N "checking for SSL_get_version in -lssl... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SSL_get_version in -lssl" >&5
+echo $ECHO_N "checking for SSL_get_version in -lssl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_ssl_SSL_get_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37694,55 +38523,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SSL_get_version ();
 int
 main ()
 {
-SSL_get_version ();
+return SSL_get_version ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_ssl_SSL_get_version=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_ssl_SSL_get_version=no
+	ac_cv_lib_ssl_SSL_get_version=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_get_version" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_get_version" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_get_version" >&5
+echo "${ECHO_T}$ac_cv_lib_ssl_SSL_get_version" >&6; }
 if test $ac_cv_lib_ssl_SSL_get_version = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSSL 1
@@ -37756,10 +38583,10 @@
 
       ;;
    no)
-      echo "$as_me:$LINENO: checking for SSL" >&5
-echo $ECHO_N "checking for SSL... $ECHO_C" >&6
-      echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+      { echo "$as_me:$LINENO: checking for SSL" >&5
+echo $ECHO_N "checking for SSL... $ECHO_C" >&6; }
+      { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
       unset SSL
       ;;
    *)
@@ -37768,8 +38595,8 @@
         LDFLAGS="$LDFLAGS -L$with_ssl"
       fi
 
-echo "$as_me:$LINENO: checking for main in -lcrypto" >&5
-echo $ECHO_N "checking for main in -lcrypto... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lcrypto" >&5
+echo $ECHO_N "checking for main in -lcrypto... $ECHO_C" >&6; }
 if test "${ac_cv_lib_crypto_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37786,45 +38613,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_crypto_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_crypto_main=no
+	ac_cv_lib_crypto_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_main" >&5
-echo "${ECHO_T}$ac_cv_lib_crypto_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_main" >&5
+echo "${ECHO_T}$ac_cv_lib_crypto_main" >&6; }
 if test $ac_cv_lib_crypto_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBCRYPTO 1
@@ -37837,8 +38662,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for SSL_get_version in -lssl" >&5
-echo $ECHO_N "checking for SSL_get_version in -lssl... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SSL_get_version in -lssl" >&5
+echo $ECHO_N "checking for SSL_get_version in -lssl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_ssl_SSL_get_version+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37851,55 +38676,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SSL_get_version ();
 int
 main ()
 {
-SSL_get_version ();
+return SSL_get_version ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_ssl_SSL_get_version=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_ssl_SSL_get_version=no
+	ac_cv_lib_ssl_SSL_get_version=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_get_version" >&5
-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_get_version" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_get_version" >&5
+echo "${ECHO_T}$ac_cv_lib_ssl_SSL_get_version" >&6; }
 if test $ac_cv_lib_ssl_SSL_get_version = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSSL 1
@@ -37917,32 +38740,33 @@
  GASS="yes"
  TESTGASS='$(srcdir)/testgass'
 
-# Check whether --with-gass or --without-gass was given.
+# Check whether --with-gass was given.
 if test "${with_gass+set}" = set; then
-  withval="$with_gass"
-
+  withval=$with_gass;
 else
   withval=no
-fi;
+fi
 
+
 case "$withval" in
   yes)
 
 for ac_header in globus_common.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -37953,40 +38777,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -37995,24 +38816,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -38020,9 +38839,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -38046,25 +38866,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -38079,8 +38898,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for globus_module_activate in -lglobus_common" >&5
-echo $ECHO_N "checking for globus_module_activate in -lglobus_common... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for globus_module_activate in -lglobus_common" >&5
+echo $ECHO_N "checking for globus_module_activate in -lglobus_common... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_common_globus_module_activate+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38093,55 +38912,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char globus_module_activate ();
 int
 main ()
 {
-globus_module_activate ();
+return globus_module_activate ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_common_globus_module_activate=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_common_globus_module_activate=no
+	ac_cv_lib_globus_common_globus_module_activate=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_common_globus_module_activate" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_common_globus_module_activate" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_common_globus_module_activate" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_common_globus_module_activate" >&6; }
 if test $ac_cv_lib_globus_common_globus_module_activate = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_COMMON 1
@@ -38154,8 +38971,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_cache" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_cache... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_cache" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_cache... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_cache_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38172,45 +38989,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_cache_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_cache_main=no
+	ac_cv_lib_globus_gass_cache_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_cache_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_cache_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_cache_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_cache_main" >&6; }
 if test $ac_cv_lib_globus_gass_cache_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_CACHE 1
@@ -38223,8 +39038,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gaa" >&5
-echo $ECHO_N "checking for main in -lglobus_gaa... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gaa" >&5
+echo $ECHO_N "checking for main in -lglobus_gaa... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gaa_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38241,45 +39056,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gaa_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gaa_main=no
+	ac_cv_lib_globus_gaa_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gaa_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gaa_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gaa_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gaa_main" >&6; }
 if test $ac_cv_lib_globus_gaa_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GAA 1
@@ -38292,8 +39105,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gss" >&5
-echo $ECHO_N "checking for main in -lglobus_gss... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gss" >&5
+echo $ECHO_N "checking for main in -lglobus_gss... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gss_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38310,45 +39123,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gss_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gss_main=no
+	ac_cv_lib_globus_gss_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gss_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gss_main" >&6; }
 if test $ac_cv_lib_globus_gss_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GSS 1
@@ -38361,8 +39172,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gss_assist" >&5
-echo $ECHO_N "checking for main in -lglobus_gss_assist... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gss_assist" >&5
+echo $ECHO_N "checking for main in -lglobus_gss_assist... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gss_assist_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38379,45 +39190,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gss_assist_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gss_assist_main=no
+	ac_cv_lib_globus_gss_assist_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_assist_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gss_assist_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_assist_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gss_assist_main" >&6; }
 if test $ac_cv_lib_globus_gss_assist_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GSS_ASSIST 1
@@ -38430,8 +39239,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_io" >&5
-echo $ECHO_N "checking for main in -lglobus_io... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_io" >&5
+echo $ECHO_N "checking for main in -lglobus_io... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_io_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38448,45 +39257,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_io_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_io_main=no
+	ac_cv_lib_globus_io_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_io_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_io_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_io_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_io_main" >&6; }
 if test $ac_cv_lib_globus_io_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_IO 1
@@ -38499,8 +39306,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer_assist" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_transfer_assist... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer_assist" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_transfer_assist... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_transfer_assist_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38517,45 +39324,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_transfer_assist_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_transfer_assist_main=no
+	ac_cv_lib_globus_gass_transfer_assist_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_assist_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_assist_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_assist_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_assist_main" >&6; }
 if test $ac_cv_lib_globus_gass_transfer_assist_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_TRANSFER_ASSIST 1
@@ -38568,8 +39373,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_transfer... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_transfer... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_transfer_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38586,45 +39391,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_transfer_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_transfer_main=no
+	ac_cv_lib_globus_gass_transfer_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_main" >&6; }
 if test $ac_cv_lib_globus_gass_transfer_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_TRANSFER 1
@@ -38637,8 +39440,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for globus_gass_open in -lglobus_gass_file" >&5
-echo $ECHO_N "checking for globus_gass_open in -lglobus_gass_file... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for globus_gass_open in -lglobus_gass_file" >&5
+echo $ECHO_N "checking for globus_gass_open in -lglobus_gass_file... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_file_globus_gass_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -38651,55 +39454,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char globus_gass_open ();
 int
 main ()
 {
-globus_gass_open ();
+return globus_gass_open ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_file_globus_gass_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_file_globus_gass_open=no
+	ac_cv_lib_globus_gass_file_globus_gass_open=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_file_globus_gass_open" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_file_globus_gass_open" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_file_globus_gass_open" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_file_globus_gass_open" >&6; }
 if test $ac_cv_lib_globus_gass_file_globus_gass_open = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_FILE 1
@@ -38713,10 +39514,10 @@
 
     ;;
   no)
-    echo "$as_me:$LINENO: checking for GASS" >&5
-echo $ECHO_N "checking for GASS... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for GASS" >&5
+echo $ECHO_N "checking for GASS... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     unset GASS TESTGASS
     ;;
   *)
@@ -38747,18 +39548,19 @@
 for ac_header in globus_common.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -38769,40 +39571,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -38811,24 +39610,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -38836,9 +39633,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -38862,25 +39660,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -38900,18 +39697,19 @@
 for ac_header in globus_common.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -38922,40 +39720,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -38964,24 +39759,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -38989,9 +39782,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -39015,25 +39809,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -39051,8 +39844,8 @@
       saved_LDFLAGS="$LDFLAGS"
       LDFLAGS="$LDFLAGS -L$gass_lib"
 
-echo "$as_me:$LINENO: checking for globus_module_activate in -lglobus_common" >&5
-echo $ECHO_N "checking for globus_module_activate in -lglobus_common... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for globus_module_activate in -lglobus_common" >&5
+echo $ECHO_N "checking for globus_module_activate in -lglobus_common... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_common_globus_module_activate+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39065,55 +39858,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char globus_module_activate ();
 int
 main ()
 {
-globus_module_activate ();
+return globus_module_activate ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_common_globus_module_activate=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_common_globus_module_activate=no
+	ac_cv_lib_globus_common_globus_module_activate=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_common_globus_module_activate" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_common_globus_module_activate" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_common_globus_module_activate" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_common_globus_module_activate" >&6; }
 if test $ac_cv_lib_globus_common_globus_module_activate = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_COMMON 1
@@ -39126,8 +39917,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_cache" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_cache... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_cache" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_cache... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_cache_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39144,45 +39935,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_cache_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_cache_main=no
+	ac_cv_lib_globus_gass_cache_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_cache_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_cache_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_cache_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_cache_main" >&6; }
 if test $ac_cv_lib_globus_gass_cache_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_CACHE 1
@@ -39195,8 +39984,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gaa" >&5
-echo $ECHO_N "checking for main in -lglobus_gaa... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gaa" >&5
+echo $ECHO_N "checking for main in -lglobus_gaa... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gaa_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39213,45 +40002,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gaa_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gaa_main=no
+	ac_cv_lib_globus_gaa_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gaa_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gaa_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gaa_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gaa_main" >&6; }
 if test $ac_cv_lib_globus_gaa_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GAA 1
@@ -39264,8 +40051,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gss" >&5
-echo $ECHO_N "checking for main in -lglobus_gss... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gss" >&5
+echo $ECHO_N "checking for main in -lglobus_gss... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gss_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39282,45 +40069,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gss_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gss_main=no
+	ac_cv_lib_globus_gss_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gss_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gss_main" >&6; }
 if test $ac_cv_lib_globus_gss_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GSS 1
@@ -39333,8 +40118,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gss_assist" >&5
-echo $ECHO_N "checking for main in -lglobus_gss_assist... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gss_assist" >&5
+echo $ECHO_N "checking for main in -lglobus_gss_assist... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gss_assist_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39351,45 +40136,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gss_assist_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gss_assist_main=no
+	ac_cv_lib_globus_gss_assist_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_assist_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gss_assist_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_assist_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gss_assist_main" >&6; }
 if test $ac_cv_lib_globus_gss_assist_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GSS_ASSIST 1
@@ -39402,8 +40185,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_io" >&5
-echo $ECHO_N "checking for main in -lglobus_io... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_io" >&5
+echo $ECHO_N "checking for main in -lglobus_io... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_io_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39420,45 +40203,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_io_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_io_main=no
+	ac_cv_lib_globus_io_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_io_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_io_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_io_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_io_main" >&6; }
 if test $ac_cv_lib_globus_io_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_IO 1
@@ -39471,8 +40252,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer_assist" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_transfer_assist... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer_assist" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_transfer_assist... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_transfer_assist_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39489,45 +40270,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_transfer_assist_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_transfer_assist_main=no
+	ac_cv_lib_globus_gass_transfer_assist_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_assist_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_assist_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_assist_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_assist_main" >&6; }
 if test $ac_cv_lib_globus_gass_transfer_assist_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_TRANSFER_ASSIST 1
@@ -39540,8 +40319,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_transfer... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_transfer... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_transfer_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39558,45 +40337,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_transfer_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_transfer_main=no
+	ac_cv_lib_globus_gass_transfer_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_main" >&6; }
 if test $ac_cv_lib_globus_gass_transfer_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_TRANSFER 1
@@ -39609,8 +40386,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for globus_gass_open in -lglobus_gass_file" >&5
-echo $ECHO_N "checking for globus_gass_open in -lglobus_gass_file... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for globus_gass_open in -lglobus_gass_file" >&5
+echo $ECHO_N "checking for globus_gass_open in -lglobus_gass_file... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_file_globus_gass_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39623,55 +40400,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char globus_gass_open ();
 int
 main ()
 {
-globus_gass_open ();
+return globus_gass_open ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_file_globus_gass_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_file_globus_gass_open=no
+	ac_cv_lib_globus_gass_file_globus_gass_open=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_file_globus_gass_open" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_file_globus_gass_open" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_file_globus_gass_open" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_file_globus_gass_open" >&6; }
 if test $ac_cv_lib_globus_gass_file_globus_gass_open = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_FILE 1
@@ -39685,8 +40460,8 @@
 
     else
 
-echo "$as_me:$LINENO: checking for globus_module_activate in -lglobus_common" >&5
-echo $ECHO_N "checking for globus_module_activate in -lglobus_common... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for globus_module_activate in -lglobus_common" >&5
+echo $ECHO_N "checking for globus_module_activate in -lglobus_common... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_common_globus_module_activate+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39699,55 +40474,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char globus_module_activate ();
 int
 main ()
 {
-globus_module_activate ();
+return globus_module_activate ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_common_globus_module_activate=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_common_globus_module_activate=no
+	ac_cv_lib_globus_common_globus_module_activate=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_common_globus_module_activate" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_common_globus_module_activate" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_common_globus_module_activate" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_common_globus_module_activate" >&6; }
 if test $ac_cv_lib_globus_common_globus_module_activate = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_COMMON 1
@@ -39760,8 +40533,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_cache" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_cache... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_cache" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_cache... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_cache_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39778,45 +40551,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_cache_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_cache_main=no
+	ac_cv_lib_globus_gass_cache_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_cache_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_cache_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_cache_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_cache_main" >&6; }
 if test $ac_cv_lib_globus_gass_cache_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_CACHE 1
@@ -39829,8 +40600,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gaa" >&5
-echo $ECHO_N "checking for main in -lglobus_gaa... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gaa" >&5
+echo $ECHO_N "checking for main in -lglobus_gaa... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gaa_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39847,45 +40618,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gaa_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gaa_main=no
+	ac_cv_lib_globus_gaa_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gaa_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gaa_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gaa_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gaa_main" >&6; }
 if test $ac_cv_lib_globus_gaa_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GAA 1
@@ -39898,8 +40667,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gss" >&5
-echo $ECHO_N "checking for main in -lglobus_gss... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gss" >&5
+echo $ECHO_N "checking for main in -lglobus_gss... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gss_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39916,45 +40685,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gss_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gss_main=no
+	ac_cv_lib_globus_gss_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gss_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gss_main" >&6; }
 if test $ac_cv_lib_globus_gss_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GSS 1
@@ -39967,8 +40734,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gss_assist" >&5
-echo $ECHO_N "checking for main in -lglobus_gss_assist... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gss_assist" >&5
+echo $ECHO_N "checking for main in -lglobus_gss_assist... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gss_assist_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -39985,45 +40752,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gss_assist_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gss_assist_main=no
+	ac_cv_lib_globus_gss_assist_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_assist_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gss_assist_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gss_assist_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gss_assist_main" >&6; }
 if test $ac_cv_lib_globus_gss_assist_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GSS_ASSIST 1
@@ -40036,8 +40801,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_io" >&5
-echo $ECHO_N "checking for main in -lglobus_io... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_io" >&5
+echo $ECHO_N "checking for main in -lglobus_io... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_io_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40054,45 +40819,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_io_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_io_main=no
+	ac_cv_lib_globus_io_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_io_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_io_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_io_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_io_main" >&6; }
 if test $ac_cv_lib_globus_io_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_IO 1
@@ -40105,8 +40868,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer_assist" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_transfer_assist... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer_assist" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_transfer_assist... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_transfer_assist_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40123,45 +40886,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_transfer_assist_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_transfer_assist_main=no
+	ac_cv_lib_globus_gass_transfer_assist_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_assist_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_assist_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_assist_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_assist_main" >&6; }
 if test $ac_cv_lib_globus_gass_transfer_assist_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_TRANSFER_ASSIST 1
@@ -40174,8 +40935,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer" >&5
-echo $ECHO_N "checking for main in -lglobus_gass_transfer... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lglobus_gass_transfer" >&5
+echo $ECHO_N "checking for main in -lglobus_gass_transfer... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_transfer_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40192,45 +40953,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_transfer_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_transfer_main=no
+	ac_cv_lib_globus_gass_transfer_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_main" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_transfer_main" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_transfer_main" >&6; }
 if test $ac_cv_lib_globus_gass_transfer_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_TRANSFER 1
@@ -40243,8 +41002,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for globus_gass_open in -lglobus_gass_file" >&5
-echo $ECHO_N "checking for globus_gass_open in -lglobus_gass_file... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for globus_gass_open in -lglobus_gass_file" >&5
+echo $ECHO_N "checking for globus_gass_open in -lglobus_gass_file... $ECHO_C" >&6; }
 if test "${ac_cv_lib_globus_gass_file_globus_gass_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40257,55 +41016,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char globus_gass_open ();
 int
 main ()
 {
-globus_gass_open ();
+return globus_gass_open ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_globus_gass_file_globus_gass_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_globus_gass_file_globus_gass_open=no
+	ac_cv_lib_globus_gass_file_globus_gass_open=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_file_globus_gass_open" >&5
-echo "${ECHO_T}$ac_cv_lib_globus_gass_file_globus_gass_open" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_globus_gass_file_globus_gass_open" >&5
+echo "${ECHO_T}$ac_cv_lib_globus_gass_file_globus_gass_open" >&6; }
 if test $ac_cv_lib_globus_gass_file_globus_gass_open = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBGLOBUS_GASS_FILE 1
@@ -40332,32 +41089,33 @@
  SRB="yes"
  TESTSRB='$(srcdir)/testsrb'
 
-# Check whether --with-srb or --without-srb was given.
+# Check whether --with-srb was given.
 if test "${with_srb+set}" = set; then
-  withval="$with_srb"
-
+  withval=$with_srb;
 else
   withval=no
-fi;
+fi
 
+
 case "$withval" in
   yes)
 
 for ac_header in srbClient.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -40368,40 +41126,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -40410,24 +41165,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -40435,9 +41188,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -40461,25 +41215,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -40494,8 +41247,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for main in -lelf" >&5
-echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lelf" >&5
+echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6; }
 if test "${ac_cv_lib_elf_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40512,45 +41265,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_elf_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_elf_main=no
+	ac_cv_lib_elf_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
-echo "${ECHO_T}$ac_cv_lib_elf_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
+echo "${ECHO_T}$ac_cv_lib_elf_main" >&6; }
 if test $ac_cv_lib_elf_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBELF 1
@@ -40563,8 +41314,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lsocket" >&5
-echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lsocket" >&5
+echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6; }
 if test "${ac_cv_lib_socket_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40581,45 +41332,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_socket_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_main=no
+	ac_cv_lib_socket_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_main" >&6; }
 if test $ac_cv_lib_socket_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -40632,8 +41381,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for clConnect in -lSrbClient" >&5
-echo $ECHO_N "checking for clConnect in -lSrbClient... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for clConnect in -lSrbClient" >&5
+echo $ECHO_N "checking for clConnect in -lSrbClient... $ECHO_C" >&6; }
 if test "${ac_cv_lib_SrbClient_clConnect+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -40646,55 +41395,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char clConnect ();
 int
 main ()
 {
-clConnect ();
+return clConnect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_SrbClient_clConnect=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_SrbClient_clConnect=no
+	ac_cv_lib_SrbClient_clConnect=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_SrbClient_clConnect" >&5
-echo "${ECHO_T}$ac_cv_lib_SrbClient_clConnect" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_SrbClient_clConnect" >&5
+echo "${ECHO_T}$ac_cv_lib_SrbClient_clConnect" >&6; }
 if test $ac_cv_lib_SrbClient_clConnect = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSRBCLIENT 1
@@ -40708,10 +41455,10 @@
 
     ;;
   no)
-    echo "$as_me:$LINENO: checking for SRB" >&5
-echo $ECHO_N "checking for SRB... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for SRB" >&5
+echo $ECHO_N "checking for SRB... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     unset SRB TESTSRB
     ;;
   *)
@@ -40742,18 +41489,19 @@
 for ac_header in srbClient.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -40764,40 +41512,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -40806,24 +41551,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -40831,9 +41574,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -40857,25 +41601,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -40895,18 +41638,19 @@
 for ac_header in srbClient.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -40917,40 +41661,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -40959,24 +41700,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -40984,9 +41723,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -41010,25 +41750,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -41046,8 +41785,8 @@
       saved_LDFLAGS="$LDFLAGS"
       LDFLAGS="$LDFLAGS -L$srb_lib"
 
-echo "$as_me:$LINENO: checking for main in -lelf" >&5
-echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lelf" >&5
+echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6; }
 if test "${ac_cv_lib_elf_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41064,45 +41803,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_elf_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_elf_main=no
+	ac_cv_lib_elf_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
-echo "${ECHO_T}$ac_cv_lib_elf_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
+echo "${ECHO_T}$ac_cv_lib_elf_main" >&6; }
 if test $ac_cv_lib_elf_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBELF 1
@@ -41115,8 +41852,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lsocket" >&5
-echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lsocket" >&5
+echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6; }
 if test "${ac_cv_lib_socket_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41133,45 +41870,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_socket_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_main=no
+	ac_cv_lib_socket_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_main" >&6; }
 if test $ac_cv_lib_socket_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -41184,8 +41919,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for clConnect in -lSrbClient" >&5
-echo $ECHO_N "checking for clConnect in -lSrbClient... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for clConnect in -lSrbClient" >&5
+echo $ECHO_N "checking for clConnect in -lSrbClient... $ECHO_C" >&6; }
 if test "${ac_cv_lib_SrbClient_clConnect+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41198,55 +41933,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char clConnect ();
 int
 main ()
 {
-clConnect ();
+return clConnect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_SrbClient_clConnect=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_SrbClient_clConnect=no
+	ac_cv_lib_SrbClient_clConnect=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_SrbClient_clConnect" >&5
-echo "${ECHO_T}$ac_cv_lib_SrbClient_clConnect" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_SrbClient_clConnect" >&5
+echo "${ECHO_T}$ac_cv_lib_SrbClient_clConnect" >&6; }
 if test $ac_cv_lib_SrbClient_clConnect = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSRBCLIENT 1
@@ -41260,8 +41993,8 @@
 
     else
 
-echo "$as_me:$LINENO: checking for main in -lelf" >&5
-echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lelf" >&5
+echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6; }
 if test "${ac_cv_lib_elf_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41278,45 +42011,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_elf_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_elf_main=no
+	ac_cv_lib_elf_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
-echo "${ECHO_T}$ac_cv_lib_elf_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
+echo "${ECHO_T}$ac_cv_lib_elf_main" >&6; }
 if test $ac_cv_lib_elf_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBELF 1
@@ -41329,8 +42060,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for main in -lsocket" >&5
-echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for main in -lsocket" >&5
+echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6; }
 if test "${ac_cv_lib_socket_main+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41347,45 +42078,43 @@
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_socket_main=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_main=no
+	ac_cv_lib_socket_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_main" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_main" >&6; }
 if test $ac_cv_lib_socket_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -41398,8 +42127,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for clConnect in -lSrbClient" >&5
-echo $ECHO_N "checking for clConnect in -lSrbClient... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for clConnect in -lSrbClient" >&5
+echo $ECHO_N "checking for clConnect in -lSrbClient... $ECHO_C" >&6; }
 if test "${ac_cv_lib_SrbClient_clConnect+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41412,55 +42141,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char clConnect ();
 int
 main ()
 {
-clConnect ();
+return clConnect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_SrbClient_clConnect=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_SrbClient_clConnect=no
+	ac_cv_lib_SrbClient_clConnect=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_SrbClient_clConnect" >&5
-echo "${ECHO_T}$ac_cv_lib_SrbClient_clConnect" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_SrbClient_clConnect" >&5
+echo "${ECHO_T}$ac_cv_lib_SrbClient_clConnect" >&6; }
 if test $ac_cv_lib_SrbClient_clConnect = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSRBCLIENT 1
@@ -41502,71 +42229,91 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
 
  PTHREAD=yes
 
-# Check whether --with-pthread or --without-pthread was given.
+# Check whether --with-pthread was given.
 if test "${with_pthread+set}" = set; then
-  withval="$with_pthread"
-
+  withval=$with_pthread;
 else
   withval=no
-fi;
+fi
 
+
 case "$withval" in
   yes)
 
 for ac_header in pthread.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -41577,40 +42324,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -41619,24 +42363,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -41644,9 +42386,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -41670,25 +42413,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -41701,8 +42443,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
-echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -41715,55 +42457,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_create ();
 int
 main ()
 {
-pthread_create ();
+return pthread_create ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_pthread_pthread_create=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_create=no
+	ac_cv_lib_pthread_pthread_create=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6; }
 if test $ac_cv_lib_pthread_pthread_create = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBPTHREAD 1
@@ -41777,10 +42517,10 @@
 
     ;;
   no)
-    echo "$as_me:$LINENO: checking for pthread" >&5
-echo $ECHO_N "checking for pthread... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for pthread" >&5
+echo $ECHO_N "checking for pthread... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     unset PTHREAD
     ;;
   *)
@@ -41811,18 +42551,19 @@
 for ac_header in pthread.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -41833,40 +42574,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -41875,24 +42613,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -41900,9 +42636,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -41926,25 +42663,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -41963,18 +42699,19 @@
 for ac_header in pthread.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -41985,40 +42722,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -42027,24 +42761,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -42052,9 +42784,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -42078,25 +42811,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -42116,8 +42848,8 @@
       saved_LDFLAGS="$LDFLAGS"
       LDFLAGS="$LDFLAGS -L$pthread_lib"
 
-echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
-echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -42130,55 +42862,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_create ();
 int
 main ()
 {
-pthread_create ();
+return pthread_create ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_pthread_pthread_create=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_create=no
+	ac_cv_lib_pthread_pthread_create=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6; }
 if test $ac_cv_lib_pthread_pthread_create = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBPTHREAD 1
@@ -42192,8 +42922,8 @@
 
     else
 
-echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
-echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -42206,55 +42936,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_create ();
 int
 main ()
 {
-pthread_create ();
+return pthread_create ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_pthread_pthread_create=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_create=no
+	ac_cv_lib_pthread_pthread_create=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6; }
 if test $ac_cv_lib_pthread_pthread_create = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBPTHREAD 1
@@ -42270,18 +42998,18 @@
     ;;
 esac
 
-echo "$as_me:$LINENO: checking for thread safe support" >&5
-echo $ECHO_N "checking for thread safe support... $ECHO_C" >&6
-# Check whether --enable-threadsafe or --disable-threadsafe was given.
+{ echo "$as_me:$LINENO: checking for thread safe support" >&5
+echo $ECHO_N "checking for thread safe support... $ECHO_C" >&6; }
+# Check whether --enable-threadsafe was given.
 if test "${enable_threadsafe+set}" = set; then
-  enableval="$enable_threadsafe"
-  THREADSAFE=$enableval
-fi;
+  enableval=$enable_threadsafe; THREADSAFE=$enableval
+fi
 
+
 case "X-$THREADSAFE" in
   X-|X-no)
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     ;;
   X-yes)
         cat >conftest.$ac_ext <<_ACEOF
@@ -42300,42 +43028,40 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; THREADSAFE=yes
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }; THREADSAFE=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: needed pthread library not available" >&5
+	{ { echo "$as_me:$LINENO: error: needed pthread library not available" >&5
 echo "$as_me: error: needed pthread library not available" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     ;;
   *)
-    echo "$as_me:$LINENO: result: error" >&5
-echo "${ECHO_T}error" >&6
+    { echo "$as_me:$LINENO: result: error" >&5
+echo "${ECHO_T}error" >&6; }
     { { echo "$as_me:$LINENO: error: \'$enableval\' is not a valid threadsafe type" >&5
 echo "$as_me: error: \'$enableval\' is not a valid threadsafe type" >&2;}
    { (exit 1); exit 1; }; }
@@ -42350,485 +43076,37 @@
 
 fi
 
-echo "$as_me:$LINENO: checking whether HDF5 v1.4 compatibility functions enabled" >&5
-echo $ECHO_N "checking whether HDF5 v1.4 compatibility functions enabled... $ECHO_C" >&6
-# Check whether --enable-hdf5v1_4 or --disable-hdf5v1_4 was given.
+{ echo "$as_me:$LINENO: checking whether HDF5 v1.4 compatibility functions enabled" >&5
+echo $ECHO_N "checking whether HDF5 v1.4 compatibility functions enabled... $ECHO_C" >&6; }
+# Check whether --enable-hdf5v1_4 was given.
 if test "${enable_hdf5v1_4+set}" = set; then
-  enableval="$enable_hdf5v1_4"
-  HDF5_V1_4_COMPAT=$enableval
-fi;
+  enableval=$enable_hdf5v1_4; HDF5_V1_4_COMPAT=$enableval
+fi
 
+
 if test "$HDF5_V1_4_COMPAT" = "yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 #define WANT_H5_V1_4_COMPAT 1
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
-echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6
-# Check whether --enable-stream-vfd or --disable-stream-vfd was given.
-if test "${enable_stream_vfd+set}" = set; then
-  enableval="$enable_stream_vfd"
-  STREAM_VFD=$enableval
-else
-  STREAM_VFD=yes
-fi;
 
-if test "$STREAM_VFD" = "yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-for ac_header in netinet/in.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for tm_gmtoff in struct tm" >&5
+echo $ECHO_N "checking for tm_gmtoff in struct tm... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in netinet/tcp.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <netinet/in.h>
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in sys/filio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STREAM 1
-_ACEOF
-
-
-    echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
-echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-int
-main ()
-{
-socklen_t foo; return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SOCKLEN_T 1
-_ACEOF
-
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  echo "$as_me:$LINENO: result: not configured" >&5
-echo "${ECHO_T}not configured" >&6
-fi
-
-
-echo "$as_me:$LINENO: checking for tm_gmtoff in struct tm" >&5
-echo $ECHO_N "checking for tm_gmtoff in struct tm... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
 #include <sys/time.h>
 #include <time.h>
 int
@@ -42840,44 +43118,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_TM_GMTOFF 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for __tm_gmtoff in struct tm" >&5
-echo $ECHO_N "checking for __tm_gmtoff in struct tm... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for __tm_gmtoff in struct tm" >&5
+echo $ECHO_N "checking for __tm_gmtoff in struct tm... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -42896,44 +43171,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE___TM_GMTOFF 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for global timezone variable" >&5
-echo $ECHO_N "checking for global timezone variable... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for global timezone variable" >&5
+echo $ECHO_N "checking for global timezone variable... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -42952,45 +43224,43 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_TIMEZONE 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
-echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
+echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6; }
 if test "${ac_cv_struct_tm+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -43006,43 +43276,42 @@
 int
 main ()
 {
-struct tm *tp; tp->tm_sec;
+struct tm tm;
+				     int *p = &tm.tm_sec;
+ 				     return !p;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_struct_tm=time.h
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_struct_tm=sys/time.h
+	ac_cv_struct_tm=sys/time.h
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
-echo "${ECHO_T}$ac_cv_struct_tm" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
+echo "${ECHO_T}$ac_cv_struct_tm" >&6; }
 if test $ac_cv_struct_tm = sys/time.h; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -43051,8 +43320,8 @@
 
 fi
 
-echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
-echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
+echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6; }
 if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -43077,32 +43346,28 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_member_struct_tm_tm_zone=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
+	cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -43123,39 +43388,37 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_member_struct_tm_tm_zone=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_member_struct_tm_tm_zone=no
+	ac_cv_member_struct_tm_tm_zone=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
-echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
+echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6; }
 if test $ac_cv_member_struct_tm_tm_zone = yes; then
 
 cat >>confdefs.h <<_ACEOF
@@ -43172,8 +43435,77 @@
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: checking for tzname" >&5
-echo $ECHO_N "checking for tzname... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking whether tzname is declared" >&5
+echo $ECHO_N "checking whether tzname is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_tzname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <time.h>
+
+int
+main ()
+{
+#ifndef tzname
+  (void) tzname;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_tzname=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_have_decl_tzname=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
+echo "${ECHO_T}$ac_cv_have_decl_tzname" >&6; }
+if test $ac_cv_have_decl_tzname = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_TZNAME 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_TZNAME 0
+_ACEOF
+
+
+fi
+
+
+  { echo "$as_me:$LINENO: checking for tzname" >&5
+echo $ECHO_N "checking for tzname... $ECHO_C" >&6; }
 if test "${ac_cv_var_tzname+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -43184,51 +43516,49 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <time.h>
-#ifndef tzname /* For SGI.  */
-extern char *tzname[]; /* RS6000 and others reject char **tzname.  */
+#if !HAVE_DECL_TZNAME
+extern char *tzname[];
 #endif
 
 int
 main ()
 {
-atoi(*tzname);
+return tzname[0][0];
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_var_tzname=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_var_tzname=no
+	ac_cv_var_tzname=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
-echo "${ECHO_T}$ac_cv_var_tzname" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
+echo "${ECHO_T}$ac_cv_var_tzname" >&6; }
   if test $ac_cv_var_tzname = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -43238,8 +43568,8 @@
   fi
 fi
 
-echo "$as_me:$LINENO: checking for struct timezone" >&5
-echo $ECHO_N "checking for struct timezone... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for struct timezone" >&5
+echo $ECHO_N "checking for struct timezone... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -43259,47 +43589,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_STRUCT_TIMEZONE 1
 _ACEOF
 
 have_struct_tz="yes"
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+
 if test "$have_gettime" = "yes" -a "$have_struct_tz" = "yes"; then
-   echo "$as_me:$LINENO: checking whether gettimeofday() gives timezone" >&5
-echo $ECHO_N "checking whether gettimeofday() gives timezone... $ECHO_C" >&6
+   { echo "$as_me:$LINENO: checking whether gettimeofday() gives timezone" >&5
+echo $ECHO_N "checking whether gettimeofday() gives timezone... $ECHO_C" >&6; }
    if test "${hdf5_cv_gettimeofday_tz+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -43333,13 +43660,22 @@
           }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -43352,27 +43688,29 @@
 ( exit $ac_status )
 hdf5_cv_gettimeofday_tz=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 
 
    if test ${hdf5_cv_gettimeofday_tz} = "yes"; then
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 #define GETTIMEOFDAY_GIVES_TZ 1
 _ACEOF
 
    else
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
    fi
 fi
 
-echo "$as_me:$LINENO: checking for st_blocks in struct stat" >&5
-echo $ECHO_N "checking for st_blocks in struct stat... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for st_blocks in struct stat" >&5
+echo $ECHO_N "checking for st_blocks in struct stat... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -43390,51 +43728,48 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_STAT_ST_BLOCKS 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
+
 for ac_func in _getvideoconfig gettextinfo GetConsoleScreenBufferInfo
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -43460,67 +43795,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -43534,9 +43862,9 @@
 for ac_func in _scrsize ioctl
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -43562,67 +43890,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -43632,8 +43953,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for struct videoconfig" >&5
-echo $ECHO_N "checking for struct videoconfig... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for struct videoconfig" >&5
+echo $ECHO_N "checking for struct videoconfig... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -43650,44 +43971,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_STRUCT_VIDEOCONFIG 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for struct text_info" >&5
-echo $ECHO_N "checking for struct text_info... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for struct text_info" >&5
+echo $ECHO_N "checking for struct text_info... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -43704,44 +44022,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_STRUCT_TEXT_INFO 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for TIOCGWINSZ" >&5
-echo $ECHO_N "checking for TIOCGWINSZ... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for TIOCGWINSZ" >&5
+echo $ECHO_N "checking for TIOCGWINSZ... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -43758,44 +44073,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_TIOCGWINSZ 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for TIOCGETD" >&5
-echo $ECHO_N "checking for TIOCGETD... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for TIOCGETD" >&5
+echo $ECHO_N "checking for TIOCGETD... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -43812,42 +44124,38 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_TIOCGETD 1
 _ACEOF
 
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
@@ -43856,12 +44164,13 @@
 
 
 
+
 for ac_func in alarm fork frexpf frexpl gethostname getpwuid getrusage
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -43887,67 +44196,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -43963,9 +44265,9 @@
 for ac_func in BSDgettimeofday longjmp setsysinfo sigaction
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -43991,67 +44293,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -44069,9 +44364,9 @@
 for ac_func in signal snprintf vsnprintf strdup system waitpid
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -44097,67 +44392,60 @@
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+	eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -44167,8 +44455,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
 if test "${ac_cv_c_const+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -44186,10 +44474,10 @@
 #ifndef __cplusplus
   /* Ultrix mips cc rejects this.  */
   typedef int charset[2];
-  const charset x;
+  const charset cs;
   /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *ccp;
-  char **p;
+  char const *const *pcpcc;
+  char **ppc;
   /* NEC SVR4.0.2 mips cc rejects this.  */
   struct point {int x, y;};
   static struct point const zero = {0,0};
@@ -44198,16 +44486,17 @@
      an arm of an if-expression whose if-part is not a constant
      expression */
   const char *g = "string";
-  ccp = &g + (g ? g-g : 0);
+  pcpcc = &g + (g ? g-g : 0);
   /* HPUX 7.0 cc rejects these. */
-  ++ccp;
-  p = (char**) ccp;
-  ccp = (char const *const *) p;
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
   { /* SCO 3.2v4 cc rejects this.  */
     char *t;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
+    if (s) return 0;
   }
   { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
     int x[] = {25, 17};
@@ -44226,7 +44515,9 @@
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
+    if (!foo) return 0;
   }
+  return !cs[0] && !zero.x;
 #endif
 
   ;
@@ -44234,37 +44525,34 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_c_const=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_c_const=no
+	ac_cv_c_const=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+echo "${ECHO_T}$ac_cv_c_const" >&6; }
 if test $ac_cv_c_const = no; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -44273,8 +44561,8 @@
 
 fi
 
-echo "$as_me:$LINENO: checking for inline" >&5
-echo $ECHO_N "checking for inline... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for inline" >&5
+echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
 if test "${ac_cv_c_inline+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -44294,38 +44582,37 @@
 
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_c_inline=$ac_kw; break
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_c_inline=$ac_kw
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
 done
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
-echo "${ECHO_T}$ac_cv_c_inline" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
+echo "${ECHO_T}$ac_cv_c_inline" >&6; }
 
 
 case $ac_cv_c_inline in
@@ -44344,8 +44631,8 @@
 esac
 
 
-echo "$as_me:$LINENO: checking for __attribute__ extension" >&5
-echo $ECHO_N "checking for __attribute__ extension... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for __attribute__ extension" >&5
+echo $ECHO_N "checking for __attribute__ extension... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -44362,44 +44649,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_ATTRIBUTE 1
 _ACEOF
 
-               echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+               { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for __FUNCTION__ extension" >&5
-echo $ECHO_N "checking for __FUNCTION__ extension... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking for __FUNCTION__ extension" >&5
+echo $ECHO_N "checking for __FUNCTION__ extension... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -44416,44 +44700,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_FUNCTION 1
 _ACEOF
 
-               echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+               { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking how to print long long" >&5
-echo $ECHO_N "checking how to print long long... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ echo "$as_me:$LINENO: checking how to print long long" >&5
+echo $ECHO_N "checking how to print long long... $ECHO_C" >&6; }
 if test "${hdf5_cv_printf_ll+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -44485,13 +44766,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -44502,21 +44792,23 @@
 sed 's/^/| /' conftest.$ac_ext >&5
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 done
 fi
 
-echo "$as_me:$LINENO: result: %${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&5
-echo "${ECHO_T}%${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&6
+{ echo "$as_me:$LINENO: result: %${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&5
+echo "${ECHO_T}%${hdf5_cv_printf_ll}d and %${hdf5_cv_printf_ll}u" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 #define PRINTF_LL_WIDTH "$hdf5_cv_printf_ll"
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking Threads support system scope" >&5
-echo $ECHO_N "checking Threads support system scope... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking Threads support system scope" >&5
+echo $ECHO_N "checking Threads support system scope... $ECHO_C" >&6; }
 if test "${hdf5_cv_system_scope_threads+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -44551,13 +44843,22 @@
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -44570,8 +44871,10 @@
 ( exit $ac_status )
 hdf5_cv_system_scope_threads=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 
 
@@ -44581,39 +44884,40 @@
 #define SYSTEM_SCOPE_THREADS 1
 _ACEOF
 
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-# Check whether --enable-gpfs or --disable-gpfs was given.
+# Check whether --enable-gpfs was given.
 if test "${enable_gpfs+set}" = set; then
-  enableval="$enable_gpfs"
-
+  enableval=$enable_gpfs;
 else
   enableval=no
-fi;
+fi
 
+
 case "X-$enableval" in
   X-yes)
 
 for ac_header in gpfs.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -44624,40 +44928,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -44666,24 +44967,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -44691,9 +44990,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -44717,33 +45017,32 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
- echo "$as_me:$LINENO: checking for GPFS support" >&5
-echo $ECHO_N "checking for GPFS support... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GPFS support" >&5
+echo $ECHO_N "checking for GPFS support... $ECHO_C" >&6; }
                      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -44760,106 +45059,111 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_GPFS 1
 _ACEOF
 
-                                    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+                                    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
                                     LIBS="$LIBS -lgpfs"
                                     GPFS="yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
                                     GPFS="no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
 done
 
     ;;
   X-no|*)
-    echo "$as_me:$LINENO: checking for gpfs" >&5
-echo $ECHO_N "checking for gpfs... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for gpfs" >&5
+echo $ECHO_N "checking for gpfs... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
 esac
 
-echo "$as_me:$LINENO: checking for debug flags" >&5
-echo $ECHO_N "checking for debug flags... $ECHO_C" >&6
-# Check whether --enable-debug or --disable-debug was given.
+{ echo "$as_me:$LINENO: checking for debug flags" >&5
+echo $ECHO_N "checking for debug flags... $ECHO_C" >&6; }
+# Check whether --enable-debug was given.
 if test "${enable_debug+set}" = set; then
-  enableval="$enable_debug"
-  DEBUG_PKG=$enableval
-fi;
+  enableval=$enable_debug; DEBUG_PKG=$enableval
+fi
 
 
+if test "X-$DEBUG_PKG" = X- ; then
+    if test "$enable_production" = yes ; then
+        DEBUG_PKG=no
+    else
+        DEBUG_PKG=yes
+    fi
+fi
+
+
 all_packages="ac,b,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
 case "X-$DEBUG_PKG" in
   X-yes)
     DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"
     CPPFLAGS="$CPPFLAGS -UNDEBUG"
-    echo "$as_me:$LINENO: result: default ($DEBUG_PKG)" >&5
-echo "${ECHO_T}default ($DEBUG_PKG)" >&6
+    { echo "$as_me:$LINENO: result: default ($DEBUG_PKG)" >&5
+echo "${ECHO_T}default ($DEBUG_PKG)" >&6; }
     ;;
   X-all)
     DEBUG_PKG=$all_packages
     CPPFLAGS="$CPPFLAGS -UNDEBUG"
-    echo "$as_me:$LINENO: result: all ($DEBUG_PKG)" >&5
-echo "${ECHO_T}all ($DEBUG_PKG)" >&6
+    { echo "$as_me:$LINENO: result: all ($DEBUG_PKG)" >&5
+echo "${ECHO_T}all ($DEBUG_PKG)" >&6; }
     ;;
-  X-|X-no|X-none)
-    echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+  X-no|X-none)
+    { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
     DEBUG_PKG=
     CPPFLAGS="$CPPFLAGS -DNDEBUG"
     ;;
   *)
-    echo "$as_me:$LINENO: result: $DEBUG_PKG" >&5
-echo "${ECHO_T}$DEBUG_PKG" >&6
+    { echo "$as_me:$LINENO: result: $DEBUG_PKG" >&5
+echo "${ECHO_T}$DEBUG_PKG" >&6; }
     ;;
 esac
 
 if test -n "$DEBUG_PKG"; then
-  for pkg in `echo $DEBUG_PKG | ${TR} 'a-z,' 'A-Z '`; do
+  for pkg in `echo $DEBUG_PKG | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do
     CPPFLAGS="$CPPFLAGS -DH5${pkg}_DEBUG"
   done
 fi
 
-echo "$as_me:$LINENO: checking whether function stack tracking is enabled" >&5
-echo $ECHO_N "checking whether function stack tracking is enabled... $ECHO_C" >&6
-# Check whether --enable-funcstack or --disable-funcstack was given.
+{ echo "$as_me:$LINENO: checking whether function stack tracking is enabled" >&5
+echo $ECHO_N "checking whether function stack tracking is enabled... $ECHO_C" >&6; }
+# Check whether --enable-funcstack was given.
 if test "${enable_funcstack+set}" = set; then
-  enableval="$enable_funcstack"
-  FUNCSTACK=$enableval
-fi;
+  enableval=$enable_funcstack; FUNCSTACK=$enableval
+fi
 
+
 if test "X-$FUNCSTACK" = X- ; then
   if test -z "$DEBUG_PKG" ; then
     FUNCSTACK=no
@@ -44870,8 +45174,8 @@
 case "X-$FUNCSTACK" in
   X-|X-yes)
       FUNCSTACK="yes"
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_FUNCSTACK 1
@@ -44879,20 +45183,20 @@
 
     ;;
   *)
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     ;;
 esac
 
 
-echo "$as_me:$LINENO: checking for API tracing" >&5
-echo $ECHO_N "checking for API tracing... $ECHO_C" >&6;
-# Check whether --enable-trace or --disable-trace was given.
+{ echo "$as_me:$LINENO: checking for API tracing" >&5
+echo $ECHO_N "checking for API tracing... $ECHO_C" >&6; };
+# Check whether --enable-trace was given.
 if test "${enable_trace+set}" = set; then
-  enableval="$enable_trace"
-  TRACE=$enableval
-fi;
+  enableval=$enable_trace; TRACE=$enableval
+fi
 
+
 if test "X-$TRACE" = X- ; then
   if test -z "$DEBUG_PKG" ; then
     TRACE=no
@@ -44903,28 +45207,28 @@
 
 case "X-$TRACE" in
   X-yes)
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
     TRACE_API=yes
     CPPFLAGS="$CPPFLAGS -DH5_DEBUG_API"
     ;;
   X-no|*)
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     TRACE_API=no
     CPPFLAGS="$CPPFLAGS -UH5_DEBUG_API"
     ;;
 esac
 
 
-echo "$as_me:$LINENO: checking for instrumented library" >&5
-echo $ECHO_N "checking for instrumented library... $ECHO_C" >&6;
-# Check whether --enable-instrument or --disable-instrument was given.
+{ echo "$as_me:$LINENO: checking for instrumented library" >&5
+echo $ECHO_N "checking for instrumented library... $ECHO_C" >&6; };
+# Check whether --enable-instrument was given.
 if test "${enable_instrument+set}" = set; then
-  enableval="$enable_instrument"
-  INSTRUMENT=$enableval
-fi;
+  enableval=$enable_instrument; INSTRUMENT=$enableval
+fi
 
+
 if test "X-$INSTRUMENT" = X- ; then
   if test -z "$DEBUG_PKG" ; then
     INSTRUMENT=no
@@ -44935,8 +45239,8 @@
 
 case "X-$INSTRUMENT" in
   X-yes)
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
     INSTRUMENT_LIBRARY=yes
 
 cat >>confdefs.h <<\_ACEOF
@@ -44945,12 +45249,39 @@
 
     ;;
   X-no|*)
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     INSTRUMENT_LIBRARY=no
     ;;
 esac
 
+
+{ echo "$as_me:$LINENO: checking whether to clear file buffers" >&5
+echo $ECHO_N "checking whether to clear file buffers... $ECHO_C" >&6; }
+# Check whether --enable-clear-file-buffers was given.
+if test "${enable_clear_file_buffers+set}" = set; then
+  enableval=$enable_clear_file_buffers; CLEARFILEBUF=$enableval
+fi
+
+
+case "X-$CLEARFILEBUF" in
+  *)
+      CLEARFILEBUF=yes
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define CLEAR_MEMORY 1
+_ACEOF
+
+    ;;
+  X-no)
+      CLEARFILEBUF=no
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    ;;
+esac
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -44969,138 +45300,79 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
 
-
-
-
-
-
-case "$CC_BASENAME" in
-  mpicc)
-            PARALLEL=mpicc
-    echo "$as_me:$LINENO: checking for mpirun" >&5
-echo $ECHO_N "checking for mpirun... $ECHO_C" >&6
-
-        cmd="`echo $CC | cut -f1 -d' '`"
-    if (echo $cmd | grep / >/dev/null); then
-      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
-    else
-      for path in `echo $PATH | ${TR} : ' '`; do
-        if test -x $path/$cmd; then
-          break
-        fi
-      done
-    fi
-
-        if test -x $path/mpirun; then
-      echo "$as_me:$LINENO: result: $path/mpirun" >&5
-echo "${ECHO_T}$path/mpirun" >&6
-      RUNSERIAL="${RUNSERIAL:-none}"
-
-      if test -z "$RUNPARALLEL"; then
-        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}"
-      fi
-    else
-      echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-    fi
-    ;;
-
-  hcc)
-            PARALLEL=hcc
-    echo "$as_me:$LINENO: checking for mpirun_lam or mpirun" >&5
-echo $ECHO_N "checking for mpirun_lam or mpirun... $ECHO_C" >&6
-
-        cmd="`echo $CC | cut -f1 -d' '`"
-    if (echo $cmd | grep / >/dev/null); then
-      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
-    else
-      for path in `echo $PATH | ${TR} : ' '`; do
-        if test -x $path/$cmd; then
-          break
-        fi
-      done
-    fi
-
-        if test -x $path/mpirun_lam -o -x $path/mpirun; then
-      if test -x $path/mpirun_lam; then
-        cmd=mpirun_lam
-      else
-        cmd=mpirun
-      fi
-      echo "$as_me:$LINENO: result: $path/$cmd" >&5
-echo "${ECHO_T}$path/$cmd" >&6
-      RUNSERIAL="${RUNSERIAL:-none}"
-      if test -z "$RUNPARALLEL"; then
-        RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}"
-      fi
-    else
-      echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-    fi
-    ;;
-
-  mpcc|mpcc_r)
-        PARALLEL="$CC_BASENAME"
-    ;;
-
-  *)
-            ;;
-esac
-
-# Check whether --enable-parallel or --disable-parallel was given.
+# Check whether --enable-parallel was given.
 if test "${enable_parallel+set}" = set; then
-  enableval="$enable_parallel"
+  enableval=$enable_parallel;
+fi
 
-fi;
 
-echo "$as_me:$LINENO: checking for parallel support files" >&5
-echo $ECHO_N "checking for parallel support files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for parallel support files" >&5
+echo $ECHO_N "checking for parallel support files... $ECHO_C" >&6; }
 case "X-$enable_parallel" in
   X-|X-no|X-none)
-                echo "$as_me:$LINENO: result: skipped" >&5
-echo "${ECHO_T}skipped" >&6
+                { echo "$as_me:$LINENO: result: skipped" >&5
+echo "${ECHO_T}skipped" >&6; }
     ;;
 
   X-yes)
-            echo "$as_me:$LINENO: result: provided by compiler" >&5
-echo "${ECHO_T}provided by compiler" >&6
+            { echo "$as_me:$LINENO: result: provided by compiler" >&5
+echo "${ECHO_T}provided by compiler" >&6; }
     PARALLEL=yes
 
             cat >conftest.$ac_ext <<_ACEOF
@@ -45119,35 +45391,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   :
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-\
+	\
 
-echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5
-echo $ECHO_N "checking for MPI_Init in -lmpi... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5
+echo $ECHO_N "checking for MPI_Init in -lmpi... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -45160,55 +45429,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPI_Init ();
 int
 main ()
 {
-MPI_Init ();
+return MPI_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpi_MPI_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpi_MPI_Init=no
+	ac_cv_lib_mpi_MPI_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_mpi_MPI_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_mpi_MPI_Init" >&6; }
 if test $ac_cv_lib_mpi_MPI_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPI 1
@@ -45219,8 +45486,8 @@
 else
   \
 
-echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5
-echo $ECHO_N "checking for MPI_Init in -lmpich... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5
+echo $ECHO_N "checking for MPI_Init in -lmpich... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -45233,55 +45500,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPI_Init ();
 int
 main ()
 {
-MPI_Init ();
+return MPI_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpich_MPI_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpich_MPI_Init=no
+	ac_cv_lib_mpich_MPI_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_mpich_MPI_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_mpich_MPI_Init" >&6; }
 if test $ac_cv_lib_mpich_MPI_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPICH 1
@@ -45296,7 +45561,8 @@
 fi
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
             if test "X$PARALLEL" = "Xyes"; then
@@ -45316,34 +45582,31 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   :
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
-echo "$as_me:$LINENO: checking for MPI_File_open in -lmpio" >&5
-echo $ECHO_N "checking for MPI_File_open in -lmpio... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPI_File_open in -lmpio" >&5
+echo $ECHO_N "checking for MPI_File_open in -lmpio... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpio_MPI_File_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -45356,55 +45619,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPI_File_open ();
 int
 main ()
 {
-MPI_File_open ();
+return MPI_File_open ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpio_MPI_File_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpio_MPI_File_open=no
+	ac_cv_lib_mpio_MPI_File_open=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpio_MPI_File_open" >&5
-echo "${ECHO_T}$ac_cv_lib_mpio_MPI_File_open" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpio_MPI_File_open" >&5
+echo "${ECHO_T}$ac_cv_lib_mpio_MPI_File_open" >&6; }
 if test $ac_cv_lib_mpio_MPI_File_open = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPIO 1
@@ -45417,7 +45678,8 @@
 fi
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     fi
 
@@ -45427,8 +45689,8 @@
     ;;
 
   *)
-    echo "$as_me:$LINENO: result: error" >&5
-echo "${ECHO_T}error" >&6
+    { echo "$as_me:$LINENO: result: error" >&5
+echo "${ECHO_T}error" >&6; }
     { { echo "$as_me:$LINENO: error: \'$enable_parallel\' is not a valid parallel search type" >&5
 echo "$as_me: error: \'$enable_parallel\' is not a valid parallel search type" >&2;}
    { (exit 1); exit 1; }; }
@@ -45450,17 +45712,17 @@
 _ACEOF
 
 
-    echo "$as_me:$LINENO: checking prefix for running on one processor" >&5
-echo $ECHO_N "checking prefix for running on one processor... $ECHO_C" >&6
-  echo "$as_me:$LINENO: result: $RUNSERIAL" >&5
-echo "${ECHO_T}$RUNSERIAL" >&6
-  echo "$as_me:$LINENO: checking prefix for running in parallel" >&5
-echo $ECHO_N "checking prefix for running in parallel... $ECHO_C" >&6
-  echo "$as_me:$LINENO: result: $RUNPARALLEL" >&5
-echo "${ECHO_T}$RUNPARALLEL" >&6
+    { echo "$as_me:$LINENO: checking prefix for running on one processor" >&5
+echo $ECHO_N "checking prefix for running on one processor... $ECHO_C" >&6; }
+  { echo "$as_me:$LINENO: result: $RUNSERIAL" >&5
+echo "${ECHO_T}$RUNSERIAL" >&6; }
+  { echo "$as_me:$LINENO: checking prefix for running in parallel" >&5
+echo $ECHO_N "checking prefix for running in parallel... $ECHO_C" >&6; }
+  { echo "$as_me:$LINENO: result: $RUNPARALLEL" >&5
+echo "${ECHO_T}$RUNPARALLEL" >&6; }
 
-    echo "$as_me:$LINENO: checking whether a simple MPI-IO program can be linked" >&5
-echo $ECHO_N "checking whether a simple MPI-IO program can be linked... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether a simple MPI-IO program can be linked" >&5
+echo $ECHO_N "checking whether a simple MPI-IO program can be linked... $ECHO_C" >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -45477,39 +45739,37 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
               { { echo "$as_me:$LINENO: error: unable to link a simple MPI-IO application" >&5
 echo "$as_me: error: unable to link a simple MPI-IO application" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
       if test -z "$RUNPARALLEL"; then
@@ -45527,20 +45787,20 @@
 
                MPE=yes
 
-# Check whether --with-mpe or --without-mpe was given.
+# Check whether --with-mpe was given.
 if test "${with_mpe+set}" = set; then
-  withval="$with_mpe"
-
+  withval=$with_mpe;
 else
   withval=no
-fi;
+fi
 
+
   case "X-$withval" in
     X-|X-no|X-none)
-      echo "$as_me:$LINENO: checking for MPE" >&5
-echo $ECHO_N "checking for MPE... $ECHO_C" >&6
-      echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+      { echo "$as_me:$LINENO: checking for MPE" >&5
+echo $ECHO_N "checking for MPE... $ECHO_C" >&6; }
+      { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
       unset MPE
       ;;
     X-yes)
@@ -45548,18 +45808,19 @@
 for ac_header in mpe.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -45570,40 +45831,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -45612,24 +45870,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -45637,9 +45893,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -45663,25 +45920,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -45696,8 +45952,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
-echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
+echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpe_MPE_Init_log+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -45710,55 +45966,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
 int
 main ()
 {
-MPE_Init_log ();
+return MPE_Init_log ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpe_MPE_Init_log=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpe_MPE_Init_log=no
+	ac_cv_lib_mpe_MPE_Init_log=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
-echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
+echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6; }
 if test $ac_cv_lib_mpe_MPE_Init_log = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPE 1
@@ -45771,8 +46025,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
-echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
+echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_lmpe_CLOG_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -45785,55 +46039,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
 int
 main ()
 {
-CLOG_Init ();
+return CLOG_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_lmpe_CLOG_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_lmpe_CLOG_Init=no
+	ac_cv_lib_lmpe_CLOG_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6; }
 if test $ac_cv_lib_lmpe_CLOG_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBLMPE 1
@@ -45874,18 +46126,19 @@
 for ac_header in mpe.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -45896,40 +46149,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -45938,24 +46188,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -45963,9 +46211,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -45989,25 +46238,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -46026,18 +46274,19 @@
 for ac_header in mpe.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -46048,40 +46297,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -46090,24 +46336,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -46115,9 +46359,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -46141,25 +46386,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -46179,8 +46423,8 @@
         saved_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -L$mpe_lib"
 
-echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
-echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
+echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpe_MPE_Init_log+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46193,55 +46437,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
 int
 main ()
 {
-MPE_Init_log ();
+return MPE_Init_log ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpe_MPE_Init_log=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpe_MPE_Init_log=no
+	ac_cv_lib_mpe_MPE_Init_log=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
-echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
+echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6; }
 if test $ac_cv_lib_mpe_MPE_Init_log = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPE 1
@@ -46254,8 +46496,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
-echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
+echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_lmpe_CLOG_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46268,55 +46510,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
 int
 main ()
 {
-CLOG_Init ();
+return CLOG_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_lmpe_CLOG_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_lmpe_CLOG_Init=no
+	ac_cv_lib_lmpe_CLOG_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6; }
 if test $ac_cv_lib_lmpe_CLOG_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBLMPE 1
@@ -46330,8 +46570,8 @@
 
       else
 
-echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
-echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
+echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpe_MPE_Init_log+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46344,55 +46584,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
 int
 main ()
 {
-MPE_Init_log ();
+return MPE_Init_log ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpe_MPE_Init_log=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpe_MPE_Init_log=no
+	ac_cv_lib_mpe_MPE_Init_log=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
-echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
+echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6; }
 if test $ac_cv_lib_mpe_MPE_Init_log = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPE 1
@@ -46405,8 +46643,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
-echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
+echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_lmpe_CLOG_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46419,55 +46657,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
 int
 main ()
 {
-CLOG_Init ();
+return CLOG_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_lmpe_CLOG_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_lmpe_CLOG_Init=no
+	ac_cv_lib_lmpe_CLOG_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6; }
 if test $ac_cv_lib_lmpe_CLOG_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBLMPE 1
@@ -46491,8 +46727,8 @@
 
   fi
 
-              echo "$as_me:$LINENO: checking if MPI_File_set_size works for files over 2GB" >&5
-echo $ECHO_N "checking if MPI_File_set_size works for files over 2GB... $ECHO_C" >&6
+              { echo "$as_me:$LINENO: checking if MPI_File_set_size works for files over 2GB" >&5
+echo $ECHO_N "checking if MPI_File_set_size works for files over 2GB... $ECHO_C" >&6; }
   if test "${hdf5_cv_mpi_file_set_size_big+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46506,17 +46742,44 @@
 #define MPI_FILE_SET_SIZE_BIG 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   else
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   fi
 
+# Check whether --enable-mpi-size was given.
+if test "${enable_mpi_size+set}" = set; then
+  enableval=$enable_mpi_size; MPI_GET_SIZE=$enableval
+fi
 
-echo "$as_me:$LINENO: checking if irregular hyperslab optimization code works inside MPI-IO" >&5
-echo $ECHO_N "checking if irregular hyperslab optimization code works inside MPI-IO... $ECHO_C" >&6
 
+{ echo "$as_me:$LINENO: checking if MPI_File_get_size is enabled" >&5
+echo $ECHO_N "checking if MPI_File_get_size is enabled... $ECHO_C" >&6; }
+
+
+case "X-$MPI_GET_SIZE" in
+  X-no)
+    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    MPI_GET_SIZE=no
+    ;;
+  X-yes|*)
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+    MPI_GET_SIZE=yes
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MPI_GET_SIZE 1
+_ACEOF
+
+    ;;
+esac
+
+{ echo "$as_me:$LINENO: checking if irregular hyperslab optimization code works inside MPI-IO" >&5
+echo $ECHO_N "checking if irregular hyperslab optimization code works inside MPI-IO... $ECHO_C" >&6; }
+
 if test "${hdf5_mpi_complex_derived_datatype_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46530,45 +46793,496 @@
 #define MPI_COMPLEX_DERIVED_DATATYPE_WORKS 1
 _ACEOF
 
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 fi
 
+{ echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
+echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6; }
+# Check whether --enable-stream-vfd was given.
+if test "${enable_stream_vfd+set}" = set; then
+  enableval=$enable_stream_vfd; STREAM_VFD=$enableval
+else
+  STREAM_VFD=yes
+fi
 
+
+if test "$STREAM_VFD" != "yes"; then
+  { echo "$as_me:$LINENO: result: not configured" >&5
+echo "${ECHO_T}not configured" >&6; }
+fi
+
+if test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then
+    { echo "$as_me:$LINENO: result: not supported in parallel" >&5
+echo "${ECHO_T}not supported in parallel" >&6; }
+    echo "    warning! Stream-VFD is not supported in parallel"
+    STREAM_VFD=no
+fi
+if test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then
+    { echo "$as_me:$LINENO: result: not supported in parallel" >&5
+echo "${ECHO_T}not supported in parallel" >&6; }
+    echo "    warning! Stream-VFD is not supported when a parallel compiler is being used"
+    STREAM_VFD=no
+fi
+
+if test "$STREAM_VFD" = "yes"; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+for ac_header in netinet/in.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in netinet/tcp.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <netinet/in.h>
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in sys/filio.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STREAM 1
+_ACEOF
+
+
+    { echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
+echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+int
+main ()
+{
+socklen_t foo; return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKLEN_T 1
+_ACEOF
+
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
  USE_FILTER_SHUFFLE="no"
  USE_FILTER_FLETCHER32="no"
-echo "$as_me:$LINENO: checking for I/O filters" >&5
-echo $ECHO_N "checking for I/O filters... $ECHO_C" >&6
-# Check whether --enable-filters or --disable-filters was given.
+{ echo "$as_me:$LINENO: checking for I/O filters" >&5
+echo $ECHO_N "checking for I/O filters... $ECHO_C" >&6; }
+# Check whether --enable-filters was given.
 if test "${enable_filters+set}" = set; then
-  enableval="$enable_filters"
-  FILTERS=$enableval
-fi;
+  enableval=$enable_filters; FILTERS=$enableval
+fi
 
+
 all_filters="shuffle,fletcher32"
 case "X-$FILTERS" in
   X-|X-all)
     FILTERS=$all_filters
-    echo "$as_me:$LINENO: result: all ($FILTERS)" >&5
-echo "${ECHO_T}all ($FILTERS)" >&6
+    { echo "$as_me:$LINENO: result: all ($FILTERS)" >&5
+echo "${ECHO_T}all ($FILTERS)" >&6; }
     ;;
   X-no|X-none)
-    echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+    { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
     FILTERS="none"
     ;;
   *)
-    echo "$as_me:$LINENO: result: $FILTERS" >&5
-echo "${ECHO_T}$FILTERS" >&6
+    { echo "$as_me:$LINENO: result: $FILTERS" >&5
+echo "${ECHO_T}$FILTERS" >&6; }
     ;;
 esac
 
 if test -n "$FILTERS"; then
-  for filter in `echo $FILTERS | ${TR} 'a-z,' 'A-Z '`; do
+  for filter in `echo $FILTERS | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do
                     if test $filter = "SHUFFLE"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -46596,8 +47310,8 @@
 
 fi
 
-echo "$as_me:$LINENO: checking if converting denormalized floating-point values is possible" >&5
-echo $ECHO_N "checking if converting denormalized floating-point values is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if converting denormalized floating-point values is possible" >&5
+echo $ECHO_N "checking if converting denormalized floating-point values is possible... $ECHO_C" >&6; }
 if test "${hdf5_cv_convert_denormal_float+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -46611,11 +47325,11 @@
 #define CONVERT_DENORMAL_FLOAT 1
 _ACEOF
 
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
@@ -46724,16 +47438,16 @@
 
 
  HL=""
-echo "$as_me:$LINENO: checking if high level library is enabled" >&5
-echo $ECHO_N "checking if high level library is enabled... $ECHO_C" >&6
-# Check whether --enable-hl or --disable-hl was given.
+{ echo "$as_me:$LINENO: checking if high level library is enabled" >&5
+echo $ECHO_N "checking if high level library is enabled... $ECHO_C" >&6; }
+# Check whether --enable-hl was given.
 if test "${enable_hl+set}" = set; then
-  enableval="$enable_hl"
-  HDF5_HL=$enableval
+  enableval=$enable_hl; HDF5_HL=$enableval
 else
   HDF5_HL=yes
-fi;
+fi
 
+
 if test "X$HDF5_HL" = "Xyes"; then
  echo "yes"
  HL="hl"
@@ -46766,10 +47480,14 @@
 saved_no_create=$no_create
 no_create=yes
 
-PARALLEL_MAKE=""
-
 if test -n "$TESTPARALLEL"; then
   PARALLEL_MAKE="$TESTPARALLEL/Makefile $TESTPARALLEL/testph5.sh"
+  BUILD_PARALLEL_CONDITIONAL_TRUE=
+  BUILD_PARALLEL_CONDITIONAL_FALSE='#'
+else
+  PARALLEL_MAKE=""
+  BUILD_PARALLEL_CONDITIONAL_TRUE='#'
+  BUILD_PARALLEL_CONDITIONAL_FALSE=
 fi
 
 
@@ -46777,11 +47495,14 @@
 # to do : fortran with hl
 if test "X$HDF5_HL" = "Xyes"; then
  HL_FILES="hl/Makefile
+	   hl/examples/Makefile
 	   hl/src/Makefile
-           hl/test/Makefile"
+           hl/test/Makefile
+           hl/tools/Makefile
+           hl/tools/gif2h5/Makefile"
 fi
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ac_config_files="$ac_config_files src/libhdf5.settings config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/Makefile test/Makefile $PARALLEL_MAKE perform/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5import/Makefile tools/h5diff/Makefile tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5ls/Makefile tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc tools/gifconv/Makefile examples/Makefile doc/Makefile doc/html/Makefile doc/html/ed_libs/Makefile doc/html/ed_styles/Makefile doc/html/ADGuide/Makefile doc/html/Graphics/Makefile doc/html/Intro/Makefile doc/html/PSandPDF/Makefile doc/html/TechNotes/Makefile doc/html/Tutor/Makefile doc/html/Tutor/Graphics/Makefile doc/html/Tutor/examples/Makefile doc/html/cpplus/Makefile doc/html/cpplus_RM/Makefile doc/html/cpplus_RM/header_files/Makefile doc/html/fortran/Makefile $HL_FILES"
+ac_config_files="$ac_config_files src/libhdf5.settings config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/Makefile test/Makefile $PARALLEL_MAKE perform/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5import/Makefile tools/h5diff/Makefile tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5ls/Makefile tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc examples/Makefile examples/testh5cc.sh doc/Makefile doc/html/Makefile doc/html/ed_libs/Makefile doc/html/ed_styles/Makefile doc/html/ADGuide/Makefile doc/html/Graphics/Makefile doc/html/Intro/Makefile doc/html/PSandPDF/Makefile doc/html/TechNotes/Makefile doc/html/Tutor/Makefile doc/html/Tutor/Graphics/Makefile doc/html/Tutor/examples/Makefile doc/html/cpplus/Makefile doc/html/cpplus_RM/Makefile doc/html/cpplus_RM/header_files/Makefile doc/html/fortran/Makefile $HL_FILES"
 
 
 cat >confcache <<\_ACEOF
@@ -46802,39 +47523,58 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -46843,32 +47583,18 @@
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[	 ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[	 ]*$//;
-}'
-fi
-
 DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -46899,18 +47625,46 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
@@ -46919,8 +47673,43 @@
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -46934,18 +47723,19 @@
   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -46953,159 +47743,120 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
 
-
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
-	 /*)
-	   if ("$as_dir/$as_base" -c '
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
-
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -47114,7 +47865,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -47123,62 +47895,35 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
+# values after options handling.
+ac_log="
+This file was extended by HDF5 $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
-This file was extended by HDF5 $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
-
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
   CONFIG_LINKS    = $CONFIG_LINKS
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
 
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+_ACEOF
 
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -47186,7 +47931,7 @@
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number, then exit
+  -V, --version    print version number and configuration settings, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
@@ -47205,19 +47950,21 @@
 $config_commands
 
 Report bugs to <bug-autoconf at gnu.org>."
+
 _ACEOF
-
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-HDF5 config.status 1.6.5
-configured by $0, generated by GNU Autoconf 2.59,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+HDF5 config.status 1.6.6
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -47228,39 +47975,24 @@
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
@@ -47270,18 +48002,24 @@
     $ac_shift
     CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
     ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
-  *) ac_config_targets="$ac_config_targets $1" ;;
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
@@ -47297,81 +48035,93 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
 fi
 
 _ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
 
+_ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 #
-# INIT-COMMANDS section.
+# INIT-COMMANDS
 #
 
 
-
 _ACEOF
 
+cat >>$CONFIG_STATUS <<\_ACEOF
 
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "src/libhdf5.settings" ) CONFIG_FILES="$CONFIG_FILES src/libhdf5.settings" ;;
-  "config/depend1" ) CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
-  "config/depend2" ) CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
-  "config/depend3" ) CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
-  "config/depend4" ) CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
-  "config/dependN" ) CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
-  "config/commence" ) CONFIG_FILES="$CONFIG_FILES config/commence" ;;
-  "config/conclude" ) CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
-  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-  "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
-  "$PARALLEL_MAKE" ) CONFIG_FILES="$CONFIG_FILES $PARALLEL_MAKE" ;;
-  "perform/Makefile" ) CONFIG_FILES="$CONFIG_FILES perform/Makefile" ;;
-  "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
-  "tools/h5dump/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/h5dump/Makefile" ;;
-  "tools/h5dump/testh5dump.sh" ) CONFIG_FILES="$CONFIG_FILES tools/h5dump/testh5dump.sh" ;;
-  "tools/h5import/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/h5import/Makefile" ;;
-  "tools/h5diff/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/h5diff/Makefile" ;;
-  "tools/h5jam/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/h5jam/Makefile" ;;
-  "tools/h5jam/testh5jam.sh" ) CONFIG_FILES="$CONFIG_FILES tools/h5jam/testh5jam.sh" ;;
-  "tools/h5repack/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/h5repack/Makefile" ;;
-  "tools/h5repack/h5repack.sh" ) CONFIG_FILES="$CONFIG_FILES tools/h5repack/h5repack.sh" ;;
-  "tools/h5ls/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/h5ls/Makefile" ;;
-  "tools/lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/lib/Makefile" ;;
-  "tools/misc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/misc/Makefile" ;;
-  "tools/misc/h5cc" ) CONFIG_FILES="$CONFIG_FILES tools/misc/h5cc" ;;
-  "tools/gifconv/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/gifconv/Makefile" ;;
-  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
-  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-  "doc/html/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
-  "doc/html/ed_libs/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/ed_libs/Makefile" ;;
-  "doc/html/ed_styles/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/ed_styles/Makefile" ;;
-  "doc/html/ADGuide/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/ADGuide/Makefile" ;;
-  "doc/html/Graphics/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Graphics/Makefile" ;;
-  "doc/html/Intro/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Intro/Makefile" ;;
-  "doc/html/PSandPDF/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/PSandPDF/Makefile" ;;
-  "doc/html/TechNotes/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/TechNotes/Makefile" ;;
-  "doc/html/Tutor/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Tutor/Makefile" ;;
-  "doc/html/Tutor/Graphics/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Tutor/Graphics/Makefile" ;;
-  "doc/html/Tutor/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/Tutor/examples/Makefile" ;;
-  "doc/html/cpplus/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/cpplus/Makefile" ;;
-  "doc/html/cpplus_RM/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/cpplus_RM/Makefile" ;;
-  "doc/html/cpplus_RM/header_files/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/cpplus_RM/header_files/Makefile" ;;
-  "doc/html/fortran/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/html/fortran/Makefile" ;;
-  "$HL_FILES" ) CONFIG_FILES="$CONFIG_FILES $HL_FILES" ;;
-  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
-  "src/H5config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/H5config.h" ;;
+  case $ac_config_target in
+    "src/H5config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/H5config.h" ;;
+    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+    "src/libhdf5.settings") CONFIG_FILES="$CONFIG_FILES src/libhdf5.settings" ;;
+    "config/depend1") CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
+    "config/depend2") CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
+    "config/depend3") CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
+    "config/depend4") CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
+    "config/dependN") CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
+    "config/commence") CONFIG_FILES="$CONFIG_FILES config/commence" ;;
+    "config/conclude") CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "$PARALLEL_MAKE") CONFIG_FILES="$CONFIG_FILES $PARALLEL_MAKE" ;;
+    "perform/Makefile") CONFIG_FILES="$CONFIG_FILES perform/Makefile" ;;
+    "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
+    "tools/h5dump/Makefile") CONFIG_FILES="$CONFIG_FILES tools/h5dump/Makefile" ;;
+    "tools/h5dump/testh5dump.sh") CONFIG_FILES="$CONFIG_FILES tools/h5dump/testh5dump.sh" ;;
+    "tools/h5import/Makefile") CONFIG_FILES="$CONFIG_FILES tools/h5import/Makefile" ;;
+    "tools/h5diff/Makefile") CONFIG_FILES="$CONFIG_FILES tools/h5diff/Makefile" ;;
+    "tools/h5jam/Makefile") CONFIG_FILES="$CONFIG_FILES tools/h5jam/Makefile" ;;
+    "tools/h5jam/testh5jam.sh") CONFIG_FILES="$CONFIG_FILES tools/h5jam/testh5jam.sh" ;;
+    "tools/h5repack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/h5repack/Makefile" ;;
+    "tools/h5repack/h5repack.sh") CONFIG_FILES="$CONFIG_FILES tools/h5repack/h5repack.sh" ;;
+    "tools/h5ls/Makefile") CONFIG_FILES="$CONFIG_FILES tools/h5ls/Makefile" ;;
+    "tools/lib/Makefile") CONFIG_FILES="$CONFIG_FILES tools/lib/Makefile" ;;
+    "tools/misc/Makefile") CONFIG_FILES="$CONFIG_FILES tools/misc/Makefile" ;;
+    "tools/misc/h5cc") CONFIG_FILES="$CONFIG_FILES tools/misc/h5cc" ;;
+    "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+    "examples/testh5cc.sh") CONFIG_FILES="$CONFIG_FILES examples/testh5cc.sh" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
+    "doc/html/ed_libs/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/ed_libs/Makefile" ;;
+    "doc/html/ed_styles/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/ed_styles/Makefile" ;;
+    "doc/html/ADGuide/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/ADGuide/Makefile" ;;
+    "doc/html/Graphics/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Graphics/Makefile" ;;
+    "doc/html/Intro/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Intro/Makefile" ;;
+    "doc/html/PSandPDF/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/PSandPDF/Makefile" ;;
+    "doc/html/TechNotes/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/TechNotes/Makefile" ;;
+    "doc/html/Tutor/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Tutor/Makefile" ;;
+    "doc/html/Tutor/Graphics/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Tutor/Graphics/Makefile" ;;
+    "doc/html/Tutor/examples/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Tutor/examples/Makefile" ;;
+    "doc/html/cpplus/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/cpplus/Makefile" ;;
+    "doc/html/cpplus_RM/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/cpplus_RM/Makefile" ;;
+    "doc/html/cpplus_RM/header_files/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/cpplus_RM/header_files/Makefile" ;;
+    "doc/html/fortran/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/fortran/Makefile" ;;
+    "$HL_FILES") CONFIG_FILES="$CONFIG_FILES $HL_FILES" ;;
+
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
 
+
 # If the user did not use the arguments to specify the items to instantiate,
 # then the envvar interface is used.  Set only those that are not.
 # We use the long form for the default assignment because of an extremely
@@ -47383,736 +48133,631 @@
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
   trap '{ (exit 1); exit 1; }' 1 2 13 15
 }
-
 # Create a (secure) tmp directory for tmp files.
 
 {
-  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
    echo "$me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
 #
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
 #
 
 # No need to generate the scripts if there are no CONFIG_FILES.
 # This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at build@,$build,;t t
-s, at build_cpu@,$build_cpu,;t t
-s, at build_vendor@,$build_vendor,;t t
-s, at build_os@,$build_os,;t t
-s, at host@,$host,;t t
-s, at host_cpu@,$host_cpu,;t t
-s, at host_vendor@,$host_vendor,;t t
-s, at host_os@,$host_os,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at H5_CPPFLAGS@,$H5_CPPFLAGS,;t t
-s, at H5_CFLAGS@,$H5_CFLAGS,;t t
-s, at DEFAULT_LIBS@,$DEFAULT_LIBS,;t t
-s, at TR@,$TR,;t t
-s, at HSIZET@,$HSIZET,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at config_dirs@,$config_dirs,;t t
-s, at subdirs@,$subdirs,;t t
-s, at LT_STATIC_EXEC@,$LT_STATIC_EXEC,;t t
-s, at PERL@,$PERL,;t t
-s, at AR@,$AR,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s, at INSTALL_DATA@,$INSTALL_DATA,;t t
-s, at EGREP@,$EGREP,;t t
-s, at LN_S@,$LN_S,;t t
-s, at ECHO@,$ECHO,;t t
-s, at ac_ct_AR@,$ac_ct_AR,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at STRIP@,$STRIP,;t t
-s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s, at CPP@,$CPP,;t t
-s, at CXX@,$CXX,;t t
-s, at CXXFLAGS@,$CXXFLAGS,;t t
-s, at ac_ct_CXX@,$ac_ct_CXX,;t t
-s, at CXXCPP@,$CXXCPP,;t t
-s, at F77@,$F77,;t t
-s, at FFLAGS@,$FFLAGS,;t t
-s, at ac_ct_F77@,$ac_ct_F77,;t t
-s, at LIBTOOL@,$LIBTOOL,;t t
-s, at USE_FILTER_DEFLATE@,$USE_FILTER_DEFLATE,;t t
-s, at USE_FILTER_SZIP@,$USE_FILTER_SZIP,;t t
-s, at SSL@,$SSL,;t t
-s, at GASS@,$GASS,;t t
-s, at TESTGASS@,$TESTGASS,;t t
-s, at SRB@,$SRB,;t t
-s, at TESTSRB@,$TESTSRB,;t t
-s, at PTHREAD@,$PTHREAD,;t t
-s, at DEBUG_PKG@,$DEBUG_PKG,;t t
-s, at TRACE_API@,$TRACE_API,;t t
-s, at INSTRUMENT_LIBRARY@,$INSTRUMENT_LIBRARY,;t t
-s, at PARALLEL@,$PARALLEL,;t t
-s, at RUNSERIAL@,$RUNSERIAL,;t t
-s, at RUNPARALLEL@,$RUNPARALLEL,;t t
-s, at TESTPARALLEL@,$TESTPARALLEL,;t t
-s, at MPE@,$MPE,;t t
-s, at FILTERS@,$FILTERS,;t t
-s, at USE_FILTER_SHUFFLE@,$USE_FILTER_SHUFFLE,;t t
-s, at USE_FILTER_FLETCHER32@,$USE_FILTER_FLETCHER32,;t t
-s, at H5_VERSION@,$H5_VERSION,;t t
-s, at CONFIG_DATE@,$CONFIG_DATE,;t t
-s, at CONFIG_USER@,$CONFIG_USER,;t t
-s, at CONFIG_MODE@,$CONFIG_MODE,;t t
-s, at BYTESEX@,$BYTESEX,;t t
-s, at STATIC_SHARED@,$STATIC_SHARED,;t t
-s, at CC_VERSION@,$CC_VERSION,;t t
-s, at ROOT@,$ROOT,;t t
-s, at DYNAMIC_DIRS@,$DYNAMIC_DIRS,;t t
-s, at HL@,$HL,;t t
-s, at SEARCH@,$SEARCH,;t t
-s, at SETX@,$SETX,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-/@DEPEND@/r $DEPEND
-s, at DEPEND@,,;t t
-/@COMMENCE@/r $COMMENCE
-s, at COMMENCE@,,;t t
-/@CONCLUDE@/r $CONCLUDE
-s, at CONCLUDE@,,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
 
 _ACEOF
 
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+# Create sed commands to just substitute file output variables.
+
+# Remaining file output variables are in a fragment that also has non-file
+# output varibles.
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+H5_CPPFLAGS!$H5_CPPFLAGS$ac_delim
+H5_CFLAGS!$H5_CFLAGS$ac_delim
+DEFAULT_LIBS!$DEFAULT_LIBS$ac_delim
+HSIZET!$HSIZET$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+config_dirs!$config_dirs$ac_delim
+subdirs!$subdirs$ac_delim
+LT_STATIC_EXEC!$LT_STATIC_EXEC$ac_delim
+PERL!$PERL$ac_delim
+AR!$AR$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+PARALLEL!$PARALLEL$ac_delim
+RUNSERIAL!$RUNSERIAL$ac_delim
+RUNPARALLEL!$RUNPARALLEL$ac_delim
+TESTPARALLEL!$TESTPARALLEL$ac_delim
+BUILD_PARALLEL_CONDITIONAL_TRUE!$BUILD_PARALLEL_CONDITIONAL_TRUE$ac_delim
+BUILD_PARALLEL_CONDITIONAL_FALSE!$BUILD_PARALLEL_CONDITIONAL_FALSE$ac_delim
+SED!$SED$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+RANLIB!$RANLIB$ac_delim
+STRIP!$STRIP$ac_delim
+CPP!$CPP$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+F77!$F77$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+ac_ct_F77!$ac_ct_F77$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+USE_FILTER_DEFLATE!$USE_FILTER_DEFLATE$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
-fi # test -n "$CONFIG_FILES"
+done
 
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+/^[	 ]*@DEPEND@[	 ]*$/{
+r $DEPEND
+d
+}
+/^[	 ]*@COMMENCE@[	 ]*$/{
+r $COMMENCE
+d
+}
+/^[	 ]*@CONCLUDE@[	 ]*$/{
+r $CONCLUDE
+d
+}
 _ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+USE_FILTER_SZIP!$USE_FILTER_SZIP$ac_delim
+SSL!$SSL$ac_delim
+GASS!$GASS$ac_delim
+TESTGASS!$TESTGASS$ac_delim
+SRB!$SRB$ac_delim
+TESTSRB!$TESTSRB$ac_delim
+PTHREAD!$PTHREAD$ac_delim
+DEBUG_PKG!$DEBUG_PKG$ac_delim
+TRACE_API!$TRACE_API$ac_delim
+INSTRUMENT_LIBRARY!$INSTRUMENT_LIBRARY$ac_delim
+CLEARFILEBUF!$CLEARFILEBUF$ac_delim
+MPE!$MPE$ac_delim
+MPI_GET_SIZE!$MPI_GET_SIZE$ac_delim
+FILTERS!$FILTERS$ac_delim
+USE_FILTER_SHUFFLE!$USE_FILTER_SHUFFLE$ac_delim
+USE_FILTER_FLETCHER32!$USE_FILTER_FLETCHER32$ac_delim
+H5_VERSION!$H5_VERSION$ac_delim
+CONFIG_DATE!$CONFIG_DATE$ac_delim
+CONFIG_USER!$CONFIG_USER$ac_delim
+CONFIG_MODE!$CONFIG_MODE$ac_delim
+BYTESEX!$BYTESEX$ac_delim
+STATIC_SHARED!$STATIC_SHARED$ac_delim
+CC_VERSION!$CC_VERSION$ac_delim
+ROOT!$ROOT$ac_delim
+DYNAMIC_DIRS!$DYNAMIC_DIRS$ac_delim
+HL!$HL$ac_delim
+SEARCH!$SEARCH$ac_delim
+SETX!$SETX$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 30; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
 cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
   esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$ac_file" : 'X\(//\)[^/]' \| \
 	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
   ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
 
   case $INSTALL in
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+_ACEOF
 
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-				     sed 's,.*/,,'` by configure."
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
 
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
 $extrasub
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-s, at INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
-  if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
-  else
-    cat $tmp/out
-    rm -f $tmp/out
-  fi
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
 
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
 
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
-ac_dB='[	 ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  rm -f "$tmp/stdin"
   case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
   esac
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+_ACEOF
 
-  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status.  If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless.  But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([	 #]*\\)[^	 ]*\\([	 ]*'
+ac_dB='\\)[	 (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
 
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 # Do quote $f, to prevent DOS paths from being IFS'd.
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-  # Remove the trailing spaces.
-  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+uniq confdefs.h |
+  sed -n '
+	t rset
+	:rset
+	s/^[	 ]*#[	 ]*define[	 ][	 ]*//
+	t ok
+	d
+	:ok
+	s/[\\&,]/\\&/g
+	s/^\('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+	s/^\('"$ac_word_re"'\)[	 ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+  ' >>conftest.defines
 
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h.  The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status.  Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless.  Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments.  This is necessary, for
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments.  This is necessary, for
 # example, in the case of _POSIX_SOURCE, which is predefined and required
 # on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[	 #]*u.*,/* & */,' >>conftest.defines
 
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo '  :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is:	 sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is:	 sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be:	 sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
 do
-  # Write a limited-size here document to $tmp/defines.sed.
-  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#define' lines.
-  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  # Write a here document:
+    cat >>$CONFIG_STATUS <<_ACEOF
+    # First, check the format of the line:
+    cat >"\$tmp/defines.sed" <<\\CEOF
+/^[	 ]*#[	 ]*undef[	 ][	 ]*$ac_word_re[	 ]*\$/b def
+/^[	 ]*#[	 ]*define[	 ][	 ]*$ac_word_re[(	 ]/b def
+b
+:def
+_ACEOF
+  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
   echo 'CEOF
-  sed -f $tmp/defines.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+  grep . conftest.tail >/dev/null || break
   rm -f conftest.defines
   mv conftest.tail conftest.defines
 done
-rm -f conftest.defines
-echo '  fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
+rm -f conftest.defines conftest.tail
 
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
-  # Write a limited-size here document to $tmp/undefs.sed.
-  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#undef'
-  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-  echo 'CEOF
-  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-  rm -f conftest.undefs
-  mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
 cat >>$CONFIG_STATUS <<\_ACEOF
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    echo "/* Generated by configure.  */" >$tmp/config.h
-  else
-    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
-  fi
-  cat $tmp/in >>$tmp/config.h
-  rm -f $tmp/in
   if test x"$ac_file" != x-; then
-    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+    echo "/* $configure_input  */" >"$tmp/config.h"
+    cat "$ac_result" >>"$tmp/config.h"
+    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
       { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-      { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
-
       rm -f $ac_file
-      mv $tmp/config.h $ac_file
+      mv "$tmp/config.h" $ac_file
     fi
   else
-    cat $tmp/config.h
-    rm -f $tmp/config.h
+    echo "/* $configure_input  */"
+    cat "$ac_result"
   fi
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+  rm -f "$tmp/out12"
+ ;;
 
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
-  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
-  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
-  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_dest" : 'X\(//\)[^/]' \| \
-	 X"$ac_dest" : 'X\(//\)$' \| \
-	 X"$ac_dest" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
 
-  ac_builddir=.
 
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
-    ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-
-  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
-  case $ac_dest in
-    default-1 )
+  case $ac_file$ac_mode in
+    "default-1":C)
   echo "creating src/H5pubconf.h"
   sed 's/#define /#define H5_/' <src/H5config.h |\
     sed 's/#undef /#undef H5_/' >pubconf
@@ -48125,11 +48770,10 @@
     /bin/mv -f pubconf src/H5pubconf.h
   fi
  ;;
+
   esac
-done
-_ACEOF
+done # for ac_tag
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
 { (exit 0); exit 0; }
 _ACEOF
@@ -48166,7 +48810,10 @@
   # Remove --cache-file and --srcdir arguments so they do not pile up.
   ac_sub_configure_args=
   ac_prev=
-  for ac_arg in $ac_configure_args; do
+  eval "set x $ac_configure_args"
+  shift
+  for ac_arg
+  do
     if test -n "$ac_prev"; then
       ac_prev=
       continue
@@ -48189,123 +48836,123 @@
       ac_prev=prefix ;;
     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
       ;;
-    *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+    *)
+      case $ac_arg in
+      *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      esac
+      ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
     esac
   done
 
   # Always prepend --prefix to ensure using the same prefix
   # in subdir configurations.
-  ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args"
+  ac_arg="--prefix=$prefix"
+  case $ac_arg in
+  *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
 
+  # Pass --silent
+  if test "$silent" = yes; then
+    ac_sub_configure_args="--silent $ac_sub_configure_args"
+  fi
+
   ac_popdir=`pwd`
   for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
 
     # Do not complain, so a configure script can configure whichever
     # parts of a large source tree are present.
-    test -d $srcdir/$ac_dir || continue
+    test -d "$srcdir/$ac_dir" || continue
 
-    { echo "$as_me:$LINENO: configuring in $ac_dir" >&5
-echo "$as_me: configuring in $ac_dir" >&6;}
-    { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
+    echo "$as_me:$LINENO: $ac_msg" >&5
+    echo "$ac_msg" >&6
+    { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
 
+    cd "$ac_dir"
 
-    cd $ac_dir
-
     # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'"
-    elif test -f $ac_srcdir/configure; then
-      ac_sub_configure="$SHELL '$ac_srcdir/configure'"
-    elif test -f $ac_srcdir/configure.in; then
-      ac_sub_configure=$ac_configure
+    if test -f "$ac_srcdir/configure.gnu"; then
+      ac_sub_configure=$ac_srcdir/configure.gnu
+    elif test -f "$ac_srcdir/configure"; then
+      ac_sub_configure=$ac_srcdir/configure
+    elif test -f "$ac_srcdir/configure.in"; then
+      # This should be Cygnus configure.
+      ac_sub_configure=$ac_aux_dir/configure
     else
       { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
 echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
@@ -48317,15 +48964,15 @@
       # Make the cache file name correct relative to the subdirectory.
       case $cache_file in
       [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
-      *) # Relative path.
-	ac_sub_cache_file=$ac_top_builddir$cache_file ;;
+      *) # Relative name.
+	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
       esac
 
-      { echo "$as_me:$LINENO: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-echo "$as_me: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
+      { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
       # The eval makes quoting arguments work.
-      eval $ac_sub_configure $ac_sub_configure_args \
-	   --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir ||
+      eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
+	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
 	{ { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
 echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
    { (exit 1); exit 1; }; }
@@ -48378,6 +49025,11 @@
   echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5.settings
 }
 
+PRINT_F() {
+  cat "$1"
+  cat "$1" 1>>src/libhdf5.settings
+}
+
 PRINT() {
   echo "$1"
   echo "$1" 1>>src/libhdf5.settings
@@ -48407,6 +49059,7 @@
   fi
 }
 
+PRINT ""
 PRINT "Configure Summary"
 PRINT "Compiling Options:"
 
@@ -48455,15 +49108,32 @@
 PRINT_N "   Optimization Instrumentation"
 IF_YES_NO "$INSTRUMENT"
 
+PRINT ""
 PRINT "Languages:"
+PRINT "----------"
 
 PRINT_N "                            C++"
 IF_YES_NO "$HDF_CXX"
+summary_file="#c++_configure_summary"
+if test X$HDF_CXX = Xyes -a -f $summary_file ; then
 
+    PRINT_F $summary_file
+    rm -f $summary_file
+    PRINT ""
+fi
+
 PRINT_N "                        Fortran"
 IF_YES_NO "$HDF_FORTRAN"
+summary_file="#fortran_configure_summary"
+if test X$HDF_FORTRAN = Xyes -a -f $summary_file ; then
+    PRINT_F $summary_file
+    rm -f $summary_file
+    PRINT ""
+fi
 
+PRINT ""
 PRINT "Features:"
+PRINT "---------"
 
 PRINT_N "                        dmalloc"
 IF_YES_NO "$HAVE_DMALLOC"

Modified: packages/hdf5/trunk/configure.in
===================================================================
--- packages/hdf5/trunk/configure.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/configure.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 dnl Process this file with autoconf to produce configure.
 dnl
+dnl Copyright by The HDF Group.
 dnl Copyright by the Board of Trustees of the University of Illinois.
 dnl All rights reserved.
 dnl
@@ -9,13 +10,13 @@
 dnl of the source code distribution tree; Copyright.html can be found at the
 dnl root level of an installed copy of the electronic HDF5 document set and
 dnl is linked from the top-level documents page.  It can also be found at
-dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-dnl access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+dnl http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+dnl access to either file, you may request a copy from help at hdfgroup.org.
 
 dnl ----------------------------------------------------------------------
 dnl Initialize configure.
 dnl
-AC_REVISION($Id: configure.in,v 1.267.2.133 2005/11/06 23:46:37 hdfadmin Exp $)
+AC_REVISION($Id: configure.in 14063 2007-08-09 20:51:55Z mcgreevy $)
 
 dnl AC_INIT takes the name of the package, the version number, and an
 dnl email address to report bugs. AC_CONFIG_SRCDIR takes a unique file
@@ -24,7 +25,7 @@
 dnl NOTE: Don't forget to change the version number here when we do a
 dnl release!!!
 dnl
-AC_INIT([HDF5],[1.6.5],[hdfhelp at ncsa.uiuc.edu])
+AC_INIT([HDF5],[1.6.6],[help at hdfgroup.org])
 AC_CONFIG_SRCDIR([src/H5.c])
 AC_CONFIG_HEADER([src/H5config.h])
 
@@ -80,23 +81,17 @@
 AC_MSG_RESULT([done])
 
 dnl ----------------------------------------------------------------------
-dnl Some platforms have broken tr, basename, and/or xargs programs. Check
+dnl Some platforms have broken basename, and/or xargs programs. Check
 dnl that it actually does what it's supposed to do. Catch this early
-dnl since configure relies upon tr heavily and there's no use continuing
+dnl since configure relies upon them heavily and there's no use continuing
 dnl if it's broken.
 dnl
-AC_MSG_CHECKING([if tr works])
-AC_SUBST(TR)
-if test "X${TR}" = "X"; then
-  TR=tr
-fi
-TR_TEST="`echo Test | ${TR} 'a-z,' 'A-Z '`"
-if test "X${TR_TEST}" != "XTEST"; then
-  AC_MSG_ERROR([tr program doesn't work])
-else
-  AC_MSG_RESULT([yes])
-fi
 
+dnl Avoid depending upon Character Ranges.
+dnl These are defined by autoconf.
+dnl as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+dnl as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+
 AC_MSG_CHECKING([if basename works])
 BASENAME_TEST="`basename /foo/bar/baz/qux/basename_works`"
 if test $BASENAME_TEST != "basename_works"; then
@@ -172,31 +167,12 @@
     ;;
 esac
 
-AC_ARG_ENABLE([hsizet],
-              [AS_HELP_STRING(--disable-hsizet,Datasets can normally be larger than
-                               memory and/or files but some compilers are
-                               unable to handle this (including versions
-                               of GCC before 2.8.0). Disabling the
-                               feature causes dataset sizes to be
-                               restricted to the size of core memory, or
-                               'size_t'.)],
-              [HSIZET=$enableval])
-
 AC_MSG_CHECKING([for sizeof hsize_t and hssize_t])
-
 AC_SUBST(HSIZET)
-case $HSIZET in
-  no|small)
-    AC_MSG_RESULT([small])
-    HSIZET=small
-    ;;
-  *)
-    AC_MSG_RESULT([large])
-    HSIZET=large
-    AC_DEFINE([HAVE_LARGE_HSIZET], [1],
-              [Define if it's safe to use `long long' for hsize_t and hssize_t])
-    ;;
-esac
+AC_MSG_RESULT([large])
+HSIZET=large
+AC_DEFINE([HAVE_LARGE_HSIZET], [1],
+          [Define if it's safe to use `long long' for hsize_t and hssize_t])
 
 host_config="none"
 for f in $host_cpu-$host_vendor-$host_os \
@@ -252,7 +228,7 @@
 dnl
 AC_MSG_CHECKING([if fortran interface enabled])
 AC_ARG_ENABLE([fortran],
-              [AS_HELP_STRING(--enable-fortran,Compile the Fortran interface [default=no])],
+              [AS_HELP_STRING([--enable-fortran],[Compile the Fortran interface [default=no]])],
               [HDF_FORTRAN=$enableval])
 
 if test "X$HDF_FORTRAN" = "Xyes"; then
@@ -271,7 +247,7 @@
 dnl
 AC_MSG_CHECKING([if c++ interface enabled])
 AC_ARG_ENABLE([cxx],
-              [AS_HELP_STRING(--enable-cxx,Compile the C++ interface [default=no])],
+              [AS_HELP_STRING([--enable-cxx],[Compile the C++ interface [default=no]])],
               [HDF_CXX=$enableval])
 
 if test "X$HDF_CXX" = "Xyes"; then
@@ -293,8 +269,8 @@
 dnl
 AC_MSG_CHECKING([if should build only statically linked executables])
 AC_ARG_ENABLE([static_exec],
-              [AS_HELP_STRING(--enable-static-exec,Build only statically linked executables
-                               [default=no])],
+              [AS_HELP_STRING([--enable-static-exec],[Build only statically linked executables
+                               [default=no]])],
               [STATIC_EXEC=$enableval])
 
 if test "X$STATIC_EXEC" = "Xyes"; then
@@ -330,6 +306,150 @@
 
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
+dnl ----------------------------------------------------------------------
+dnl The following variables are used to distinguish between building a
+dnl serial and parallel library.
+dnl
+dnl    HAVE_PARALLEL	-- defined in H5config.h if we are building
+dnl			   a parallel library even if configure wasn't
+dnl			   able to find some header file or library that
+dnl			   might be required. This is defined if the
+dnl			   compiler looks like a parallel compiler (e.g.,
+dnl			   mpicc or mpcc) or if the user explicitly states
+dnl			   that a parallel library is being built by supplying
+dnl			   the `--enable-parallel' configure switch.
+dnl
+dnl    PARALLEL		-- This variable is set to a non-null value if
+dnl			   configure thinks we're compiling a parallel
+dnl			   version of the library.
+dnl
+dnl    RUNSERIAL	-- This is a command which will be prepended to
+dnl			   the executable name to run the executable using
+dnl			   a single process. For serial versions of the
+dnl			   library this will normally be empty. For parallel
+dnl			   versions it might be something like `mpirun -np 1'.
+dnl			   The value of this variable is substituted in *.in
+dnl			   files.
+dnl
+dnl    RUNPARALLEL	-- This is a command which will be prepended to
+dnl			   the executable name to run the executable on
+dnl			   multiple processors. For the serial library the
+dnl			   value will normally be the empty string. For
+dnl			   parallel library it should be something like
+dnl			   `mpi -np $$NPROCS' where NPROCS will eventually
+dnl			   contain the number of processors on which to run
+dnl			   the executable (the double dollarsigns are to
+dnl			   protect the expansion until make executes the
+dnl			   command).  The value of this variable is
+dnl			   substituted in *.in files.
+dnl
+AC_SUBST([PARALLEL])
+AC_SUBST([RUNSERIAL])
+AC_SUBST([RUNPARALLEL])
+AC_SUBST([TESTPARALLEL])
+AC_SUBST([BUILD_PARALLEL_CONDITIONAL_TRUE])
+AC_SUBST([BUILD_PARALLEL_CONDITIONAL_FALSE])
+
+dnl ----------------------------------------------------------------------
+dnl If the compiler is obviously a parallel compiler then we're building
+dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore,
+dnl the name of the compiler might tell us how to run the resulting
+dnl executable. For `mpicc' the executable should be run with `mpirun' from
+dnl the same directory as mpicc if it exists.
+dnl
+case "$CC_BASENAME" in
+  mpicc)
+    dnl The mpich compiler. Use mpirun from the same directory if it
+    dnl exists.
+    PARALLEL=mpicc
+    AC_MSG_CHECKING([for mpirun])
+
+    dnl Find the path where mpicc is located.
+    cmd="`echo $CC | cut -f1 -d' '`"
+    if (echo $cmd | grep / >/dev/null); then
+      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
+    else
+      for path in `echo $PATH | tr : ' '`; do
+        if test -x $path/$cmd; then
+          break
+        fi
+      done
+    fi
+
+    dnl Is there an mpirun at that path?
+    if test -x $path/mpirun; then
+      AC_MSG_RESULT([$path/mpirun])
+      RUNSERIAL="${RUNSERIAL:-none}"
+
+      if test -z "$RUNPARALLEL"; then
+        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}"
+      fi
+    else
+      AC_MSG_RESULT([none])
+    fi
+    ;;
+
+  hcc)
+    dnl The LAM compiler. Use mpirun_lam or mpirun from the same directory
+    dnl if it exists.
+    PARALLEL=hcc
+    AC_MSG_CHECKING([for mpirun_lam or mpirun])
+
+    dnl Find the path where hcc is located
+    cmd="`echo $CC | cut -f1 -d' '`"
+    if (echo $cmd | grep / >/dev/null); then
+      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
+    else
+      for path in `echo $PATH | tr : ' '`; do
+        if test -x $path/$cmd; then
+          break
+        fi
+      done
+    fi
+
+    dnl Is there an mpirun_lam or mpirun at that path?
+    if test -x $path/mpirun_lam -o -x $path/mpirun; then
+      if test -x $path/mpirun_lam; then
+        cmd=mpirun_lam
+      else
+        cmd=mpirun
+      fi
+      AC_MSG_RESULT([$path/$cmd])
+      RUNSERIAL="${RUNSERIAL:-none}"
+      if test -z "$RUNPARALLEL"; then
+        RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}"
+      fi
+    else
+      AC_MSG_RESULT([none])
+    fi
+    ;;
+
+  mpcc|mpcc_r)
+    dnl The IBM compiler
+    PARALLEL="$CC_BASENAME"
+    ;;
+
+  *)
+    dnl Probably not a parallel compiler, but if `--enable-parallel'
+    dnl is defined below then we're still building a parallel hdf5.
+    ;;
+esac
+
+dnl ----------------------------------------------------------------------------
+dnl If shared libraries are being used with parallel, disable them, unless the 
+dnl user explicity enables them via the '--enable-shared' option.
+if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries disabled in parallel'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries explicitly enabled by user'
+elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries disabled when a parallel compiler is being used'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries explicitly enabled by user'
+fi
+
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
 
@@ -499,7 +619,7 @@
 dnl
 AC_MSG_CHECKING(for production mode)
 AC_ARG_ENABLE(production,
-              [AS_HELP_STRING(--enable-production,Determines how to run the compiler.)])
+              [AS_HELP_STRING([--enable-production],[Determines how to run the compiler.])])
 
 case "X-$enable_production" in
   X-|X-yes)
@@ -605,8 +725,8 @@
     dnl Enable large file support on linux? Store the result in the LINUX_LFS
     dnl variable for posterity
     AC_ARG_ENABLE([linux-lfs],
-                  [AS_HELP_STRING(--enable-linux-lfs,Enable support for large (64-bit)
-                                   files on Linux. [default=check])])
+                  [AS_HELP_STRING([--enable-linux-lfs],[Enable support for large (64-bit)
+                                   files on Linux. [default=check]])])
 
     LINUX_LFS="no"
     case "X-$enable_linux_lfs" in
@@ -646,7 +766,7 @@
     ;;
 esac
 
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], [[off64_t n = 0;]])],[AC_CHECK_FUNCS([lseek64 fseek64])],[AC_MSG_RESULT([skipping test for lseek64() and fseek64()])])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], [[off64_t n = 0;]])],[AC_CHECK_FUNCS([lseek64 fseek64 fseeko ftello])],[AC_MSG_RESULT([skipping test for lseek64(), fseek64(), fseeko(), and ftello])])
 
 dnl ----------------------------------------------------------------------
 dnl Data types and their sizes.
@@ -754,7 +874,7 @@
 dnl If the library path is specified then it must be preceded by a comma.
 dnl
 AC_ARG_WITH([dmalloc],
-            [AS_HELP_STRING(--with-dmalloc=DIR,Use dmalloc memory debugging aid [default=no])],,
+            [AS_HELP_STRING([--with-dmalloc=DIR],[Use dmalloc memory debugging aid [default=no]])],,
             withval=no)
 
 case $withval in
@@ -825,8 +945,8 @@
 dnl
 AC_SUBST(USE_FILTER_DEFLATE) USE_FILTER_DEFLATE="no"
 AC_ARG_WITH([zlib],
-            [AS_HELP_STRING(--with-zlib=DIR,Use zlib library for external deflate I/O
-                             filter [default=yes])],,
+            [AS_HELP_STRING([--with-zlib=DIR],[Use zlib library for external deflate I/O
+                             filter [default=yes]])],,
             withval=yes)
 
 case $withval in
@@ -914,8 +1034,8 @@
 dnl
 AC_SUBST(USE_FILTER_SZIP) USE_FILTER_SZIP="no"
 AC_ARG_WITH([szlib],
-            [AS_HELP_STRING(--with-szlib=DIR,Use szlib library for external szlib I/O
-                             filter [default=no])],,
+            [AS_HELP_STRING([--with-szlib=DIR],[Use szlib library for external szlib I/O
+                             filter [default=no]])],,
             withval=no)
 
 case $withval in
@@ -982,13 +1102,20 @@
 esac
 
 if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = "xyes"; then
-    AC_DEFINE(HAVE_FILTER_SZIP, 1,
-            [Define if support for szip filter is enabled])
-    USE_FILTER_SZIP="yes"
-
     dnl SZLIB library is available.  Check if it can encode
     AC_MSG_CHECKING([for szlib encoder])
 
+    AC_CACHE_VAL([hdf5_cv_szlib_functional],
+        [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+        #include <szlib.h>
+
+        int main(void)
+        {
+            SZ_encoder_enabled();
+            exit(0);
+        }
+        ]])],[hdf5_cv_szlib_functional=yes],[hdf5_cv_szlib_functional=no],[])])
+
     AC_CACHE_VAL([hdf5_cv_szlib_can_encode],
         [AC_RUN_IFELSE([AC_LANG_SOURCE([[
         #include <szlib.h>
@@ -1003,32 +1130,47 @@
         }
         ]])],[hdf5_cv_szlib_can_encode=yes],[hdf5_cv_szlib_can_encode=no],[])])
 
+    if test ${hdf5_cv_szlib_functional} = "no"; then
+        hdf5_cv_szlib_can_encode=broken
+    else
+        AC_DEFINE(HAVE_FILTER_SZIP, 1,
+                [Define if support for szip filter is enabled])
+        USE_FILTER_SZIP="yes"
+    fi
+
     if test ${hdf5_cv_szlib_can_encode} = "yes"; then
         AC_MSG_RESULT([yes])
-    else
+    fi
+    if test ${hdf5_cv_szlib_can_encode} = "no"; then
         AC_MSG_RESULT([no])
     fi
+    if test ${hdf5_cv_szlib_can_encode} = "broken"; then
+        AC_MSG_RESULT([shared szlib library cannot be linked. disabling szip. use static szip library instead.])
+    fi
 
     dnl Add "szip" to external filter list
-    if test "X$EXTERNAL_FILTERS" != "X"; then
-        EXTERNAL_FILTERS="${EXTERNAL_FILTERS},"
-    fi
-    EXTERNAL_FILTERS="${EXTERNAL_FILTERS}szip"
     if test ${hdf5_cv_szlib_can_encode} = "yes"; then
-        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}(encoder)"
-    else
-        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}(no encoder)"
+        if test "X$EXTERNAL_FILTERS" != "X"; then
+            EXTERNAL_FILTERS="${EXTERNAL_FILTERS},"
+        fi
+        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}szip(encoder)"
     fi
+    if test ${hdf5_cv_szlib_can_encode} = "no"; then
+        if test "X$EXTERNAL_FILTERS" != "X"; then
+            EXTERNAL_FILTERS="${EXTERNAL_FILTERS},"
+        fi
+        EXTERNAL_FILTERS="${EXTERNAL_FILTERS}szip(no encoder)"
+    fi
+
 fi
 
-
 dnl ----------------------------------------------------------------------
 dnl Is SSL library present? It is needed by GLOBUS-GASS and Grid Storage
 dnl driver. SSL must be tested before them.
 dnl
 AC_SUBST([SSL]) SSL=yes
 AC_ARG_WITH([ssl],
-            [AS_HELP_STRING(--with-ssl=LIB,Use the SSL library [default=no])],,
+            [AS_HELP_STRING([--with-ssl=LIB],[Use the SSL library [default=no]])],,
             withval=no)
 
 case "$withval" in
@@ -1058,7 +1200,7 @@
 AC_SUBST([GASS]) GASS="yes"
 AC_SUBST([TESTGASS]) TESTGASS='$(srcdir)/testgass'
 AC_ARG_WITH([gass],
-            [AS_HELP_STRING(--with-gass=DIR,Use the GASS library [default=no])],,
+            [AS_HELP_STRING([--with-gass=DIR],[Use the GASS library [default=no]])],,
             withval=no)
 
 case "$withval" in
@@ -1148,7 +1290,7 @@
 AC_SUBST([SRB]) SRB="yes"
 AC_SUBST([TESTSRB]) TESTSRB='$(srcdir)/testsrb'
 AC_ARG_WITH([srb],
-            [AS_HELP_STRING(--with-srb=DIR,Use the SRB library [default=no])],,
+            [AS_HELP_STRING([--with-srb=DIR],[Use the SRB library [default=no]])],,
             withval=no)
 
 case "$withval" in
@@ -1226,7 +1368,7 @@
 dnl
 AC_SUBST([PTHREAD]) PTHREAD=yes
 AC_ARG_WITH([pthread],
-            [AS_HELP_STRING(--with-pthread=DIR,Use the Pthreads library [default=no])],,
+            [AS_HELP_STRING([--with-pthread=DIR],[Use the Pthreads library [default=no]])],,
             withval=no)
 
 case "$withval" in
@@ -1286,7 +1428,7 @@
 dnl
 AC_MSG_CHECKING([for thread safe support])
 AC_ARG_ENABLE([threadsafe],
-              [AS_HELP_STRING(--enable-threadsafe,Enable thread safe capability)],
+              [AS_HELP_STRING([--enable-threadsafe],[Enable thread safe capability])],
               THREADSAFE=$enableval)
 
 case "X-$THREADSAFE" in
@@ -1313,8 +1455,8 @@
 dnl
 AC_MSG_CHECKING([whether HDF5 v1.4 compatibility functions enabled])
 AC_ARG_ENABLE([hdf5v1_4],
-              [AS_HELP_STRING(--enable-hdf5v1_4,Compile the HDF5 v1.4 compatibility
-                               interface [default=no])],
+              [AS_HELP_STRING([--enable-hdf5v1_4],[Compile the HDF5 v1.4 compatibility
+                               interface [default=no]])],
               [HDF5_V1_4_COMPAT=$enableval])
 
 if test "$HDF5_V1_4_COMPAT" = "yes"; then
@@ -1326,45 +1468,6 @@
 fi
 
 dnl ----------------------------------------------------------------------
-dnl Should the Stream Virtual File Driver be compiled in ?
-dnl
-AC_MSG_CHECKING([for Stream Virtual File Driver support])
-AC_ARG_ENABLE([stream-vfd],
-              [AS_HELP_STRING(--enable-stream-vfd,Build the Stream Virtual File Driver
-                               [default=yes])],
-              [STREAM_VFD=$enableval],
-              [STREAM_VFD=yes])
-
-if test "$STREAM_VFD" = "yes"; then
-  AC_MSG_RESULT([yes])
-  AC_CHECK_HEADERS([netinet/in.h])
-  AC_CHECK_HEADERS([netinet/tcp.h], , , [#include <netinet/in.h>])
-  AC_CHECK_HEADERS([sys/filio.h])
-  AC_DEFINE([HAVE_STREAM], [1],
-            [Define if the stream virtual file driver should be compiled])
-
-  dnl Check if 'socklen_t' available
-  AC_MSG_CHECKING([if socklen_t is defined])
-  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-  ]], [[socklen_t foo; return 0;]])],[AC_DEFINE(HAVE_SOCKLEN_T, 1, Define if `socklen_t' is defined)
-    AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
-  ])
-else
-  AC_MSG_RESULT([not configured])
-fi
-
-dnl ----------------------------------------------------------------------
 dnl How does one figure out the local time zone?  Anyone know of a
 dnl Posix way to do this?
 dnl
@@ -1561,8 +1664,8 @@
 dnl Checking to see if GPFS is available on this filesystem
 dnl
 AC_ARG_ENABLE([gpfs],
-              [AS_HELP_STRING(--enable-gpfs,Enable GPFS hints for the MPI/POSIX file
-                               driver. [default=no])],,
+              [AS_HELP_STRING([--enable-gpfs],[Enable GPFS hints for the MPI/POSIX file
+                               driver. [default=no]])],,
               [enableval=no])
 
 case "X-$enableval" in
@@ -1581,19 +1684,30 @@
     AC_MSG_RESULT([suppressed])
     ;;
 esac
-   
+ 
 dnl ----------------------------------------------------------------------
 dnl Turn on debugging by setting compiler flags
+dnl This must come after the enable-production since it depends on production.
 dnl
 AC_MSG_CHECKING(for debug flags)
 AC_ARG_ENABLE([debug],
-              [AS_HELP_STRING(--enable-debug=all,Turn on debugging in all packages. One may
+              [AS_HELP_STRING([--enable-debug=all],[Turn on debugging in all packages. One may
                                also specify a comma-separated list of
                                package names without the leading H5 or
-                               the word no. The default is most
-                               packages.)],
+                               the word no. The default is most packages
+                               if production is disabled; no if it is enabled.
+                               ])],
               [DEBUG_PKG=$enableval])
 
+dnl Default to no if producton is enabled
+if test "X-$DEBUG_PKG" = X- ; then
+    if test "$enable_production" = yes ; then
+        DEBUG_PKG=no
+    else
+        DEBUG_PKG=yes
+    fi
+fi
+
 AC_SUBST([DEBUG_PKG])
 all_packages="ac,b,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
 case "X-$DEBUG_PKG" in
@@ -1607,7 +1721,7 @@
     CPPFLAGS="$CPPFLAGS -UNDEBUG"
     AC_MSG_RESULT([all ($DEBUG_PKG)])
     ;;
-  X-|X-no|X-none)
+  X-no|X-none)
     AC_MSG_RESULT([none])
     DEBUG_PKG=
     CPPFLAGS="$CPPFLAGS -DNDEBUG"
@@ -1618,7 +1732,7 @@
 esac
 
 if test -n "$DEBUG_PKG"; then
-  for pkg in `echo $DEBUG_PKG | ${TR} 'a-z,' 'A-Z '`; do
+  for pkg in `echo $DEBUG_PKG | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do
     CPPFLAGS="$CPPFLAGS -DH5${pkg}_DEBUG"
   done
 fi
@@ -1628,8 +1742,8 @@
 dnl
 AC_MSG_CHECKING([whether function stack tracking is enabled])
 AC_ARG_ENABLE([funcstack],
-              [AS_HELP_STRING(--enable-funcstack,Enable the function stack tracing.
-                               Default=no if debug is disabled.)],
+              [AS_HELP_STRING([--enable-funcstack],[Enable the function stack tracing.
+                               Default=no if debug is disabled.])],
               [FUNCSTACK=$enableval])
 
 dnl Default to no if debug is disabled
@@ -1659,8 +1773,8 @@
 AC_SUBST([TRACE_API])
 AC_MSG_CHECKING([for API tracing]);
 AC_ARG_ENABLE([trace],
-              [AS_HELP_STRING(--enable-trace,Enable API tracing capability. Default=no
-                               if debug is disabled.)],
+              [AS_HELP_STRING([--enable-trace],[Enable API tracing capability. Default=no
+                               if debug is disabled.])],
               TRACE=$enableval)
 
 dnl Default to no if debug is disabled
@@ -1692,8 +1806,8 @@
 AC_SUBST([INSTRUMENT_LIBRARY])
 AC_MSG_CHECKING([for instrumented library]);
 AC_ARG_ENABLE([instrument],
-              [AS_HELP_STRING(--enable-instrument,Enable library instrumentation of optimization
-                                tracing.  Default=no if debug is disabled.)],
+              [AS_HELP_STRING([--enable-instrument],[Enable library instrumentation of optimization
+                                tracing.  Default=no if debug is disabled.])],
               INSTRUMENT=$enableval)
 
 dnl Default to no if debug is disabled
@@ -1718,136 +1832,34 @@
     ;;
 esac
 
-dnl Checkpoint the cache
-AC_CACHE_SAVE
-
 dnl ----------------------------------------------------------------------
-dnl The following variables are used to distinguish between building a
-dnl serial and parallel library.
+dnl Check if they would like to securely clear file buffers before they are
+dnl     written.
 dnl
-dnl    HAVE_PARALLEL	-- defined in H5config.h if we are building
-dnl			   a parallel library even if configure wasn't
-dnl			   able to find some header file or library that
-dnl			   might be required. This is defined if the
-dnl			   compiler looks like a parallel compiler (e.g.,
-dnl			   mpicc or mpcc) or if the user explicitly states
-dnl			   that a parallel library is being built by supplying
-dnl			   the `--enable-parallel' configure switch.
-dnl
-dnl    PARALLEL		-- This variable is set to a non-null value if
-dnl			   configure thinks we're compiling a parallel
-dnl			   version of the library.
-dnl
-dnl    RUNSERIAL	-- This is a command which will be prepended to
-dnl			   the executable name to run the executable using
-dnl			   a single process. For serial versions of the
-dnl			   library this will normally be empty. For parallel
-dnl			   versions it might be something like `mpirun -np 1'.
-dnl			   The value of this variable is substituted in *.in
-dnl			   files.
-dnl
-dnl    RUNPARALLEL	-- This is a command which will be prepended to
-dnl			   the executable name to run the executable on
-dnl			   multiple processors. For the serial library the
-dnl			   value will normally be the empty string. For
-dnl			   parallel library it should be something like
-dnl			   `mpi -np $$NPROCS' where NPROCS will eventually
-dnl			   contain the number of processors on which to run
-dnl			   the executable (the double dollarsigns are to
-dnl			   protect the expansion until make executes the
-dnl			   command).  The value of this variable is
-dnl			   substituted in *.in files.
-dnl
-AC_SUBST([PARALLEL])
-AC_SUBST([RUNSERIAL])
-AC_SUBST([RUNPARALLEL])
-AC_SUBST([TESTPARALLEL])
+AC_SUBST([CLEARFILEBUF])
+AC_MSG_CHECKING([whether to clear file buffers])
+AC_ARG_ENABLE([clear-file-buffers],
+              [AS_HELP_STRING([--enable-clear-file-buffers],[Securely clear file buffers before writing
+                              to file.  Default=yes.])],
+              [CLEARFILEBUF=$enableval])
 
-dnl ----------------------------------------------------------------------
-dnl If the compiler is obviously a parallel compiler then we're building
-dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore,
-dnl the name of the compiler might tell us how to run the resulting
-dnl executable. For `mpicc' the executable should be run with `mpirun' from
-dnl the same directory as mpicc if it exists.
-dnl
-case "$CC_BASENAME" in
-  mpicc)
-    dnl The mpich compiler. Use mpirun from the same directory if it
-    dnl exists.
-    PARALLEL=mpicc
-    AC_MSG_CHECKING([for mpirun])
-
-    dnl Find the path where mpicc is located.
-    cmd="`echo $CC | cut -f1 -d' '`"
-    if (echo $cmd | grep / >/dev/null); then
-      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
-    else
-      for path in `echo $PATH | ${TR} : ' '`; do
-        if test -x $path/$cmd; then
-          break
-        fi
-      done
-    fi
-
-    dnl Is there an mpirun at that path?
-    if test -x $path/mpirun; then
-      AC_MSG_RESULT([$path/mpirun])
-      RUNSERIAL="${RUNSERIAL:-none}"
-
-      if test -z "$RUNPARALLEL"; then
-        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=3}"
-      fi
-    else
-      AC_MSG_RESULT([none])
-    fi
+case "X-$CLEARFILEBUF" in
+  *)
+      CLEARFILEBUF=yes
+      AC_MSG_RESULT([yes])
+      AC_DEFINE([CLEAR_MEMORY], [1],
+                [Define if the memory buffers being written to disk should be
+                cleared before writing.])
     ;;
-
-  hcc)
-    dnl The LAM compiler. Use mpirun_lam or mpirun from the same directory
-    dnl if it exists.
-    PARALLEL=hcc
-    AC_MSG_CHECKING([for mpirun_lam or mpirun])
-
-    dnl Find the path where hcc is located
-    cmd="`echo $CC | cut -f1 -d' '`"
-    if (echo $cmd | grep / >/dev/null); then
-      path="`echo $cmd | sed 's/\(.*\)\/.*$/\1/'`"
-    else
-      for path in `echo $PATH | ${TR} : ' '`; do
-        if test -x $path/$cmd; then
-          break
-        fi
-      done
-    fi
-
-    dnl Is there an mpirun_lam or mpirun at that path?
-    if test -x $path/mpirun_lam -o -x $path/mpirun; then
-      if test -x $path/mpirun_lam; then
-        cmd=mpirun_lam
-      else
-        cmd=mpirun
-      fi
-      AC_MSG_RESULT([$path/$cmd])
-      RUNSERIAL="${RUNSERIAL:-none}"
-      if test -z "$RUNPARALLEL"; then
-        RUNPARALLEL="$path/$cmd -np \$\${NPROCS:=3}"
-      fi
-    else
-      AC_MSG_RESULT([none])
-    fi
+  X-no)
+      CLEARFILEBUF=no
+      AC_MSG_RESULT([no])
     ;;
+esac
 
-  mpcc|mpcc_r)
-    dnl The IBM compiler
-    PARALLEL="$CC_BASENAME"
-    ;;
+dnl Checkpoint the cache
+AC_CACHE_SAVE
 
-  *)
-    dnl Probably not a parallel compiler, but if `--enable-parallel'
-    dnl is defined below then we're still building a parallel hdf5.
-    ;;
-esac
-
 dnl ----------------------------------------------------------------------
 dnl What header files and libraries do we have to look for for parallel
 dnl support?  For the most part, search paths are already specified with
@@ -1857,7 +1869,7 @@
 dnl for any parallel header files or libraries.
 dnl
 AC_ARG_ENABLE([parallel],
-              [AS_HELP_STRING(--enable-parallel,Search for MPI-IO and MPI support files)])
+              [AS_HELP_STRING([--enable-parallel],[Search for MPI-IO and MPI support files])])
 
 AC_MSG_CHECKING([for parallel support files])
 case "X-$enable_parallel" in
@@ -1948,7 +1960,7 @@
   dnl
   AC_SUBST([MPE]) MPE=yes
   AC_ARG_WITH([mpe],
-              [AS_HELP_STRING(--with-mpe=DIR,Use MPE instrumentation [default=no])],,
+              [AS_HELP_STRING([--with-mpe=DIR],[Use MPE instrumentation [default=no]])],,
               [withval=no])
 
   case "X-$withval" in
@@ -2027,9 +2039,38 @@
   else
     AC_MSG_RESULT([no])
   fi
-  
 
 dnl ----------------------------------------------------------------------
+dnl Set the flag to indicate that the MPI_File_get_size() function
+dnl works.  The default is enabled unless the user knows the function
+dnl doesn't work on the system and disables it.  (This flag should be set
+dnl for all machines except for SGI Altix Propack 4 where the function 
+dnl doesn't return correct file size.)
+dnl
+AC_ARG_ENABLE([mpi-size],
+              [AS_HELP_STRING([--enable-mpi-size],[Some systems (only SGI Altix Propack 4 so far) return wrong value
+                               from MPI_File_get_size.  By disabling this function, the library
+                               will replace it with stat to get the correct file size.
+                               [default=yes]])],
+              [MPI_GET_SIZE=$enableval])
+
+AC_MSG_CHECKING([if MPI_File_get_size is enabled])
+
+AC_SUBST(MPI_GET_SIZE)
+case "X-$MPI_GET_SIZE" in
+  X-no)
+    AC_MSG_RESULT([no])
+    MPI_GET_SIZE=no
+    ;;
+  X-yes|*)
+    AC_MSG_RESULT([yes])
+    MPI_GET_SIZE=yes
+    AC_DEFINE([HAVE_MPI_GET_SIZE], [1],
+              [Define if MPI_File_get_size works correctly])
+    ;;
+esac
+
+dnl ----------------------------------------------------------------------
 dnl Check to see whether the complicate MPI derived datatype works. 
 dnl Up to now(Dec. 20th, 2004), we find that IBM's MPIO implemention doesn't
 dnl handle with the displacement of the complicate MPI type derived datatype 
@@ -2048,6 +2089,64 @@
 fi
 
 dnl ----------------------------------------------------------------------
+dnl Should the Stream Virtual File Driver be compiled in ?
+dnl
+AC_MSG_CHECKING([for Stream Virtual File Driver support])
+AC_ARG_ENABLE([stream-vfd],
+              [AS_HELP_STRING([--enable-stream-vfd],[Build the Stream Virtual File Driver
+                               [default=yes]])],
+              [STREAM_VFD=$enableval],
+              [STREAM_VFD=yes])
+
+dnl If the user explicitly disabled Stream VFD, say so.
+if test "$STREAM_VFD" != "yes"; then
+  AC_MSG_RESULT([not configured])
+fi
+
+dnl If the stream VFD is being used with parallel, disable it.
+dnl Using both stream VFD and parallel is a weird case and seems to cause errors on some
+dnl platforms.
+if test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then
+    AC_MSG_RESULT([not supported in parallel])
+    echo "    warning! Stream-VFD is not supported in parallel"
+    STREAM_VFD=no
+fi
+if test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then
+    AC_MSG_RESULT([not supported in parallel])
+    echo "    warning! Stream-VFD is not supported when a parallel compiler is being used"
+    STREAM_VFD=no
+fi  
+    
+dnl Otherwise, use Stream VFD.
+if test "$STREAM_VFD" = "yes"; then
+  AC_MSG_RESULT([yes])
+  AC_CHECK_HEADERS([netinet/in.h])
+  AC_CHECK_HEADERS([netinet/tcp.h], , , [#include <netinet/in.h>])
+  AC_CHECK_HEADERS([sys/filio.h])
+  AC_DEFINE([HAVE_STREAM], [1],
+            [Define if the stream virtual file driver should be compiled])
+
+  dnl Check if 'socklen_t' available
+  AC_MSG_CHECKING([if socklen_t is defined])
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+  ]], [[socklen_t foo; return 0;]])],[AC_DEFINE(HAVE_SOCKLEN_T, 1, Define if `socklen_t' is defined)
+    AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
+  ])
+fi
+
+
+dnl ----------------------------------------------------------------------
 dnl Turn on internal I/O filters by setting macros in header files
 dnl Internal I/O filters are contained entirely within the library and do
 dnl not depend on external headers or libraries.  The shuffle filter is
@@ -2060,10 +2159,10 @@
 AC_SUBST(USE_FILTER_FLETCHER32) USE_FILTER_FLETCHER32="no"
 AC_MSG_CHECKING([for I/O filters])
 AC_ARG_ENABLE([filters],
-              [AS_HELP_STRING(--enable-filters=all,Turn on all internal I/O filters. One may
+              [AS_HELP_STRING([--enable-filters=all],[Turn on all internal I/O filters. One may
                                also specify a comma-separated list of filters
                                or the word no.  The default is all internal
-                               I/O filters.)],
+                               I/O filters.])],
               [FILTERS=$enableval])
 
 dnl Eventually: all_filters="shuffle,foo,bar,baz"
@@ -2083,7 +2182,7 @@
 esac
 
 if test -n "$FILTERS"; then
-  for filter in `echo $FILTERS | ${TR} 'a-z,' 'A-Z '`; do
+  for filter in `echo $FILTERS | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do
     dnl ------------------------------------------------------------------
     dnl Have to use separate 'if' construct for each filter, so that
     dnl autoheader can detect the AC_DEFINE for each one...
@@ -2277,7 +2376,7 @@
 AC_SUBST(HL) HL=""
 AC_MSG_CHECKING([if high level library is enabled])
 AC_ARG_ENABLE([hl],
-     [AS_HELP_STRING(--enable-hl,Enable the high level library [default=yes])],
+     [AS_HELP_STRING([--enable-hl],[Enable the high level library [default=yes]])],
      [HDF5_HL=$enableval],
      [HDF5_HL=yes])
 
@@ -2326,10 +2425,15 @@
 saved_no_create=$no_create
 no_create=yes
 
-PARALLEL_MAKE=""
-
+dnl Set parallel build conditions depending on if TESTPARALLEL is defined.
 if test -n "$TESTPARALLEL"; then
   PARALLEL_MAKE="$TESTPARALLEL/Makefile $TESTPARALLEL/testph5.sh"
+  BUILD_PARALLEL_CONDITIONAL_TRUE=
+  BUILD_PARALLEL_CONDITIONAL_FALSE='#'
+else
+  PARALLEL_MAKE=""
+  BUILD_PARALLEL_CONDITIONAL_TRUE='#'
+  BUILD_PARALLEL_CONDITIONAL_FALSE=
 fi
 
 
@@ -2337,8 +2441,11 @@
 # to do : fortran with hl
 if test "X$HDF5_HL" = "Xyes"; then
  HL_FILES="hl/Makefile
+	   hl/examples/Makefile
 	   hl/src/Makefile
-           hl/test/Makefile"
+           hl/test/Makefile
+           hl/tools/Makefile
+           hl/tools/gif2h5/Makefile"
 fi
 
 AC_CONFIG_FILES([src/libhdf5.settings
@@ -2367,8 +2474,8 @@
                  tools/lib/Makefile
                  tools/misc/Makefile
                  tools/misc/h5cc
-                 tools/gifconv/Makefile
                  examples/Makefile
+                 examples/testh5cc.sh
                  doc/Makefile
                  doc/html/Makefile
                  doc/html/ed_libs/Makefile
@@ -2437,6 +2544,11 @@
   echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5.settings
 }
 
+PRINT_F() {
+  cat "$1"
+  cat "$1" 1>>src/libhdf5.settings
+}
+
 PRINT() {
   echo "$1"
   echo "$1" 1>>src/libhdf5.settings
@@ -2469,6 +2581,7 @@
   fi
 }
 
+PRINT ""
 PRINT "Configure Summary"
 PRINT "Compiling Options:"
 
@@ -2517,15 +2630,32 @@
 PRINT_N "   Optimization Instrumentation"
 IF_YES_NO "$INSTRUMENT"
 
+PRINT ""
 PRINT "Languages:"
+PRINT "----------"
 
 PRINT_N "                            C++"
 IF_YES_NO "$HDF_CXX"
+summary_file="#c++_configure_summary"
+if test X$HDF_CXX = Xyes -a -f $summary_file ; then
 
+    PRINT_F $summary_file
+    rm -f $summary_file
+    PRINT ""
+fi
+
 PRINT_N "                        Fortran"
 IF_YES_NO "$HDF_FORTRAN"
+summary_file="#fortran_configure_summary"
+if test X$HDF_FORTRAN = Xyes -a -f $summary_file ; then
+    PRINT_F $summary_file
+    rm -f $summary_file
+    PRINT ""
+fi
 
+PRINT ""
 PRINT "Features:"
+PRINT "---------"
 
 PRINT_N "                        dmalloc"
 IF_YES_NO "$HAVE_DMALLOC"

Modified: packages/hdf5/trunk/debian/changelog
===================================================================
--- packages/hdf5/trunk/debian/changelog	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/debian/changelog	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,11 @@
-hdf5 (1.6.5-6) UNRELEASED; urgency=low
+hdf5 (1.6.6-1) UNRELEASED; urgency=low
 
-  * NOT RELEASED YET
+  * (NOT RELEASED YET) New upstream release
+  * Manually run "autoupdate; libtoolize --force --copy; aclocal; autoheader;
+    autoconf" in the base directory, and "autoupdate; libtoolize --force
+    --copy; aclocal; autoconf" in the c++/ directory.
 
- -- Francesco Paolo Lovergine <frankie at debian.org>  Tue, 15 May 2007 11:05:10 +0200
+ -- Francesco Paolo Lovergine <frankie at debian.org>  Wed, 19 Sep 2007 17:51:38 +0200
 
 hdf5 (1.6.5-5) unstable; urgency=low
 

Modified: packages/hdf5/trunk/debian/control
===================================================================
--- packages/hdf5/trunk/debian/control	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/debian/control	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,12 +6,12 @@
 Build-Depends: libmpich1.0-dev (>= 1.2.7-1), zlib1g-dev, lam4-dev (>= 7.1.1-3.2), libjpeg62-dev, debhelper (>> 5)
 Standards-Version: 3.7.2
 
-Package: libhdf5-serial-1.6.5-0
+Package: libhdf5-serial-1.6.6-0
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
-Conflicts: libhdf5-1.6.5-0
-Provides: libhdf5-1.6.5-0
+Conflicts: libhdf5-1.6.6-0
+Provides: libhdf5-1.6.6-0
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - serial version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -25,7 +25,7 @@
 Package: libhdf5-serial-dev
 Section: libdevel
 Architecture: any
-Depends: libhdf5-serial-1.6.5-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev
+Depends: libhdf5-serial-1.6.6-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev
 Conflicts: libhdf5-dev
 Provides: libhdf5-dev
 Suggests: libhdf5-doc
@@ -39,13 +39,13 @@
  .
   Home page: http://hdf.ncsa.uiuc.edu/HDF5/
 
-Package: libhdf5-lam-1.6.5-0
+Package: libhdf5-lam-1.6.6-0
 Section: libs
 Priority: extra
 Architecture: any
 Depends: ${shlibs:Depends}
-Conflicts: libhdf5-1.6.5-0
-Provides: libhdf5-1.6.5-0
+Conflicts: libhdf5-1.6.6-0
+Provides: libhdf5-1.6.6-0
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - LAM version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -60,7 +60,7 @@
 Section: libdevel
 Priority: extra
 Architecture: any
-Depends: libhdf5-lam-1.6.5-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev, lam4-dev
+Depends: libhdf5-lam-1.6.6-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev, lam4-dev
 Conflicts: libhdf5-dev
 Provides: libhdf5-dev
 Suggests: libhdf5-doc
@@ -74,13 +74,13 @@
  .
   Home page: http://hdf.ncsa.uiuc.edu/HDF5/
 
-Package: libhdf5-mpich-1.6.5-0
+Package: libhdf5-mpich-1.6.6-0
 Section: libs
 Priority: extra
 Architecture: any
 Depends: ${shlibs:Depends}
-Conflicts: libhdf5-1.6.5-0
-Provides: libhdf5-1.6.5-0
+Conflicts: libhdf5-1.6.6-0
+Provides: libhdf5-1.6.6-0
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - MPICH version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -96,7 +96,7 @@
 Section: libdevel
 Priority: extra
 Architecture: any
-Depends: libhdf5-mpich-1.6.5-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev, libmpich1.0-dev
+Depends: libhdf5-mpich-1.6.6-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev, libmpich1.0-dev
 Conflicts: libhdf5-dev
 Provides: libhdf5-dev
 Suggests: libhdf5-doc

Modified: packages/hdf5/trunk/doc/html/ADGuide/Changes.html
===================================================================
--- packages/hdf5/trunk/doc/html/ADGuide/Changes.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ADGuide/Changes.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -5,6 +5,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_Gen.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,8 +15,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -25,7 +26,8 @@
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_ADevG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_ADevG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
@@ -36,7 +38,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="../ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -53,11 +55,231 @@
 an application synchronized with the HDF5 library or related software.
 
 
-<h2>Release 1.6.5 (current release) versus Release 1.6.4</h2> 
 
+
+
+<h2>Release 1.6.6 (current release) versus Release 1.6.5</h2> 
+
 <dir>
 
 This section lists the API-level changes that have been made in the 
+transition from the HDF5 Release 1.6.5 to Release 1.6.6.
+<p>
+
+Release 1.6.6 is primarily a bug-fix release and includes
+no changes in the syntax or intended behavior of 
+the library&rsquo;s public interfaces.
+
+There are, however, two changes in tool interfaces.
+
+<!--
+    <h3>New Functions and Tools</h3>
+        <dl>
+	  <dt>C functions:
+          <dd>None.
+          <dd>The following C functions are new for Release 1.6.6 and 
+              are documented in the
+              <a href="../RM_H5Front.html"><cite>HDF5 Reference Manual</cite></a>.
+	
+              <table border="0">
+              <tr>
+                <td align="left" valign="top"><code>FUNCTION NAME</code>
+                    &nbsp;&nbsp;&nbsp;&nbsp;</td>
+                <td align="left" valign="top"><em>FUNCTION</em> <code>SYNTAX</code>
+                    <br>
+                    See <a href="../RM_H5[FUNCTION ENTRY URL]">entry</a>.</td>
+              </tr>
+              </table>    
+
+	      
+          <dd>&nbsp;
+	  <dt>Fortran subroutines:
+          <dd>None.
+
+          <dd>The following Fortran90 subroutines are new for Release 1.6.6 
+	      and are documented in the 
+              <a href="../RM_H5Front.html"><cite>HDF5 Reference Manual</cite></a>.
+              <table border="0">
+              <tr>
+                <td align="left" valign="top">Corresponding to the 
+                    new C functions listed above:<br>
+                    &nbsp;&nbsp;&nbsp;&nbsp;<code>FORTRAN_SUBROUTINE_NAME_f</code><br>
+                    </td>
+                <td align="left" valign="top"> 
+                    &nbsp;&nbsp;&nbsp;&nbsp;</td>
+              </tr>
+              </table>    
+
+	  
+          <dd>&nbsp;
+	  <dt>Tools:
+          <dd>None.
+
+          <dd>The following tools are new for Release 1.6.6 and are 
+              documented on the <a href="../Tools.html">Tools page</a> of the
+              <a href="../RM_H5Front.html"><cite>HDF5 Reference Manual</cite></a>.
+              <dd><code>h5repack</code> description...
+
+              <dd><code>h5repack</code> description...
+
+        </dl>
+
+
+    <h3>Deleted Functions</h3>
+
+        None.
+
+	The following functions are deprecated in HDF5 Release X.X.x.
+        A backward compatibility mode is provided in this release,
+        enabling these functions and other Release 1.4.x compatibility
+        features, but is available only when the HDF5 library is 
+        configured with the flag <code>H5_WANT_H5_V1_4_COMPAT</code>.
+        The backward compatibility mode is not enabled in the 
+        binaries distributed by NCSA.
+
+        <dir>
+        <table border=0>
+        <tr valign="top" align="left"><td>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        </td><td>
+<pre>
+<code>function</code>
+</pre>
+        </td><td>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        </td><td>
+<pre>
+<code>function</code>
+</pre>
+        </td><td>
+        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        </td><td>
+<pre>&nbsp;
+
+</pre>
+        </td></tr>
+        </table>
+        </dir>
+        <p>
+	The above functions will eventually be removed from the HDF5 
+        distribution and from the <cite>HDF5 Reference Manual</cite>.
+
+
+    <h3>Functions with Changed Syntax</h3>
+
+        None.
+
+
+        The following functions have changed as noted.
+	
+        <dl>
+        <dt>C functions:
+        <dt><code>H5function?</code>
+          <dd>Change....
+	
+        <dd>&nbsp;
+        <dt>Fortran90 subroutines:
+        <dt><code>h5subroutine_f?</code>
+          <dd>Change...
+        </dl>
+
+
+    <h3>Constants with Changed Values</h3>
+    
+        None.
+-->
+        
+
+    <h3>Tools with Changed Options and/or Behavior</h3>
+
+	
+        <dl>
+          <dt>The following tools have changed in this release; 
+              these changes are documented on the 
+              <a href="../Tools.html">Tools page</a> of the
+              <a href="../RM_H5Front.html"><cite>HDF5 Reference Manual</cite></a>.
+                  <br>&nbsp;
+              <dd><code>h5repack</code>:
+                  <br>
+                  A new <code>-n</code> option allows the user to specify
+                  that a new file created by <code>h5repack</code> will use
+                  native datatypes.  
+                  The default behavior is to use the original file datatypes.
+                  <table>
+                      <tr valign=top>
+                      <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+                      <td><code>-n</code>&nbsp;&nbsp;</td>
+                      <td>Use native HDF5 datatypes when repacking. 
+                          <br>    
+                          (Default behavior is to use the original 
+                          file datatypes.)
+                      </td></tr>
+                  </table>
+                  <em>Note that the default behavior of this tool 
+                  has changed;
+                  prior to Release 1.6.6, </em><code>h5repack</code>
+                  <em> generated files only with native datatypes.</em>
+
+
+              <p>
+              <dd><code>h5dump</code>: 
+                  <br>
+                  This tool includes a new <code>-b</code> option 
+                  for binary output.
+                  <table>
+                      <tr valign=top>
+                      <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+                      <td><code>-b&nbsp;<em>B</em></code> &nbsp; or
+                          <br>
+                          <code>--binary=<em>B</em>&nbsp;&nbsp;&nbsp;</code></td>
+                      <td valign="top">Output dataset to a binary file
+                           using the datatype specified by 
+                           <code><em>B</em></code>.
+                           <br>              
+                           <code><em>B</em></code> must have one of the 
+                           following values:
+                           <br>
+                           &nbsp;&nbsp;&nbsp;&nbsp;
+                           <code>LE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>
+                               Little-endian
+                           <br>
+                           &nbsp;&nbsp;&nbsp;&nbsp;
+                           <code>BE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>
+                               Big-endian 
+                           <br>        
+                           &nbsp;&nbsp;&nbsp;&nbsp;
+                           <code>MEMORY &nbsp;&nbsp;</code>
+                               Memory datatype 
+                           <br>        
+                           &nbsp;&nbsp;&nbsp;&nbsp;
+                           <code>FILE &nbsp;&nbsp;&nbsp;&nbsp;</code>
+                               File datatype 
+                           <br>            
+                           Recommended usage is with the <code>-d</code> and 
+                           <code>-o</code> options.    
+                      </td>         
+                      </tr>               
+                  </table>
+
+
+        </dl>
+        </dl>
+    </dir>
+<p>&nbsp;
+
+
+
+
+
+
+
+
+
+<h2>Release 1.6.5 versus Release 1.6.4</h2> 
+
+<dir>
+
+This section lists the API-level changes that have been made in the 
 transition from the HDF5 Release 1.6.4 to Release 1.6.5.
 
 
@@ -362,6 +584,7 @@
 
 
     </dir>
+<p>&nbsp;
 
 
 
@@ -2492,7 +2715,8 @@
 </dir>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_ADevG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_ADevG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
@@ -2503,21 +2727,22 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="../ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
+<address>
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><!-- Created: Spring 1999 -->
 <!-- hhmts start -->
-Last modified: 10 November 2005 
+Last modified: 13 August 2007
 <!-- hhmts end -->
 
 </body>

Modified: packages/hdf5/trunk/doc/html/ADGuide/HISTORY.txt
===================================================================
--- packages/hdf5/trunk/doc/html/ADGuide/HISTORY.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ADGuide/HISTORY.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,7 @@
 
 CONTENTS
 
+19.     Release Information for hdf5-1.6.5
 18.     Release Information for hdf5-1.6.4
 17.     Release Information for hdf5-1.6.3
 16.     Release Information for hdf5-1.6.2
@@ -26,6 +27,625 @@
 
 [Search on the string '%%%%' for per-release section breaks.]
 
+%%%%1.6.5%%%%   Release Information for hdf5-1.6.5 (10/November/05)
+
+
+HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
+================================================================================
+
+INTRODUCTION
+============
+This document describes the differences between HDF5-1.6.4 and
+HDF5-1.6.5.  It contains information on the platforms tested and
+known problems in HDF5-1.6.5. For more details, check the HISTORY.txt
+file in the HDF5 source.
+
+The HDF5 documentation can be found on the NCSA ftp server
+(ftp.ncsa.uiuc.edu) in the directory:
+
+     /HDF/HDF5/docs/
+
+Documentation for the current release is also on the HDF web site:
+
+     http://hdf.ncsa.uiuc.edu/HDF5/doc/
+
+For more information look at the HDF5 home page at:
+
+    http://hdf.ncsa.uiuc.edu/HDF5/
+
+If you have any questions or comments, please send them to:
+
+    hdfhelp at ncsa.uiuc.edu
+
+
+CONTENTS
+========
+- New Features
+- Support for New Platforms, Languages and Compilers
+- Bug Fixes since HDF5-1.6.4
+- Documentation
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+    Configuration:
+    -------------------------
+	- Added yodconfigure, a configure tool, that patches up the configure
+	  file to allow configure to launch executable via the proper
+	  launching command like "yod -sz 1".  AKC - 2005/11/10
+	- Configure now recognizes the TR variable as the location of the
+          tr utility.  JML 2005/10/20
+
+    Source code distribution:
+    -------------------------
+	- Added g95 as a testing "platform" informally. AKC - 2005/10/04.
+        - Added MD5 checksumming to snapshot releases.  Releases will now
+          produce an .md5 file as well as a .tar archive.  md5sum can be
+          used to verify the arvhice with the .md5 checksum.  -JL 2005/09/06
+
+    Library:
+    --------
+        - Added HSYS_ERROR which retrieves the system error message and pushes
+          it to the error stack.  This provides more information regarding the 
+	  failed system call. AKC - 2005/08/04
+        - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
+          allow querying for objects in a file that was opened with a particular
+          file ID, instead of all objects opened in the file with any file ID.
+          QAK - 2005/06/01
+
+    Parallel Library:
+    -----------------
+	- Added mpich2 as a testing "platform" informally. AKC - 2005/10/04.
+	- HDF5 supports collective MPI-IO for irregular selection with HDF5
+	  dataset. Irregular selection is when users use API H5Sselect_hyperslab
+	  more than once for the same dataset.
+	  Currently, not all MPI-IO packages support the complicated 
+	  MPI derived datatypes used in the implementation of irregular 
+	  selections INSIDE HDF5. 
+	  1) DEC 5.x wdoes not support complicated derived datatypes.
+	  2) For AIX 5.1:
+	     If your poe version number is 3.2.0.20 or lower,
+	     please edit powerpc-ibm-aix5.x in the directory hdf5/config/.
+	     Find the line with
+	          << hdf5_mpi_complex_derived_datatype_works >>
+	     and UNCOMMENT this line before the configure.
+	     check poe version with the following command:
+	     lpp -l all | grep ppe.poe
+	  3) For Linux cluster,:
+	     If mpich version is 1.2.5 or lower, collective irregular selection
+	     IO is not supported; internally independent IO is used.
+	  4) For IRIX 6.5:
+	     if C compiler version is 7.3 or lower, collective irregular 
+	     selection IO is not supported; internally independent IO is used.
+	  5) For platforms which internally used mpich: 
+	     If the mpich version is 1.2.5 or lower, please find the 
+	     corresponding config (in hdf5/config) file and add
+	         hdf5_mpi_complex_derived_datatype_works='no' 
+	     at the end of the configuration file. For example, on the 
+	     NCSA SGI Altix, the internal mpich library is 1.2.5. So 
+	         hdf5_mpi_complex_derived_datatype_works='no' 
+	     should be added at the end of the config file ia64-linux-gnu.
+	     KY - 2005/09/12
+
+    Tools:
+    ------
+        - Removed obsolete pdb2hdf tool.  JML - 2005/10/28
+        - Sped up h5dump on files with large numbers of objects.
+            QAK - 2005/08/25
+
+    F90 API:
+    --------
+        - Added missing h5tget_member_class_f function
+                                            EIP 2005/04/06
+    C++ API:
+    --------
+        - Added missing member functions:
+		H5::CompType::getMemberArrayType
+		H5::CompType::getMemberVarLenType
+		H5::AbstractDs::getArrayType
+		H5::AbstractDs::getVarLenType
+		H5::CommonFG::openArrayType
+		H5::CommonFG::openVarLenType
+		H5::PropList::copyProp -- this will replace the current
+			H5::PropList::copyProp in later releases due
+			to incorrect prototype.
+		BMR - 2005/07/27
+
+
+Support for New Platforms, Languages and Compilers
+==================================================
+    - Added support for RedStorm platform (serial only.)  AKC 2005/11/10
+    - Added support for BG/L platform (serial only.)  LA 2005/11/10
+    - Added support for HPUX 11.23 (IA64); only C and C++ are supported
+      with the +DD64 flag 
+                                             EIP 2005/10/05
+ 
+
+    Configuration
+    -------------
+        - Added support for Cray X1.  JML 2005/10/03
+
+
+Bug Fixes since HDF5-1.6.4 Release
+==================================
+
+    Library
+    -------
+        - Fixed collective IO in chunking-storage.  HDF5 may have called the 
+            wrong routine when the shape of the dataspace in the file and in 
+            the bufferred chunk were different. This bug was fixed to make sure
+            the correct routine is called. KY - 2005/10/19
+        - Fixed core dump when closing root groups opened through two different
+            file handles that operate on the same actual file.  QAK - 2005/10/02
+        - The ./dsets tests used to fail in the TFLOPS machine if the
+            test program, dsets.c, was compiled with the -O option.
+            The HDF5 library still worked correctly with the -O option. Only
+            the ./dsets failed.  It is fixed. AKC - 2005/09/14
+        - Corrected errors when performing various operations on a group opened
+            by dereferencing an object reference.  QAK - 2005/07/30
+        - Fixed a bug with named datatypes where a copy of a named datatype
+            used to create a dataset would accidentally use the original
+            named datatype for the dataset's datatype.  QAK - 2005/07/23
+        - Made H5Fget_name() to be consistent and always return name of actual
+            file the ID is in.  (Instead of the name of the top file in a
+            file mounting hierarchy).  QAK - 2005/07/19
+        - Reworked internal file mounting semantics to hopefully eliminate
+            mounting problems.  We now require that files that are mounting
+            together all have the same "file close degree".  QAK - 2005/07/19
+        - More bug fixes on holding open files that are mounted and have
+            IDs open.  QAK - 2005/07/14
+        - Dataset sieve buffer cache was inadvertantly disabled; it has been
+            re-enabled.  QAK - 2005/07/08
+        - Don't unmount child files until the parent file actually closes.
+            (Previously, if an object was holding open a file, the child files
+            would get unmounted too early).  QAK - 2005/07/05
+        - Fixed bug where unmounted files could cause the library to go into
+            an infinite loop when shutting down.  QAK - 2005/06/30
+        - Fixed bug with hyperslab selections that use selection offsets and
+            operate on chunked datasets going into infinite loop or dumping
+            core.  QAK - 2005/06/17
+        - Corrected memory leak and possible corruption when opening a group.
+            QAK - 2005/06/17
+        - Added check for opaque datatype tags being too long (check against
+            H5T_OPAQUE_TAG_MAX, currently set to 256).  QAK - 2005/06/14
+        - Fixed various errors in maintaining names for open objects in the
+            face of unusual mount & unmount operations.  QAK - 2005/06/08
+        - "SEMI" and "STRONG" file close degree settings now apply only to the
+            particular file ID being closed, instead of operating on all open
+            file IDs for a given file.  QAK - 2005/06/01
+        - Fixed error in opening object in a group that was opened in a mounted
+            file which has been unmounted.  QAK - 2005/03/17
+
+    Configuration
+    -------------
+	- Configure can recognize -lmpich as a form of MPI library. -AKC-
+	  2005/9/28.
+	- Changed default C++ compiler for the IA64 platform from icc to
+	    icpc which is the preferred compiler for Intel Compiler version
+	    8. AKC - 2005/09/02
+
+    Performance
+    -------------
+        - Optimized I/O for enumerated datatypes that are a superset of a 
+            source enumerated datatype.  QAK - 2005/03/19
+   
+    Tools
+    -----
+
+    Documentation 
+    ------------- 
+
+    F90 API
+    -------
+       - h5pget_driver_f was returning information that could not be
+         interpreted by a Fortran application program; fixed. EIP - 2005/04/10
+                                
+    C++ API
+    -------
+	- Several member functions' prototype changed due to the 
+	  "int -> unsigned" change in the main library.  They are:
+		H5::CompType::getMemberDataType(unsigned member_num)
+		H5::CompType::getMemberCompType(unsigned member_num)
+		H5::CompType::getMemberEnumType(unsigned member_num)
+		H5::CompType::getMemberIntType(unsigned member_num)
+		H5::CompType::getMemberFloatType(unsigned member_num)
+		H5::CompType::getMemberStrType(unsigned member_num)
+		BMR - 2005/07/27
+
+
+
+   
+
+Platforms Tested
+================
+
+    AIX 5.1  (32 and 64-bit)      xlc 6.0.0.6
+                                  xlf 8.1.1.3
+    				  xlC 6.0.0.6
+				  mpcc_r 6.0.0.6
+                                  mpxlf_r 8.1.1.3
+				  xlc 5.0.2.5
+				  xlf 7.1.1.2
+				  xlC 5.0.2.5
+				  mpcc_r 5.0.2.5
+				  mpxlf_r 7.1.1.2
+    AIX 5.2 (32/64 bit)           xlc 6.0.0.8
+                                  xlC 6.0.0.9
+                                  xlf 8.1.1.7
+                                  mpcc_r 6.0.0.8
+                                  mpxlf_r 8.1.1.7
+    AIX 5.2 (32/64 bit, LLNL frost)    xlc 6.0.0.8
+                                  xlC 6.0.0.8
+                                  xlf 8.1.1.7
+                                  mpcc_r 6.0.0.8
+                                  mpxlf_r 8.1.1.7
+    AIX 5.3 (32/64 bit)           xlc 7.0.0.0
+                                  xlC 7.0.
+                                  xlf 9.1.0.3
+    Cray X1 water 3.0.35          Cray Standard C Version 5.4.0.7.4
+                                  Cray Fortran 5.4.0.7.3
+                                  Cray C++ 5.4.0.7.4
+    FreeBSD 4.11                  gcc 2.95.4
+                                  g++ 2.95.4
+                                  gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0
+    HP-UX B.11.00                 HP C  HP92453-01 A.11.01.20 
+                                  HP F90 v2.4
+                                  HP ANSI C++ B3910B A.03.13
+    HP-UX B.11.23                 HP aC++/ANSI C B3910B A.06.00
+                                  HP F90 v2.9
+                                  HP aC++/ANSI C B3910B A.06.00
+    IRIX64 6.5 (tesla -64)        MIPSpro cc 7.4.2m
+                                  F90 MIPSpro 7.4.2m
+                                  C++ MIPSpro cc 7.4.2m
+    IRIX64 6.5 (64 & n32)         MIPSpro cc 7.3.1.3m
+                                  F90 MIPSpro 7.3.1.3m (64 only)
+                                  C++ MIPSpro cc 7.3.1.3m
+				  mpt 1.6
+    Linux 2.4.20-28.7             gcc 2.96
+    (eirene, verbena)             gcc 3.3.2
+                                  PGI compilers (pgcc, pgf90, pgCC) 
+                                  version 5.2-1
+                                  Absoft Fortran compiler v9.0
+                         	  Intel(R) C++ 32-bit Version 8.1
+    				  Intel(R) Fortran 32-bit Version 8.1
+                                  MPIch 1.2.6
+    Linux 2.4.21-268-smp x86_64   gcc 3.3.1 (SuSE Linux, AMD)
+    (mir)                         PGI 5.2-1 C and F90 (with k3-32) 
+                         	  Intel(R) C++ 32-bit Version 8.1
+    				  Intel(R) Fortran 32-bit Version 8.1
+    Linux 2.4.21-sgi306rp21 Altix 
+          SMP ia64                Intel(R) C++ Version 8.1
+    (cobalt)                      Intel(R) Fortran Itanium(R) Version 8.1
+                                  SGI MPI
+    OSF1 V5.1 (QSC)               Compaq C V6.5-011 
+                                  HP Fortran V5.5A-3548
+				  Compaq C++ V6.5-036  
+				  MPIX200_64_r13.4
+    OSF1 V5.1 (PSC)               Compaq C V6.5-303 
+                                  HP Fortran V5.5A-3548
+				  Compaq C++ V6.5-040  
+    SunOS 5.8 32,46               Sun WorkShop 6 update 2 C 5.3
+     (Solaris 2.8)                Sun WorkShop 6 update 2 Fortran 90
+                                  Sun WorkShop 6 update 2 C++ 5.3
+    SunOS 5.9 32,64               Sun C 5.6 2004/07/15
+     (Solaris 2.9)                Sun Fortran 95 8.0 2004/07/15
+                                  Sun C++ 5.6 2004/07/15
+    SunOS 5.10                    Sun WorkShop 6 update 2 C 5.3
+                                  Sun WorkShop 6 update 2 Fortran 95 6.2
+                                  Sun WorkShop 6 update 2 C++ 5.3
+                                  Patch 111685-13 
+    Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+    (tungsten)	                  Intel(R) C++ Version 9.0
+                                  Intel(R) Fortran Compiler Version 9.0
+    IA-64 Linux 2.4.21.SuSE_292.til1 ia64
+    (NCSA tg-login)               Intel(R) C++ Version 8.0
+                                  Intel(R) Fortran Compiler Version 8.0
+				  mpich-gm-1.2.5..10-intel-r2
+    Windows XP                    MSVC++.NET
+                                  MSVC++ 6.0
+                                  Intel 8.1 C++
+    MAC OS X                      Darwin 7.5
+                                  gcc and g++ Apple Computer, Inc. GCC 
+                                  version 1175, based on gcc version 3.3.2
+                                  IBM XL Fortran version 8.1 
+                                  Absoft Fortran compiler v8.2
+
+
+Supported Configuration Features Summary
+========================================
+
+Key:   y   = tested and supported
+       n   = not supported or not tested in this release
+       x   = not working in this release
+       dna = does not apply
+       ( ) = footnote appears below second table
+
+Platform                             C        F90    F90      C++  zlib  SZIP
+                                     parallel        parallel      
+IBM BG/L (16)			     n        n      n        n    y     y
+Solaris2.8 64-bit                    y        y      y(1)     y    y     y
+Solaris2.8 32-bit                    y        y      y(1)     y    y     y
+Solaris2.9 64-bit                    y(1)     y      y(1)     y    y     y
+Solaris2.9 32-bit                    y(1)     y      y(1)     y    y     y
+Solaris2.10 64-bit                   y(1)     y      n        y    y     y
+Solaris2.10 32-bit                   y(1)     y      n        y    y     y
+IRIX64_6.5 64-bit                    y(2)     y      y        y    y     y
+IRIX64_6.5 32-bit                    y(2)     n      n        n    y     y
+HPUX11.00                            y(1)     y      y        y    y     y
+HPUX11.23-32bit                      n        y      n        y    y     y
+HPUX11.23-64bit                      n        n      n        y    y     y
+OSF1 v5.1                            y        y      y        y    y     y
+X1                                   y        y      y        y    y     n
+AIX-5.1, 5.2 & 5.3 32-bit            y        y      y        y    y     y
+AIX-5.1, 5.2 & 5.3 64-bit            y        y      y        y    y     y
+WinXP Visual Studio 6.0              n        n(9)   n        y    y     y
+WinXP .Net                           n        n      n        y(8) y     y
+Mac OS X 10.3                        n        y(10)  n        y    y     y
+FreeBSD 4.11                         n        n      n        y    y     y
+RedHat 7.3  W (3)                    y(1)     y(11)  n        y    y     y
+RedHat 7.3  W Intel (3)              n        y      n        y    y     y
+RedHat 7.3  W PGI (3)                n        y      n        y    y     y
+RedStorm (16)			     n        y      n        y    y     n
+SuSe x86_64 gcc (3,13)               n        y(12)  n        y    y     y
+SuSe x86_64 icc (3,13)               n        y(14)  n        y    y     y
+Linux 2.4 Xeon C Lustre Intel (3,6)  n        y      n        y    y     y
+Linux 2.4 SuSE ia64 C Intel (3,7)    y        y      y        y    y     y
+Linux 2.4 SGI Altix ia64 Intel (3)   y        y      y        y    y     y
+
+
+Platform                             Shared        static-  Thread-  STREAM- 
+                                     libraries(4)  exec     safe     VFD    
+IBM BG/L 			     n              y       n        n
+Solaris2.8 64-bit                    y              x       y        y
+Solaris2.8 32-bit                    y              x       y        y
+Solaris2.9 64-bit                    y              x       y        y
+Solaris2.9 32-bit                    y              x       y        y
+Solaris2.10 64-bit                   y              x       y        y
+Solaris2.10 32-bit                   y              x       y        y
+IRIX64_6.5 64-bit                    y              y       y        y
+IRIX64_6.5 32-bit                    y              y       y        y
+HPUX11.00                            y              x       n        y
+HPUX11.23                            y              y       n        y
+OSF1 v5.1                            y              y       n        y
+X1                                   n              y       n        y
+AIX-5.1, 5.2 & 5.3 32-bit            n              y       n        y
+AIX-5.1, 5.2 & 5.3 64-bit            n              y       n        y
+WinXP Visual Studio 6.0              y              y       n        n
+WinXP .Net                           y              y       n        n
+Mac OS X 10.3                        y              y       n        y
+FreeBSD 4.11                         y              y       y        y
+RedHat 7.3   W (3)                   y              y       y        y
+RedHat 7.3  W  Intel (3)             n              y       n        y
+RedHat 7.3  W  PGI (3)               n              y       n        y
+RedStorm 			     n              y       n        y
+SuSe x86_64 gcc (3,13)               n              y       n        y
+SuSe x86_64 icc (3,13)               y              y(15)   n        y
+Linux 2.4 Xeon C Lustre Intel (3,6)  y              y       n        y
+Linux 2.4 SuSE ia64 C Intel (3,7)    y              y       n        n
+Linux 2.4 SGI Altix ia64 Intel  (3)  y              y       n        y
+
+
+Compiler versions for each platform are listed in the "Platforms Tested" 
+table found elsewhere in this file (RELEASE.txt).  Unless otherwise noted, 
+compilers used are the system compilers.
+
+Footnotes:  (1) Using mpich 1.2.6
+            (2) Using mpt and mpich 1.2.6.
+            (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.  
+                  W or C indicates workstation or cluster, respectively.
+            (4) Shared libraries are provided only for the C library, 
+                except on Windows where they are provided for C and C++.
+            (5) Using mpt.
+            (6) Linux 2.4.21-32.0.1.  Xeon cluster with ELsmp-perfctr-lustre 
+                and Intel compilers
+            (7) Linux 2.4.21, SuSE_292.til1.  Ia64 cluster with Intel compilers
+            (8) Intel 8.1
+            (9) One test of this release failed with Compaq Visual Fortran 6.6c.
+                No binary fortran release will be provided. Users should build
+                the library by themselves and use it at their own risk. 
+                We recommend that users use HDF5 1.7 instead 
+                or use Compaq Visual Fortran 6.0.
+           (10) IBM XLF and Absoft
+           (11) PGI, Absoft.  No shared libraries with Absoft; 
+                use '--disable-shared'.
+           (12) PGI and Intel compilers for both C and Fortran
+           (13) AMD Opteron x86_64
+           (14) ifort
+           (15) Yes with C and Fortran, but not with C++
+           (16) Only serial is ported.  PFS does not work for PHDF5 yet.
+           FMB/EIP - 2005/11/10
+
+
+Known Problems
+==============
+* Intel Compilers for Linux x86_86 platforms (EM64T-based, v8.1) has
+  optimization error in the data types conversion code.  Before running
+  configure, edit the file config/intel-flags by changing the setting of
+  PROD_CFLAGS from -O3 to -O0, then run configure.  AKC - 2005/11/10.
+
+* Fortran testing and compiling failures on windows XP 
+  1. Compaq visual fortran 6.6c with VS 6.0
+     The Fortran tests failed for both release, release dll, debug and debug
+     dll. The failure is a random one. We won't provide fortran libraries. The
+     same test passed with the 1.7.51 snapshot. You may find the 1.7.51 
+     snapshot under ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots/.
+  2. Intel fortran 8.1 under .Net environment
+     The fortran library cannot even be compiled. Some users have pointed this
+     to intel forum.
+
+* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 at IRIX
+  6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example 
+  120000, in order to pass the complicated collective IO tests inside parallel 
+  HDF5 library. This is not a problem inside parallel HDF5 library. You can 
+  always set a bigger number in your system.
+                                  KY - 2005/10/6
+
+* A contiguous or chunked dataset created by a sequential version may
+  not be modified with a parallel version of the library. 
+  Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the 
+  dataset creation property list to avoid the problem.
+                                    EIP - 2005/09/09
+
+* The dataset created or rewritten with the v1.6.3 library or after can't 
+  be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is 
+  enabled.  There was a bug in the calculating code of the Fletcher32 
+  checksum in the library before v1.6.3.  The checksum value wasn't consistent 
+  between big-endian and little-endian systems.  This bug was fixed in 
+  Release 1.6.3.  However, after fixing the bug, the checksum value is no 
+  longer the same as before on little-endian system.  The library release 
+  after 1.6.4 can still read the dataset created or rewritten with the library
+  of v1.6.2 or before.  SLU - 2005/7/8
+
+* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
+  processor, there's a bug in the compiler for optimization(-O2).  The library
+  failed in several tests but all related to multi driver.  The problem has 
+  been reported to the vendor.  
+
+* test/big fails sometimes with the message "Possible overlap with another
+  region."  The test selects regions randomly, and this error occurs when
+  two regions overlap each other; it is a bug in the test and not in
+  HDF5.  Since the error is triggered by a random situation, it will
+  usually disappear if the test is re-run.
+
+* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
+  has a "guard" statement in stdint.h that will #error and skip the rest
+  of the header file if C99 option is not used explicitly.  Hardset
+  $CC to c99 will resolve the problem. AKC - 2004/12/13
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+  messages like "INFO: 0031-XXX ...".  This is from the command poe.
+  Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+  and run the tests again.
+  The tests may fail with messages like "The socket name is already
+  in use".  HDF5 does not use sockets (except for stream-VFD).  This is
+  due to problems of the poe command trying to set up the debug socket.
+  Check if there are many old /tmp/s.pedb.* staying around.  These are
+  sockets used by the poe command and left behind due to failed commands.
+  Ask your system administrator to clean them out.  Lastly, request IBM
+  to provide a means to run poe without the debug socket.
+
+* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) 
+  failed on windows xp with .NET for debug and debug dll. Release and 
+  Release dll work fine. 
+
+* The h5dump tests may fail to match the expected output on some platforms
+  (e.g. parallel jobs, Windows) where the error messages directed to
+  "stderr" do not appear in the "right order" with output from stdout.
+  This is not an error.
+
+* The stream-vfd test uses ip port 10007 for testing. If another
+  application is already using that port address, the test will hang
+  indefinitely and has to be terminated by the kill command. To try the
+  test again, change the port address in test/stream_test.c to one not
+  being used in the host.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+  platforms. This is due to the fact that not all of the system
+  libraries on Solaris are available in a static format.
+
+  The --enable-static-exec configure flag also fails to correctly compile
+  on IBM SP2 platform for the serial mode. The parallel mode works fine
+  with this option.
+
+  The --enable-static-exec configure flag also fails to correctly compile
+  on the HPUX 11.00.
+  
+  It is suggested that you don't use this option on these platforms
+  during configuration.
+
+* The Stream VFD was not tested yet under Windows.
+
+
+* Before building HDF5 F90 Library from source on Crays 
+  replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
+  subdirectory in the top level directory with the Cray-specific files
+  from the site:
+  ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
+
+* Use --disable-shared configure flag if building with Absoft Fortran
+  compiler.
+
+* Information about building with PGI and Intel compilers is available in
+  INSTALL file sections 5.7 and 5.8.
+
+* In LANL QSC, the new cc compiler has problems converting small values of
+  long long (absolute values less than 1**-308) to double.  This triggers
+  the test/dtypes to report failure in the
+      Testing random sw long double -> double conversions
+  If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
+  If -ieee is not used, the converted double values are mostly 0.0 but
+  occasionally as 1**-308.  This has been reported to the system staff.
+  All other tests have passed.
+
+* Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on
+  Windows. 
+
+* Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler,
+  Building Fortran static library with Intel 8.1 in .NET environment 
+  requires manually setting the project file.
+  Please contact to hdfhelp at ncsa.uiuc.edu if you need to build
+  Fortran static library with Intel 8.1 with .NET environment.
+
+* On at least one system, SDSC DataStar, the scheduler (in this case
+  LoadLeveler) sends job status updates to standard error when you run
+  any executable that was compiled with the parallel compilers.
+
+  This causes problems when running "make check" on parallel builds, as
+  many of the tool tests function by saving the output from test runs,
+  and comparing it to an exemplar.
+
+  The best solution is to reconfigure the target system so it no longer
+  inserts the extra text.  However, this may not be practical.
+
+  In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+  the configure and build.  This will cause "make check" to continue after
+  detecting errors in the tool tests.  However, in the case of SDSC DataStar,
+  it also leaves you with some 150 "failed" tests to examine by hand.
+
+  A second solution is to write a script to run serial tests and filter
+  out the text added by the scheduler.  A sample script used on SDSC
+  DataStar is given below, but you will probably have to customize it
+  for your installation.
+
+  Observe that the basic idea is to insert the script as the first item
+  on the command line which executes the test.  The script then
+  executes the test and filters out the offending text before passing
+  it on.
+
+        #!/bin/csh
+
+        set STDOUT_FILE=~/bin/serial_filter.stdout
+        set STDERR_FILE=~/bin/serial_filter.stderr
+
+        rm -f $STDOUT_FILE $STDERR_FILE
+
+        ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+        set RETURN_VALUE=$status
+
+        cat $STDOUT_FILE
+
+        tail +3 $STDERR_FILE
+
+        exit $RETURN_VALUE
+
+  You get the HDF make files and test scripts to execute your filter script
+  by setting the environment variable "RUNSERIAL" to the full path of the
+  script prior to running configure for parallel builds.  Remember to
+  "unsetenv RUNSERIAL" before running configure for a serial build.
+
+  Note that the RUNSERIAL environment variable exists so that we can
+  prefix serial runs as necessary on the target system.  On DataStar,
+  no prefix is necessary.  However, on an MPICH system, the prefix might
+  have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+  get the serial tests to run at all.
+
+  In such cases, you will have to include the regular prefix in your
+  filter script.
+
 %%%%1.6.4%%%%   Release Information for hdf5-1.6.4 (15/March/05)
 
 

Modified: packages/hdf5/trunk/doc/html/ADGuide/ImageSpec.html
===================================================================
--- packages/hdf5/trunk/doc/html/ADGuide/ImageSpec.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ADGuide/ImageSpec.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,6 +8,7 @@
 </html><!-- #BeginLibraryItem "/ed_libs/styles_Gen.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -17,8 +18,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -40,7 +41,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="../ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -1261,7 +1262,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="../ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -1270,9 +1271,9 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><!-- Created: Spring 1999 -->
 <!-- hhmts start -->

Modified: packages/hdf5/trunk/doc/html/ADGuide/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/ADGuide/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ADGuide/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/ADGuide/RELEASE.txt
===================================================================
--- packages/hdf5/trunk/doc/html/ADGuide/RELEASE.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ADGuide/RELEASE.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,36 +1,37 @@
-HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
+HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007
 ================================================================================
 
 INTRODUCTION
 ============
-This document describes the differences between HDF5-1.6.4 and
-HDF5-1.6.5.  It contains information on the platforms tested and
-known problems in HDF5-1.6.5. For more details, check the HISTORY.txt
+This document describes the differences between HDF5-1.6.5 and
+HDF5-1.6.6  It contains information on the platforms tested and
+known problems in HDF5-1.6.6. For more details, check the HISTORY.txt
 file in the HDF5 source.
 
-The HDF5 documentation can be found on the NCSA ftp server
-(ftp.ncsa.uiuc.edu) in the directory:
+HDF5 documentation can be found in the distributed release source 
+code in the subdirectory doc/html/ or on the THG (The HDF Group) 
+ftp server (ftp.hdfgroup.org) in the directory:
 
-     /HDF/HDF5/docs/
+     /HDF5/docs/
 
 Documentation for the current release is also on the HDF web site:
 
-     http://hdf.ncsa.uiuc.edu/HDF5/doc/
+     http://hdfgroup.org/HDF5/doc/
 
-For more information look at the HDF5 home page at:
+For more information, see the HDF5 home page at:
 
-    http://hdf.ncsa.uiuc.edu/HDF5/
+    http://hdfgroup.org/HDF5/
 
 If you have any questions or comments, please send them to:
 
-    hdfhelp at ncsa.uiuc.edu
+    help at hdfgroup.org
 
 
 CONTENTS
 ========
 - New Features
 - Support for New Platforms, Languages and Compilers
-- Bug Fixes since HDF5-1.6.4
+- Bug Fixes since HDF5-1.6.5
 - Documentation
 - Platforms Tested
 - Supported Configuration Features Summary
@@ -41,424 +42,426 @@
 ============
     Configuration:
     -------------------------
-	- Added yodconfigure, a configure tool, that patches up the configure
-	  file to allow configure to launch executable via the proper
-	  launching command like "yod -sz 1".  AKC - 2005/11/10
-	- Configure now recognizes the TR variable as the location of the
-          tr utility.  JML 2005/10/20
+        - HDF5 now uses autoconf 2.61 to generate configure. MAM - 2007/7/25.
 
-    Source code distribution:
-    -------------------------
-	- Added g95 as a testing "platform" informally. AKC - 2005/10/04.
-        - Added MD5 checksumming to snapshot releases.  Releases will now
-          produce an .md5 file as well as a .tar archive.  md5sum can be
-          used to verify the arvhice with the .md5 checksum.  -JL 2005/09/06
-
+    Source code distribution
+    ========================
     Library:
     --------
-        - Added HSYS_ERROR which retrieves the system error message and pushes
-          it to the error stack.  This provides more information regarding the 
-	  failed system call. AKC - 2005/08/04
-        - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
-          allow querying for objects in a file that was opened with a particular
-          file ID, instead of all objects opened in the file with any file ID.
-          QAK - 2005/06/01
+        - None
 
     Parallel Library:
     -----------------
-	- Added mpich2 as a testing "platform" informally. AKC - 2005/10/04.
-	- HDF5 supports collective MPI-IO for irregular selection with HDF5
-	  dataset. Irregular selection is when users use API H5Sselect_hyperslab
-	  more than once for the same dataset.
-	  Currently, not all MPI-IO packages support the complicated 
-	  MPI derived datatypes used in the implementation of irregular 
-	  selections INSIDE HDF5. 
-	  1) DEC 5.x wdoes not support complicated derived datatypes.
-	  2) For AIX 5.1:
-	     If your poe version number is 3.2.0.20 or lower,
-	     please edit powerpc-ibm-aix5.x in the directory hdf5/config/.
-	     Find the line with
-	          << hdf5_mpi_complex_derived_datatype_works >>
-	     and UNCOMMENT this line before the configure.
-	     check poe version with the following command:
-	     lpp -l all | grep ppe.poe
-	  3) For Linux cluster,:
-	     If mpich version is 1.2.5 or lower, collective irregular selection
-	     IO is not supported; internally independent IO is used.
-	  4) For IRIX 6.5:
-	     if C compiler version is 7.3 or lower, collective irregular 
-	     selection IO is not supported; internally independent IO is used.
-	  5) For platforms which internally used mpich: 
-	     If the mpich version is 1.2.5 or lower, please find the 
-	     corresponding config (in hdf5/config) file and add
-	         hdf5_mpi_complex_derived_datatype_works='no' 
-	     at the end of the configuration file. For example, on the 
-	     NCSA SGI Altix, the internal mpich library is 1.2.5. So 
-	         hdf5_mpi_complex_derived_datatype_works='no' 
-	     should be added at the end of the config file ia64-linux-gnu.
-	     KY - 2005/09/12
-
+        - None
+      
     Tools:
     ------
-        - Removed obsolete pdb2hdf tool.  JML - 2005/10/28
-        - Sped up h5dump on files with large numbers of objects.
-            QAK - 2005/08/25
+        - h52gif and gif2h5: Both these tools were revised to include High
+            Level Image API support.  Tests were added to /hl/tools/gif2h5.
+            PVN - 2007/04/13
+        - h5dump: Added support for double long type H5T_NATIVE_LDOUBLE. 
+            PVN - 2007/03/13
+        - h5dump: Added support for binary output; see usage. PVN 2007/03/13
+        - h5repack: Added support for reading and writing by hyperslabs for
+            large files. PVN - 2007/03/01
+        - h5repack: A new option allows the copy to use the source file type
+            (default) instead of the previous conversion to native type. 
+            PVN - 2007/03/01
+        - h5repack: Added output of the percentage of compression achieved. 
+            PVN - 2007/03/01
+        - h5diff: Added support for comparing dataset regions. PVN - 2007/02/20
+        - h5diff: Added support for reading and comparing by hyperslabs for 
+            large files.  PVN - 2007/02/20
+        - h5diff: Added printing of dataset dimensions along with dataset name. 
+            PVN - 2007/02/19
 
     F90 API:
     --------
-        - Added missing h5tget_member_class_f function
-                                            EIP 2005/04/06
+        - None
+
     C++ API:
     --------
-        - Added missing member functions:
-		H5::CompType::getMemberArrayType
-		H5::CompType::getMemberVarLenType
-		H5::AbstractDs::getArrayType
-		H5::AbstractDs::getVarLenType
-		H5::CommonFG::openArrayType
-		H5::CommonFG::openVarLenType
-		H5::PropList::copyProp -- this will replace the current
-			H5::PropList::copyProp in later releases due
-			to incorrect prototype.
-		BMR - 2005/07/27
+        - Added support for Szip: DSetCreatPropList::setSzip - BMR 2007/01/24
 
 
 Support for New Platforms, Languages and Compilers
 ==================================================
-    - Added support for RedStorm platform (serial only.)  AKC 2005/11/10
-    - Added support for BG/L platform (serial only.)  LA 2005/11/10
-    - Added support for HPUX 11.23 (IA64); only C and C++ are supported
-      with the +DD64 flag 
-                                             EIP 2005/10/05
- 
+        - Added support for MAC Intel (Darwin 8.8.2)  (gcc 4.0.1 and g95 0.91)
+                                EIP - 2007/02/13
+        - Added support for GNU C compiler version 4.2.1 for FreeBSD 6.2 
+          (32- and 64-bit)
 
-    Configuration
-    -------------
-        - Added support for Cray X1.  JML 2005/10/03
 
-
-Bug Fixes since HDF5-1.6.4 Release
+Bug Fixes since HDF5-1.6.5 Release
 ==================================
 
     Library
     -------
-        - Fixed collective IO in chunking-storage.  HDF5 may have called the 
-            wrong routine when the shape of the dataspace in the file and in 
-            the bufferred chunk were different. This bug was fixed to make sure
-            the correct routine is called. KY - 2005/10/19
-        - Fixed core dump when closing root groups opened through two different
-            file handles that operate on the same actual file.  QAK - 2005/10/02
-        - The ./dsets tests used to fail in the TFLOPS machine if the
-            test program, dsets.c, was compiled with the -O option.
-            The HDF5 library still worked correctly with the -O option. Only
-            the ./dsets failed.  It is fixed. AKC - 2005/09/14
-        - Corrected errors when performing various operations on a group opened
-            by dereferencing an object reference.  QAK - 2005/07/30
-        - Fixed a bug with named datatypes where a copy of a named datatype
-            used to create a dataset would accidentally use the original
-            named datatype for the dataset's datatype.  QAK - 2005/07/23
-        - Made H5Fget_name() to be consistent and always return name of actual
-            file the ID is in.  (Instead of the name of the top file in a
-            file mounting hierarchy).  QAK - 2005/07/19
-        - Reworked internal file mounting semantics to hopefully eliminate
-            mounting problems.  We now require that files that are mounting
-            together all have the same "file close degree".  QAK - 2005/07/19
-        - More bug fixes on holding open files that are mounted and have
-            IDs open.  QAK - 2005/07/14
-        - Dataset sieve buffer cache was inadvertantly disabled; it has been
-            re-enabled.  QAK - 2005/07/08
-        - Don't unmount child files until the parent file actually closes.
-            (Previously, if an object was holding open a file, the child files
-            would get unmounted too early).  QAK - 2005/07/05
-        - Fixed bug where unmounted files could cause the library to go into
-            an infinite loop when shutting down.  QAK - 2005/06/30
-        - Fixed bug with hyperslab selections that use selection offsets and
-            operate on chunked datasets going into infinite loop or dumping
-            core.  QAK - 2005/06/17
-        - Corrected memory leak and possible corruption when opening a group.
-            QAK - 2005/06/17
-        - Added check for opaque datatype tags being too long (check against
-            H5T_OPAQUE_TAG_MAX, currently set to 256).  QAK - 2005/06/14
-        - Fixed various errors in maintaining names for open objects in the
-            face of unusual mount & unmount operations.  QAK - 2005/06/08
-        - "SEMI" and "STRONG" file close degree settings now apply only to the
-            particular file ID being closed, instead of operating on all open
-            file IDs for a given file.  QAK - 2005/06/01
-        - Fixed error in opening object in a group that was opened in a mounted
-            file which has been unmounted.  QAK - 2005/03/17
+        - Fixed several bugs with writing fill values for datasets that have
+            a variable-length datatype or component datatype.  QAK - 2007/06/19
+        - STDIO driver didn't support files bigger than 2GB because the OFFSET
+            parameter of fseek is of type LONG INT, not big enough for big 
+            files.  Use fseeko instead for big files if it's available on the 
+            system.  SLU - 2007/4/5
+        - Relaxed restrictions on attribute operations to allow a file ID to
+            be used as the "location ID".  If a file ID is used, the attribute
+            operation will occur on the root group of the file.
+            QAK - 2007/02/09
+        - Fixed a bug in H5Sselect_valid() that caused an incorrect value to
+            be returned (0) instead of FAIL on error conditions such as the
+            selection or extent not being defined. CMC - 2007/01/05
+        - Fixed potential file corruption bug which could overwrite a portion
+            of an object's header when an attribute was renamed.  If the new
+            name for the attribute was longer than the old name, it was possible
+            that the attribute would grow enough to overwrite another message
+            in the object's header.  QAK - 2007/01/02
+        - Fixed file corruption bug which could write an incorrect number of
+            messages to an object's header under certain circumstances.
+            Generally, the sequence of actions to generate this bug looks
+            like this:
+                - Create an object.
+                - Close the file.
+                - Re-open the file.
+                - Add 2 (or more) attributes to the object.
+                - Close the file.
+                - Re-open the file.
+                - Delete one of the attributes on the object.
+                - Add a smaller attribute to the object.
+                - Delete the smaller atttribute on the object.
+                - Add a larger attribute on the object.
 
+            After this, the number of header messages stored for the object
+            will be off by one.  Other sequences of modifying attributes on an
+            object could also trigger this bug.  If you are opening an
+            object and the bottom few messages of the HDF5 error stack
+            resembles the following, the object has been affected by this bug:
+
+              #007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry(): unable to load entry
+                major(08): Meta data cache layer
+                minor(40): Unable to load metadata into cache
+              #008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load(): corrupt object header - too few messages
+                major(12): Object header layer
+                minor(40): Unable to load metadata into cache
+
+            Specifically, "corrupt object header" is the best string to search
+            for in the HDF5 error stack output.
+
+            If your files have been affected by this bug, or you are concerned
+            that your files might have been, please contact the HDF Helpdesk
+            at help at hdfgroup.org for a tool to detect and repair files
+            affected by this problem.  QAK - 2006/6/16
+
+        - Fixed various problems with retrieving names of objects, especially
+            with mounted files.  QAK - 2005/12/25
+
     Configuration
     -------------
-	- Configure can recognize -lmpich as a form of MPI library. -AKC-
-	  2005/9/28.
-	- Changed default C++ compiler for the IA64 platform from icc to
-	    icpc which is the preferred compiler for Intel Compiler version
-	    8. AKC - 2005/09/02
+        - Changed to default to --disable-shared if parallel is enabled. 
+            AKC - 2007/5/12
+        - Corrected a coding error in configure when it tries to locate the
+          needed MPI and MPI-IO library for the fortran interface. 
+            AKC - 007/5/9.
+        - Changed default fortran compiler to g95 when gcc is used. 
+            AKC - 007/2/17.
+        - Configure can now use any tr command.  No more need for
+            defining the variable TR, nor is it supported.  AKC - 2006/05/20
 
     Performance
     -------------
-        - Optimized I/O for enumerated datatypes that are a superset of a 
-            source enumerated datatype.  QAK - 2005/03/19
+        - None
    
     Tools
     -----
+        - Fixed a bug in h5dump regarding the display of named datatypes
+            attributes. PVN - 2007/03/13
+        - Fixed a bug in h5dump regarding the display of group comments. 
+            PVN - 2007/03/13
+        - Fixed a bug in h5dump regarding the display of hardlinks pointing 
+            to the root group.  PVN - 2007/03/13
+        - Fixed a bug in the h5diff percentage option -p.  PVN - 2007/03/05
+        - Fixed a bug in h5dump that caused array indices greater than 2^32-1
+            not to be printed correctly.  PVN - 2007/2/19
 
     Documentation 
     ------------- 
+        - Corrected errors and extended the descriptions in Reference Manual 
+            entries for several functions.  
 
     F90 API
     -------
-       - h5pget_driver_f was returning information that could not be
-         interpreted by a Fortran application program; fixed. EIP - 2005/04/10
+        - None
                                 
     C++ API
     -------
-	- Several member functions' prototype changed due to the 
-	  "int -> unsigned" change in the main library.  They are:
-		H5::CompType::getMemberDataType(unsigned member_num)
-		H5::CompType::getMemberCompType(unsigned member_num)
-		H5::CompType::getMemberEnumType(unsigned member_num)
-		H5::CompType::getMemberIntType(unsigned member_num)
-		H5::CompType::getMemberFloatType(unsigned member_num)
-		H5::CompType::getMemberStrType(unsigned member_num)
-		BMR - 2005/07/27
+          - Changed
+                  StrType::StrType(const size_t& size);
+            to
+                  StrType::StrType(const int dummy, const size_t& size);
+            because the first one clashed with
+                  StrType::StrType(const hid_t existing_id); - BMR 2007/05/03
+          - Wrappers of H5Rcreate had incorrect prototypes.  Added these
+            overloaded functions:
+                  IdComponent::reference(void* ref, const char* name, DataSpace&
+                          dataspace, H5R_type_t ref_type = H5R_DATASET_REGION)
+                  IdComponent::void reference(void* ref, const char* name)
+                  IdComponent::reference(void* ref, const H5std_string& name)
+            and will remove these incorrect member functions:
+                  DataSet::Reference
+                  DataType::Reference
+                  Group::Reference
+                  H5File::Reference
+          - Added wrappers for H5Rdereference as constructors:
+                  DataSet(IdComponent& obj, void* ref);
+                  Group(IdComponent& obj, void* ref);
+                  DataType(IdComponent& obj, void* ref);
 
 
+Documentation
+=============
 
-   
+    HDF5 documentation can be found in the distributed release source 
+    code in the subdirectory doc/html/ (start with index.html) or on the 
+    THG (The HDF Group) ftp server (ftp.hdfgroup.org) in the directory:
 
+         /HDF5/docs/
+
+    Online documentation for the current release can be found on the THG 
+    web site:
+
+         http://hdfgroup.org/HDF5/doc/
+
+
 Platforms Tested
 ================
 
-    AIX 5.1  (32 and 64-bit)      xlc 6.0.0.6
-                                  xlf 8.1.1.3
-    				  xlC 6.0.0.6
-				  mpcc_r 6.0.0.6
-                                  mpxlf_r 8.1.1.3
-				  xlc 5.0.2.5
-				  xlf 7.1.1.2
-				  xlC 5.0.2.5
-				  mpcc_r 5.0.2.5
-				  mpxlf_r 7.1.1.2
     AIX 5.2 (32/64 bit)           xlc 6.0.0.8
-                                  xlC 6.0.0.9
+    (datastar)                    xlC 6.0.0.9
                                   xlf 8.1.1.7
                                   mpcc_r 6.0.0.8
                                   mpxlf_r 8.1.1.7
-    AIX 5.2 (32/64 bit, LLNL frost)    xlc 6.0.0.8
-                                  xlC 6.0.0.8
-                                  xlf 8.1.1.7
-                                  mpcc_r 6.0.0.8
-                                  mpxlf_r 8.1.1.7
+
     AIX 5.3 (32/64 bit)           xlc 7.0.0.0
-                                  xlC 7.0.
+    (copper)                      xlC 7.0.
                                   xlf 9.1.0.3
-    Cray X1 water 3.0.35          Cray Standard C Version 5.4.0.7.4
-                                  Cray Fortran 5.4.0.7.3
-                                  Cray C++ 5.4.0.7.4
-    FreeBSD 4.11                  gcc 2.95.4
-                                  g++ 2.95.4
-                                  gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0
-    HP-UX B.11.00                 HP C  HP92453-01 A.11.01.20 
-                                  HP F90 v2.4
-                                  HP ANSI C++ B3910B A.03.13
-    HP-UX B.11.23                 HP aC++/ANSI C B3910B A.06.00
-                                  HP F90 v2.9
-                                  HP aC++/ANSI C B3910B A.06.00
-    IRIX64 6.5 (tesla -64)        MIPSpro cc 7.4.2m
-                                  F90 MIPSpro 7.4.2m
-                                  C++ MIPSpro cc 7.4.2m
-    IRIX64 6.5 (64 & n32)         MIPSpro cc 7.3.1.3m
-                                  F90 MIPSpro 7.3.1.3m (64 only)
-                                  C++ MIPSpro cc 7.3.1.3m
-				  mpt 1.6
-    Linux 2.4.20-28.7             gcc 2.96
-    (eirene, verbena)             gcc 3.3.2
-                                  PGI compilers (pgcc, pgf90, pgCC) 
-                                  version 5.2-1
-                                  Absoft Fortran compiler v9.0
-                         	  Intel(R) C++ 32-bit Version 8.1
-    				  Intel(R) Fortran 32-bit Version 8.1
-                                  MPIch 1.2.6
-    Linux 2.4.21-268-smp x86_64   gcc 3.3.1 (SuSE Linux, AMD)
-    (mir)                         PGI 5.2-1 C and F90 (with k3-32) 
-                         	  Intel(R) C++ 32-bit Version 8.1
-    				  Intel(R) Fortran 32-bit Version 8.1
-    Linux 2.4.21-sgi306rp21 Altix 
-          SMP ia64                Intel(R) C++ Version 8.1
-    (cobalt)                      Intel(R) Fortran Itanium(R) Version 8.1
+
+    FreeBSD 6.2 (32- and 64-bit)  gcc  and g++3.4.6
+    (duty and liberty)            gcc and g++ 4.2.1
+
+    HP-UX B.11.23                 HP aC++/ANSI C B3910B A.06.02
+    (sirius)                      HP F90 v3.1 (32-bit only)
+                                  HP aC++/ANSI C B3910B A.06.02
+
+    IRIX64 6.5                    MIPSpro cc 7.4.4m
+    (ucar mop1 64 & n32)          F90 MIPSpro 7.4.4m (64 only)
+                                  C++ MIPSpro cc 7.4.4m
+
+    Linux 2.4.21-47.ELsmp #1 SMP  gcc 3.2.3
+        i686 i386 GNU/Linux
+    (osage)
+
+    Linux 2.6.9-42.0.10.ELsmp #1  gcc (GCC) 3.4.6
+        SMP i686 i386             G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
+    (kagiso)                      PGI C, Fortran, C++ 6.2-5 32-bit 
+                                  icc (ICC) 9.1 
+                                  Intel(R) C++ Compiler for 32-bit 
+                                      applications, Version 9.1
+                                  Intel(R) Fortran Compiler for 32-bit 
+                                      applications, Version 9.1 
+                                  Absoft 32-bit Fortran 95 10.0.4
+                                  MPICH mpich2-1.0.4p1 compiled with  
+                                  gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.91!) 
+
+    Linux 2.6.16.46-0.12-debug #1 
+        SMP ia64 GNU/Linux        Intel(R) C++ Version 10.0.025
+    (ucar hir1)                   Intel(R) Fortran Itanium(R) Version 10.0.025
+
+    Linux 2.6.16.46-0.14-smp #1   Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037
+        SMP x86_64 GNU/Linux      Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031
+    (smirom)                      PGI C, Fortran, C++ Version 6.2-5
+                                         for 64-bit target on x86-64
+                                  tested for both 32- and 64-bit binaries
+
+    Linux 2.6.5-7.283-rtgfx Altix 
+        SMP ia64                  Intel(R) C++ Version 9.0
+    (cobalt)                      Intel(R) Fortran Itanium(R) Version 9.0
                                   SGI MPI
+
     OSF1 V5.1 (QSC)               Compaq C V6.5-011 
-                                  HP Fortran V5.5A-3548
-				  Compaq C++ V6.5-036  
-				  MPIX200_64_r13.4
-    OSF1 V5.1 (PSC)               Compaq C V6.5-303 
-                                  HP Fortran V5.5A-3548
-				  Compaq C++ V6.5-040  
-    SunOS 5.8 32,46               Sun WorkShop 6 update 2 C 5.3
-     (Solaris 2.8)                Sun WorkShop 6 update 2 Fortran 90
+    (See "Known Problems.")       HP Fortran V5.5A-3548
+                                  Compaq C++ V6.5-036  
+                                  MPIX200_64_r13.4
+
+    SunOS 5.8 32- and 64-bit      Sun WorkShop 6 update 2 C 5.3
+    (sol)                         Sun WorkShop 6 update 2 Fortran 95 6.2
                                   Sun WorkShop 6 update 2 C++ 5.3
-    SunOS 5.9 32,64               Sun C 5.6 2004/07/15
-     (Solaris 2.9)                Sun Fortran 95 8.0 2004/07/15
-                                  Sun C++ 5.6 2004/07/15
-    SunOS 5.10                    Sun WorkShop 6 update 2 C 5.3
-                                  Sun WorkShop 6 update 2 Fortran 95 6.2
-                                  Sun WorkShop 6 update 2 C++ 5.3
-                                  Patch 111685-13 
+
+    SunOS 5.10 32- and 64-bit     Sun WorkShop 6 update 2 C 5.8
+    (linew)                       Sun WorkShop 6 update 2 Fortran 95 8.2
+                                  Sun WorkShop 6 update 2 C++ 5.8
+                                  Patch 121019-06 
+
     Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
-    (tungsten)	                  Intel(R) C++ Version 9.0
+    (tungsten)                    Intel(R) C++ Version 9.0
                                   Intel(R) Fortran Compiler Version 9.0
-    IA-64 Linux 2.4.21.SuSE_292.til1 ia64
+                                  PGI C Version 6.0
+                                  PGI C++ Version 6.0
+                                  PGI Fortran Version 6.0
+                                  gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5)
+
+    Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+    (abe)                         Intel(R) C++ Version 10.0
+                                  Intel(R) Fortran Compiler Version 10.0
+                                  Open MPI 1.2.2
+
+    IA-64 Linux 2.4.21.SuSE_292.til1
+        ia64                      gcc (GCC) 3.2.2
     (NCSA tg-login)               Intel(R) C++ Version 8.0
                                   Intel(R) Fortran Compiler Version 8.0
-				  mpich-gm-1.2.5..10-intel-r2
-    Windows XP                    MSVC++.NET
-                                  MSVC++ 6.0
-                                  Intel 8.1 C++
-    MAC OS X                      Darwin 7.5
-                                  gcc and g++ Apple Computer, Inc. GCC 
-                                  version 1175, based on gcc version 3.3.2
-                                  IBM XL Fortran version 8.1 
-                                  Absoft Fortran compiler v8.2
+                                  mpich-gm-1.2.5..10-intel-r2
 
+    Windows XP                    Visual Studio 6.0
+                                  Visual Studio .NET (with Intel Fortran 9.0)
+                                  Visual Studio 2005 (with Intel Fortran 9.0)
+                                  cygwin (gcc 3.4.4)
 
+    MAC OS X Intel                Darwin 8.10.1
+                                  i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
+                                  g95 0.91
+
+
 Supported Configuration Features Summary
 ========================================
 
-Key:   y   = tested and supported
-       n   = not supported or not tested in this release
-       x   = not working in this release
-       dna = does not apply
-       ( ) = footnote appears below second table
+Key:   y   = Tested and supported
+       n   = Not supported or not tested in this release
+       C   = Cluster
+       W   = Workstation
+       ( ) = Footnote appears below second table
 
-Platform                             C        F90    F90      C++  zlib  SZIP
-                                     parallel        parallel      
-IBM BG/L (16)			     n        n      n        n    y     y
-Solaris2.8 64-bit                    y        y      y(1)     y    y     y
-Solaris2.8 32-bit                    y        y      y(1)     y    y     y
-Solaris2.9 64-bit                    y(1)     y      y(1)     y    y     y
-Solaris2.9 32-bit                    y(1)     y      y(1)     y    y     y
-Solaris2.10 64-bit                   y(1)     y      n        y    y     y
-Solaris2.10 32-bit                   y(1)     y      n        y    y     y
-IRIX64_6.5 64-bit                    y(2)     y      y        y    y     y
-IRIX64_6.5 32-bit                    y(2)     n      n        n    y     y
-HPUX11.00                            y(1)     y      y        y    y     y
-HPUX11.23-32bit                      n        y      n        y    y     y
-HPUX11.23-64bit                      n        n      n        y    y     y
-OSF1 v5.1                            y        y      y        y    y     y
-X1                                   y        y      y        y    y     n
-AIX-5.1, 5.2 & 5.3 32-bit            y        y      y        y    y     y
-AIX-5.1, 5.2 & 5.3 64-bit            y        y      y        y    y     y
-WinXP Visual Studio 6.0              n        n(9)   n        y    y     y
-WinXP .Net                           n        n      n        y(8) y     y
-Mac OS X 10.3                        n        y(10)  n        y    y     y
-FreeBSD 4.11                         n        n      n        y    y     y
-RedHat 7.3  W (3)                    y(1)     y(11)  n        y    y     y
-RedHat 7.3  W Intel (3)              n        y      n        y    y     y
-RedHat 7.3  W PGI (3)                n        y      n        y    y     y
-RedStorm (16)			     n        y      n        y    y     n
-SuSe x86_64 gcc (3,13)               n        y(12)  n        y    y     y
-SuSe x86_64 icc (3,13)               n        y(14)  n        y    y     y
-Linux 2.4 Xeon C Lustre Intel (3,6)  n        y      n        y    y     y
-Linux 2.4 SuSE ia64 C Intel (3,7)    y        y      y        y    y     y
-Linux 2.4 SGI Altix ia64 Intel (3)   y        y      y        y    y     y
+Platform                              C        F90  F90      C++  zlib  SZIP
+                                      parallel      parallel
+Solaris2.8 32- and 64-bit             n        y    n        y    y     y
+Solaris2.10 32- and 64-bit            n        y    n        y    y     y
+IRIX64_6.5 32-bit                     n        n    n        n    y     y
+IRIX64_6.5 64-bit                     n        y    n        n    y     y
+HPUX11.23-32bit                       n        y    n        y    y     y
+HPUX11.23-64bit                       n        n    n        y    y     y
+WinXP Visual Studio 6.0               n        n    n        y    y     y
+WinXP CYGWIN                          n        n    n        y    y     y
+WinXP 2005                            n        y    n        y    y     y
+WinXP .Net                            n        y    n        y    y     y
+Mac OS X 10.4.10                      n        y    n        y    y     y
+AIX-5.2 & 5.3 32- and 64-bit          y        y    y        y    y     y
+FreeBSD 6.2 32- and 64-bit            n        n    n        y    y     y
+RedHat Linux 2.4.21              W    n        n    n        y    y     y
+SuSE Linux 2.6.9-42 i686 GNU (1) W    y        y    y        y    y     y
+SuSE Linux 2.6.9-42 i686 Intel   W    n        y    n        y    y     y
+SuSE Linux 2.6.9-42 i686 PGI     W    n        y    n        y    y     y
+SuSE Linux 2.6.16 x86_64 GNU (1) W    y        y    y        y    y     y
+SuSE Linux 2.6.16 x86_64 Intel   W    n        y    n        y    y     y
+SuSE Linux 2.6.16 x86_64 PGI     W    n        y    n        y    y     y
+RHEL 4 Linux 2.6.9 Xeon Lustre   C    y        y    y        y    y     y
+RedHat Linux 2.4 Xeon Lustre     C    n        y    n        y    y     y
+SuSE Linux 2.4 ia64              C    y        y    y        y    y     y
+SuSe Linux 2.6.16 SGI Altix ia64      n        y    n        y    y     y
+SuSe Linux 2.6.5 SGI Altix ia64       n        y    n        y    y     y
+OSF1 v5.1                             y        y    y        y    y     n
 
 
-Platform                             Shared        static-  Thread-  STREAM- 
-                                     libraries(4)  exec     safe     VFD    
-IBM BG/L 			     n              y       n        n
-Solaris2.8 64-bit                    y              x       y        y
-Solaris2.8 32-bit                    y              x       y        y
-Solaris2.9 64-bit                    y              x       y        y
-Solaris2.9 32-bit                    y              x       y        y
-Solaris2.10 64-bit                   y              x       y        y
-Solaris2.10 32-bit                   y              x       y        y
-IRIX64_6.5 64-bit                    y              y       y        y
-IRIX64_6.5 32-bit                    y              y       y        y
-HPUX11.00                            y              x       n        y
-HPUX11.23                            y              y       n        y
-OSF1 v5.1                            y              y       n        y
-X1                                   n              y       n        y
-AIX-5.1, 5.2 & 5.3 32-bit            n              y       n        y
-AIX-5.1, 5.2 & 5.3 64-bit            n              y       n        y
-WinXP Visual Studio 6.0              y              y       n        n
-WinXP .Net                           y              y       n        n
-Mac OS X 10.3                        y              y       n        y
-FreeBSD 4.11                         y              y       y        y
-RedHat 7.3   W (3)                   y              y       y        y
-RedHat 7.3  W  Intel (3)             n              y       n        y
-RedHat 7.3  W  PGI (3)               n              y       n        y
-RedStorm 			     n              y       n        y
-SuSe x86_64 gcc (3,13)               n              y       n        y
-SuSe x86_64 icc (3,13)               y              y(15)   n        y
-Linux 2.4 Xeon C Lustre Intel (3,6)  y              y       n        y
-Linux 2.4 SuSE ia64 C Intel (3,7)    y              y       n        n
-Linux 2.4 SGI Altix ia64 Intel  (3)  y              y       n        y
+Platform                              Shared        static-  Thread-  STREAM-
+                                      libraries(4)  exec     safe     VFD
+Solaris2.8 32- and 64-bit             y             n        y        y
+Solaris2.10 32- and 64-bit            y             n        y        y
+IRIX64_6.5 32-bit                     y             n        y        y
+IRIX64_6.5 64-bit                     y             n        y        y
+HPUX11.23-32bit                       y (3)         n        n        y
+HPUX11.23-64bit                       y (3)         n        n        y
+WinXP Visual Studio 6.0               y             n        n        n
+WinXP CYGWIN                          y             n        n        n
+WinXP 2005                            y             n        n        n
+WinXP .Net                            y             n        n        n
+Mac OS X 10.4.10                      y             n        n        y
+AIX-5.2 & 5.3 32- and 64-bit          n             n        n        y
+FreeBSD 6.2 32- and 64-bit            y             n        n        y
+RedHat Linux 2.4.21              W    y             n        n        y
+SuSE Linux 2.6.9-42 i686 GNU (1) W    y             n        y        y
+SuSE Linux 2.6.9-42 i686 Intel   W    y             n        n        y
+SuSE Linux 2.6.9-42 i686 PGI     W    n             n        n        y
+SuSE Linux 2.6.16 x86_64 GNU (1) W    y             n        n        y
+SuSE Linux 2.6.16 x86_64 Intel   W    y             n        n        y
+SuSE Linux 2.6.16 x86_64 PGI     W    n             n        n        y
+RHEL 4 Linux 2.6.9 Xeon Lustre   C    y             n        n        y
+RedHat Linux 2.4 Xeon Lustre     C    y             n        n        y
+SuSE Linux 2.4 ia64              C    y             n        n        y
+SuSe Linux 2.6.16 SGI Altix ia64      n             n        n        y
+SuSe Linux 2.6.5 SGI Altix ia64       n             n        n        y
+OSF1 v5.1                             n             n        n        y
 
-
 Compiler versions for each platform are listed in the "Platforms Tested" 
 table found elsewhere in this file (RELEASE.txt).  Unless otherwise noted, 
 compilers used are the system compilers.
 
-Footnotes:  (1) Using mpich 1.2.6
-            (2) Using mpt and mpich 1.2.6.
-            (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.  
-                  W or C indicates workstation or cluster, respectively.
-            (4) Shared libraries are provided only for the C library, 
-                except on Windows where they are provided for C and C++.
-            (5) Using mpt.
-            (6) Linux 2.4.21-32.0.1.  Xeon cluster with ELsmp-perfctr-lustre 
-                and Intel compilers
-            (7) Linux 2.4.21, SuSE_292.til1.  Ia64 cluster with Intel compilers
-            (8) Intel 8.1
-            (9) One test of this release failed with Compaq Visual Fortran 6.6c.
-                No binary fortran release will be provided. Users should build
-                the library by themselves and use it at their own risk. 
-                We recommend that users use HDF5 1.7 instead 
-                or use Compaq Visual Fortran 6.0.
-           (10) IBM XLF and Absoft
-           (11) PGI, Absoft.  No shared libraries with Absoft; 
-                use '--disable-shared'.
-           (12) PGI and Intel compilers for both C and Fortran
-           (13) AMD Opteron x86_64
-           (14) ifort
-           (15) Yes with C and Fortran, but not with C++
-           (16) Only serial is ported.  PFS does not work for PHDF5 yet.
-           FMB/EIP - 2005/11/10
+Footnotes:
+(1) Fortran compiled with g95.
+(2) In most cases, shared libraries are provided only for the C library, 
+    except on Windows where they are provided for C, C++, and Fortran.
+(3) C++ works only with static libraries.
 
 
 Known Problems
 ==============
-* Intel Compilers for Linux x86_86 platforms (EM64T-based, v8.1) has
-  optimization error in the data types conversion code.  Before running
-  configure, edit the file config/intel-flags by changing the setting of
-  PROD_CFLAGS from -O3 to -O0, then run configure.  AKC - 2005/11/10.
+* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It
+  does not include the -lmpi properly.  This will be fixed in the next
+  release.  AKC - 2007/08/07.
 
-* Fortran testing and compiling failures on windows XP 
-  1. Compaq visual fortran 6.6c with VS 6.0
-     The Fortran tests failed for both release, release dll, debug and debug
-     dll. The failure is a random one. We won't provide fortran libraries. The
-     same test passed with the 1.7.51 snapshot. You may find the 1.7.51 
-     snapshot under ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots/.
-  2. Intel fortran 8.1 under .Net environment
-     The fortran library cannot even be compiled. Some users have pointed this
-     to intel forum.
+* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared
+  library, especially for h5repacktst and h52gifgentst, the following (or
+  similar) error message may appear:
+  "523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname
+  'libh5test.so.1' under any of the filenames .......(bunch of directories)
+  "
+  And the testing will fail. 
+  We believe this is a libtool problem. One way to get rid of this is to
+  add the paths of libh5test.so.1 and libh5.so.1 to the shared library path.
 
-* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 at IRIX
-  6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example 
-  120000, in order to pass the complicated collective IO tests inside parallel 
-  HDF5 library. This is not a problem inside parallel HDF5 library. You can 
-  always set a bigger number in your system.
-                                  KY - 2005/10/6
+  For 32-bit:
+  You may do this, under csh:
+  setenv LD_LIBRARYN32_PATH .......(existing pathes):[full path of HDF5
+  directory/test/.libs]:[full path of HDF5 directory/src/.libs]
 
-* A contiguous or chunked dataset created by a sequential version may
-  not be modified with a parallel version of the library. 
+  For 64-bit:
+  setenv LD_LIBRARY64_PATH ......(existing pathes):[full path of HDF5
+  directory/test/.libs]:[full path of HDF5 directory/src/.libs]
+
+  NOTE: This problem ONLY affects the testing of the HDF5 library when you 
+  build from source. It won't affect any applications that would like to link 
+  with the HDF5 shared library since the shared library path needs to be set 
+  anyway.  KY - 2007/8/2
+
+* QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test
+  "calloc".  All other tests passed.  This indicates that a dataset using 
+  chunked storage created by serial HDF5 may not work properly with parallel 
+  HDF5.  The calloc test can be skipped by running "prun ... testphdf5 -x 
+  calloc".  AKC - 2007/7/12.
+
+* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has
+  an optimization error in the datax types conversion code.  Before running
+  configure, edit the file config/intel-flags by changing the setting of
+  PROD_CFLAGS from -O3 to -O0.  Then run configure.  AKC - 2005/11/10.
+
+* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX
+  6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for 
+  example 120000, in order to pass the complicated collective IO tests inside 
+  the parallel HDF5 library. This is not a problem inside the parallel HDF5 
+  library. You can always set a bigger number on your system.  KY - 2005/10/6
+
+* A contiguous or chunked dataset created by a sequential version of HDF5 
+  might not be able to be modified with a parallel version of the library. 
   Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the 
-  dataset creation property list to avoid the problem.
-                                    EIP - 2005/09/09
+  dataset creation property list to avoid the problem.  EIP - 2005/09/09
 
 * The dataset created or rewritten with the v1.6.3 library or after can't 
-  be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is 
+  be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is 
   enabled.  There was a bug in the calculating code of the Fletcher32 
   checksum in the library before v1.6.3.  The checksum value wasn't consistent 
   between big-endian and little-endian systems.  This bug was fixed in 
@@ -469,7 +472,7 @@
 
 * For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
   processor, there's a bug in the compiler for optimization(-O2).  The library
-  failed in several tests but all related to multi driver.  The problem has 
+  failed in several tests, all related to the multi driver.  The problem has 
   been reported to the vendor.  
 
 * test/big fails sometimes with the message "Possible overlap with another
@@ -478,27 +481,24 @@
   HDF5.  Since the error is triggered by a random situation, it will
   usually disappear if the test is re-run.
 
-* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
-  has a "guard" statement in stdint.h that will #error and skip the rest
-  of the header file if C99 option is not used explicitly.  Hardset
+* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but 
+  have a "guard" statement in stdint.h that will #error and skip the rest
+  of the header file if the C99 option is not used explicitly.  Hardsetting
   $CC to c99 will resolve the problem. AKC - 2004/12/13
 
 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error
   messages like "INFO: 0031-XXX ...".  This is from the command poe.
   Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
   and run the tests again.
-  The tests may fail with messages like "The socket name is already
+
+  The tests may also fail with messages like "The socket name is already
   in use".  HDF5 does not use sockets (except for stream-VFD).  This is
   due to problems of the poe command trying to set up the debug socket.
-  Check if there are many old /tmp/s.pedb.* staying around.  These are
-  sockets used by the poe command and left behind due to failed commands.
+  Check whether there are many old /tmp/s.pedb.* files staying around.  These 
+  are sockets used by the poe command and left behind due to failed commands.
   Ask your system administrator to clean them out.  Lastly, request IBM
   to provide a means to run poe without the debug socket.
 
-* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) 
-  failed on windows xp with .NET for debug and debug dll. Release and 
-  Release dll work fine. 
-
 * The h5dump tests may fail to match the expected output on some platforms
   (e.g. parallel jobs, Windows) where the error messages directed to
   "stderr" do not appear in the "right order" with output from stdout.
@@ -515,7 +515,7 @@
   libraries on Solaris are available in a static format.
 
   The --enable-static-exec configure flag also fails to correctly compile
-  on IBM SP2 platform for the serial mode. The parallel mode works fine
+  on the IBM SP2 platform for the serial mode. The parallel mode works fine
   with this option.
 
   The --enable-static-exec configure flag also fails to correctly compile
@@ -524,16 +524,9 @@
   It is suggested that you don't use this option on these platforms
   during configuration.
 
-* The Stream VFD was not tested yet under Windows.
+* The Stream VFD is not supported under Windows.
 
-
-* Before building HDF5 F90 Library from source on Crays 
-  replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
-  subdirectory in the top level directory with the Cray-specific files
-  from the site:
-  ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
-
-* Use --disable-shared configure flag if building with Absoft Fortran
+* Use the --disable-shared configure flag if building with Absoft Fortran
   compiler.
 
 * Information about building with PGI and Intel compilers is available in
@@ -541,22 +534,15 @@
 
 * In LANL QSC, the new cc compiler has problems converting small values of
   long long (absolute values less than 1**-308) to double.  This triggers
-  the test/dtypes to report failure in the
+  the test/dtypes to report failure in the following test:
       Testing random sw long double -> double conversions
-  If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
-  If -ieee is not used, the converted double values are mostly 0.0 but
-  occasionally as 1**-308.  This has been reported to the system staff.
+  If -ieee is used, the converted doubles spread over the range 0.0 to 
+  10**-308.  If -ieee is not used, the converted double values are mostly 
+  0.0, but occasionally appear as 10**-308.  This has been reported to the 
+  system staff.
+
   All other tests have passed.
 
-* Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on
-  Windows. 
-
-* Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler,
-  Building Fortran static library with Intel 8.1 in .NET environment 
-  requires manually setting the project file.
-  Please contact to hdfhelp at ncsa.uiuc.edu if you need to build
-  Fortran static library with Intel 8.1 with .NET environment.
-
 * On at least one system, SDSC DataStar, the scheduler (in this case
   LoadLeveler) sends job status updates to standard error when you run
   any executable that was compiled with the parallel compilers.
@@ -600,7 +586,7 @@
 
         exit $RETURN_VALUE
 
-  You get the HDF make files and test scripts to execute your filter script
+  You get the HDF5 make files and test scripts to execute your filter script
   by setting the environment variable "RUNSERIAL" to the full path of the
   script prior to running configure for parallel builds.  Remember to
   "unsetenv RUNSERIAL" before running configure for a serial build.
@@ -612,5 +598,5 @@
   get the serial tests to run at all.
 
   In such cases, you will have to include the regular prefix in your
-  filter script.
+  filter script.  JM - 2004/9/15
 

Modified: packages/hdf5/trunk/doc/html/ADGuide.html
===================================================================
--- packages/hdf5/trunk/doc/html/ADGuide.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ADGuide.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_Gen.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/GenElect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
@@ -41,7 +40,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -85,10 +84,12 @@
 
       <tr><td colspan=3>&nbsp;</td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SuppConfigFeats.html" target="External">
-          Supported Configuration</a>
+      <tr><td valign=top width=35%>
+          <a href="http://www.hdfgroup.org/HDF5/doc_resource/Supported_Configs/SuppConfigFeats-R166.html" 
+          target="External">Supported Configuration</a>
           <br>&nbsp;&nbsp;&nbsp;
-          <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SuppConfigFeats.html" target="External">Features Summary</a>
+          <a href="http://www.hdfgroup.org/HDF5/doc_resource/Supported_Configs/SuppConfigFeats-R166.html" 
+          target="External">Features Summary</a>
         </td><td></td><td valign=top>A summary of configuration features
           supported in this release
           &nbsp;&nbsp;
@@ -118,18 +119,18 @@
 
       <tr><td colspan=3>&nbsp;</td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Fill_Values.html" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Fill_Values.html" target="External">
           Fill Value and Space</a>
           <br>&nbsp;&nbsp;&nbsp;
-          <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Fill_Values.html" target="External">Allocation Issues</a>
+          <a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Fill_Values.html" target="External">Allocation Issues</a>
 	</td><td></td><td valign=top>A summary of HDF5 fill value and storage allocation issues&nbsp;&nbsp;
           <em>(external link)</em>
         </td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Fill_Behavior.html" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Fill_Behavior.html" target="External">
           Fill Value and Space</a>
           <br>&nbsp;&nbsp;&nbsp;
-          <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Fill_Behavior.html" target="External">Allocation Behavior</a>
+          <a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Fill_Behavior.html" target="External">Allocation Behavior</a>
 	</td><td></td><td valign=top>A table summarizing of the behavioral interactions 
 	   of HDF5 fill value and storage allocation settings&nbsp;&nbsp;
           <em>(external link)</em>
@@ -137,10 +138,10 @@
 
       <tr><td colspan=3>&nbsp;</td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/doc_resource/SZIP/index.html" target="External">
           SZIP Compression</a>
           <br>&nbsp;&nbsp;&nbsp;
-	  <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html" target="External">
+	  <a href="http://www.hdfgroup.org/doc_resource/SZIP/index.html" target="External">
           in HDF5</a>
 	</td><td></td><td valign=top>A description of SZIP compression in HDF5, 
 	  <code>H5Pset_szip</code>, terms of use and copyright notice,
@@ -149,7 +150,7 @@
         </td></tr>
       <tr><td colspan=3>&nbsp;</td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Shuffle_Perf.pdf" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Shuffle_Perf.pdf" target="External">
           Shuffle Performance</a>
 	</td><td></td><td valign=top>An analysis of bzip and gzip compression 
 	  performance in HDF5 with and without the shuffle filter, 
@@ -159,7 +160,7 @@
 	
       <tr><td colspan=3>&nbsp;</td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Generic_Props.html" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Generic_Props.html" target="External">
           Generic Properties</a>
 	</td><td></td><td valign=top>An overview of and the motivation for 
 	  the implementation and use of generic properties in HDF5&nbsp;&nbsp;
@@ -168,20 +169,20 @@
 
       <tr><td colspan=3>&nbsp;</td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Checksum/ChecksumProposal.htm" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Checksum/ChecksumProposal.htm" target="External">
           Error-detecting Codes</a>
           <br>&nbsp;&nbsp;&nbsp;
-          <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Checksum/ChecksumProposal.htm" target="External">
+          <a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Checksum/ChecksumProposal.htm" target="External">
           for HDF5</a>
 	</td><td></td><td valign=top>A discussion of error-detection codes, 
 	  e.g., checksums, in HDF5&nbsp;&nbsp;
           <em>(external link)</em>
         </td></tr>
 
-      <tr><td valign=top width=35%><a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Checksum/EDC_spec.htm" target="External">
+      <tr><td valign=top width=35%><a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Checksum/EDC_spec.htm" target="External">
           Fletcher32 Checksum</a>
           <br>&nbsp;&nbsp;&nbsp;
-	  <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/H5Checksum/EDC_spec.htm" target="External">
+	  <a href="http://www.hdfgroup.org/HDF5/doc_resource/H5Checksum/EDC_spec.htm" target="External">
           Design and Spec</a>
 	</td><td></td><td valign=top>Design, API function specification, and test  
           for the Fletcher32 checksum implementation in HDF5&nbsp;&nbsp;
@@ -241,7 +242,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -254,9 +255,9 @@
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem -->
  

Modified: packages/hdf5/trunk/doc/html/Attributes.html
===================================================================
--- packages/hdf5/trunk/doc/html/Attributes.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Attributes.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -235,14 +235,15 @@
     </dl>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -276,13 +277,15 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>
 
  
 Last modified: 6 July 2000 
+<br>
+Last modified: 28 March 2007 (Help Desk contact only)
 
 
 </body>

Modified: packages/hdf5/trunk/doc/html/Big.html
===================================================================
--- packages/hdf5/trunk/doc/html/Big.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Big.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -113,7 +113,7 @@
       struct feasible.
 
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Fri Apr 10 13:26:04 EDT 1998 -->
 <!-- hhmts start -->
 Last modified: Sun Jul 19 11:37:25 EDT 1998

Modified: packages/hdf5/trunk/doc/html/Caching.html
===================================================================
--- packages/hdf5/trunk/doc/html/Caching.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Caching.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -138,14 +138,15 @@
     </dl>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -179,7 +180,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>
@@ -187,6 +188,8 @@
 <!-- hhmts start -->
 Last modified: 13 December 1999 
 <!-- hhmts end -->
+<br>
+Last modified: 28 March 2007 (Help Desk contact only)
 
 
 </body>

Modified: packages/hdf5/trunk/doc/html/Chunking.html
===================================================================
--- packages/hdf5/trunk/doc/html/Chunking.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Chunking.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -261,14 +261,15 @@
       added before the second alpha release.</p>
       
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -302,7 +303,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>
@@ -310,6 +311,8 @@
 <!-- hhmts start -->
 Last modified: 2 August 2001 
 <!-- hhmts end -->
+<br>
+Last modified: 28 March 2007 (Help Desk contact only)
 
 
 </body>

Modified: packages/hdf5/trunk/doc/html/Coding.html
===================================================================
--- packages/hdf5/trunk/doc/html/Coding.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Coding.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -24,10 +24,8 @@
 </UL>
 <P>
 <center>
-	 Authors: <A HREF = "mailto:koziol at ncsa.uiuc.edu">
-        <I>Quincey Koziol</I> </A> and 
-                  <A HREF = "mailto:matzke at llnl.gov">   
-        <I>		  Robb Matzke </I> </A>   
+	 Authors: <I>Quincey Koziol</I> and 
+                  <I>Robb Matzke </I>
 
 </center>
 <UL>
@@ -283,18 +281,12 @@
 
 </UL>
 <p>
-<H6>
-<center>
-	 This file /hdf3/web/hdf/internal/HDF_standard/HDF5.coding_standard.html is
-	 maintained by Elena Pourmal <A HREF = "mailto:epourmal at ncsa.uiuc.edu">
-         <I>epourmal at ncsa.uiuc.edu</I> </A>.
-</center>
+<hr>
 <p>
-<center>
-          Last modified August 5, 1997
-</center>
+Last modified: 5 August 1997
+<br>
+Last modified: 28 March 2007 (Out-of-date contact information only)
 
-</H6>
 </BODY>
 <HTML>
 

Modified: packages/hdf5/trunk/doc/html/Copyright.html
===================================================================
--- packages/hdf5/trunk/doc/html/Copyright.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Copyright.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,8 @@
 <html>
+<html>
   <head>
     <title>
-      HDF5 Copyright Notice
+      HDF5 Copyright Notice and License Terms
     </title>
   </head>
 
@@ -11,109 +12,121 @@
 
 <hr>               
 
-<h3>Copyright Notice and Statement for
+<h3>Copyright Notice and License Terms for
 <br>
-NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities</h3>
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities</h3>
 <hr>               
+<p>
 
-<font size="-1">
+
+HDF5 (Hierarchical Data Format 5) Software Library and Utilities
+<br>
+Copyright 2006-2007 by The HDF Group (THG).
 <p>
- 
 NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
 <br>
-Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by 
-the Board of Trustees of the University of Illinois
-<br>
+Copyright 1998-2006 by the Board of Trustees of the University of Illinois.
+<p>
 <strong>All rights reserved.</strong>
-
 <p>
-Contributors:   National Center for Supercomputing Applications (NCSA) at
-the University of Illinois at Urbana-Champaign (UIUC), Lawrence Livermore 
-National Laboratory (LLNL), Sandia National Laboratories (SNL), Los Alamos 
-National Laboratory (LANL), Jean-loup Gailly and Mark Adler (gzip library).
 
+Contributors:   National Center for Supercomputing Applications  (NCSA) at 
+the University of Illinois, Fortner Software, Unidata Program Center (netCDF), 
+The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), 
+and Digital Equipment Corporation (DEC).
+
 <p>
-Redistribution and use in source and binary forms, with or without
-modification, are permitted for any purpose (including commercial purposes)
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted for any purpose (including commercial purposes) 
 provided that the following conditions are met:
 
+<p>
 <ol>
-<li>Redistributions of source code must retain the above copyright notice,
+<li>
+Redistributions of source code must retain the above copyright notice, 
 this list of conditions, and the following disclaimer.
 
-<li>Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions, and the following disclaimer in the
-documentation and/or materials provided with the distribution.
+<li>
+Redistributions in binary form must reproduce the above copyright notice, 
+this list of conditions, and the following disclaimer in the documentation 
+and/or materials provided with the distribution.
 
-<li>In addition, redistributions of modified forms of the source or binary
-code must carry prominent notices stating that the original code was
-changed and the date of the change.
+<li>
+In addition, redistributions of modified forms of the source or binary code 
+must carry prominent notices stating that the original code was changed and 
+the date of the change.
 
-<li>All publications or advertising materials mentioning features or use of
-this software are asked, but not required, to acknowledge that it was 
-developed by the National Center for Supercomputing Applications at the 
-University of Illinois at Urbana-Champaign and to credit the contributors.
+<li>
+All publications or advertising materials mentioning features or use of this 
+software are asked, but not required, to acknowledge that it was developed 
+by The HDF Group and by the National Center for Supercomputing Applications 
+at the University of Illinois at Urbana-Champaign and credit the contributors.
 
-<li>Neither the name of the University nor the names of the Contributors may
-be used to endorse or promote products derived from this software without
-specific prior written permission from the University or the Contributors,
-as appropriate for the name(s) to be used.
-
-<li>THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND THE CONTRIBUTORS "AS IS"
-WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  In no event
-shall the University or the Contributors be liable for any damages suffered
-by the users arising out of the use of this software, even if advised of
-the possibility of such damage.
+<li>
+Neither the name of The HDF Group, the name of the University, nor the name 
+of any Contributor may be used to endorse or promote products derived from 
+this software without specific prior written permission from THG, the 
+University, or the Contributor, respectively.
 </ol>
 
+<p>
+<b>DISCLAIMER:</b>
+THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE CONTRIBUTORS 
+"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.  
+In no event shall THG or the Contributors be liable for any damages suffered 
+by the users arising out of the use of this software, even if advised of the 
+possibility of such damage. 
 
 
 <hr>
 Portions of HDF5 were developed with support from the University of 
-California, Lawrence Livermore National Laboratory (UC LLNL).
-The following statement applies to those portions of the product
-and must be retained in any redistribution of source code, binaries,
-documentation, and/or accompanying materials:
-
+California, Lawrence Livermore National Laboratory (UC LLNL). 
+The following statement applies to those portions of the product and must 
+be retained in any redistribution of source code, binaries, documentation, 
+and/or accompanying materials:
 <dir>
-	This work was partially produced at the University of California,
-	Lawrence Livermore National Laboratory (UC LLNL) under contract no.
-	W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy 
-	(DOE) and The Regents of the University of California (University) 
-	for the operation of UC LLNL.
-	
-	<br><br>
+        This work was partially produced at the University of California, 
+        Lawrence Livermore National Laboratory (UC LLNL) under contract 
+        no. W-7405-ENG-48 (Contract 48) between the U.S. Department of 
+        Energy (DOE) and The Regents of the University of California 
+        (University) for the operation of UC LLNL.
+	<p>
 	<b>DISCLAIMER:</b>
-	This work was prepared as an account of work sponsored by an agency 
-	of the United States Government.  Neither the United States 
-	Government nor the University of California nor any of their 
-	employees, makes any warranty, express or implied, or assumes any 
-	liability or responsibility for the accuracy, completeness, or 
-	usefulness of any information, apparatus, product, or process 
-	disclosed, or represents that its use would not infringe privately-
-	owned rights.  Reference herein to any specific commercial products, 
-	process, or service by trade name, trademark, manufacturer, or 
-	otherwise, does not necessarily constitute or imply its endorsement, 
-	recommendation, or favoring by the United States Government or the 
-	University of California.  The views and opinions of authors 
-	expressed herein do not necessarily state or reflect those of the 
-	United States Government or the University of California, and shall 
-	not be used for advertising or product endorsement purposes.
+        This work was prepared as an account of work sponsored by an agency 
+        of the United States Government. Neither the United States Government 
+        nor the University of California nor any of their employees, makes 
+        any warranty, express or implied, or assumes any liability or 
+        responsibility for the accuracy, completeness, or usefulness of any 
+        information, apparatus, product, or process disclosed, or represents 
+        that its use would not infringe privately- owned rights. Reference 
+        herein to any specific commercial products, process, or service by 
+        trade name, trademark, manufacturer, or otherwise, does not 
+        necessarily constitute or imply its endorsement, recommendation, or 
+        favoring by the United States Government or the University of 
+        California. The views and opinions of authors expressed herein do not 
+        necessarily state or reflect those of the United States Government or 
+        the University of California, and shall not be used for advertising 
+        or product endorsement purposes.
 </dir>
-</font>
 
+<hr>
+
+<!--    DO NOT EDIT THE FOLLOWING 8 LINES;                           -->
+<!--    THEY ARE AUTOMATICALLY UPDATED BY DOCUMENTATION SOFTWARE.    -->
+
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 1 November 2005");
+document.writeln("Last modified: 28 March 2007")
 -->
 </SCRIPT>
 
+
 </body>
 </html>
 

Modified: packages/hdf5/trunk/doc/html/Datasets.html
===================================================================
--- packages/hdf5/trunk/doc/html/Datasets.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Datasets.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -902,14 +902,15 @@
       </center>
 
 
-  <!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+  <!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -943,7 +944,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Dataspaces.html
===================================================================
--- packages/hdf5/trunk/doc/html/Dataspaces.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Dataspaces.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,16 +16,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></HEAD>
 
-</HEAD>
-
 <body bgcolor="#FFFFFF">
 <!--   Note to Developers:                                            -->
 <!--   The following H5S functions were originally documented in this -->
@@ -42,14 +41,15 @@
 <!--                                    - - -  F Baker, 7 May 2002    -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -691,14 +691,15 @@
 </DL>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -732,7 +733,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Datatypes.html
===================================================================
--- packages/hdf5/trunk/doc/html/Datatypes.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Datatypes.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -418,6 +418,12 @@
       <em>19971205162530</em>; as an integer value in Unix time(2)
       format; or other variations.
 
+      <p><i>Note that the above time datatype representation has not 
+         been fully implemented and that the time datatype,
+         <code>H5T_TIME</code>, is not fully supported in the current
+         version of the HDF5 Library.
+         (Note added on 6 February 2006.)</i>
+
     <h3>3.4. Properties of Character String Atomic Types</h3>
 
     <p>Fixed-length character string types are used to store textual
@@ -3062,14 +3068,15 @@
       or not.</p>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -3103,13 +3110,13 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>
 <!-- Created: Thu Dec  4 14:57:32 EST 1997 -->
 <!-- hhmts start -->
-Last modified: 2 August 2001 
+Last modified: 6 February 2006 
 <!-- hhmts end -->
 
 

Modified: packages/hdf5/trunk/doc/html/DatatypesEnum.html
===================================================================
--- packages/hdf5/trunk/doc/html/DatatypesEnum.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/DatatypesEnum.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -910,11 +910,12 @@
 
 <hr>
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 </address>
 <!-- Created: Thu Dec  4 14:57:32 EST 1997 -->
 <!-- hhmts start -->
 Last modified: 30 April 1999
+<br>
 Footer modified: 3 July 2002
 <!-- hhmts end -->
 

Modified: packages/hdf5/trunk/doc/html/Debugging.html
===================================================================
--- packages/hdf5/trunk/doc/html/Debugging.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Debugging.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -464,14 +464,15 @@
       modified.</p>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -505,7 +506,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Environment.html
===================================================================
--- packages/hdf5/trunk/doc/html/Environment.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Environment.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,27 +17,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -115,14 +115,15 @@
 <br><br>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -156,7 +157,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Errors.html
===================================================================
--- packages/hdf5/trunk/doc/html/Errors.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Errors.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -335,14 +335,15 @@
       </center>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -376,7 +377,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Files.html
===================================================================
--- packages/hdf5/trunk/doc/html/Files.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Files.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -556,14 +556,15 @@
     </dl>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -597,7 +598,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Filters.html
===================================================================
--- packages/hdf5/trunk/doc/html/Filters.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Filters.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -118,8 +118,9 @@
 	  <tr valign=top>
 	    <td><code>512-65535</code></td>
 	    <td>Reserved for future assignment.  Please contact the
-	      <a href="mailto:hdf5dev at ncsa.uiuc.edu">HDF5 development
-	      team</a> to reserve a value or range of values for
+	      HDF5 development team at 
+              <img src="Graphics/help.png" align=top height=14>
+              to reserve a value or range of values for
 	      use by your filters.</td>
 	</table>
       </center>
@@ -541,14 +542,15 @@
      &ldquo;<a href="Performance.html">Performance Analysis and Issues</a>.&rdquo;</p>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -582,7 +584,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/Glossary.html
===================================================================
--- packages/hdf5/trunk/doc/html/Glossary.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Glossary.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -5,6 +5,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_Gen.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,16 +15,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/GenElect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body>
 
 
@@ -39,7 +38,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -556,7 +555,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -565,9 +564,9 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--

Modified: packages/hdf5/trunk/doc/html/Graphics/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/Graphics/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Graphics/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@
@@ -29,9 +30,14 @@
 MOSTLYCLEAN=
 
 # Public doc files (to be installed)...
-PUB_DOCS=C++.gif FORTRAN.gif Java.gif OtherAPIs.gif
+PUB_DOCS=C++.gif FORTRAN.gif Java.gif OtherAPIs.gif        \
+THGnoTextSm.jpg THGwTextSm.jpg XRD100.gif hdf2.gif         \
+help.gif help.jpg help.png
 
 # Other doc files (not to be installed)...
 PRIVATE_DOCS=
 
 @CONCLUDE@
+
+
+

Copied: packages/hdf5/trunk/doc/html/Graphics/THGnoTextSm.jpg (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/THGnoTextSm.jpg)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/doc/html/Graphics/THGwTextSm.jpg (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/THGwTextSm.jpg)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/doc/html/Graphics/XRD100.gif (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/XRD100.gif)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/doc/html/Graphics/hdf2.gif (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/hdf2.gif)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/doc/html/Graphics/help.gif (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/help.gif)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/doc/html/Graphics/help.jpg (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/help.jpg)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/doc/html/Graphics/help.png (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/Graphics/help.png)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/doc/html/Groups.html
===================================================================
--- packages/hdf5/trunk/doc/html/Groups.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Groups.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -352,14 +352,15 @@
        become inaccessible.</p>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -393,7 +394,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/H5.format.html
===================================================================
--- packages/hdf5/trunk/doc/html/H5.format.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/H5.format.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,7 @@
 <html>
   <head>
     <title>
-      HDF5 File Format Specification
+      HDF5 File Format Specification Version 1.1
     </title>
 
 <STYLE TYPE="text/css">
@@ -33,6 +33,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_Format.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -42,15 +43,13 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/FormatElect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
-
-</head>
+<!-- #EndLibraryItem --></head>
   <body bgcolor="#FFFFFF">
   
   
@@ -66,14 +65,14 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><center><h1>HDF5 File Format Specification</h1></center>
+<!-- #EndLibraryItem --><center><h1>HDF5 File Format Specification Version 1.1</h1></center>
 
     <center>
     <table border=0 width=90%>
@@ -138,8 +137,7 @@
 	      <li><a href="#SymbolTableMessage">Name: Group Message</a>                                     <!-- 0x0011 -->
 	      <li><a href="#ModifiedMessage">Name: Object Modification Date and Time</a>                    <!-- 0x0012 -->
 	    </ol>
-	  <li><a href="#SharedObjectHeader">Disk Format: Level 2b - Shared Data Object Headers</a>
-	  <li><a href="#DataStorage">Disk Format: Level 2c - Data Object Data Storage</a>
+	  <li><a href="#DataStorage">Disk Format: Level 2b - Data Object Data Storage</a>
 	</ol>
         </font>
       <LI><A href="#Appendix">Appendix</A>
@@ -493,15 +491,14 @@
 	  <td>Version Number of the Shared Header Message Format</td>
 	  <td>
             <P>This value is used to determine the format of the
-	    information in a shared object header message, which is
-	    stored in the global small-data heap.  Since the format
-	    of the shared header messages differs from the private
+	    information in a shared object header message. Since the format
+	    of the shared header messages differs from the other private
 	    header messages, a version number is used to identify changes
 	    in the format.
             </P>
             <P>The only value currently valid in this field is '0', which
             indicates that shared header messages are formatted as
-            described <A href="#SharedObjectHeader">below</A>.
+            described <A href="#SharedMessage">below</A>.
             </P>
 
             <P><EM>This field is present in version 0+ of the superblock.</EM>
@@ -782,33 +779,187 @@
             ASCII.  
             </P>
             <P>
-            For example, the various versions of the <em>family driver</em> 
-            will be identified by <code>NCSAfami</code>, <code>NCSAfam0</code>,
-            <code>NCSAfam1</code>, etc. 
-            (<code>NCSAfami</code> is simply <code>NCSAfamily</code> truncated 
+            For example, the various versions of the <em>multi driver</em> 
+            will be identified by <code>NCSAmult</code>.
+            (<code>NCSAmult</code> is simply <code>NCSAmulti</code> truncated 
             to eight characters.  Subsequent identifiers will be created by
             substituting sequential numerical values for the final character, 
-            starting with zero.)
+            starting with zero.) <em>multi driver</em> is the only default driver that
+            is encoded in this field.
             </P>
             <P>
             Identification for user-defined drivers 
-            is arbitrary but should be unique and avoid the four character
-            prefix "NCSA".
+            is eight-byte long and arbitrary but should be unique and avoid 
+            the four character prefix "NCSA".
             </P>
           </td>
         </tr>
 
         <tr valign=top>
           <td>Driver Information</td>
-          <td>Driver information is stored in a format defined by the
-            file driver and encoded/decoded by the driver callbacks
-            invoked from the <code>H5FD_sb_encode</code> and
-            <code>H5FD_sb_decode</code> functions.</td>
+          <td>Driver information is encoded/decoded in a format defined by the
+            file driver. <em>multi driver</em> is the only default driver that has driver
+            information stored in this field.  Its format is explained in the 
+            following block.</td>
         </tr>
       </table>
     </div>
 
     <BR>
+    <P><em>Multi driver</em> has the following format:</P>
+
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Multi Driver Message
+	</caption>
+
+	<tr>
+	  <th width="25%">byte</th>
+	  <th width="25%">byte</th>
+	  <th width="25%">byte</th>
+	  <th width="25%">byte</th>
+	</tr>
+
+	<tr>
+	  <td>Member Mapping</td>
+	  <td>Member Mapping</td>
+	  <td>Member Mapping</td>
+	  <td>Member Mapping</td>
+	</tr>
+
+	<tr>
+	  <td>Member Mapping</td>
+	  <td>Member Mapping</td>
+	  <td>Reserved</td>
+	  <td>Reserved</td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Address of Member File 1<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>End of Address for Member File 1<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Address of Member File 2<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>End of Address for Member File 2<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>... ...<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Name of Member File 1<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Name of Member File 2<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>... ...<br><br></td>
+	</tr>
+      </table>
+    </div>
+
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+	  <th width="30%">Field Name</th>
+	  <th>Description</th>
+	</tr>
+
+	<tr>
+	  <td>Member Mapping</td>
+	  <td><P><em>Multi driver</em> enables different types of HDF5 data and 
+            metadata to be written to separate files. These files are viewed by the
+            library as a single virtual HDF5 file with a single file address.
+            It allows maximal 6 files to be created.
+	    In sequence, these <em>Member Mapping</em> fields are for super block, 
+            B-tree, raw data, global heap, local heap,
+	    and object header.  More than one type of data can be written to the 
+            same file.</P>  
+	    <P>These <em>Member Mapping</em> fields are integer values from 1 to 6 
+            indicating how the data can be mapped to or merged with another type of
+            data.
+	        <table class=list>
+                    <tr>
+                    <th width="30%">Member Mapping</th>
+                    <th align=left>Description</th>
+                    </tr>
+                    <tr>
+                        <td align=center>1</td>
+                        <td>The super block data.</td>
+                    </tr>
+                    <tr>
+                        <td align=center>2</td>
+                        <td>The B-tree data.</td>
+                    </tr>
+                    <tr>
+                        <td align=center>3</td>
+                        <td>The raw data.</td>
+                    </tr>
+                    <tr>
+                        <td align=center>4</td>
+                        <td>The global heap data.</td>
+                    </tr>
+                    <tr>
+                        <td align=center>5</td>
+                        <td>The local heap data.</td>
+                    </tr>
+                    <tr>
+                        <td align=center>6</td>
+                        <td>The object header data.</td>
+                    </tr>
+                </table></P>
+            For example, if the third field has the value 3 and all the rest have the 
+            value 1, it means there are two files, one for raw data, one for super block,
+            B-tree, global heap, local heap, and object header.
+          </td>
+	</tr>
+
+	<tr>
+	  <td>Reserved</td>
+	  <td><P>These fields are reserved and should always be zero.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Address of Member File</td>
+	  <td><P>Specifies the virtual address. A normally eight-byte integer with 
+            the value from <em>0</em> (zero) to maximal value, 
+	    at which the member file starts.</P></td>
+	</tr>
+
+	<tr>
+	  <td>End of Address for Member File</td>
+	  <td><P>The end of allocated address for the member file. A normally eight-byte 
+            integer value.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Name of Member File</td>
+	  <td><P>The null-terminated name of member file.  Its length should be multiples of 
+	    8 bytes.  Additional bytes will be padded with <em>NULL</em>s. The default naming
+            convention is <em>%%s-X.h5</em>, where <em>X</em> is one of the letters 
+            <em>s</em> (for super block), <em>b</em> (for B-tree), <em>r</em> (for raw data),
+            <em>g</em> (for global heap), <em>l</em> (for local heap), and <em>o</em> (for 
+            object header). The name for the whole HDF5 file will substitute the <em>%s</em>
+            in the string. 
+          </P>
+          </td> 
+	</tr>
+      </table>
+    </div>
+
+    <BR>
     <HR>
 
     <h2><a name="FileInfra">
@@ -1552,7 +1703,7 @@
         <tr>
           <td>Version</td>
           <td colspan=3>Reserved (zero)</td>
-        </td>
+        </tr>
           
         <tr>
           <td colspan=4>Data Segment Size<sup>L</sup></td>
@@ -1719,7 +1870,7 @@
         <tr>
           <td>Version</td>
           <td colspan=3>Reserved (zero)</td>
-        </td>
+        </tr>
           
         <tr>
           <td colspan=4>Collection Size<sup>L</sup></td>
@@ -4516,214 +4667,243 @@
 
     <hr>
     <h4><a name="ReservedMessage_0006">Name: Reserved - Not Assigned Yet</a></h4>
-    <b>Header Message Type:</b> 0x0006<BR>
-    <b>Length:</b> N/A<BR>
-    <b>Status:</b> N/A<BR>
-    <b>Format of Data:</b> N/A<BR>
+    <P class=item><B>Header Message Type:</B> 0x0006</P>
+    <P class=item><B>Length:</B> N/A</P>
+    <P class=item><B>Status:</B> N/A</P>
+    <P class=item><B>Format of Data:</B> N/A</P>
 
-    <p><b>Purpose and Description:</b> This message type was skipped during
+    <P class=item><B>Purpose and Description:</B> This message type was skipped during
       the initial specification of the file format and may be used in a
-      future expansion to the format.
+      future expansion to the format.</P>
 
     <hr>
     <h4><a name="ExternalFileListMessage">Name: Data Storage -
 	External Data Files</a></h4>
-    <b>Header Message Type:</b> 0x0007<BR>
-    <b>Length:</b> varies<BR>
-    <b>Status:</b> Optional, may not be repeated.<BR>
+    <P class=item><B>Header Message Type:</B> 0x0007 </P>
+    <P class=item><B>Length:</B> varies</P>
+    <P class=item><B>Status:</B> Optional, may not be repeated.</P>
 
-    <p><b>Purpose and Description:</b> The external object message
+    <P class=item><B>Purpose and Description:</B> The external object message
       indicates that the data for an object is stored outside the HDF5
       file.  The filename of the object is stored as a Universal
       Resource Location (URL) of the actual filename containing the
       data. An external file list record also contains the byte offset
       of the start of the data within the file and the amount of space
-      reserved in the file for that data.
+      reserved in the file for that data.</P>
 
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>External File List Message</b>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  External File List Message
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td>Version</td>
 	  <td colspan=3>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=2>Allocated Slots</td>
 	  <td colspan=2>Used Slots</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Heap Address<br><br></td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Slot Definitions...<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>	
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
-	</tr>
+    <br>
+    <div align=center>
+	<table class=desc>
+	  <tr>
+	    <th width="30%">Field Name</th>
+	    <th>Description</th>
+	  </tr>
+	
+	  <tr>
+	    <td>Version</td>
+	    <td>
+	      <P>The version number information is used for changes in the format of External File
+ 		 List Message and is described here:
+		 <table class=list>
+		     <tr>
+			<th width="30%">Version</th>
+			<th align=left>Description</th>
+		     </tr>
+		     <tr>
+			<td align=center><code>0</code></td>
+			<td>Never used.
+		     </tr>
+		     <tr>
+			<td align=center><code>1</code></td>
+			<td>The current version used by the library.
+		     </tr>
+		  </table>		
+	      </P>	
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>Version </td>
-	  <td>This value is used to determine the format of the
-	    External File List Message.  When the format of the
-	    information in the message is changed, the version number
-	    is incremented and can be used to determine how the
-	    information in the object header is formatted.</td>
-	</tr>
+	  <tr>
+	    <td>Reserved</td>
+	    <td>
+	      <P>This field is reserved for future use.</P>
+	    </td>	
+	  </tr>
 
-	<tr valign=top>
-	  <td>Reserved</td>
-	  <td>This field is reserved for future use.</td>
-	</tr>
+	  <tr>
+	    <td>Allocated Slots</td>
+	    <td>
+	      <P>The total number of slots allocated in the message.  Its value must be at least as
+		 large as the value contained in the Used Slots field. (The current library simply
+		 uses the number of Used Slots for this message)</P>
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>Allocated Slots</td>
-	  <td>The total number of slots allocated in the message.  Its
-	    value must be at least as large as the value contained in
-	    the Used Slots field.</td>
-	</tr>
+	  <tr>
+	    <td>Used Slots</td>
+	    <td>
+	      <P>The number of initial slots which contains valid information.</P>
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>Used Slots</td>
-	  <td>The number of initial slots which contain valid
-	    information.  The remaining slots are zero filled.</td>
-	</tr>
+	  <tr>
+	    <td>Heap Address</td>
+	    <td>
+	      <P>This is the address of a local heap which contains the names for the external 
+		 files (The local heap information can be found in Disk Format Level 1D in this
+		 document).  The name at offset zero in the heap is always the empty string.</P>
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>Heap Address</td>
-	  <td>This is the address of a local name heap which contains
-	    the names for the external files. The name at offset zero
-	    in the heap is always the empty string.</td>
-	</tr>
+	  <tr>
+	    <td>Slot Definitions</td>
+	    <td>
+	      <P>The slot definitions are stored in order according to the array addresses they 
+		 represent.</P>
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>Slot Definitions</td>
-	  <td>The slot definitions are stored in order according to
-	    the array addresses they represent. If more slots have
-	    been allocated than what has been used then the defined
-	    slots are all at the beginning of the list.</td>
-	</tr>
-      </table>
-    </center>
+	</table>
+    </div>
 
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>External File List Slot</b>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  External File List Slot 
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4><br>Name Offset (&lt;size&gt; bytes)<br><br></td>
+	<tr>
+	  <td colspan=4><br>Name Offset(&lt;size&gt; bytes)<br><br></td>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4><br>File Offset (&lt;size&gt; bytes)<br><br></td>
+	<tr>
+	  <td colspan=4><br>File Offset(&lt;size&gt; bytes)<br><br></td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Size<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>	
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
-	</tr>
+    <br>
+    <div align=center>
+	<table class=desc>
+	  <tr>
+	    <th width="30%">Field Name</th>
+	    <th>Description</th>
+	  </tr>
+	
+	  <tr>
+	    <td>Name Offset(&lt;size&gt; bytes)</td>
+	    <td>
+		<P>The byte offset within the local name heap for the name
+	    	of the file.  File names are stored as a URL which has a
+	    	protocol name, a host name, a port number, and a file
+	    	name:
+		<code><em>protocol</em>:<em>port</em>//<em>host</em>/<em>file</em></code>.
+		If the protocol is omitted then "file:" is assumed.  If
+		the port number is omitted then a default port for that
+		protocol is used.  If both the protocol and the port
+		number are omitted then the colon can also be omitted. If
+		the double slash and host name are omitted then
+		"localhost" is assumed.  The file name is the only
+		mandatory part, and if the leading slash is missing then
+		it is relative to the application's current working
+		directory (the use of relative names is not
+		recommended).</P>
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>Name Offset (&lt;size&gt; bytes)</td>
-	  <td>The byte offset within the local name heap for the name
-	    of the file.  File names are stored as a URL which has a
-	    protocol name, a host name, a port number, and a file
-	    name:
-	    <code><em>protocol</em>:<em>port</em>//<em>host</em>/<em>file</em></code>.
-	    If the protocol is omitted then "file:" is assumed.  If
-	    the port number is omitted then a default port for that
-	    protocol is used.  If both the protocol and the port
-	    number are omitted then the colon can also be omitted. If
-	    the double slash and host name are omitted then
-	    "localhost" is assumed.  The file name is the only
-	    mandatory part, and if the leading slash is missing then
-	    it is relative to the application's current working
-	    directory (the use of relative names is not
-	    recommended).</td>
-	</tr>
+	  <tr>
+	    <td>File Offset(&lt;size&gt; bytes)</td>
+	    <td>
+	  	<P>This is the byte offset to the start of the data in the
+	        specified file. For files that contain data for a single
+	        dataset this will usually be zero.</P>
+	    </td>
+	  </tr>
 
-	<tr valign=top>
-	  <td>File Offset (&lt;size&gt; bytes)</td>
-	  <td>This is the byte offset to the start of the data in the
-	    specified file. For files that contain data for a single
-	    dataset this will usually be zero.</td>
-	</tr>
+	  <tr>
+	    <td>Size</td>
+	    <td>
+		<P>This is the total number of bytes reserved in the
+		specified file for raw data storage.  For a file that
+		contains exactly one complete dataset which is not
+		extendable, the size will usually be the exact size of the
+		dataset.  However, by making the size larger one allows
+		HDF5 to extend the dataset. The size can be set to a value
+		larger than the entire file since HDF5 will read zeros
+		past the end of the file without failing.</P>
+	    </td>
+	  </tr>
+	</table>
+    </div>
 
-	<tr valign=top>
-	  <td>Size</td>
-	  <td>This is the total number of bytes reserved in the
-	    specified file for raw data storage.  For a file that
-	    contains exactly one complete dataset which is not
-	    extendable, the size will usually be the exact size of the
-	    dataset.  However, by making the size larger one allows
-	    HDF5 to extend the dataset. The size can be set to a value
-	    larger than the entire file since HDF5 will read zeros
-	    past the end of the file without failing.</td>
-	</tr>
-      </table>
-    </center>
 
-
     <hr>
     <h4><a name="LayoutMessage">Name: Data Storage - Layout</a></h4>
 
-    <b>Header Message Type:</b> 0x0008<BR>
-    <b>Length:</b> varies<BR>
-    <b>Status:</b> Required for datasets, may not be repeated.
+    <P class=item><B>Header Message Type:</B> 0x0008</P>
+    <P class=item><B>Length:</B> varies</P>
+    <P class=item><B>Status:</B> Required for datasets, may not be repeated.</P>
 
-    <p><b>Purpose and Description:</b> Data layout describes how the
+    <P class=item><B>Purpose and Description:</B> Data layout describes how the
       elements of a multi-dimensional array are arranged in the linear
       address space of the file. Three types of data layout are
       supported:
 
     <ol>
-      <li>The array can be stored in one contiguous area of the file.
+      <li>Contiguous: The array can be stored in one contiguous area of the file.
 	The layout requires that the size of the array be constant and
 	does not permit chunking, compression, checksums, encryption,
 	etc.  The message stores the total size of the array and the
 	offset of an element from the beginning of the storage area is
 	computed as in C.
 
-      <li>The array domain can be regularly decomposed into chunks and
+      <li>Chunked: The array domain can be regularly decomposed into chunks and
 	each chunk is allocated separately.  This layout supports
 	arbitrary element traversals, compression, encryption, and
 	checksums, and the chunks can be distributed across external
@@ -4733,570 +4913,635 @@
 	be calculated by traversing the B-tree that stores the chunk
 	addresses.
 
-      <li>The array can be stored in one contiguous block, as part of
+      <li>Compact: The array can be stored in one contiguous block, as part of
         this object header message (this is called "compact" storage below).
     </ol>
     
-    <P>Version 3 of this message re-structured the format into specific
-        properties that are required for each layout class.
-
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <B>Data Layout Message, Versions 1 and 2</B>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Data Layout Message (Versions 1 and 2)
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td>Version</td>
 	  <td>Dimensionality</td>
 	  <td>Layout Class</td>
 	  <td>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Address<br><br></td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Dimension 0 (4-bytes)</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Dimension 1 (4-bytes)</td>
 	</tr>
 	
-	<tr align=center>
+	<tr>
 	  <td colspan=4>...</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Compact Data Size (4-bytes)</td>
 	</tr>
 	
-	<tr align=center>
-	  <td colspan=4>Compact Data</td>
+	<tr>
+	  <td colspan=4><br>Compact Data...<br><br></td>
 	</tr>
-	
-	<tr align=center>
-	  <td colspan=4>...</td>
-	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+	  <th width="30%">Field Name</th>
+	  <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Version</td>
-	  <td>A version number for the layout message. This value can be
-            either 1 or 2.</td>
+	  <td>
+	    <P>The version number information is used for changes in the format of the data 
+	    layout message and is described here:</P>
+	      <table class=list>
+		<tr>
+		  <th width="30%">Version</th>
+		  <th align=left>Description</th>
+		</tr>
+
+		<tr>
+		  <td align=center><code>0</code></td>
+		  <td>Never used.</td>
+		</tr>
+
+		<tr>
+		  <td align=center><code>1</code></td>
+		  <td>Used by version 1.4 and before of the library to encode layout information.
+		      Data space is always allocated when the data set is created.</td>
+		</tr>
+
+		<tr>
+		  <td align=center><code>2</code></td>
+		  <td>Used by version 1.6.x of the library to encode layout information.
+		      Data space is allocated only when it is necessary.</td>
+		</tr>
+	      </table>
+	  </td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Dimensionality</td>
-	  <td>An array has a fixed dimensionality.  This field
+	  <td><P>An array has a fixed dimensionality.  This field
 	    specifies the number of dimension size fields later in the
-	    message.</td>
+	    message.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Layout Class</td>
-	  <td>The layout class specifies how the other fields of the
+	  <td><P>The layout class specifies how the other fields of the
 	    layout message are to be interpreted.  A value of one
-	    indicates contiguous storage, a value of two
-	    indicates chunked storage,
-	    while a value of zero
-	    indicates compact storage.  Other values will be defined
-	    in the future.</td>
+	    indicates contiguous storage, a value of two indicates chunked storage,
+	    while a value of zero indicates compact storage.  Other values will be defined
+	    in the future.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Address</td>
-	  <td>For contiguous storage, this is the address of the first
+	  <td><P>For contiguous storage, this is the address of the first
 	    byte of storage.  For chunked storage this is the address
 	    of the B-tree that is used to look up the addresses of the
 	    chunks.  This field is not present for compact storage.
             If the version for this message is set to 2, the address
             may have the "undefined address" value, to indicate that
-            storage has not yet been allocated for this array.</td>
+            storage has not yet been allocated for this array.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Dimensions</td>
-	  <td>For contiguous storage the dimensions define the entire
-	    size of the array while for chunked storage they define
-	    the size of a single chunk.</td>
+	  <td><P>For contiguous and compact storage the dimensions define the entire
+	    size of the array while for chunked storage they define the size of a single 
+	    chunk.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Compact Data Size</td>
-	  <td>This field is only present for compact data storage.
-            It contains the size of the raw data for the dataset array.</td>
+	  <td><P>This field is only present for compact data storage.
+            It contains the size of the raw data for the dataset array.</P></td>
 
-	<tr valign=top>
+	<tr>
 	  <td>Compact Data</td>
-	  <td>This field is only present for compact data storage.
-            It contains the raw data for the dataset array.</td>
+	  <td><P>This field is only present for compact data storage.
+            It contains the raw data for the dataset array.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <B>Data Layout Message, Version 3</B>
+    <br>
+    <P>Version 3 of this message re-structured the format into specific
+        properties that are required for each layout class.
+
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  <B>Data Layout Message (Version 3)</B>
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td>Version</td>
 	  <td>Layout Class</td>
+	  <td colspan=2 bgcolor=#DDDDDD>&nbsp;</td>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4>Properties</td>
+	<tr>
+	  <td colspan=4><br>Properties<br><br></td>
 	</tr>
-
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+	  <th width="30%">Field Name</th>
+	  <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Version</td>
-	  <td>A version number for the layout message. This value can be
-            either 1, 2 or 3.</td>
+	  <td>
+	    <P>The version number information is used for changes in the format of layout message
+	       and is described here:</P>
+	      <table class=list>	
+		<tr>
+		  <th width="30%">Version</th>
+		  <th align=left>Description</th>
+		</tr>
+
+		<tr>
+		  <td align=center><code>3</code></td>
+		  <td>Used by the version 1.6.3 and later of the library to store properties 
+		      for each layout class.</td>
+		</tr>
+	      </table>
+	  </td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Layout Class</td>
-	  <td>The layout class specifies how the other fields of the
-	    layout message are to be interpreted.  A value of one
-	    indicates contiguous storage, a value of two
-	    indicates chunked storage,
-	    while a value of three
-	    indicates compact storage.</td>
+	  <td><P>The layout class specifies how the other fields of the layout message are to be 
+	      interpreted.  A value of one indicates contiguous storage, a value of two
+	      indicates chunked storage, while a value of zero indicates compact storage.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Properties</td>
-	  <td>This variable-sized field encodes information specific to each
+	  <td><P>This variable-sized field encodes information specific to each
             layout class and is described below.  If there is no property
             information specified for a layout class, the size of this field
-            is zero bytes.</td>
+            is zero bytes.</P></td>
 	</tr>
-
       </table>
-    </center>
+    </div>
 
-    <P>Class-specific information for contiguous layout (Class 0):
+    <br>
+    <P>Class-specific information for compact layout (Class 0):  (Note: The dimensionality information
+       is in the Dataspace message)
 
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <B>Property Descriptions</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Property Descriptions
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4><br>Address<br><br></td>
+	<tr>
+	  <td colspan=2>Size</td>
+	  <td colspan=2 bgcolor=#DDDDDD>&nbsp;</td>
 	</tr>
-
-	<tr align=center>
-	  <td colspan=4><br>Size<br><br></td>
+	
+	<tr>
+	  <td colspan=4><br>Raw Data...<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
-	  <td>Address</td>
-	  <td>This is the address of the first byte of raw data storage.
-            The address may have the "undefined address" value, to indicate
-            that storage has not yet been allocated for this array.</td>
+	<tr>
+	  <td>Size</td>
+	  <td><P>This field contains the size of the raw data for the dataset array.</P></td>
 	</tr>
 
-	<tr valign=top>
-	  <td>Size</td>
-	  <td>This field contains the size allocated to store the raw data.</td>
+	<tr>
+	  <td>Raw Data</td>
+	  <td><P>This field contains the raw data for the dataset array.</P></td>
+	</tr>
       </table>
-    </center>
+    </div>
 
-    <P>Class-specific information for chunked layout (Class 1):
+    <br>
+    <P>Class-specific information for contiguous layout (Class 1):  (Note: The dimensionality information
+       is in the Dataspace message)
 
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <B>Property Descriptions</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Property Descriptions
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
-	  <td>Dimensionality</td>
-	</tr>
-
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Address<br><br></td>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4>Dimension 0 (4-bytes)</td>
+	<tr>
+	  <td colspan=4><br>Size<br><br></td>
 	</tr>
-
-	<tr align=center>
-	  <td colspan=4>Dimension 1 (4-bytes)</td>
-	</tr>
-	
-	<tr align=center>
-	  <td colspan=4>...</td>
-	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
-	  <td>Dimensionality</td>
-	  <td>A chunk has a fixed dimensionality.  This field
-	    specifies the number of dimension size fields later in the
-	    message.</td>
-	</tr>
-
-	<tr valign=top>
+	<tr>
 	  <td>Address</td>
-	  <td>This is the address
-	    of the B-tree that is used to look up the addresses of the
-	    chunks.
-            The address
-            may have the "undefined address" value, to indicate that
-            storage has not yet been allocated for this array.</td>
+	  <td><P>This is the address of the first byte of raw data storage.
+            The address may have the "undefined address" value, to indicate
+            that storage has not yet been allocated for this array.</P></td>
 	</tr>
 
-	<tr valign=top>
-	  <td>Dimensions</td>
-	  <td>The dimension sizes define the size of a single chunk.</td>
+	<tr>
+	  <td>Size</td>
+	  <td><P>This field contains the size allocated to store the raw data.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <P>Class-specific information for compact layout (Class 2):
+    <br>
+    <P>Class-specific information for chunked layout (Class 2):
 
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <B>Property Descriptions</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Property Descriptions
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=2>Size</td>
+	<tr>
+	  <td>Dimensionality</td>
+	  <td colspan=3 bgcolor=#DDDDDD>&nbsp;</td>
 	</tr>
-	
-	<tr align=center>
-	  <td colspan=4>Raw Data</td>
+
+	<tr>
+	  <td colspan=4><br>Address<br><br></td>
 	</tr>
+
+	<tr>
+	  <td colspan=4>Dimension 0 (4-bytes)</td>
+	</tr>
+
+	<tr>
+	  <td colspan=4>Dimension 1 (4-bytes)</td>
+	</tr>
 	
-	<tr align=center>
+	<tr>
 	  <td colspan=4>...</td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
-	  <td>Size</td>
-	  <td>This field contains the size of the raw data for the dataset array.</td>
+	<tr>
+	  <td>Dimensionality</td>
+	  <td><P>A chunk has a fixed dimensionality.  This field specifies 
+	    the number of dimension size fields later in the message.</P></td>
+	</tr>
 
-	<tr valign=top>
-	  <td>Raw Data</td>
-	  <td>This field contains the raw data for the dataset array.</td>
+	<tr>
+	  <td>Address</td>
+	  <td><P>This is the address of the B-tree that is used to look up the addresses of the
+	    chunks.  The address may have the "undefined address" value, to indicate that
+            storage has not yet been allocated for this array.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-
     <hr>
     <h4><a name="ReservedMessage_0009">Name: Reserved - Not Assigned Yet</a></h4>
-    <b>Header Message Type:</b> 0x0009<BR>
-    <b>Length:</b> N/A<BR>
-    <b>Status:</b> N/A<BR>
-    <b>Format of Data:</b> N/A<BR>
+    <P class=item><B>Header Message Type:</B> 0x0009</P>
+    <P class=item><B>Length:</B> N/A</P>
+    <P class=item><B>Status:</B> N/A</P>
+    <P class=item><B>Format of Data:</B> N/A</P>
 
-    <p><b>Purpose and Description:</b> This message type was skipped during
-      the initial specification of the file format and may be used in a
-      future expansion to the format.
+    <P class=item><B>Purpose and Description:</B> This message type was skipped during the initial 
+	specification of the file format and may be used in a future expansion to the format.
 
     <hr>
     <h4><a name="ReservedMessage_000A">Name: Reserved - Not Assigned Yet</a></h4>
-    <b>Header Message Type:</b> 0x000A<BR>
-    <b>Length:</b> N/A<BR>
-    <b>Status:</b> N/A<BR>
-    <b>Format of Data:</b> N/A<BR>
+    <P class=item><B>Header Message Type:</B> 0x0009</P>
+    <P class=item><B>Length:</B> N/A</P>
+    <P class=item><B>Status:</B> N/A</P>
+    <P class=item><B>Format of Data:</B> N/A</P>
 
-    <p><b>Purpose and Description:</b> This message type was skipped during
-      the initial specification of the file format and may be used in a
-      future expansion to the format.
+    <P class=item><B>Purpose and Description:</B> This message type was skipped during the initial 
+	specification of the file format and may be used in a future expansion to the format.
 
     <hr>
     <h4><a name="FilterMessage">Name: Data Storage - Filter Pipeline</a></h4>
-    <b>Header Message Type:</b> 0x000B<BR>
-    <b>Length:</b> varies<BR>
-    <b>Status:</b> Optional, may not be repeated.
+    <P class=item><B>Header Message Type:</B> 0x000B</P>
+    <P class=item><B>Length:</B> varies</P>
+    <P class=item><B>Status:</B> Optional, may not be repeated.</P>
 
-    <p><b>Purpose and Description:</b> This message describes the
+    <P class=item><B>Description:</B> This message describes the
       filter pipeline which should be applied to the data stream by
-      providing filter identification numbers, flags, a name, an
-      client data.
+      providing filter identification numbers, flags, a name, and
+      client data.</P>
 
-    <p>
-    <center>
-      <table border align=center cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Filter Pipeline Message</b>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Filter Pipeline Message
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>  
 
-	<tr align=center>
+	<tr>
 	  <td>Version</td>
 	  <td>Number of Filters</td>
 	  <td colspan=2>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Filter List<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Version</td>
-	  <td>The version number for this message.  This document
-	    describes version one.</td>
+	  <td><P>The version number for this message.  This document
+	    describes version 1.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Number of Filters</td>
-	  <td>The total number of filters described by this
+	  <td><P>The total number of filters described by this
 	    message. The maximum possible number of filters in a
-	    message is 32.</td>
+	    message is 32.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Filter List</td>
-	  <td>A description of each filter.  A filter description
-	    appears in the next table.</td>
+	  <td><P>A description of each filter.  A filter description
+	    appears in the next table.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table border align=center cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Filter Pipeline Message</b>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Filter Description
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>  
 
-	<tr align=center>
+	<tr>
 	  <td colspan=2>Filter Identification</td>
 	  <td colspan=2>Name Length</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=2>Flags</td>
-	  <td colspan=2>Client Data Number of Values</td>
+	  <td colspan=2>Number of Values for Client Data</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Name<br><br></td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Client Data<br><br></td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Padding</td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Filter Identification</td>
-	  <td>This is a unique (except in the case of testing)
+	  <td><P>This is a unique (except in the case of testing)
 	    identifier for the filter.  Values from zero through 255
 	    are reserved for filters defined by the NCSA HDF5
 	    library. Values 256 through 511 have been set aside for
 	    use when developing/testing new filters.  The remaining
 	    values are allocated to specific filters by contacting the 
-	    <a href="mailto:hdf5dev at ncsa.uiuc.edu">HDF5 Development
-	    Team</a>.</td>
+	    HDF5 Development Team at
+            <img src="Graphics/help.png" align=top height=16>.
+            The filters currently in library version 1.6.5 are 
+	    listed below:
+	    <table class=list>
+	      <tr>
+		<th width="30%">Identification</th>
+		<th align=left>Name</th>
+		<th align=left>Description</th>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>1</code></td>
+		<td>deflate</td>
+		<td>GZIP deflate compression</td>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>2</code></td>
+		<td>shuffle</td>
+		<td>Data element shuffling</td>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>3</code></td>
+		<td>fletcher32</td>
+		<td>Fletcher32 checksum</td>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>4</code></td>
+		<td>szip</td>
+		<td>SZIP compression</td>
+	      </tr>
+	    </table>
+	  </P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Name Length</td>
-	  <td>Each filter has an optional null-terminated ASCII name
+	  <td><P>Each filter has an optional null-terminated ASCII name
 	    and this field holds the length of the name including the
 	    null termination padded with nulls to be a multiple of
 	    eight. If the filter has no name then a value of zero is
-	    stored in this field.</td>
+	    stored in this field.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Flags</td>
-	  <td>The flags indicate certain properties for a filter.  The 
-	    bit values defined so far are:
+	  <td><P>The flags indicate certain properties for a filter.  The 
+	    bit values defined so far are:</P>
+	    <table class=list>
+	      <tr>
+		<th width="30%">Value</th>
+		<th align=left>Description</th>
+	      </tr>
 
-	    <dl>
-	      <dt><code>bit 1</code>
-	      <dd>If set then the filter is an optional filter.
+	      <tr>
+		<td align=center><code>bit 1</code></td>
+	        <td>If set then the filter is an optional filter.
 		During output, if an optional filter fails it will be
-		silently removed from the pipeline.
-	    </dl>
+		silently removed from the pipeline.</td>
+	      </tr>
+	    </table>
+	  </td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Client Data Number of Values</td>
-	  <td>Each filter can store a few integer values to control
+	  <td><P>Each filter can store a few integer values to control
 	    how the filter operates.  The number of entries in the
-	    Client Data array is stored in this field.</td>
+	    Client Data array is stored in this field.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Name</td>
-	  <td>If the Name Length field is non-zero then it will
+	  <td><P>If the Name Length field is non-zero then it will
 	    contain the size of this field, a multiple of eight.  This 
 	    field contains a null-terminated, ASCII character
-	    string to serve as a comment/name for the filter.</td>
+	    string to serve as a comment/name for the filter.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Client Data</td>
-	  <td>This is an array of four-byte integers which will be
+	  <td><P>This is an array of four-byte integers which will be
 	    passed to the filter function.  The Client Data Number of
-	    Values determines the number of elements in the
-	    array.</td>
+	    Values determines the number of elements in the array.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Padding</td>
-	  <td>Four bytes of zeros are added to the message at this
+	  <td><P>Four bytes of zeros are added to the message at this
 	    point if the Client Data Number of Values field contains
-	    an odd number.</td>
+	    an odd number.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
     <hr>
     <h4><a name="AttributeMessage">Name: Attribute</a></h4>
-    <b>Header Message Type:</b> 0x000C<BR>
-    <b>Length:</b> varies<BR>
-    <b>Status:</b> Optional, may be repeated.<BR>
+    <P class=item><B>Header Message Type:</B> 0x000C
+    <P class=item><B>Length:</B> varies
+    <P class=item><B>Status:</B> Optional, may be repeated.
     
-    <p><b>Purpose and Description:</b>  The <em>Attribute</em>
+    <P class=item><B>Description:</B>  The <em>Attribute</em>
       message is used to list objects in the HDF file which are used
       as attributes, or "metadata" about the current object.  An
       attribute is a small dataset; it has a name, a datatype, a data
@@ -5305,585 +5550,821 @@
       associated with any type of object which has an object header
       (groups, datasets, named types and spaces, etc.).
 
-    <p>Note: Attributes on an object must have unique names.  (The HDF5 library
+    <P class=item2>Note: Attributes on an object must have unique names.  (The HDF5 library
       currently enforces this by causing the creation of an attribute with
-      a duplicate name to fail)
-      Attributes on different objects may have the same name, however.
+      a duplicate name to fail).  Attributes on different objects may have the 
+      same name, however.
 
-    <p>
-    <center>
-      <table border align=center cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Attribute Message</b>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Attribute Message (Version 1)
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td>Version</td>
 	  <td>Reserved</td>
 	  <td colspan=2>Name Size</td>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=2>Type Size</td>
-	  <td colspan=2>Space Size</td>
+	<tr>
+	  <td colspan=2>Datatype Size</td>
+	  <td colspan=2>Dataspace Size</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Name<br><br></td>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4><br>Type<br><br></td>
+	<tr>
+	  <td colspan=4><br>Datatype<br><br></td>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=4><br>Space<br><br></td>
+	<tr>
+	  <td colspan=4><br>Dataspace<br><br></td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Data<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Version</td>
-	  <td>Version number for the message.  This document describes 
-	    version 1 of attribute messages.</td>
+	  <td><P>The version number information is used for changes in the format of the 
+	    attribute message and is described here:</P>
+	    <table class=list>
+	      <tr>
+		<th width="30%">Version</th>
+		<th align=left>Description</th>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>0</code></td>
+		<td>Never used.</td>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>1</code></td>
+		<td>Used by the library before version 1.6 to encode attribute message.
+		    This version does not support shared data type.</td>
+	      </tr>
+	    </table>
+	  </td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Reserved</td>
-	  <td>This field is reserved for later use and is set to
-	    zero.</td>
+	  <td><P>This field is reserved for later use and is set to
+	    zero.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Name Size</td>
-	  <td>The length of the attribute name in bytes including the
+	  <td><P>The length of the attribute name in bytes including the
 	    null terminator.  Note that the Name field below may
 	    contain additional padding not represented by this
-	    field.</td>
+	    field.</P></td>
 	</tr>
 
-	<tr valign=top>
-	  <td>Type Size</td>
-	  <td>The length of the datatype description in the Type
-	    field below.  Note that the Type field may contain
-	    additional padding not represented by this field.</td>
+	<tr>
+	  <td>Datatype Size</td>
+	  <td><P>The length of the datatype description in the Datatype
+	    field below.  Note that the Datatype field may contain
+	    additional padding not represented by this field.</P></td>
 	</tr>
 
-	<tr valign=top>
-	  <td>Space Size</td>
-	  <td>The length of the dataspace description in the Space
-	    field below.  Note that the Space field may contain
-	    additional padding not represented by this field.</td>
+	<tr>
+	  <td>Dataspace Size</td>
+	  <td><P>The length of the dataspace description in the Dataspace
+	    field below.  Note that the Dataspace field may contain
+	    additional padding not represented by this field.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Name</td>
-	  <td>The null-terminated attribute name.  This field is
+	  <td><P>The null-terminated attribute name.  This field is
 	    padded with additional null characters to make it a
-	    multiple of eight bytes.</td>
+	    multiple of eight bytes.</P></td>
 	</tr>
 
-	<tr valign=top>
-	  <td>Type</td>
-	  <td>The datatype description follows the same format as
+	<tr>
+	  <td>Datatype</td>
+	  <td><P>The datatype description follows the same format as
 	    described for the datatype object header message.  This
 	    field is padded with additional zero bytes to make it a
-	    multiple of eight bytes.</td>
+	    multiple of eight bytes.</P></td>
 	</tr>
 
-	<tr valign=top>
-	  <td>Space</td>
-	  <td>The dataspace description follows the same format as
+	<tr>
+	  <td>Dataspace</td>
+	  <td><P>The dataspace description follows the same format as
 	    described for the dataspace object header message.  This
 	    field is padded with additional zero bytes to make it a
-	    multiple of eight bytes.</td>
+	    multiple of eight bytes.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Data</td>
-	  <td>The raw data for the attribute.  The size is determined
+	  <td><P>The raw data for the attribute.  The size is determined
 	    from the datatype and dataspace descriptions.  This
+	    field is <em>not</em> padded with additional bytes.</P></td>
+	</tr>
+      </table>
+    </div>
+
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Attribute Message (Version 2)
+	</caption>
+
+	<tr align=center>
+	  <th width="25%">byte</th>
+	  <th width="25%">byte</th>
+	  <th width="25%">byte</th>
+	  <th width="25%">byte</th>
+	</tr>
+
+	<tr>
+	  <td>Version</td>
+	  <td>Flag</td>
+	  <td colspan=2>Name Size</td>
+	</tr>
+
+	<tr>
+	  <td colspan=2>Type Size</td>
+	  <td colspan=2>Space Size</td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Name<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Type<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Space<br><br></td>
+	</tr>
+
+	<tr>
+	  <td colspan=4><br>Data<br><br></td>
+	</tr>
+      </table>
+    </div>
+
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
+	</tr>
+
+	<tr>
+	  <td>Version</td>
+	  <td><P>The version number information is used for changes in the format of the 
+	    attribute message and is described here:</P>
+	    <table class=list width="90%">
+	      <tr>
+		<th width="30%">Version</th>
+		<th align=left>Description</th>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>2</code></td>
+		<td>Used by the library of version 1.6.x and after to encode attribute message.
+		    This version supports shared data type.  The fields of name, type, and space
+		    are not padded with additional bytes of zero.</td>
+	      </tr>
+	    </table>
+	  </td>
+	</tr>
+
+	<tr>
+	  <td>Flag</td>
+	  <td><P>This field indicates whether the data type of this attribute is shared:</P>
+	    <table class=list width="90%">
+	      <tr>
+		<th width="30%">Value</th>
+		<th align=left>Description</th>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>0</code></td>
+		<td>Datatype is <em>not</em> shared.</td>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>1</code></td>
+		<td>Datatype is shared.</td>
+	      </tr>
+	    </table>
+	  </td>
+	</tr>
+
+	<tr>
+	  <td>Name Size</td>
+	  <td><P>The length of the attribute name in bytes including the
+	    null terminator.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Datatype Size</td>
+	  <td><P>The length of the datatype description in the Datatype
+	    field below.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Dataspace Size</td>
+	  <td><P>The length of the dataspace description in the Dataspace
+	    field below.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Name</td>
+	  <td><P>The null-terminated attribute name.  This field is <em>not</em>
+	    padded with additional bytes.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Datatype</td>
+	  <td><P>The datatype description follows the same format as
+	    described for the datatype object header message.  This
+	    field is <em>not</em> padded with additional bytes.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Dataspace</td>
+	  <td><P>The dataspace description follows the same format as
+	    described for the dataspace object header message.  This
+	    field is <em>not</em> padded with additional bytes.</P></td>
+	</tr>
+
+	<tr>
+	  <td>Data</td>
+	  <td><P>The raw data for the attribute.  The size is determined
+	    from the datatype and dataspace descriptions.  This
 	    field is <em>not</em> padded with additional zero
-	    bytes.</td>
+	    bytes.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
     
     <hr>
     <h4><a name="CommentMessage">Name: Object Comment</a></h4>
 
-    <p><b>Header Message Type:</b> 0x000D<br>
-      <b>Length:</b> varies<br>
-      <b>Status:</b> Optional, may not be repeated.
+    <P class=item><B>Header Message Type:</B> 0x000D</P>
+    <P class=item><B>Length:</B> varies</P>
+    <P class=item><B>Status:</B> Optional, may not be repeated.</P>
 
-    <p><b>Purpose and Description:</b> The object comment is
+    <P class=item><B>Description:</B> The object comment is
       designed to be a short description of an object.  An object comment
       is a sequence of non-zero (<code>\0</code>) ASCII characters with no other
-      formatting included by the library.
+      formatting included by the library.</P>
 
-    <p>
-    <center>
-      <table border align=center cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Name Message</b>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Name Message
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Comment<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Name</td>
 	  <td>A null terminated ASCII character string.</td>
 	</tr>
       </table>
-    </center>
+    </div>
     
     <hr>
     <h4><a name="OldModifiedMessage">Name: Object Modification Date &amp; Time (Old)</a></h4>
 
-    <p><b>Header Message Type:</b> 0x000E<br>
-      <b>Length:</b> fixed<br>
-      <b>Status:</b> Optional, may not be repeated.
+    <P class=item><B>Header Message Type:</B> 0x000E</P>
+    <P class=item><B>Length:</B> fixed</P>
+    <P class=item><B>Status:</B> Optional, may not be repeated.</P>
 
-    <p><b>Purpose and Description:</b>  The object modification date
+    <P class=item><B>Description:</B>  The object modification date
       and time is a timestamp which indicates (using ISO-8601 date and
       time format) the last modification of an object.  The time is
       updated when any object header message changes according to the
       system clock where the change was posted.
 
-    <p>This modification time message is deprecated in favor of the "new"
-        modification time message (Message Type 0x0012) and is no longer written
-        to the file in versions of the HDF5 library after the 1.6.0 version.
-    </p>
+      <br><br>This modification time message is deprecated in favor of the "new"
+      modification time message (Message Type 0x0012) and is no longer written
+      to the file in versions of the HDF5 library after the 1.6.0 version.
+    </P>
 
-
-    <p>
-    <center>
-      <table border align=center cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Modification Time Message</b>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Modification Time Message
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Year</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=2>Month</td>
 	  <td colspan=2>Day of Month</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=2>Hour</td>
 	  <td colspan=2>Minute</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=2>Second</td>
 	  <td colspan=2>Reserved</td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Year</td>
-	  <td>The four-digit year as an ASCII string. For example,
+	  <td><P>The four-digit year as an ASCII string. For example,
 	    <code>1998</code>.  All fields of this message should be interpreted
-	    as coordinated universal time (UTC)</td>
+	    as coordinated universal time (UTC)</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Month</td>
-	  <td>The month number as a two digit ASCII string where
-	    January is <code>01</code> and December is <code>12</code>.</td>
+	  <td><P>The month number as a two digit ASCII string where
+	    January is <code>01</code> and December is <code>12</code>.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Day of Month</td>
-	  <td>The day number within the month as a two digit ASCII
-	    string. The first day of the month is <code>01</code>.</td>
+	  <td><P>The day number within the month as a two digit ASCII
+	    string. The first day of the month is <code>01</code>.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Hour</td>
-	  <td>The hour of the day as a two digit ASCII string where
-	    midnight is <code>00</code> and 11:00pm is <code>23</code>.</td>
+	  <td><P>The hour of the day as a two digit ASCII string where
+	    midnight is <code>00</code> and 11:00pm is <code>23</code>.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Minute</td>
-	  <td>The minute of the hour as a two digit ASCII string where
+	  <td><P>The minute of the hour as a two digit ASCII string where
 	    the first minute of the hour is <code>00</code> and 
-	    the last is <code>59</code>.</td>
+	    the last is <code>59</code>.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Second</td>
-	  <td>The second of the minute as a two digit ASCII string
+	  <td><P>The second of the minute as a two digit ASCII string
 	    where the first second of the minute is <code>00</code> 
-	    and the last is <code>59</code>.</td>
+	    and the last is <code>59</code>.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Reserved</td>
-	  <td>This field is reserved and should always be zero.</td>
+	  <td><P>This field is reserved and should always be zero.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
     
     <hr>
     <h4><a name="SharedMessage">Name: Shared Object Message</a></h4>
-    <b>Header Message Type:</b> 0x000F<br>
-    <b>Length:</b> 4 Bytes<br>
-    <b>Status:</b> Optional, may be repeated.
+    <P class=item><B>Header Message Type:</B> 0x000F</P>
+    <P class=item><B>Length:</B> Fixed</P>
+    <P class=item><B>Status:</B> Optional, may be repeated.</P>
 
-    <p>A constant message can be shared among several object headers
-      by writing that message in the global heap and having the object
-      headers all point to it.  The pointing is accomplished with a
-      Shared Object message which is understood directly by the object
-      header layer of the library. It is also possible to have a
-      message of one object header point to a message in some other
-      object header, but care must be exercised to prevent cycles.
+    <P class=item><B>Description:</B>  A constant message can be shared among 
+      several object headers.  A <em>Shared Object</em> Message contains the address of
+      the object message to be shared.  Care must be exercised to prevent cycles when a
+      message of one object header points to a message in some other object header.
+      Starting from Version 2 of the Shared Object Message, the <em>Flags</em> 
+      field becomes unused.
+    </P>
 
-    <p>If a message is shared, then the message appears in the global
-      heap and its message ID appears in the Header Message Type
-      field of the object header.  Also, the Flags field in the object
-      header for that message will have bit two set (the
-      <code>H5O_FLAG_SHARED</code> bit).  The message body in the
-      object header will be that of a Shared Object message defined
-      here and not that of the pointed-to message.
-
-    <p>
-    <center>
-      <table border cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Shared Message Message</b>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Shared Object Message (Version 1)
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</td>
 	  <th width="25%">byte</td>
 	  <th width="25%">byte</td>
 	  <th width="25%">byte</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td>Version</td>
 	  <td>Flags</td>
 	  <td colspan=2>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4><br>Pointer<br><br></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Version</td>
-	  <td>The version number for the message.  This document
-	    describes version one of shared messages.</td>
+	  <td><P>The version number is used when there are changes in the format
+            of a shared object message and is described here:</P>
+	    <table class=list>
+	      <tr>
+		<th width="30%">Version</th>
+		<th align=left>Description</th>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>0</code></td>
+		<td>Never used.</td>
+	      </tr>
+
+	      <tr>
+		<td align=center><code>1</code></td>
+		<td>Used by the library before version 1.6.1.  In this version, 
+		  the Flags field is used to indicate whether the actual message is
+		  stored in the global heap (never implemented).  The Pointer field 
+		  either contains the the header message address in the global heap 
+		  (never implemented) or the address of the shared object header.</td>
+	      </tr>
+	    </table>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Flags</td>
-	  <td>The Shared Message message points to a message which is
+	  <td><P>The Shared Message message points to a message which is
 	    shared among multiple object headers.  The Flags field
-	    describes the type of sharing:
+	    describes the type of sharing:</P>
+	    <table class=list>
+	      <tr>
+		<th width="30%">Bit</th>
+		<th align=left>Description</th>
+	      </tr>
 
-	    <dl>
-	      <dt><code>Bit 0</code>
-	      <dd>If this bit is clear then the actual message is the
-		first message in some other object header; otherwise
-		the actual message is stored in the global heap.
+	      <tr>
+		<td align=center><code>0</code></td>
+		<td>If this bit is clear then the actual message is the
+                  first message in some other object header; otherwise
+                  the actual message is stored in the global heap (never 
+		  implemented).</td>
+	      </tr>
 
-	      <dt><code>Bits 2-7</code>
-	      <dd>Reserved (always zero)
-	    </dl>
+	      <tr>
+		<td align=center><code>2-7</code></td>
+		<td>Reserved (always zero)</td>
+	      </tr>
+	    </table>
+	  </td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Pointer</td>
-	  <td>This field points to the actual message.  The format of
-	    the pointer depends on the value of the Flags field.  If
-	    the actual message is in the global heap then the pointer
-	    is the file address of the global heap collection that
-	    holds the message, and a four-byte index into that
-	    collection.  Otherwise the pointer is a group entry 
-	    that points to some other object header.</td>
+	  <td><P>The address of the object header
+            containing the message to be shared.</P></td>
 	</tr>
       </table>
-    </center>
+    </div>
 
+    <br>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Shared Object Message (Version 2)
+	</caption>
 
-<hr>
-<h4><a name="ContinuationMessage">Name: Object Header Continuation</a></h4>
-<b>Header Message Type:</b> 0x0010<BR>
-<b>Length:</b> fixed<BR>
-<b>Status:</b> Optional, may be repeated.<BR>
-<b>Purpose and Description:</b>  The object header continuation is the location
-in the file of more header messages for the current data object.  This can be
-used when header blocks are large, or likely to change over time.<BR>
-<b>Format of Data:</b><p>
-    The object header continuation is formatted as follows (assuming a 4-byte
-length &amp; offset are being used in the current file):
+	<tr>
+	  <th width="25%">byte</td>
+	  <th width="25%">byte</td>
+	  <th width="25%">byte</td>
+	  <th width="25%">byte</td>
+	</tr>
 
-<P>
-<center>
-<table border cellpadding=4 width=60%>
-<caption align=bottom>
-<B>HDF5 Object Header Continuation Message Layout</B>
-</caption>
+	<tr>
+	  <td>Version</td>
+	  <td>Flags</td>
+	  <td colspan=2 bgcolor=#DDDDDD>&nbsp;</td>
+	</tr>
 
-<tr align=center>
-<th width=25%>byte</th>
-<th width=25%>byte</th>
-<th width=25%>byte</th>
-<th width=25%>byte</th>
+	<tr>
+	  <td colspan=4><br>Pointer<br><br></td>
+	</tr>
+      </table>
+    </div>
 
-<tr align=center>
-<td colspan=4>Header Continuation Offset</td>
-<tr align=center>
-<td colspan=4>Header Continuation Length</td>
-</table>
-</center>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
+	</tr>
 
-<P>
-<dl>
-<dt>The elements of the Header Continuation Message are described below:
-<dd>
-<dl>
-<dt>Header Continuation Offset: (&lt;offset&gt; bytes)
-<dd>This value is the offset in bytes from the beginning of the file where the
-header continuation information is located.
-<dt>Header Continuation Length: (&lt;length&gt; bytes)
-<dd>This value is the length in bytes of the header continuation information in
-the file.
-</dl>
-</dl>
+	<tr>
+	  <td>Version</td>
+	  <td><P>The version number is used when there are changes in the format
+            of a shared object message and is described here:</P>
+	    <table class=list>
+	      <tr>
+		<th width="30%">Version</th>
+		<th align=left>Description</th>
+	      </tr>
 
-<hr>
-<h4><a name="SymbolTableMessage">Name: Group Message</a></h4>
-<b>Header Message Type:</b> 0x0011<BR>
-<b>Length:</b> fixed<BR>
-<b>Status:</b> Required for groups, may not be repeated.<BR>
-<b>Purpose and Description:</b> Each group has a B-tree and a
-name heap which are pointed to by this message.<BR>
-<b>Format of data:</b>
-<p>The group message is formatted as follows:
+	      <tr>
+		<td align=center><code>2</code></td>
+		<td>Used by the library of version 1.6.1 and after.  In this version, 
+		  The Flags field is not used and the Pointer field contains the address
+		  of the object header containing the message to be shared. </td>
+	      </tr>
+	    </table>
+	</tr>
 
-<p>
-<center>
-<table border cellpadding=4 width="80%">
-<caption align=bottom>
-<b>HDF5 Object Header Group Message Layout</b>
-</caption>
+	<tr>
+	  <td>Flags</td>
+	  <td><P>Unused.</P></td>
+	</tr>
 
-<tr align=center>
-<th width="25%">byte</th>
-<th width="25%">byte</th>
-<th width="25%">byte</th>
-<th width="25%">byte</th>
+	<tr>
+	  <td>Pointer</td>
+	  <td><P>The address of the object header
+            containing the message to be shared.</P></td>
+	</tr>
+      </table>
+    </div>
 
-<tr align=center>
-<td colspan=4>B-tree Address</td>
 
-<tr align=center>
-<td colspan=4>Heap Address</td>
-</table>
-</center>
+    <hr>
+    <h4><a name="ContinuationMessage">Name: Object Header Continuation</a></h4>
+    <P class=item><B>Header Message Type:</B> 0x0010</P>
+    <P class=item><B>Length:</B> fixed</P>
+    <P class=item><B>Status:</B> Optional, may be repeated.</P>
+    <P class=item><B>Description:</B>  The object header continuation is the location
+        in the file of more header messages for the current data object.  This can be
+        used when header blocks become too large or are likely to change over time.</P>
 
-<P>
-<dl>
-<dt>The elements of the Group Message are described below:
-<dd>
-<dl>
-<dt>B-tree Address (&lt;offset&gt; bytes)
-<dd>This value is the offset in bytes from the beginning of the file
-where the B-tree is located.
-<dt>Heap Address (&lt;offset&gt; bytes)
-<dd>This value is the offset in bytes from the beginning of the file
-where the group name heap is located.
-</dl>
-</dl>
+    <P class=item><B>Format of Data:</B>
+    <br>
+    <div align=center>
+      <table class=format>
+        <caption>
+          Object Header Continuation Message
+        </caption>
 
+        <tr>
+          <th width=25%>byte</th>
+          <th width=25%>byte</th>
+          <th width=25%>byte</th>
+          <th width=25%>byte</th>
+        </tr>
+
+        <tr>
+          <td colspan=4><br>Offset<br><br></td>
+        </tr>
+
+        <tr>
+          <td colspan=4><br>Length<br><br></td>
+        </tr>
+      </table>
+    </div>
+
+    <br>
+    <div align=center>
+      <table class=desc>
+        <tr>
+          <th width=30%>Field Name</th>
+          <th>Description</th>
+        </tr>
+
+        <tr>
+          <td>Offset</td>
+          <td><P>This value is the offset in bytes from the beginning of the file where the
+              header continuation information is located.</P></td>
+        </tr>
+
+        <tr>
+          <td>Length</td>
+          <td><P>This value is the length in bytes of the header continuation information in
+              the file.</P></td>
+        </tr>
+      </table>
+    </div>
+
     <hr>
+    <h4><a name="SymbolTableMessage">Name: Group Message</a></h4>
+    <P class=item><B>Header Message Type:</B> 0x0011</P>
+    <P class=item><B>Length:</B> fixed</P>
+    <P class=item><B>Status:</B> Required for groups, may not be repeated.</P>
+    <P class=item><B>Description:</B> Each group has a B-tree and a
+        name heap which are pointed to by this message.</P>
+    <P class=item><B>Format of data:</B>
+
+    <br>
+    <div align=center>
+      <table class=format>
+        <caption>
+          <B>Group Message</B>
+        </caption>
+
+        <tr>
+          <th width="25%">byte</th>
+          <th width="25%">byte</th>
+          <th width="25%">byte</th>
+          <th width="25%">byte</th>
+        </tr>
+
+        <tr>
+          <td colspan=4><br>B-tree Address<br><br></td>
+        </tr>
+
+        <tr>
+          <td colspan=4><br>Heap Address<br><br></td>
+        </tr>
+      </table>
+    </div>
+
+    <br>
+    <div align=center>
+      <table class=desc>
+        <tr>
+          <th width=30%>Field Name</th>
+          <th>Description</th>
+        </tr>
+
+        <tr>
+          <td>B-tree Address</td>
+          <td><P>This value is the offset in bytes from the beginning of the file
+            where the B-tree is located.</P></td>
+        </tr>
+
+        <tr>
+          <td>Heap Address</td>
+          <td><P>This value is the offset in bytes from the beginning of the file
+            where the group name heap is located.</P></td>
+        </tr>
+      </table>
+    </div>
+
+    <hr>
     <h4><a name="ModifiedMessage">Name: Object Modification Date &amp; Time</a></h4>
 
-    <P class=item><B>Header Message Type:</B> 0x0012
-    </P>
-    <P class=item><B>Length:</B> Fixed
-    </P>
-    <P class=item><B>Status:</B> Optional, may not be repeated.
-    </P>
+    <P class=item><B>Header Message Type:</B> 0x0012 </P>
+    <P class=item><B>Length:</B> Fixed </P>
+    <P class=item><B>Status:</B> Optional, may not be repeated. </P>
 
     <P class=item><B>Description:</B> The object modification date
-      and time is a timestamp which indicates
-      the last modification of an object.  The time is
-      updated when any object header message changes according to the
+      and time is a timestamp which indicates the last modification of an object.  
+      The time is updated when any object header message changes according to the
       system clock where the change was posted.
     </P>
 
-    <p>
-    <center>
-      <table border align=center cellpadding=4 width="80%">
-	<caption align=top>
-	  <b>Modification Time Message</b>
+    <P class=item><B>Format of Data:</B>
+    <div align=center>
+      <table class=format>
+	<caption>
+	  Modification Time Message
 	</caption>
 
-	<tr align=center>
+	<tr>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	  <th width="25%">byte</th>
 	</tr>
 
-	<tr align=center>
-	  <td colspan=1>Version</td>
+	<tr>
+	  <td>Version</td>
 	  <td colspan=3>Reserved</td>
 	</tr>
 
-	<tr align=center>
+	<tr>
 	  <td colspan=4>Seconds After Epoch</td>
 	</tr>
       </table>
-    </center>
+    </div>
 
-    <p>
-    <center>
-      <table align=center width="80%">
-	<tr align=left>
-          <th width="30%"><U><font size=+1>Field Name</font></U></th>
-          <th><U><font size=+1>Description</font></U></th>
+    <br>
+    <div align=center>
+      <table class=desc>
+	<tr>
+          <th width="30%">Field Name</th>
+          <th>Description</th>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Version</td>
-	  <td>The version number for the message.  This document
-	    describes version one of the new modification time message.</td>
+	  <td><P>The version number is used for changes in the format of Object Modification Time
+	      and is described here:</P>
+	     <table class=list>
+		<tr>
+		  <th width="30%">Version</th>
+		  <th align=left>Description</th>
+		</tr>
+
+		<tr>
+		  <td align=center><code>0</code></td>
+		  <td>Never used.</td>
+		</tr>
+
+		<tr>
+		  <td align=center><code>1</code></td>
+		  <td>Used by Version 1.6.1 and after of the library to encode time.  In
+		    this version, the time is the seconds after Epoch.</td>
+		</tr>
+	      </table>
+	  </td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Reserved</td>
-	  <td>This field is reserved and should always be zero.</td>
+	  <td><P>This field is reserved and should always be zero.</P></td>
 	</tr>
 
-	<tr valign=top>
+	<tr>
 	  <td>Seconds After Epoch</td>
-	  <td>The number of seconds since 0 hours, 0
-               minutes, 0 seconds, January 1, 1970, Coordinated Universal Time.
+	  <td><P>The number of seconds since 0 hours, 0 minutes, 0 seconds, 
+	    January 1, 1970, Coordinated Universal Time.</P></td>
 	</tr>
       </table>
-    </center>
-    
-<h3><a name="SharedObjectHeader">Disk Format: Level 2b - Shared Data Object Headers</a></h3>
-<P>In order to share header messages between several dataset objects, object
-header messages may be placed into the global heap.  Since these
-messages require additional information beyond the basic object header message
-information, the format of the shared message is detailed below.
+    </div>
 
-<BR> <BR>
-<center>
-<table border cellpadding=4 width=60%>
-<caption align=bottom>
-<B>HDF5 Shared Object Header Message</B>
-</caption>
-
-<tr align=center>
-<th width=25%>byte</th>
-<th width=25%>byte</th>
-<th width=25%>byte</th>
-<th width=25%>byte</th>
-
-<tr align=center>
-<td colspan=4>Reference Count of Shared Header Message</td>
-<tr align=center>
-<td colspan=4><br> Shared Object Header Message<br> <br></td>
-</table>
-</center>
-
-<p>
-<dl>
-<dt> The elements of the shared object header message are described below:
-<dd>
-<dl>
-<dt>Reference Count of Shared Header Message: (32-bit unsigned integer)
-<dd>This value is used to keep a count of the number of dataset objects which
-refer to this message from their dataset headers.  When this count reaches zero,
-the shared message header may be removed from the global heap.
-<dt>Shared Object Header Message: (various lengths)
-<dd>The data stored for the shared object header message is formatted in the
-same way as the private object header messages described in the object header
-description earlier in this document and begins with the header message Type.
-</dl>
-</dl>
-
-
-<h3><a name="DataStorage">Disk Format: Level 2c - Data Object Data Storage</a></h3>
+<hr>
+<h3><a name="DataStorage">Disk Format: Level 2b - Data Object Data Storage</a></h3>
 <P>The data for an object is stored separately from the header
 information in the file and may not actually be located in the HDF5 file
 itself if the header indicates that the data is stored externally.  The
@@ -5915,6 +6396,7 @@
 <P>Data of a compound datatype is stored as a contiguous stream of the items
 in the structure, with each item formatted according to its datatype.</p>
 
+<hr>
 <h3><a name="Appendix">Appendix</a></h3>
 <P>Definitions of various terms used in this document.
 </P>
@@ -5935,7 +6417,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>
@@ -5943,19 +6425,18 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><!--
-<address><a href="mailto:koziol at ncsa.uiuc.edu">Quincey Koziol</a></address>
-<address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+<address>Quincey Koziol and Robb Matzke</address>
 -->
 
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><!-- hhmts start -->
-Last modified: 12 July 2004 
+Last modified: 24 July 2006 
 <!-- hhmts end -->
 
 </body>

Modified: packages/hdf5/trunk/doc/html/H5.intro.html
===================================================================
--- packages/hdf5/trunk/doc/html/H5.intro.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/H5.intro.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -5,6 +5,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_Intro.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,25 +15,24 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/IntroElect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></HEAD>
 
-</HEAD>
-
 <BODY  bgcolor="#FFFFFF">
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -323,7 +323,11 @@
 <li><em>Named</em> datatypes are either atomic or compound datatypes that have been specifically designated to be shared across datasets.
 </ul>
 <I><P>Atomic datatypes</I> include integers and floating-point numbers. Each atomic type belongs to a particular class and has several properties: size, order, precision, and offset. In this introduction, we consider only a few of these properties.
-<P>Atomic classes include integer, float, date and time, string, bit field, and opaque. <I>(Note: Only integer, float and string  classes are available in the current implementation.)
+<P>Atomic classes include integer, float, 
+<!-- date and time, 
+    (DISCUSSION OF TIME DATATYPE COMMENTED OUT 6 FEB 2006,
+     UNTIL IT IS PROPERLY SUPPORTED IN THE LIBRARY.) -->
+string, bit field, and opaque. <I>(Note: Only integer, float and string  classes are available in the current implementation.)
 </I><P>Properties of integer types include size, order (endian-ness), and signed-ness (signed/unsigned).
 <P>Properties of float types include the size and location of the exponent and mantissa, and the location of the sign bit.
 <P>The datatypes that are supported in the current implementation are: 
@@ -3125,12 +3129,13 @@
 <p align=right><font size=-1><a href="#Intro-TOC">(Return to TOC)</a></font> 
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -3148,13 +3153,13 @@
  
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem -->
  
-Last modified: 26 March 2001 
+Last modified: 6 February 2006 
 
 </td><td align=right valign=top>
 <a href="Copyright.html">Copyright</a>&nbsp;&nbsp;

Modified: packages/hdf5/trunk/doc/html/H5.user.PrintGen.html
===================================================================
--- packages/hdf5/trunk/doc/html/H5.user.PrintGen.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/H5.user.PrintGen.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -122,7 +122,7 @@
 <address>
 <table width=100% border=0>
 <tr><td align=left valign=top>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Last modified:  22 July 1999
 

Modified: packages/hdf5/trunk/doc/html/H5.user.html
===================================================================
--- packages/hdf5/trunk/doc/html/H5.user.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/H5.user.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,27 +17,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -74,9 +74,10 @@
     <p>This document is the <cite>HDF5 User's Guide</cite> from
       HDF5 Release 1.4.5.
       Since a 
-      <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">new 
-      HDF5 User's Guide</a> is under development, 
-      this version has not been updated for Release 1.6.0.
+      <a href="http://www.hdfgroup.org/HDF5/doc/UG/index.html">completely
+      new <cite>HDF5 User's Guide</cite></a> has been developed, 
+      this version has not been updated for Release 1.6.x series.
+
     <p>The following documents form a loosely organized user's guide
       to the HDF5 library.
     <p>
@@ -183,14 +184,15 @@
 -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -228,12 +230,15 @@
 <tr><td align=left valign=top> 
 
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>
 
 Last modified:  3 July 2003
+<br>
+Help Desk contact updated throughout 
+<cite>A User's Guide for HDF5 Release 1.4.5</cite>: 29 March 2007
 
 
 </td><td align=right valign=top>

Modified: packages/hdf5/trunk/doc/html/IOPipe.html
===================================================================
--- packages/hdf5/trunk/doc/html/IOPipe.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/IOPipe.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -105,7 +105,7 @@
       <img alt="Figure 5" src="pipe5.gif">
 
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Tue Mar 17 11:13:35 EST 1998 -->
 <!-- hhmts start -->
 Last modified: Wed Mar 18 10:38:30 EST 1998

Modified: packages/hdf5/trunk/doc/html/Intro/IntroExamples.html
===================================================================
--- packages/hdf5/trunk/doc/html/Intro/IntroExamples.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Intro/IntroExamples.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 </HTML><!-- #BeginLibraryItem "/ed_libs/styles_Intro.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,8 +17,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -26,12 +27,13 @@
 <BODY LINK="#0000ff" VLINK="#800080" bgcolor="#FFFFFF">
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -2089,12 +2091,13 @@
 <p align=right><font size=-1><a href="#IEx-TOC">(Return to TOC)</a></font> 
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_Intro.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -2112,9 +2115,9 @@
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem -->
  

Modified: packages/hdf5/trunk/doc/html/Intro/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/Intro/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Intro/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,9 +10,10 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
+#
 top_srcdir=@top_srcdir@
 top_builddir=../..
 srcdir=@srcdir@
@@ -40,9 +42,8 @@
          RM_H5R.html RM_H5S.html RM_H5T.html RM_H5Z.html References.html  \
          TechNotes.html Tools.html Version.html chunk1.gif compat.html    \
          dataset_p1.gif ddl.html extern1.gif extern2.gif group_p1.gif     \
-         group_p2.gif group_p3.gif h5s.examples hdf2.jpg ph5design.html   \
-         ph5example.c ph5implement.txt pipe1.gif pipe2.gif pipe3.gif      \
-         pipe4.gif pipe5.gif index.html version.gif
+         group_p2.gif group_p3.gif h5s.examples hdf2.jpg pipe1.gif        \
+	 pipe2.gif pipe3.gif pipe4.gif pipe5.gif index.html version.gif
 
 # Other doc files (not to be installed)...
 PRIVATE_DOCS=Chunk_f1.obj Chunk_f2.obj Chunk_f6.obj CodeReview.html      \

Modified: packages/hdf5/trunk/doc/html/MountingFiles.html
===================================================================
--- packages/hdf5/trunk/doc/html/MountingFiles.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/MountingFiles.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -5,6 +5,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,27 +15,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -376,14 +376,15 @@
       </center>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -417,7 +418,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/PSandPDF/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/PSandPDF/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/PSandPDF/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/Performance.html
===================================================================
--- packages/hdf5/trunk/doc/html/Performance.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Performance.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -209,14 +209,15 @@
       <code><a href="http://www-pablo.cs.uiuc.edu/">http://www-pablo.cs.uiuc.edu/</a></code>.</p>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -250,7 +251,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/PredefDTypes.html
===================================================================
--- packages/hdf5/trunk/doc/html/PredefDTypes.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/PredefDTypes.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -36,7 +35,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -60,7 +59,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -472,7 +471,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -496,7 +495,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -504,9 +503,9 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--

Modified: packages/hdf5/trunk/doc/html/Properties.html
===================================================================
--- packages/hdf5/trunk/doc/html/Properties.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Properties.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
   <body bgcolor="#FFFFFF">
   
   
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -134,14 +134,15 @@
     </dl>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -175,7 +176,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/RM_H5.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 
 
@@ -36,7 +35,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -60,7 +59,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -669,7 +668,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -693,7 +692,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -701,9 +700,9 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--

Modified: packages/hdf5/trunk/doc/html/RM_H5A.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5A.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5A.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,27 +17,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -60,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -253,9 +253,10 @@
     <dd>Creates a dataset as an attribute of another group, dataset, 
         or named datatype.
 <dt><strong>Description:</strong>
-    <dd><code>H5Acreate</code> creates an attribute named <code>name</code>
-        and attached to the object specified with <code>loc_id</code>.  
-        <code>loc_id</code> is a group, dataset, or named datatype identifier.
+    <dd><code>H5Acreate</code> creates the attribute <code>name</code>
+        attached to the object specified with <code>loc_id</code>.  
+        <code>loc_id</code> can be a group, dataset, or named datatype 
+        identifier.
         <p>
         The attribute name specified in <code>name</code> must be unique. 
         Attempting to create an attribute with the same name as an already 
@@ -407,7 +408,7 @@
             <td valign="top">IN: The size of the buffer to store the name in.</td></tr>
         <tr>
 		    <td valign="top"><em>char *</em><code>buf</code></td>
-            <td valign="top">IN: Buffer to store name in.</td></tr>
+            <td valign="top">OUT: Buffer to store name in.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
     <dd>Returns the length of the attribute's name, which may be
@@ -925,13 +926,14 @@
     </table></ul>
 </dl>
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -955,20 +957,21 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
+<address>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 16 October 2003");
+document.writeln("Last modified: 11 October 2006");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/RM_H5D.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5D.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5D.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,27 +17,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -60,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -127,7 +127,6 @@
       <li><a href="#Dataset-Extend">H5Dextend</a>
       <li><a href="#Dataset-Fill">H5Dfill</a>
       <li><a href="#Dataset-GetCreatePlist">H5Dget_create_plist</a>
-      <li><a href="#Dataset-GetOffset">H5Dget_offset</a>
 	</ul>     
     </td>
     
@@ -135,12 +134,12 @@
     
     <td valign="top">
 	<ul>
+      <li><a href="#Dataset-GetOffset">H5Dget_offset</a>
       <li><a href="#Dataset-GetSpace">H5Dget_space</a>
       <li><a href="#Dataset-GetSpaceStatus">H5Dget_space_status</a>
       <li><a href="#Dataset-GetStorageSize">H5Dget_storage_size</a>
       <li><a href="#Dataset-GetType">H5Dget_type</a>
       <li><a href="#Dataset-Iterate">H5Diterate</a>
-      <li><a href="#Dataset-Open">H5Dopen</a>
 	</ul>
     </td>
     
@@ -148,6 +147,7 @@
     
     <td valign="top">
 	<ul>
+      <li><a href="#Dataset-Open">H5Dopen</a>
       <li><a href="#Dataset-Read">H5Dread</a>
       <li><a href="#Dataset-VLGetBuf">H5Dvlen_get_buf_size</a>
       <li><a href="#Dataset-VLReclaim">H5Dvlen_reclaim</a>
@@ -185,7 +185,9 @@
 </td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>
 <ul>
     <li><a href="#Dataset-Read">h5dread_f</a>
+    <li><a href="#Dataset-Read">h5dread_vl_f</a>
     <li><a href="#Dataset-Write">h5dwrite_f</a>
+    <li><a href="#Dataset-Write">h5dwrite_vl_f</a>
 <!--<li><a href="#Dataset-Iterate">h5diterate_f</a>                     -->
 <!--<li><a href="#Dataset-Debug">h5ddebug_f</a>                         -->
     <li><a href="#Dataset-Extend">h5dextend_f</a>
@@ -270,6 +272,9 @@
         the name specified in <code>name</code> already exists at the
         location specified in <code>loc_id</code>.
         <p>
+        As is the case for any object in a group, 
+        the length of a dataset name is not limited.  
+        <p>
         <code>create_plist_id</code> is a <code>H5P_DATASET_CREATE</code>
         property list created with <code>H5Pcreate</code> and
         initialized with the various functions described above.
@@ -293,7 +298,7 @@
 	of specifying when space will be allocated for a dataset, and
 	of specifying when fill values will be written to a dataset.
 	For further information on these topics, see the document 
-	<a href="http://hdf.ncsa.uiuc.edu/RFC/Fill_Value/FillValue.html"> 
+        <a href="http://hdfgroup.org/HDF5/doc_resource/H5Fill_Values.html">
 	<cite>Fill Value and Dataset Storage Allocation Issues in HDF5</cite></a> 
 	and the descriptions of the following HDF5 functions in this 
 	<cite>HDF5 Reference Manual</cite>:
@@ -400,32 +405,40 @@
         <em>const hsize_t *</em> <code>size</code>
     )
 <dt><strong>Purpose:</strong>
-    <dd>Extends a dataset with unlimited dimension.
+    <dd>Extends a dataset. 
 <dt><strong>Description:</strong>
     <dd><code>H5Dextend</code> verifies that the dataset is at least of size
-        <code>size</code>.  
+        <code>size</code>, extending it if necessary.  
         The dimensionality of <code>size</code> is the same as that of
         the dataspace of the dataset being changed.
-        This function cannot be applied to a dataset with fixed dimensions.
 	<p>
+        This function can be applied to the following datasets:
+        <ul>
+          <li>Any dataset with unlimited dimensions
+          <li>A dataset with fixed dimensions if the current dimension sizes
+          are less than the maximum sizes set with <code>maxdims</code> (see 
+          <a href="RM_H5S.html#Dataspace-CreateSimple">
+          <code>H5Screate_simple</code></a>)
+        </ul>
+	<p>
 	Space on disk is immediately allocated for the new dataset extent 
-        if the dataset's space allocation time is set to 
+        if the dataset&rsquo;s space allocation time is set to 
 	<code>H5D_ALLOC_TIME_EARLY</code>.
-	Fill values will be written to the dataset if the dataset's fill time 
-	is set to <code>H5D_FILL_TIME_IFSET</code> or 
+	Fill values will be written to the dataset if the dataset&rsquo;s 
+        fill time is set to <code>H5D_FILL_TIME_IFSET</code> &nbsp;or&nbsp; 
 	<code>H5D_FILL_TIME_ALLOC</code>.
-	(Also see 
-	<a href="RM_H5P.html#Property-SetFillTime">H5Pset_fill_time</a>
-	and 
-	<a href="RM_H5P.html#Property-SetAllocTime">H5Pset_alloc_time</a>.)
+	(See <a href="RM_H5P.html#Property-SetFillTime">
+        <code>H5Pset_fill_time</code></a>
+	and <a href="RM_H5P.html#Property-SetAllocTime">
+        <code>H5Pset_alloc_time</code></a>.)
 
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>dataset_id</code></td>
+            <td valign="top"><em>hid_t</em> <code>dataset_id</code></td>
             <td valign="top">IN: Identifier of the dataset.</td></tr>
         <tr>
-		    <td valign="top"><em>const&nbsp;hsize_t&nbsp;*</em>&nbsp;<code>size&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>const&nbsp;hsize_t&nbsp;*</em>&nbsp;<code>size&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">IN: Array containing the new magnitude of each dimension.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
@@ -1184,12 +1197,35 @@
     <dd>Returns a non-negative value if successful;
         otherwise returns a negative value.
 <dt><strong>Fortran90 Interface:</strong> h5dread_f
-    
-	<dd>
+    <dd>There is no direct FORTRAN couterpart for the C function 
+        <code>H5Dread</code>.  
+        Instead, that functionality is provided by two FORTRAN functions:
+        
+    <center>
+    <table width=80%>
+      <tr valign=top align=left>
+            <td>
+              <code>h5dread_f</code>
+            </td>
+            <td>&nbsp;&nbsp;</td><td>
+              <strong>Purpose:</strong>
+              Reads data other than variable-length data. 
+            </td>
+        </tr>
+        <tr valign=top align=left>
+            <td>
+              <code>h5dread_vl_f</code>
+            </td><td>&nbsp;&nbsp;</td><td>
+              <strong>Purpose:</strong>
+              Reads variable-length data. 
+            </td>
+        </tr>
+    </table>
+    </center>
+				
 	<pre>
 SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, dims, hdferr, &amp; 
                      mem_space_id, file_space_id, xfer_prp)
-
   IMPLICIT NONE
   INTEGER(HID_T), INTENT(IN) :: dset_id     ! Dataset identifier
   INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1213,10 +1249,49 @@
                                             ! Default value is H5S_ALL_F
   INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp 
                                             ! Transfer property list identifier
-                                            ! Default value is H5P_DEFAULT_F             
+                                            ! Default value is H5P_DEFAULT_F 
 END SUBROUTINE h5dread_f
 	</pre>
 
+	<pre>
+
+SUBROUTINE h5dread_vl_f(dset_id, mem_type_id, buf, dims, len, hdferr, &amp; 
+                     mem_space_id, file_space_id, xfer_prp)
+  IMPLICIT NONE
+  INTEGER(HID_T), INTENT(IN) :: dset_id     ! Dataset identifier
+  INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+  TYPE, INTENT(INOUT), & DIMENSION(dims(1),dims(2)) :: buf
+                                            ! Data buffer; may be a scalar 
+                                            ! or an array
+                                            ! TYPE must be one of the following
+                                            !     INTEGER
+                                            !     REAL
+                                            !     CHARACTER
+  INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2)  :: dims 
+                                            ! Array to hold corresponding 
+                                            ! dimension sizes of data 
+                                            ! buffer buf 
+                                            ! dim(k) has value of the k-th 
+                                            ! dimension of buffer buf
+                                            ! Values are ignored if buf is 
+                                            ! a scalar
+  INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*)  :: len 
+                                            ! Array to store length of
+                                            ! each element
+  INTEGER, INTENT(OUT) :: hdferr            ! Error code 
+                                            ! 0 on success and -1 on failure
+  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id 
+                                            ! Memory dataspace identfier 
+                                            ! Default value is H5S_ALL_F 
+  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id 
+                                            ! File dataspace identfier 
+                                            ! Default value is H5S_ALL_F
+  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp 
+                                            ! Transfer property list identifier
+                                            ! Default value is H5P_DEFAULT_F
+END SUBROUTINE h5dread_vl_f
+        </pre>
+
 		<!--<dt><strong>Non-C API(s):</strong>
     	<dd>
         
@@ -1577,12 +1652,35 @@
     <dd>Returns a non-negative value if successful;
         otherwise returns a negative value.
 <dt><strong>Fortran90 Interface:</strong> h5dwrite_f
-	
-	<dd>
+    <dd>There is no direct FORTRAN couterpart for the C function 
+        <code>H5Dwrite</code>.  
+        Instead, that functionality is provided by two FORTRAN functions:
+        
+    <center>
+    <table width=80%>
+      <tr valign=top align=left>
+            <td>
+              <code>h5dwrite_f</code>
+            </td>
+            <td>&nbsp;&nbsp;</td><td>
+              <strong>Purpose:</strong>
+              Writes data other than variable-length data. 
+            </td>
+        </tr>
+        <tr valign=top align=left>
+            <td>
+              <code>h5dwrite_vl_f</code>
+            </td><td>&nbsp;&nbsp;</td><td>
+              <strong>Purpose:</strong>
+              Writes variable-length data. 
+            </td>
+        </tr>
+    </table>
+    </center>
+				
 	<pre>
 SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, dims, hdferr, &amp; 
                       mem_space_id, file_space_id, xfer_prp)
-
   IMPLICIT NONE
   INTEGER(HID_T), INTENT(IN) :: dset_id      ! Dataset identifier
   INTEGER(HID_T), INTENT(IN) :: mem_type_id  ! Memory datatype identifier
@@ -1608,9 +1706,48 @@
                                              ! Transfer property list 
                                              ! identifier; default value 
                                              ! is H5P_DEFAULT_F 
-            
 END SUBROUTINE h5dwrite_f
 	</pre>
+
+	<pre>
+
+SUBROUTINE h5dwrite_vl_f(dset_id, mem_type_id, buf, dims, len, hdferr, &amp; 
+                     mem_space_id, file_space_id, xfer_prp)
+  IMPLICIT NONE
+  INTEGER(HID_T), INTENT(IN) :: dset_id     ! Dataset identifier
+  INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+  TYPE, INTENT(IN), & DIMENSION(dims(1),dims(2)) :: buf
+                                            ! Data buffer; may be a scalar 
+                                            ! or an array
+                                            ! TYPE must be one of the following
+                                            !     INTEGER
+                                            !     REAL
+                                            !     CHARACTER
+  INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2)  :: dims 
+                                            ! Array to hold corresponding 
+                                            ! dimension sizes of data 
+                                            ! buffer buf 
+                                            ! dim(k) has value of the k-th 
+                                            ! dimension of buffer buf
+                                            ! Values are ignored if buf is 
+                                            ! a scalar
+  INTEGER(SIZE_T), INTENT(IN), DIMENSION(*)  :: len 
+                                            ! Array to store length of
+                                            ! each element
+  INTEGER, INTENT(OUT) :: hdferr            ! Error code 
+                                            ! 0 on success and -1 on failure
+  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id 
+                                            ! Memory dataspace identfier 
+                                            ! Default value is H5S_ALL_F 
+  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id 
+                                            ! File dataspace identfier 
+                                            ! Default value is H5S_ALL_F
+  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp 
+                                            ! Transfer property list identifier
+                                            ! Default value is H5P_DEFAULT_F
+END SUBROUTINE h5dwrite_vl_f
+        </pre>
+
 		
 		<!--<dt><strong>Non-C API(s):</strong>
     	<dd>
@@ -1632,13 +1769,14 @@
     </table></ul>
 </dl>
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -1662,20 +1800,21 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
+<address>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 8 September 2004");
+document.writeln("Last modified: 15 August 2007");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/RM_H5E.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5E.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5E.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -37,7 +36,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -61,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -712,7 +711,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -736,7 +735,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -744,9 +743,9 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--

Modified: packages/hdf5/trunk/doc/html/RM_H5F.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5F.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5F.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -37,7 +36,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -61,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -681,11 +680,8 @@
             <td valign="top">IN: Identifier of a currently-open HDF5 file</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
-    <dd>Returns a the amount of free space in the file if successful;
+    <dd>Returns the amount of free space in the file if successful;
         otherwise returns a negative value.
-<dt><strong>Returns:</strong>
-    <dd>Returns a file creation property list identifier if successful;
-        otherwise returns a negative value.
 <dt><strong>Fortran90 Interface:</strong> h5fget_freespace_f
     <dd>
 	<pre>
@@ -890,7 +886,7 @@
             <td valign="top">IN: Type of object for which identifiers are to be returned.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
-    <dd>Returns a the number of open objects if successful;
+    <dd>Returns the number of open objects if successful;
         otherwise returns a negative value.
 <dt><strong>Fortran90 Interface:</strong> h5fget_obj_count_f
     <dd>
@@ -1227,6 +1223,10 @@
         <dd><code>H5Fopen</code> opens an existing file and is the primary 
             function for accessing existing HDF5 files.  
             <p>
+            Note that <code>H5Fopen</code> does not create a file 
+            if it does not already exist.  
+            See <a href="#File-Create"><code>H5Fcreate</code></a>.
+            <p>
             The parameter <code>access_id</code> is a file access property
             list identifier or <code>H5P_DEFAULT</code> if the 
             default I/O access parameters are to be used  
@@ -1460,7 +1460,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -1484,7 +1484,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -1492,13 +1492,13 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 7 November 2005");
+document.writeln("Last modified: 11 October 2006");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/RM_H5Front.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5Front.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5Front.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -9,6 +9,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -18,17 +19,15 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
 
-
 <body bgcolor="#FFFFFF">
 
 <!-- HEADER LEFT "HDF5 Reference Manual -->
@@ -42,7 +41,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -66,7 +65,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -138,11 +137,10 @@
 </center>
 
 <p>
-A PDF version of this <cite>HDF5 Reference Manual</cite>, 
-formatted specifically for use as a printed book, is available 
-at <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">
-<code>http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/</code></a>
-within one week after each release.
+A PDF version of this <cite>HDF5 Reference Manual</cite> will be available
+from <a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">
+<code>http://www.hdfgroup.org/HDF5/doc/PSandPDF/</code></a>
+approximately one week after each release.
 
 <!-- NEW PAGE -->
 <a name="F90andCPPlus">
@@ -212,7 +210,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -236,7 +234,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -247,13 +245,13 @@
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 10 January 2005");
+document.writeln("Last modified: 10 August 2007");
 -->
 </SCRIPT>
 

Modified: packages/hdf5/trunk/doc/html/RM_H5G.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5G.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5G.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -37,7 +36,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -61,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -262,41 +261,44 @@
   <dt><strong>Signature:</strong>
     <dd><em>hid_t </em><code>H5Gcreate</code>(<em>hid_t</em> <code>loc_id</code>, 
         <em>const char *</em><code>name</code>,
-	  <em>size_t</em> <code>size_hint</code>
+        <em>size_t</em> <code>size_hint</code>
     )
   <dt><strong>Purpose:</strong>
     <dd>Creates a new empty group and gives it a name.
   <dt><strong>Description:</strong>
     <dd><code>H5Gcreate</code> creates a new group with the specified
-	  name at the specified location, <code>loc_id</code>.  
+        name at the specified location, <code>loc_id</code>.  
         The location is identified by a file or group identifier.  
-	  The name, <code>name</code>, must not already be taken by some 
-	  other object and all parent groups must already exist.  
+        The name, <code>name</code>, must not already be taken by some 
+        other object and all parent groups must already exist.  
         <p>
-	  <code>size_hint</code> is a hint for the number of bytes to
-	  reserve to store the names which will be eventually added to
-	  the new group.  Passing a value of zero for <code>size_hint</code>
-	  is usually adequate since the library is able to dynamically
-	  resize the name heap, but a correct hint may result in better
-	  performance.  
+        <code>size_hint</code> is a hint for the number of bytes to
+        reserve to store the names which will be eventually added to
+        the new group.  Passing a value of zero for <code>size_hint</code>
+        is usually adequate since the library is able to dynamically
+        resize the name heap, but a correct hint may result in better
+        performance.  
         If a non-positive value is supplied for <code>size_hint</code>, 
         then a default size is chosen.
         <p>
+        The length of a group name, or of the name of any object within 
+        a group, is not limited.  
+        <p>
         The return value is a group identifier for the open group.
 	This group identifier should be closed by calling 
         <code>H5Gclose</code> when it is no longer needed. 
   <dt><strong>Parameters:</strong>
     <ul><table>
       <tr>
-	      <td valign="top"><em>hid_t</em> <code>loc_id</code></td>
+          <td valign="top"><em>hid_t</em> <code>loc_id</code></td>
           <td valign="top">IN: File or group identifier.</td></tr>
       <tr>
-	      <td valign="top"><em>const char *</em><code>name</code></td>
+          <td valign="top"><em>const char *</em><code>name</code></td>
           <td valign="top">IN: Absolute or relative name of the new group.</td></tr>
       <tr>
-	      <td valign="top"><em>size_t</em>&nbsp;<code>size_hint&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-          <td valign="top">IN: Optional parameter indicating the number of bytes 
-              to reserve for the names that will appear in the group. 
+          <td valign="top"><em>size_t</em>&nbsp;<code>size_hint&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+          <td valign="top">IN: Optional parameter indicating the number of 
+              bytes to reserve for the names that will appear in the group. 
               A conservative estimate could result in multiple 
               system-level I/O requests to read the group name heap; 
               a liberal estimate could result in a single large 
@@ -339,7 +341,7 @@
 <dl>
   <dt><strong>Name:</strong> <a name="Group-GetComment">H5Gget_comment</a>
   <dt><strong>Signature:</strong>
-    <dd><em>herr_t</em> <code>H5Gget_comment</code>(<em>hid_t</em> <code>loc_id</code>,
+    <dd><em>int</em> <code>H5Gget_comment</code>(<em>hid_t</em> <code>loc_id</code>,
         <em>const char *</em><code>name</code>,
         <em>size_t</em> <code>bufsize</code>,
         <em>char *</em><code>comment</code>
@@ -541,6 +543,7 @@
     </table></ul>
 </dl>
 
+
 <!-- NEW PAGE -->
 <!-- HEADER RIGHT "H5Gget_objinfo" -->
 <hr>
@@ -557,12 +560,28 @@
   <dt><strong>Description:</strong>
     <dd><code>H5Gget_objinfo</code> returns information about the 
         specified object through the <code>statbuf</code> argument. 
-        <code>loc_id</code> (a file or group identifier) and 
-        <code>name</code> together determine the object.  
+        <p>
+        A file or group identifier, <code>loc_id</code>, 
+        and an object name, <code>name</code>, relative to <code>loc_id</code>,
+        are commonly used to specify the object.  
+        However, if the object identifier is already known to the application,
+        an alternative approach is to use that identifier, 
+        <code>obj_id</code>, in place of <code>loc_id</code>, 
+        and a dot (<code>.</code>) in place of <code>name</code>.  
+        Thus, the alternative versions of the first portion of an 
+        <code>H5Gget_objinfo</code> call would be as follows:
+        <br>
+        <code>
+        &nbsp;&nbsp;&nbsp;&nbsp;H5Gget_objinfo (loc_id name&nbsp;&nbsp;...)
+        <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;H5Gget_objinfo (obj_id .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...)
+        </code>
+        <p>
         If the object is a symbolic link and <code>follow_link</code> is
-        zero (<code>0</code>), then the information returned is that for the link itself;
-        otherwise the link is followed and information is returned about
-        the object to which the link points.  
+        zero (<code>0</code>), 
+        then the information returned describes the link itself;
+        otherwise the link is followed and the information returned 
+        describes the object to which the link points.  
         If <code>follow_link</code> is non-zero but the final symbolic link 
         is dangling (does not point to anything), then an error is returned.  
         The <code>statbuf</code> fields are undefined for an error.  
@@ -576,7 +595,7 @@
                       unsigned long fileno[2];
                       unsigned long objno[2];
                       unsigned nlink;
-                      int type;
+                      H5G_obj_t type;
                       time_t mtime; 
                       size_t linklen;
                       H5O_stat_t ohdr;
@@ -628,17 +647,28 @@
         <p>
         The fields in the <code>H5O_stat_t</code> struct contain information
         about the object header for the object queried:
-            <ul><dl>
-                <dt><code>size</code>
-                <dd>The total size of all the object header information in
-                    the file (for all chunks).
-                <dt><code>free</code>
-                <dd>The size of unused space in the object header.
-                <dt><code>nmesgs</code>
-                <dd>The number of object header messages.
-                <dt><code>nchunks</code>
-                <dd>The number of chunks the object header is broken up into.
-            </dl> </ul>
+        <div align=center>
+        <table width=80%>
+          <tr><td align=left valign=top>
+            <code>size</code>
+          </td><td align=left valign=top>
+            The total size of all the object header information in
+            the file (for all chunks).
+          </td></tr><tr><td align=left valign=top>
+            <code>free</code>
+          </td><td align=left valign=top>
+            The size of unused space in the object header.
+          </td></tr><tr><td align=left valign=top>
+            <code>nmesgs</code>
+          </td><td align=left valign=top>
+            The number of object header messages.
+          </td></tr><tr><td align=left valign=top>
+            <code>nchunks&nbsp;&nbsp;</code>
+          </td><td align=left valign=top>
+            The number of chunks the object header is broken up into.
+          </td></tr>
+        </table>
+        </div>
 
         <p>
         Other fields may be added to this structure in the future.
@@ -649,17 +679,26 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
       <tr>
-	    <td valign="top"><em>hid_t</em> <code>loc_id</code></td>
-        <td valign="top">IN: File or group identifier.</td></tr>
+        <td valign="top"><em>hid_t</em> <code>loc_id</code></td>
+        <td valign="top">IN: File or group identifier.
+            <br>
+            <i>Alternative:</i> An object identifier, 
+            <code>obj_id</code>.</td></tr>
       <tr>
-	    <td valign="top"><em>const char</em> <code>*name</code></td>
-        <td valign="top">IN: Name of the object for which status is being sought.</td></tr>
+        <td valign="top"><em>const char</em> <code>*name</code></td>
+        <td valign="top">IN: Name of the object for which status is being 
+            sought.
+            <br>
+            <i>Alternative:</i> If the preceding parameter is the 
+            object&rsquo;s direct identifier, i.e., the <code>obj_id</code>, 
+            this parameter should be a dot (<code>.</code>).</td></tr>
 	  <tr>
-	    <td valign="top"><em>hbool_t</em> <code>follow_link</code></td>
+        <td valign="top"><em>hbool_t</em> <code>follow_link</code></td>
         <td valign="top">IN: Link flag.</td></tr>
       <tr>
-	    <td valign="top"><em>H5G_stat_t</em>&nbsp;<code>*statbuf&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-        <td valign="top">OUT: Buffer in which to return information about the object.</td></tr>
+        <td valign="top"><em>H5G_stat_t</em>&nbsp;<code>*statbuf&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+        <td valign="top">OUT: Buffer in which to return information about 
+            the object.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
     <dd> Returns a non-negative value if successful, with the fields of 
@@ -674,7 +713,7 @@
 	</pre>
 -->		
 		
-		<!--<dt><strong>Non-C API(s):</strong>
+        <!--<dt><strong>Non-C API(s):</strong>
     	<dd>
         
         <img src="Graphics/Java.gif"> 
@@ -695,6 +734,7 @@
     </table></ul>
 </dl>
 
+
 <!-- NEW PAGE -->
 <!-- HEADER RIGHT "H5Gget_objname_by_idx" -->
 <hr>
@@ -1532,7 +1572,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -1556,7 +1596,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -1564,13 +1604,13 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 25 May 2004");
+document.writeln("Last modified: 6 September 2006");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/RM_H5I.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5I.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5I.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,27 +17,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -60,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -340,7 +340,8 @@
 <dl>
 <dt><strong>Name:</strong> <a name="Identify-GetName">H5Iget_name</a>
 <dt><strong>Signature:</strong>
-    <dd><em>ssize_t</em> <code>H5Iget_name</code>(<em>hid_t</em> <code>obj_id</code>,
+    <dd><em>ssize_t</em> <code>H5Iget_name</code>(
+                     <em>hid_t</em> <code>obj_id</code>,
 		     <em>char *</em><code>name</code>,
 		     <em>size_t</em> <code>size</code>
                      )
@@ -375,25 +376,30 @@
 	or if the name is <code>NULL</code>, <code>H5Iget_name</code>
         returns <code>0</code> (zero).
 	<p>
+        <code>H5Iget_name</code> cannot be used with an object identifier
+        returned by <code>H5Rdereference</code>;  
+        the function will not be able to determine a valid object name.
+	<p>
 	Note that an object in an HDF5 file may have multiple names,
 	varying according to the path through the HDF5 group 
 	hierarchy used to reach that object.
 <dt><strong>Parameters:</strong> 
     <ul><table>
       <tr>
-	    <td valign="top"><em>hid_t</em>&nbsp;<code>obj_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+        <td valign="top"><em>hid_t</em>&nbsp;<code>obj_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
         <td valign="top">IN: Identifier of the object.  
-            This identifier can refer to a group, dataset, or named datatype.</td></tr>
+            This identifier can refer to a group, dataset, 
+            or named datatype.</td></tr>
       <tr>
-	    <td valign="top"><em>char *</em><code>name</code></td> 
+        <td valign="top"><em>char *</em><code>name</code></td> 
         <td valign="top">OUT: A name associated with the identifier.</td></tr>
       <tr>
-	    <td valign="top"><em>size_t size</em></td> 
+        <td valign="top"><em>size_t</em> <code>size</code></td> 
         <td valign="top">IN: The size of the <code>name</code> buffer.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong> 
-    <dd>Returns the length of the name if successful,
-        returning <code>0</code> (zero) if no name is associated with the identifier.
+    <dd>Returns the length of the name if successful, returning <code>0</code> 
+        (zero) if no name is associated with the identifier.
         Otherwise returns a negative value.
 <dt><strong>Fortran90 Interface:</strong> h5iget_name_f
     <dd>
@@ -409,7 +415,7 @@
 END SUBROUTINE h5iget_name_f
 	</pre>		
 		
-		<!--<dt><strong>Non-C API(s):</strong>
+        <!--<dt><strong>Non-C API(s):</strong>
     	<dd>
         
         <img src="Graphics/Java.gif"> 
@@ -418,14 +424,14 @@
 <dt><strong>History:</strong>
     <ul><table width="90%">
         <tr>
-		  <td valign="top" align="left" width="10%">
-		    <strong>Release</strong>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td valign="top" align="left" width="10%">
+            <strong>Release</strong>&nbsp;&nbsp;&nbsp;&nbsp;</td>
           <td valign="top" align="left">
-		    <strong>C</strong></td></tr>
+            <strong>C</strong></td></tr>
         <tr>
-		  <td valign="top">1.6.0</td>
+          <td valign="top">1.6.0</td>
           <td valign="top">
-		    Function introduced in this release.</td></tr>
+            Function introduced in this release.</td></tr>
     </table></ul>
 </dl>
 
@@ -670,13 +676,14 @@
     </table></ul>
 </dl>
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -700,20 +707,21 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
+<address>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 4 October 2005");
+document.writeln("Last modified: 12 October 2006");
 -->
 </SCRIPT>
 

Modified: packages/hdf5/trunk/doc/html/RM_H5P.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5P.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5P.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,8 +17,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -28,13 +29,14 @@
 <!-- HEADER RIGHT " " -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -58,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -108,7 +110,6 @@
     <li><a href="#Property-CopyProp">H5Pcopy_prop</a> 
     <li><a href="#Property-Remove">H5Premove</a> 
     <li><a href="#Property-Unregister">H5Punregister</a> 
-    <li><a href="#Property-CloseList">H5Pclose_list</a> 
     <li><a href="#Property-CloseClass">H5Pclose_class</a> 
   </ul>
 </td>
@@ -159,6 +160,8 @@
     <li><a href="#Property-GetFaplGass">H5Pget_fapl_gass</a>
     <li><a href="#Property-SetFaplSrb">H5Pset_fapl_srb</a>
     <li><a href="#Property-GetFaplSrb">H5Pget_fapl_srb</a>
+    <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a>
+    <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a>
 <!-- FOR USE WITH PRINT VERSION ---------------------------------------->
     <!--
     <li><a href="#Property-xxx">xxx</a>
@@ -258,11 +261,6 @@
     <li><a href="#Property-GetDxplMpio">H5Pget_dxpl_mpio</a>&nbsp;&nbsp;&nbsp;||
     <li><a href="#Property-SetDxplMulti">H5Pset_dxpl_multi</a>
     <li><a href="#Property-GetDxplMulti">H5Pget_dxpl_multi</a>
-    <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> 
-    <li><a href="#Property-GetMultiType">H5Pget_multi_type</a>
-        <br>&nbsp;
-    <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a>
-    <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a>
   </ul>
 </td>
 <td valign="top" width="3%">&nbsp;</td>
@@ -309,7 +307,6 @@
     <li><a href="#Property-CopyProp">H5Pcopy_prop</a> 
     <li><a href="#Property-Remove">H5Premove</a> 
     <li><a href="#Property-Unregister">H5Punregister</a> 
-    <li><a href="#Property-CloseList">H5Pclose_list</a> 
     <li><a href="#Property-CloseClass">H5Pclose_class</a> 
     </ul>
 
@@ -325,7 +322,7 @@
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   available only in <br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-  the parallel HDF5</i>
+  the parallel HDF5<br>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   library.</i>
 
@@ -388,6 +385,8 @@
     <li><a href="#Property-GetFaplGass">H5Pget_fapl_gass</a>
     <li><a href="#Property-SetFaplSrb">H5Pset_fapl_srb</a>
     <li><a href="#Property-GetFaplSrb">H5Pget_fapl_srb</a>
+    <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a>
+    <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a>
     <!--
     <li><a href="#Property-xxx">xxx</a>
     <li><a href="#Property-xxx">xxx</a>&nbsp;&nbsp;&nbsp;||
@@ -454,11 +453,6 @@
     <li><a href="#Property-GetDxplMpio">H5Pget_dxpl_mpio</a>&nbsp;&nbsp;&nbsp;||
     <li><a href="#Property-SetDxplMulti">H5Pset_dxpl_multi</a>
     <li><a href="#Property-GetDxplMulti">H5Pget_dxpl_multi</a>
-    <li><a href="#Property-SetMultiType">H5Pset_multi_type</a> 
-    <li><a href="#Property-GetMultiType">H5Pget_multi_type</a>
-        <br>&nbsp;
-    <li><a href="#Property-SetSmallData">H5Pset_small_data_block_size</a>
-    <li><a href="#Property-GetSmallData">H5Pget_small_data_block_size</a>
     </ul>
 
 </td></tr>
@@ -489,7 +483,6 @@
       <li><a href="#Property-AllFiltersAvail">H5Pall_filters_avail</a>
       <li><a href="#Property-Close">H5Pclose</a>
       <li><a href="#Property-CloseClass">H5Pclose_class</a>
-      <li><a href="#Property-CloseList">H5Pclose_list</a>
       <li><a href="#Property-Copy">H5Pcopy</a>
       <li><a href="#Property-CopyProp">H5Pcopy_prop</a>
       <li><a href="#Property-Create">H5Pcreate</a>
@@ -957,60 +950,7 @@
         -->
 </dl>
 
-<!-- NEW PAGE -->
-<!-- HEADER RIGHT "H5Pclose_list" -->
-<hr>
-<dl>
-  <dt><strong>Name:</strong> <a name="Property-CloseList">H5Pclose_list</a>
 
-  <dt><strong>Signature:</strong>
-    <dd><em>herr_t</em> <code>H5Pclose_list</code>(
-                  <em>hid_t</em> <code>plist</code>
-	)
-
-  <dt><strong>Purpose:</strong>
-    <dd>Closes a property list.
-
-  <dt><strong>Description:</strong>
-    <dd><code>H5Pclose_list</code> closes a property list.  
-    
-    <p>
-    If a <code>close</code> callback exists for the property list class, 
-    it is called before the property list is destroyed.  
-    If <code>close</code> callbacks exist for any individual properties 
-    in the property list, they are called after the class 
-    <code>close</code> callback.
-
-  <dt><strong>Parameters:</strong>
-    <ul><table>
-    <tr>
-        <td><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code><td>
-        <td>IN: Property list to close</td></tr>
-    </table></ul>
-    
-  <dt><strong>Returns:</strong>
-    <dd>Success: a non-negative value
-    <dd>Failure: a negative value
-
-  <dt><strong>Fortran90 Interface:</strong> h5pclose_list_f
-    <dd>
-	<pre>
-SUBROUTINE h5pclose_list_f(plist, hdferr)
-  IMPLICIT NONE
-  INTEGER(HID_T), INTENT(IN) :: plist  ! Property list identifier to close
-  INTEGER, INTENT(OUT) :: hdferr       ! Error code
-                                       ! 0 on success and -1 on failure
-END SUBROUTINE h5pclose_list_f
-	</pre>		
-		
-		<!--<dt><strong>Non-C API(s):</strong>
-    	<dd>
-        
-        <img src="Graphics/Java.gif"> 
-        <img src="Graphics/C++.gif">
-        -->
-</dl>
-
 <!-- NEW PAGE -->
 <!-- HEADER RIGHT "H5Pcopy" -->
 <hr>
@@ -1614,7 +1554,7 @@
 
   <dt><strong>Signature:</strong>
     <dd><em>htri_t</em> <code>H5Pexist</code>(
-                  <em>hid_t</em> <code>id</code>;
+                  <em>hid_t</em> <code>id</code>,
                   <em>const char *</em><code>name</code>
 	)
 
@@ -1892,14 +1832,14 @@
 	This property is set in the dataset creation property list 
 	<code>plist_id</code>.
         <p>
-	The timing setting is returned in <code>fill_time</code> as one of the 
+	The timing setting is returned in <code>alloc_time</code> as one of the 
 	following values:
 	<table border=0 >
            <tr valign="top"><td rowspan="4">&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
 	     <code>H5D_ALLOC_TIME_DEFAULT</code>&nbsp;&nbsp; 
              </td><td>
 	     Uses the default allocation time, based on the dataset storage method.<br>
-	     See the <code>fill_time</code> description in 
+	     See the <code>alloc_time</code> description in 
 	     <a href="#Property-SetAllocTime">H5Pset_alloc_time</a> for 
 	     default allocation times for various storage methods.
 	   </td></tr><tr valign="top"><td>
@@ -2208,17 +2148,17 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>plist</code></td>
+            <td valign="top"><em>hid_t</em> <code>plist</code></td>
             <td valign="top">IN: Identifier of property list to query.</td></tr>
         <tr>
-		    <td valign="top"><em>int</em>&nbsp;<code>max_ndims&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>int</em>&nbsp;<code>max_ndims&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">IN: Size of the <code>dims</code> array.</td></tr>
         <tr>
-		    <td valign="top"><em>hsize_t *</em> <code>dims</code></td>
+            <td valign="top"><em>hsize_t *</em> <code>dims</code></td>
             <td valign="top">OUT: Array to store the chunk dimensions.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
-    <dd>Returns chunk dimensionality successful;
+    <dd>Returns chunk dimensionality if successful;
         otherwise returns a negative value.
   <dt><strong>Fortran90 Interface:</strong> h5pget_chunk_f
     <dd>
@@ -2878,11 +2818,11 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
+            <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
             <td valign="top">IN: File access property list identifier.</td></tr>
         <tr>
-		    <td valign="top"><em>hsize_t&nbsp;*</em><code>offset&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-            <td valign="top">IN: Offset in bytes within the HDF5 file.</td></tr>
+            <td valign="top"><em>hsize_t&nbsp;*</em><code>offset&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top">OUT: Offset in bytes within the HDF5 file.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
     <dd>Returns a non-negative value if successful;
@@ -2895,7 +2835,7 @@
 	</pre>		
 -->
 
-		<!--<dt><strong>Non-C API(s):</strong>
+        <!--<dt><strong>Non-C API(s):</strong>
     	<dd>
         
         <img src="Graphics/Java.gif"> 
@@ -2904,14 +2844,14 @@
 <dt><strong>History:</strong>
     <ul><table width="90%">
         <tr>
-		  <td valign="top" align="left" width="10%">
-		    <strong>Release</strong>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td valign="top" align="left" width="10%">
+            <strong>Release</strong>&nbsp;&nbsp;&nbsp;&nbsp;</td>
           <td valign="top" align="left">
-		    <strong>C</strong></td></tr>
+            <strong>C</strong></td></tr>
         <tr>
-		  <td valign="top">1.6.0</td>
+          <td valign="top">1.6.0</td>
           <td valign="top">
-		    Function introduced in this release.</td></tr>
+            Function introduced in this release.</td></tr>
     </table></ul>
 </dl>
 
@@ -3302,24 +3242,30 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
-            <td valign="top">IN: File access property list identifier.</td></tr>
+            <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
+            <td valign="top">IN: File access property list 
+                identifier.</td></tr>
         <tr>
-		    <td valign="top"><em>const&nbsp;H5FD_mem_t&nbsp;*</em><code>memb_map&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-            <td valign="top">OUT: Maps memory usage types to other memory usage types.</td></tr>
+            <td valign="top"><em>const&nbsp;H5FD_mem_t&nbsp;*</em><code>memb_map&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top">OUT: Maps memory usage types to other 
+                memory usage types.</td></tr>
         <tr>
-		    <td valign="top"><em>const hid_t *</em><code>memb_fapl</code></td>
-            <td valign="top">OUT: Property list for each memory usage type.</td></tr>
+            <td valign="top"><em>const hid_t *</em><code>memb_fapl</code></td>
+            <td valign="top">OUT: Property list for each memory usage 
+                 type.</td></tr>
         <tr>
-		    <td valign="top"><em>const char **</em><code>memb_name</code></td>
-            <td valign="top">OUT: Name generator for names of member files.</td></tr>
+            <td valign="top"><em>const char **</em><code>memb_name</code></td>
+            <td valign="top">OUT: Name generator for names of member 
+                 files.</td></tr>
         <tr>
-		    <td valign="top"><em>const haddr_t *</em><code>memb_addr</code></td>
-            <td valign="top">OUT:</td></tr>
+            <td valign="top"><em>const haddr_t *</em><code>memb_addr</code></td>
+            <td valign="top">OUT: The offsets within the virtual address space, 
+                from 0 (zero) to <code>HADDR_MAX</code>, 
+                at which each type of data storage begins.</td></tr>
         <tr>
-		    <td valign="top"><em>hbool_t *</em><code>relax</code></td>
-            <td valign="top">OUT: Allows read-only access to incomplete file sets 
-                when <code>TRUE</code>.</td></tr>
+            <td valign="top"><em>hbool_t *</em><code>relax</code></td>
+            <td valign="top">OUT: Allows read-only access to incomplete 
+                file sets when <code>TRUE</code>.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
     <dd>Returns a non-negative value if successful.
@@ -3486,21 +3432,25 @@
   <dd>Returns the file close degree. 
   <dt><strong>Description:</strong> 
   <dd><code>H5Pget_fclose_degree</code> returns the current setting of the file 
-    close degree property <code>fc_degree</code> in the file access property list 
-    <code>fapl_id</code>.  
-    <p> The value of <code>fc_degree</code> determines how aggressively <code>H5Fclose</code> 
-      deals with objects within a file that remain open when <code>H5Fclose</code> 
-      is called to close that file.  <code>fc_degree</code> can have any one of 
-      four valid values as described above in <a href="#Property-SetFcloseDegree"><code>H5Pset_fclose_degree</code></a>. 
+    close degree property <code>fc_degree</code> in the file access property 
+    list <code>fapl_id</code>. 
+    <p>
+    The value of <code>fc_degree</code> determines how aggressively 
+    <code>H5Fclose</code> deals with objects within a file that remain 
+    open when <code>H5Fclose</code> is called to close that file. 
+    <code>fc_degree</code> can have any one of four valid values as 
+    described in 
+    <a href="#Property-SetFcloseDegree"><code>H5Pset_fclose_degree</code></a>. 
   <dt><strong>Parameters:</strong> 
     <ul><table>
       <tr>
-	      <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
+          <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
           <td valign="top">IN: File access property list identifier.</td></tr>
       <tr>
-	      <td valign="top"><em>H5F_close_degree_t&nbsp;*</em><code>fc_degree&nbsp;&nbsp;&nbsp;&nbsp;</code></td> 
-          <td valign="top">OUT: Pointer to a location to which to return the file close degree 
-            property, the value of <code>fc_degree</code>.</td></tr>
+          <td valign="top"><em>H5F_close_degree_t&nbsp;*</em><code>fc_degree&nbsp;&nbsp;&nbsp;&nbsp;</code></td> 
+          <td valign="top">OUT: Pointer to a location to which to return the 
+              file close degree property, the value of <code>fc_degree</code>.
+      </td></tr>
     </table></ul>
   <dt><strong>Returns:</strong> 
   <dd>Returns a non-negative value if successful. Otherwise returns a negative 
@@ -3522,7 +3472,7 @@
 END SUBROUTINE h5pget_fclose_degree_f
 	</pre>		
 		
-		<!--<dt><strong>Non-C API(s):</strong>
+    	<!--<dt><strong>Non-C API(s):</strong>
     	<dd>
         
         <img src="Graphics/Java.gif"> 
@@ -3531,14 +3481,14 @@
 <dt><strong>History:</strong>
     <ul><table width="90%">
         <tr>
-		  <td valign="top" align="left" width="10%">
-		    <strong>Release</strong>&nbsp;&nbsp;&nbsp;&nbsp;</td>
+          <td valign="top" align="left" width="10%">
+            <strong>Release</strong>&nbsp;&nbsp;&nbsp;&nbsp;</td>
           <td valign="top" align="left">
-		    <strong>C</strong></td></tr>
+            <strong>C</strong></td></tr>
         <tr>
-		  <td valign="top">1.6.0</td>
+          <td valign="top">1.6.0</td>
           <td valign="top">
-		    Function introduced in this release.</td></tr>
+            Function introduced in this release.</td></tr>
     </table></ul>
 </dl>
 
@@ -3715,7 +3665,7 @@
   <dt><strong>Name:</strong> <a name="Property-GetFilter">H5Pget_filter</a>
   <dt><strong>Signature:</strong>
     <dd><em>H5Z_filter_t</em> <code>H5Pget_filter</code>(<em>hid_t</em> <code>plist</code>,
-        <em>int</em> <code>filter_number</code>,
+        <em>unsigned int</em> <code>filter_number</code>,
         <em>unsigned int *</em><code>flags</code>,
         <em>size_t *</em><code>cd_nelmts</code>,
         <em>unsigned int *</em><code>cd_values</code>,
@@ -4874,13 +4824,14 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">IN: Property list to query.</td></tr>
         <tr>
-		    <td valign="top"><em>unsigned *</em> <code>ik</code></td>
-            <td valign="top">OUT: Pointer to location to return the symbol table's B-tree 1/2 rank.</td></tr>
+            <td valign="top"><em>unsigned *</em> <code>ik</code></td>
+            <td valign="top">OUT: Pointer to location to return the 
+                symbol table's B-tree 1/2 rank.</td></tr>
         <tr>
-		    <td valign="top"><em>unsigned *</em> <code>size</code></td>
+            <td valign="top"><em>unsigned *</em> <code>size</code></td>
             <td valign="top">OUT: Pointer to location to return the symbol table's leaf node 1/2 size.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
@@ -5492,11 +5443,7 @@
     For each property in the object, <code>iter_func</code> and
     the additional information specified below are passed to the
     <code>H5P_iterate_t</code> operator function.  
-	
-	<b><i>(NOTE: <code>iter_func</code> was changed to 
-	<code>H5P_iterate_t</code> in the preceding sentence.
-	Is this correct?)</i></b>
-	
+
     <p>
     The iteration begins with the <code>idx</code>-th property in 
     the object; the next element to be processed by the operator 
@@ -5512,7 +5459,7 @@
         <ul> <dl>
             <dt><em>typedef herr_t</em> (*<code>H5P_iterate_t</code>)(
                                   <em>hid_t</em> <code>id</code>, 
-                                  <em>const char *</em><code>>name</code>, 
+                                  <em>const char *</em><code>name</code>, 
                                   <em>void *</em><code>iter_data</code>
 	        )
         </dl> </ul>
@@ -6230,7 +6177,7 @@
 	This property is set in the dataset creation property list 
 	<code>plist_id</code>.
         <p>
-	Timing is specified in <code>fill_time</code> with one of the 
+	Timing is specified in <code>alloc_time</code> with one of the 
 	following values:
 	<table border=0 >
            <tr valign="top"><td rowspan="4">&nbsp;&nbsp;&nbsp;&nbsp;</td><td>
@@ -6631,7 +6578,8 @@
     <ul><table>
         <tr>
           <td valign="top"><em>hid_t</em> <code>plist</code></td>
-          <td valign="top">IN: Identifier for property list to query.</td></tr>
+          <td valign="top">IN: Dataset creation property list
+              identifier.</td></tr>
         <tr>
           <td valign="top"><em>int</em> <code>ndims</code></td>
           <td valign="top">IN: The number of dimensions of each chunk.</td></tr>
@@ -6672,8 +6620,9 @@
 <dl>
   <dt><strong>Name:</strong> <a name="Property-SetDeflate">H5Pset_deflate</a>
   <dt><strong>Signature:</strong>
-    <dd><em>herr_t</em> <code>H5Pset_deflate</code>(<em>hid_t</em> <code>plist</code>,
-        <em>int</em> <code>level</code>
+    <dd><em>herr_t</em> <code>H5Pset_deflate</code>(
+        <em>hid_t</em> <code>plist</code>,
+        <em>uint</em> <code>level</code>
     )
   <dt><strong>Purpose:</strong>
     <dd>Sets compression method and compression level. 
@@ -6682,15 +6631,18 @@
         dataset creation property list to <code>H5D_COMPRESS_DEFLATE</code>
         and the compression level to <code>level</code>, which should 
         be a value from zero to nine, inclusive.  
+        <p>
         Lower compression levels are faster but result in less compression.  
+        <p>
         This is the same algorithm as used by the GNU gzip program.
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-            <td valign="top">IN: Identifier for the dataset creation property list.</td></tr>
+            <td valign="top"><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top">IN: Identifier for the dataset creation 
+                property list.</td></tr>
         <tr>
-		    <td valign="top"><em>int</em> <code>level</code></td>
+            <td valign="top"><em>uint</em> <code>level</code></td>
             <td valign="top">IN: Compression level.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
@@ -9498,7 +9450,7 @@
     <dd>Sets type of data property for <code>MULTI</code> driver.
   <dt><strong>Description:</strong>
     <dd><code>H5Pset_multi_type</code> sets the type of data property in the 
-        file access or data transfer property list <code>fapl_id</code>.
+        file access property list <code>fapl_id</code>.
 	This enables a user application to specify the type of data the
         application wishes to access so that the application 
 	can retrieve a file handle for low-level access to the particular member 
@@ -9548,10 +9500,10 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
-            <td valign="top">IN: File access property list or data transfer property list identifier.</td></tr>
+            <td valign="top"><em>hid_t</em> <code>fapl_id</code></td>
+            <td valign="top">IN: File access property list identifier.</td></tr>
         <tr>
-		    <td valign="top"><em>H5FD_mem_t</em>&nbsp;<code>type&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>H5FD_mem_t</em>&nbsp;<code>type&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">OUT: Type of data.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
@@ -9985,13 +9937,14 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-            <td valign="top">IN: Identifier for property list to query.</td></tr>
+            <td valign="top"><em>hid_t</em>&nbsp;<code>plist&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top">IN: File creation property list 
+                identifier.</td></tr>
         <tr>
-		    <td valign="top"><em>unsigned</em> <code>ik</code></td>
+            <td valign="top"><em>unsigned</em> <code>ik</code></td>
             <td valign="top">IN: Symbol table tree rank.</td></tr>
         <tr>
-		    <td valign="top"><em>unsigned</em> <code>lk</code></td>
+            <td valign="top"><em>unsigned</em> <code>lk</code></td>
             <td valign="top">IN: Symbol table node size.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
@@ -10056,7 +10009,7 @@
         Before proceeding, be aware that there are factors that affect
         your rights and ability to use SZIP compression.
         See the documents at
-	<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html" 
+	<a href="http://www.hdfgroup.org/doc_resource/SZIP/index.html" 
         target="External">SZIP Compression in HDF5</a>
 	for <em>important information regarding terms of use and 
 	the SZIP copyright notice</em>,
@@ -10785,13 +10738,14 @@
 -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -10815,20 +10769,21 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
+<address>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 5 October 2005");
+document.writeln("Last modified: 12 October 2006");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/RM_H5R.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5R.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5R.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -37,7 +36,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -61,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -274,17 +273,22 @@
 <dl>
 <dt><strong>Name:</strong> <a name="Reference-Dereference">H5Rdereference</a>
 <dt><strong>Signature:</strong>
-    <dd><em>hid_t</em> <code>H5Rdereference</code>(<em>hid_t</em> <code>dataset</code>,
+    <dd><em>hid_t</em> <code>H5Rdereference</code>(<em>hid_t</em> <code>obj_id</code>,
         <em>H5R_type_t</em> <code>ref_type</code>,
         <em>void *</em><code>ref</code>
     )
 <dt><strong>Purpose:</strong>
     <dd>Opens the HDF5 object referenced.
 <dt><strong>Description:</strong>
-    <dd>Given a reference to some object, <code>H5Rdereference</code>
-        opens that object and returns an identifier.
-        <p>
-        The parameter <code>ref_type</code> specifies the reference type
+    <dd>Given a reference, <code>ref</code>, to an object 
+      or a region in an object, <code>H5Rdereference</code>
+      opens that object and returns an identifier.
+      
+      <p>The parameter <code>obj_id</code> must be a valid identifier
+        for an object in the HDF5 file containing the referenced object,
+        including the file identifier.
+      
+      <p>The parameter <code>ref_type</code> specifies the reference type
         of <code>ref</code>. 
         <code>ref_type</code> may contain either of the following values:
         <ul>
@@ -294,49 +298,53 @@
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>dataset</code></td>
-            <td valign="top">IN: Dataset containing reference object.</td></tr>
+            <td valign="top"><em>hid_t</em> <code>obj_id</code></td>
+            <td valign="top">IN: Valid identifier for the file 
+              containing the referenced object or any object in that file.</td></tr>
         <tr>
-		    <td valign="top"><em>H5R_type_t</em>&nbsp;<code>ref_type&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>H5R_type_t</em>&nbsp;<code>ref_type&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">IN: The reference type of <code>ref</code>.</td></tr>
         <tr>
-		    <td valign="top"><em>void *</em><code>ref</code></td>
+            <td valign="top"><em>void *</em><code>ref</code></td>
             <td valign="top">IN: Reference to open.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
-    <dd>Returns valid identifier if successful;
+    <dd>Returns identifier of referenced object if successful;
         otherwise returns a negative value.
 <dt><strong>Fortran90 Interface:</strong> h5rdereference_f
 
     <p><strong>To dereference an object</strong> 
     <dd>
-	<pre>
-SUBROUTINE h5rdereference_f(dset_id, ref, obj_id, hdferr) 
+    <pre>
+SUBROUTINE h5rdereference_f(obj_id, ref, ref_obj_id, hdferr) 
   IMPLICIT NONE
-  INTEGER(HID_T), INTENT(IN) :: dset_id   ! Dataset identifier 
-  TYPE(hobj_ref_t_f), INTENT(IN) :: ref   ! Object reference 
-  INTEGER(HID_T), INTENT(OUT) :: obj_id   ! Object identifier 
-  INTEGER, INTENT(OUT) :: hdferr          ! Error code 
+  INTEGER(HID_T), INTENT(IN) :: obj_id        ! Valid identifier
+                                              ! in file 
+  TYPE(hobj_ref_t_f), INTENT(IN) :: ref       ! Object reference 
+  INTEGER(HID_T), INTENT(OUT) :: ref_obj_id   ! Identifier of
+                                              ! referenced object
+  INTEGER, INTENT(OUT) :: hdferr              ! Error code 
 
 END SUBROUTINE h5rdereference_f
-	</pre>
-</dt>
-	
+    </pre>
+
 <dt><strong>To dereference a region</strong>	
-	<dd>
-	<pre>
-SUBROUTINE h5rdereference_f(dset_id, ref, obj_id, hdferr) 
+    <dd>
+    <pre>
+SUBROUTINE h5rdereference_f(obj_id, ref, ref_obj_id, hdferr) 
   IMPLICIT NONE
-  INTEGER(HID_T), INTENT(IN) :: dset_id        ! Dataset identifier 
+  INTEGER(HID_T), INTENT(IN) :: obj_id         ! Valid identifier
+                                               ! in file 
   TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref   ! Object reference 
-  INTEGER(HID_T), INTENT(OUT) :: obj_id        ! Object identifier 
+  INTEGER(HID_T), INTENT(OUT) :: ref_obj_id    ! Identifier of
+                                               ! referenced object
   INTEGER, INTENT(OUT) :: hdferr               ! Error code 
           
 END SUBROUTINE h5rdereference_f
-	</pre>		
-		
-		<!--<dt><strong>Non-C API(s):</strong>
-    	<dd>
+    </pre>		
+
+        <!--<dt><strong>Non-C API(s):</strong>
+        <dd>
         
         <img src="Graphics/Java.gif"> 
         <img src="Graphics/C++.gif">
@@ -562,7 +570,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -586,7 +594,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -594,13 +602,13 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 16 October 2003");
+document.writeln("Last modified: 25 January 2006");
 -->
 </SCRIPT> 
 

Modified: packages/hdf5/trunk/doc/html/RM_H5S.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5S.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5S.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -37,7 +36,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -61,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -1379,20 +1378,23 @@
 <dt><strong>Fortran90 Interface:</strong> h5sselect_elements_f
     <dd>
 	<pre>
-SUBROUTINE h5sselect_elements_f(space_id, operator, num_elements,
+SUBROUTINE h5sselect_elements_f(space_id, operator, rank, num_elements,
                                 coord, hdferr) 
   IMPLICIT NONE
   INTEGER(HID_T), INTENT(IN) :: space_id  ! Dataspace identifier 
-  INTEGER, INTENT(IN) :: op               ! Flag, valid values are:
+  INTEGER, INTENT(IN) :: operator         ! Flag, valid values are:
                                           !    H5S_SELECT_SET_F 
                                           !    H5S_SELECT_OR_F 
-  INTEGER, INTENT(IN) :: num_elements     ! Number of elements to be selected
+  INTEGER, INTENT(IN) :: rank             ! Number of dataspace 
+                                          ! dimensions</pre>
+<!-- NEW PAGE -->
+<pre>  INTEGER(SIZE_T), INTENT(IN) :: num_elements     
+                                          ! Number of elements to be 
+                                          ! selected
   INTEGER(HSIZE_T), DIMENSION(*,*), INTENT(IN) :: coord 
                                           ! Array with the coordinates
                                           ! of the selected elements:
-                                          ! coord(num_elements, rank)</pre>
-<!-- NEW PAGE -->
-<pre>
+                                          ! coord(num_elements, rank)
   INTEGER, INTENT(OUT) :: hdferr          ! Error code
                                           ! 0 on success and -1 on failure
 END SUBROUTINE h5sselect_elements_f
@@ -1906,7 +1908,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -1930,7 +1932,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -1938,13 +1940,13 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 3 October 2005");
+document.writeln("Last modified: 11 October 2006");
 -->
 </SCRIPT> 
 

Modified: packages/hdf5/trunk/doc/html/RM_H5T.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5T.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5T.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,16 +17,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -37,7 +36,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -61,7 +60,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -529,6 +528,9 @@
         The <code>loc_id</code> is either a file or group identifier  
         which, when combined with <code>name</code>, refers to a new 
         named datatype.
+        <p>
+        As is the case for any object in a group, 
+        the length of the name of a named datatype is not limited.  
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
@@ -1045,13 +1047,15 @@
 <dl>
 <dt><strong>Name:</strong> <a name="Datatype-EnumNameOf">H5Tenum_nameof</a>
 <dt><strong>Signature:</strong>
-    <dd><em>herr_t</em> <code>H5Tenum_nameof</code>(<em>hid_t</em> <code>type</code>
+    <dd><em>herr_t</em> <code>H5Tenum_nameof</code>(
+        <em>hid_t</em> <code>type</code>,
         <em>void</em> *<code>value</code>,
         <em>char</em> *<code>name</code>,
         <em>size_t</em> <code>size</code>
     )
 <dt><strong>Purpose:</strong>
-    <dd>Returns the symbol name corresponding to a specified member of an enumeration datatype.
+    <dd>Returns the symbol name corresponding to a specified 
+        member of an enumeration datatype.
 <dt><strong>Description:</strong>
     <dd><code>H5Tenum_nameof</code> finds the symbol name that 
         corresponds to the specified <code>value</code>
@@ -1066,17 +1070,18 @@
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>type</code></td>
+            <td valign="top"><em>hid_t</em> <code>type</code></td>
             <td valign="top">IN: Enumeration datatype identifier.</td></tr>
         <tr>
-		    <td valign="top"><em>void</em>&nbsp;*<code>value,&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>void</em>&nbsp;*<code>value&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">IN: Value of the enumeration datatype.</td></tr>
         <tr>
-		    <td valign="top"><em>char</em> *<code>name</code>,</td>
+            <td valign="top"><em>char</em> *<code>name</code></td>
             <td valign="top">OUT: Buffer for output of the symbol name.</td></tr>
         <tr>
-		    <td valign="top"><em>size_t</em> <code>size</code></td>
-            <td valign="top">IN: Anticipated size of the symbol name, in bytes (characters).</td></tr>
+            <td valign="top"><em>size_t</em> <code>size</code></td>
+            <td valign="top">IN: Anticipated size of the symbol name, 
+                in bytes (characters).</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
     <dd>Returns a non-negative value if successful.
@@ -1111,7 +1116,8 @@
 <dl>
 <dt><strong>Name:</strong> <a name="Datatype-EnumValueOf">H5Tenum_valueof</a>
 <dt><strong>Signature:</strong>
-    <dd><em>herr_t</em> <code>H5Tenum_valueof</code>(<em>hid_t</em> <code>type</code>
+    <dd><em>herr_t</em> <code>H5Tenum_valueof</code>(
+        <em>hid_t</em> <code>type</code>,
         <em>char</em> *<code>name</code>,
         <em>void</em> *<code>value</code>
     )
@@ -1128,14 +1134,16 @@
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>type</code></td>
+            <td valign="top"><em>hid_t</em> <code>type</code></td>
             <td valign="top">IN: Enumeration datatype identifier.</td></tr>
         <tr>
-		    <td valign="top"><em>const&nbsp;char</em>&nbsp;*<code>name,&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
-            <td valign="top">IN: Symbol name of the enumeration datatype.</td></tr>
+            <td valign="top"><em>const&nbsp;char</em>&nbsp;*<code>name&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top">IN: Symbol name of the enumeration 
+                datatype.</td></tr>
         <tr>
-		    <td valign="top"><em>void</em> *<code>value</code>,</td>
-            <td valign="top">OUT: Buffer for output of the value of the enumeration datatype.</td></tr>
+            <td valign="top"><em>void</em> *<code>value</code></td>
+            <td valign="top">OUT: Buffer for output of the value 
+                of the enumeration datatype.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
     <dd>Returns a non-negative value if successful;
@@ -1410,6 +1418,9 @@
         <p>
         Note that the library returns <code>H5T_STRING</code> for 
         both fixed-length and variable-length strings.
+        <p>
+        Note that the time datatype class, <code>H5T_TIME</code>, 
+        is not fully supported in the current version of the HDF5 Library.
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
@@ -1462,10 +1473,14 @@
 <dt><strong>Description:</strong>
     <dd><code>H5Tget_cset</code> retrieves the character set type 
         of a string datatype.  Valid character set types are:
-        <dl><ul>
-            <dt>H5T_CSET_ASCII (<code>0</code>)
-               <dd>Character set is US ASCII
-        </ul></dl>
+        <table>
+            <tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            </td><td><code>H5T_CSET_ASCII</code> &nbsp; 
+            </td><td>(<code>0</code>)
+            </td><td>&nbsp;&nbsp;&nbsp;&nbsp;
+            </td><td>Character set is US ASCII.
+            </td></tr>
+        </table>
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
@@ -2130,8 +2145,8 @@
 	</table>
         <p>
 	<code>H5Tget_native_type</code> is designed primarily for
-	use with intenger and floating point datatypes.
-	Time, bifield, opaque, and reference datatypes are returned
+	use with integer and floating point datatypes.
+	String, time, bitfield, opaque, and reference datatypes are returned
 	as a copy of <code>type_id</code>.
         <p>
         The identifier returned by <code>H5Tget_native_type</code> 
@@ -2140,10 +2155,10 @@
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em> <code>type_id</code></td>
+            <td valign="top"><em>hid_t</em> <code>type_id</code></td>
             <td valign="top">Datatype identifier for the dataset datatype.</td></tr>
         <tr>
-		    <td valign="top"><em>H5T_direction_t</em>&nbsp;<code>direction&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>H5T_direction_t</em>&nbsp;<code>direction&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">Direction of search.</td></tr>
     </table></ul>
 <!-- NEW PAGE -->
@@ -2545,13 +2560,14 @@
 <dt><strong>Purpose:</strong>
     <dd>Returns the precision of an atomic datatype.
 <dt><strong>Description:</strong>
-    <dd><code>H5Tget_precision</code> returns the precision of an atomic datatype.  The
-        precision is the number of significant bits which, unless padding is
-        present, is 8 times larger than the value returned by H5Tget_size().
+    <dd><code>H5Tget_precision</code> returns the precision of an atomic 
+        datatype.  The precision is the number of significant bits which, 
+        unless padding is present, is 8 times larger than the value returned 
+        by <code>H5Tget_size</code>.
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>hid_t</em>&nbsp;<code>type_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>hid_t</em>&nbsp;<code>type_id&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">Identifier of datatype to query.</td></tr>
     </table></ul>
 <dt><strong>Returns:</strong>
@@ -2906,7 +2922,7 @@
   INTEGER(HID_T), INTENT(IN) :: type_id   ! Datatype identifier 
   LOGICAL, INTENT(OUT)       :: status    ! Logical flag:
                                           !    .TRUE. if datatype is a 
-                                          !         varibale string
+                                          !         variable string
                                           !    .FALSE. otherwise 
   INTEGER, INTENT(OUT) :: hdferr          ! Error code
 END SUBROUTINE h5tis_variable_str_f
@@ -3203,15 +3219,19 @@
 <dt><strong>Purpose:</strong>
     <dd>Sets character set to be used.
 <dt><strong>Description:</strong>
-    <dd><code>H5Tset_cset</code> the character set to be used.
+    <dd><code>H5Tset_cset</code> sets the character set to be used.
         <p>
         HDF5 is able to distinguish between character sets of different
         nationalities and to convert between them to the extent possible.
         Valid character set types are:
-        <ul> <dl>
-            <dt>H5T_CSET_ASCII (<code>0</code>)
-               <dd>Character set is US ASCII.
-        </dl> </ul>
+        <table>
+            <tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+            </td><td><code>H5T_CSET_ASCII</code> &nbsp; 
+            </td><td>(<code>0</code>)
+            </td><td>&nbsp;&nbsp;&nbsp;&nbsp;
+            </td><td>Character set is US ASCII.
+            </td></tr>
+        </table>
 <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
@@ -3772,7 +3792,8 @@
 <dt><strong>Description:</strong>
     <dd><code>H5Tset_precision</code> sets the precision of an atomic datatype.  
         The precision is the number of significant bits which, unless padding 
-        is present, is 8 times larger than the value returned by H5Tget_size().
+        is present, is 8 times larger than the value returned by 
+        <code>H5Tget_size</code>.
         <P>If the precision is increased then the offset is decreased and then
             the size is increased to insure that significant bits do not "hang
             over" the edge of the datatype.
@@ -4201,7 +4222,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -4225,7 +4246,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -4233,13 +4254,13 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 7 November 2005");
+document.writeln("Last modified: 13 June 2006");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/RM_H5Z.html
===================================================================
--- packages/hdf5/trunk/doc/html/RM_H5Z.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/RM_H5Z.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,6 +8,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -17,16 +18,14 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
@@ -38,7 +37,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -62,7 +61,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -175,7 +174,7 @@
 <dl>
   <dt><strong>Name:</strong> <a name="Compression-FilterAvail">H5Zfilter_avail</a>
   <dt><strong>Signature:</strong>
-    <dd><em>herr_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>)
+    <dd><em>htri_t</em> <code>H5Zfilter_avail</code>(<em>H5Z_filter_t</em> <code>filter</code>)
   <dt><strong>Purpose:</strong>
     <dd>Determines whether a filter is available.
   <dt><strong>Description:</strong>
@@ -184,13 +183,14 @@
   <dt><strong>Parameters:</strong>
     <ul><table>
         <tr>
-		    <td valign="top"><em>H5Z_filter_t</em>&nbsp;<code>filter&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
+            <td valign="top"><em>H5Z_filter_t</em>&nbsp;<code>filter&nbsp;&nbsp;&nbsp;&nbsp;</code></td>
             <td valign="top">IN: Filter identifier.
               See the introduction to this section of the reference manual 
               for a list of valid filter identifiers.</td></tr>
     </table></ul>
   <dt><strong>Returns:</strong>
-    <dd>Returns a non-negative value if successful;
+    <dd>Returns a Boolean value (<code>TRUE</code>/<code>FALSE</code>) 
+        if successful; 
         otherwise returns a negative value.
   <dt><strong>Fortran90 Interface:</strong> h5zfilter_avail_f
     <dd>
@@ -669,7 +669,7 @@
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -693,7 +693,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -701,13 +701,13 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --><SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified:  2 September 2004");
+document.writeln("Last modified:  13 June 2006");
 -->
 </SCRIPT>
  

Modified: packages/hdf5/trunk/doc/html/References.html
===================================================================
--- packages/hdf5/trunk/doc/html/References.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/References.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -601,14 +601,15 @@
 -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -642,7 +643,7 @@
 </center>
 <hr>
 <!-- #EndLibraryItem --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
 Describes HDF5 Release 1.4.5, February 2003
 </address>

Modified: packages/hdf5/trunk/doc/html/TechNotes/Basic_perform.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/Basic_perform.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/Basic_perform.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->
- 
-  <h1>Description of the three basic performance tools</h1>
+<!-- #EndLibraryItem --><h1>Description of the three basic performance tools</h1>
 
     <h2>iopipe</h2>
   <p>Times reads and writes to an HDF5 2-d dataset and compares that with
@@ -87,7 +84,7 @@
 
   <p>Invoke as `overhead usage' for more information.
   <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Tue Mar 17 11:13:35 EST 1998 -->
 <!-- hhmts start -->
 Last modified: Jun 4, 2003

Modified: packages/hdf5/trunk/doc/html/TechNotes/BigDataSmMach.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/BigDataSmMach.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/BigDataSmMach.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
   
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->
- 
-  <h1>Big Datasets on Small Machines</h1>
+<!-- #EndLibraryItem --><h1>Big Datasets on Small Machines</h1>
 
     <h2>1. Introduction</h2>
 
@@ -134,7 +131,7 @@
       struct feasible.
 
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Fri Apr 10 13:26:04 EDT 1998 -->
 <!-- hhmts start -->
 Last modified: Sun Jul 19 11:37:25 EDT 1998

Modified: packages/hdf5/trunk/doc/html/TechNotes/ChunkingStudy.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/ChunkingStudy.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/ChunkingStudy.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
   
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<i> 
+<!-- #EndLibraryItem --><i> 
 This document is of interest primarily for its discussion of the
 HDF team's motivation for implementing raw data caching.  
 At a more abstract level, the discussion of the principles of 
@@ -199,12 +196,15 @@
       increase in the amount of data transfered.
 
     <hr>
-    <address><a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a></address>
+    THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <!-- Created: Fri Jan 30 21:04:49 EST 1998 -->
+<br>
 <!-- hhmts start -->
 Last modified: 30 Jan 1998 (technical content)
 <br>
 Last modified: 9 May 2000 (editor's note)
+<br>
+Last modified: 28 March 2007 (Help Desk contact only)
 <!-- hhmts end -->
   </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/TechNotes/CodeReview.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/CodeReview.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/CodeReview.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,9 +6,9 @@
   <body>
   
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -18,14 +18,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem --> 
-   
-  <center><h1>Code Review 1</h1></center>
+<!-- #EndLibraryItem --><center><h1>Code Review 1</h1></center>
 
     <h3>Some background...</h3>
     <p>This is one of the functions exported from the
@@ -312,7 +309,7 @@
     </pre></code>
     
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Sat Nov  8 17:09:33 EST 1997 -->
 <!-- hhmts start -->
 Last modified: Mon Nov 10 15:33:33 EST 1997

Modified: packages/hdf5/trunk/doc/html/TechNotes/Daily_Test_Explained.htm
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/Daily_Test_Explained.htm	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/Daily_Test_Explained.htm	2007-09-25 08:53:17 UTC (rev 1105)
@@ -560,9 +560,9 @@
 <body lang=EN-US style='tab-interval:.5in'>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -572,15 +572,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><div class=Section1>
 
-<div class=Section1>
-
 <h1 align=center style='text-align:center'>Daily Test Explained</h1>
 
 <h2>Requirements for a Daily Test Host</h2>

Modified: packages/hdf5/trunk/doc/html/TechNotes/ExternalFiles.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/ExternalFiles.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/ExternalFiles.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
   
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem --> 
-   
-  <center><h1>External Files in HDF5</h1></center>
+<!-- #EndLibraryItem --><center><h1>External Files in HDF5</h1></center>
 
     <h3>Overview of Layers</h3>
 
@@ -291,7 +288,7 @@
       start.
 
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Sat Nov  8 18:08:52 EST 1997 -->
 <!-- hhmts start -->
 Last modified: Tue Sep  8 14:43:32 EDT 1998

Modified: packages/hdf5/trunk/doc/html/TechNotes/FreeLists.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/FreeLists.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/FreeLists.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,9 +6,9 @@
 <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -18,15 +18,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><h1>Memory Management and Free Lists</h1>
 
-<h1>Memory Management and Free Lists</h1>
-
 <pre>
 
 At Release 1.2.2, free list management code was introduced to the HDF5 
@@ -113,7 +110,7 @@
 memory used by the library from the peak usage required.  The library 
 automatically garbage collects all the free lists when the application ends.
 
-Questions should be sent to the HDF Help Desk at hdfhelp at ncsa.uiuc.edu.
+Questions should be sent to the THG Help Desk at <img src="../Graphics/help.png" align=top height=16>.
 
 
 ===========================================
@@ -217,8 +214,9 @@
 
 
 ===========================================
-Last Modified:  3 May 2000
-HDF Help Desk:  hdfhelp at ncsa.uiuc.edu
+Last modified:  3 May 2000
+Last modified:  28 March 2007 (Help Desk contact only)
+THG Help Desk:  <img src="../Graphics/help.png" align=top height=16>
 
 </pre>
 </body>

Modified: packages/hdf5/trunk/doc/html/TechNotes/H4-H5Compat.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/H4-H5Compat.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/H4-H5Compat.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
   
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,15 +19,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->  
+<!-- #EndLibraryItem --><h1>Backward/Forward Compatability</h1>
 
-  <h1>Backward/Forward Compatability</h1>
-
     <p>The HDF5 development must proceed in such a manner as to
       satisfy the following conditions:
 
@@ -283,7 +280,7 @@
 
 
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Fri Oct  3 11:52:31 EST 1997 -->
 <!-- hhmts start -->
 Last modified: Wed Oct  8 12:34:42 EST 1997

Modified: packages/hdf5/trunk/doc/html/TechNotes/HeapMgmt.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/HeapMgmt.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/HeapMgmt.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,15 +14,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><h1>Heap Management in HDF5</h1>
 
-<h1>Heap Management in HDF5</h1>
-
 <pre>
 
 Heap functions are in the H5H package.
@@ -94,9 +91,10 @@
 	Returns success or failure.
 
 ===========================================
-Last Modified:  8 July 1998 (technical content)
-Last Modified:  28 April 2000 (included in HDF5 Technical Notes)
-HDF Help Desk:  hdfhelp at ncsa.uiuc.edu
+Last modified:  8 July 1998 (technical content)
+Last modified:  28 April 2000 (included in HDF5 Technical Notes)
+Last modified:  28 March 2007 (Help Desk contact only)
+THG Help Desk:  <img src="../Graphics/help.png" align=top height=16>
 
 </pre>
 

Modified: packages/hdf5/trunk/doc/html/TechNotes/IOPipe.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/IOPipe.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/IOPipe.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
   
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->
-  
-  <h1>The Raw Data I/O Pipeline</h1>
+<!-- #EndLibraryItem --><h1>The Raw Data I/O Pipeline</h1>
 
     <p>The HDF5 raw data pipeline is a complicated beast that handles
       all aspects of raw data storage and transfer of that data

Modified: packages/hdf5/trunk/doc/html/TechNotes/LibMaint.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/LibMaint.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/LibMaint.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,15 +14,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><h1>Information for HDF5 Maintainers</h1>
 
-<h1>Information for HDF5 Maintainers</h1>
-
 <pre>
 
 * You can run make from any directory.  However, running in a
@@ -137,9 +134,10 @@
 
 
 ===========================================
-Last Modified:  15 October 1999 (technical content)
-Last Modified:  28 April 2000 (included in HDF5 Technical Notes)
-HDF Help Desk:  hdfhelp at ncsa.uiuc.edu
+Last modified:  15 October 1999 (technical content)
+Last modified:  28 April 2000 (included in HDF5 Technical Notes)
+Last modified:  28 March 2007 (Help Desk contact only)
+THG Help Desk:  <img src="../Graphics/help.png" align=top height=16>
 
 </pre>
 

Modified: packages/hdf5/trunk/doc/html/TechNotes/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/TechNotes/MemoryMgmt.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/MemoryMgmt.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/MemoryMgmt.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->
-   
-  <h1>Memory Management in HDF5</h1>
+<!-- #EndLibraryItem --><h1>Memory Management in HDF5</h1>
 
       <!-- ---------------------------------------------------------------- -->
       <h2>Is a Memory Manager Necessary?</h2>
@@ -522,7 +519,7 @@
 
 
       <hr>
-      <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+      <address>Robb Matzke</address>
 <!-- Created: Thu Jul 24 15:16:40 PDT 1997 -->
 <!-- hhmts start -->
 Last modified: Thu Jul 31 14:41:01 EST 

Modified: packages/hdf5/trunk/doc/html/TechNotes/MoveDStruct.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/MoveDStruct.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/MoveDStruct.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->
-   
-  <h1>Relocating a File Data Structure</h1>
+<!-- #EndLibraryItem --><h1>Relocating a File Data Structure</h1>
 
       <p>Since file data structures can be cached in memory by the H5AC
 	package it becomes problematic to move such a data structure in
@@ -78,7 +75,7 @@
 
 
       <hr>
-      <address><a href="mailto:robb at maya.nuance.com">Robb Matzke</a></address>
+      <address>Robb Matzke</address>
 <!-- Created: Mon Jul 14 15:09:06 EST 1997 -->
 <!-- hhmts start -->
 Last modified: Mon Jul 14 15:38:29 EST 

Modified: packages/hdf5/trunk/doc/html/TechNotes/NamingScheme.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/NamingScheme.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/NamingScheme.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,9 +6,9 @@
 <BODY bgcolor="#ffffff">
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -18,14 +18,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<H1>
+<!-- #EndLibraryItem --><H1>
 <FONT color="#c80028">
  <I> <B> <CENTER>  HDF5 Naming Scheme for </CENTER> </B> </I> 
 </FONT></H1>
@@ -43,10 +40,9 @@
 </UL>
 <P>
 <center>
-	 Authors: <A HREF = "mailto:koziol at ncsa.uiuc.edu">
-        <I>Quincey Koziol</I> </A> and 
-                  <A HREF = "mailto:matzke at llnl.gov">   
-        <I>		  Robb Matzke </I> </A>   
+	 Authors: 
+        <I>Quincey Koziol</I> and 
+        <I>Robb Matzke </I> 
 
 </center>
 <UL>
@@ -303,15 +299,11 @@
 </UL>
 <p>
 <H6>
-<center>
-	 This file /hdf3/web/hdf/internal/HDF_standard/HDF5.coding_standard.html is
-	 maintained by Elena Pourmal <A HREF = "mailto:epourmal at ncsa.uiuc.edu">
-         <I>epourmal at ncsa.uiuc.edu</I> </A>.
-</center>
+This file maintained by Elena Pourmal. 
 <p>
-<center>
-          Last modified August 5, 1997
-</center>
+Last modified: August 5, 1997
+<br>
+Last modified: March 28, 2007 (Removed out-of-date contact information only)
 
 </H6>
 </BODY>

Modified: packages/hdf5/trunk/doc/html/TechNotes/ObjectHeader.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/ObjectHeader.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/ObjectHeader.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,15 +14,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><h1>Object Headers</h1>
 
-<h1>Object Headers</h1>
-
 <pre>
 
 haddr_t
@@ -82,9 +79,10 @@
 	  
 
 ===========================================
-Last Modified:  8 July 1998 (technical content)
-Last Modified:  28 April 2000 (included in HDF5 Technical Notes)
-HDF Help Desk:  hdfhelp at ncsa.uiuc.edu
+Last modified:  8 July 1998 (technical content)
+Last modified:  28 April 2000 (included in HDF5 Technical Notes)
+Last modified:  28 March 2007 (Help Desk contact only)
+THG Help Desk:  <img src="../Graphics/help.png" align=top height=16>
 
 </pre>
 

Modified: packages/hdf5/trunk/doc/html/TechNotes/RawDStorage.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/RawDStorage.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/RawDStorage.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-  <!-- separator -->
-  <!--
+<!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-  <!-- separator -->
-  <!-- #EndLibraryItem -->
- 
-  <h1>Raw Data Storage in HDF5</h1>
+<!-- #EndLibraryItem --><h1>Raw Data Storage in HDF5</h1>
 
     <p>This document describes the various ways that raw data is
       stored in an HDF5 file and the object header messages which
@@ -286,7 +283,7 @@
     </dl>
 
     <hr>
-    <address><a href="mailto:robb at arborea.spizella.com">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Fri Oct  3 09:52:32 EST 1997 -->
 <!-- hhmts start -->
 Last modified: Tue Nov 25 12:36:50 EST 1997

Modified: packages/hdf5/trunk/doc/html/TechNotes/ReservedFileSpace.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/ReservedFileSpace.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/ReservedFileSpace.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,9 +6,9 @@
    <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -18,15 +18,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->   
+<!-- #EndLibraryItem --><hl>Reserved File Address Space</hl>
 
-<hl>Reserved File Address Space</hl>
-
       <p>HDF5 files use 8-byte addresses by default, but users can change this to 2, 4, or even 16 bytes.  This means that it is possible to have files that only address 64 KB of space, and thus that HDF must handle the case of files that have enough space on disk but not enough internal address space to be written.</p>
 
       <p>Thus, every time space is allocated in a file, HDF needs to check that this allocation is within the file’s address space.  If not, HDF should output an error and ensure that all the data currently in the file (everything that is still addressable) is successfully written to disk.</p>

Modified: packages/hdf5/trunk/doc/html/TechNotes/SWControls.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/SWControls.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/SWControls.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -10,9 +10,9 @@
 <BODY LINK="#0000ff" VLINK="#800080">
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -22,15 +22,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><H1>HDF5 Software Controls</H1>
 
-<H1>HDF5 Software Controls</H1>
-
 <P>
 <I>(Work in progress draft)</i>
 </P>
@@ -106,12 +103,13 @@
 <HR>
 </P>
 
-<ADDRESS>
-<A HREF="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</A>
-</ADDRESS>
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 
-<P><!-- Created: Fri Oct  3 11:52:31 EST 1997 --><!-- hhmts start -->Last
-modified: December 11, 2000 <!-- hhmts end --></P>
+<P><!-- Created: Fri Oct  3 11:52:31 EST 1997 --><!-- hhmts start -->
+Last modified: December 11, 2000 
+<!-- hhmts end -->
+<br>
+Last modified: March 28, 2007 (Help Desk contact only)
 
 </BODY>
 </HTML>

Modified: packages/hdf5/trunk/doc/html/TechNotes/SymbolTables.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/SymbolTables.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/SymbolTables.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -14,15 +14,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><h1>Symbol Table Caching Issues</h1>
 
-<h1>Symbol Table Caching Issues</h1>
-
 <pre>
 
 A number of issues involving caching of object header messages in
@@ -339,9 +336,10 @@
 
 
 ===========================================
-Last Modified:  8 July 1998 (technical content)
-Last Modified:  28 April 2000 (included in HDF5 Technical Notes)
-HDF Help Desk:  hdfhelp at ncsa.uiuc.edu
+Last modified:  8 July 1998 (technical content)
+Last modified:  28 April 2000 (included in HDF5 Technical Notes)
+Last modified:  28 March 2007 (Help Desk contact only)
+THG Help Desk:  <img src="../Graphics/help.png" align=top height=16>
 
 </pre>
   

Modified: packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Dget_offset.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Dget_offset.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Dget_offset.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,9 +8,9 @@
 <body text="#000000" bgcolor="#FFFFFF">
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -20,14 +20,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<STYLE type="text/css">
+<!-- #EndLibraryItem --><STYLE type="text/css">
 OL.loweralpha { list-style-type: lower-alpha }
 OL.upperroman { list-style-type: upper-roman }
 </STYLE>

Modified: packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Tget_native_type.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Tget_native_type.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/TestReview/H5Tget_native_type.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,9 +8,9 @@
 <body text="#000000" bgcolor="#FFFFFF">
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -20,14 +20,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<STYLE type="text/css">
+<!-- #EndLibraryItem --><STYLE type="text/css">
 OL.loweralpha { list-style-type: lower-alpha }
 OL.upperroman { list-style-type: upper-roman }
 </STYLE>

Modified: packages/hdf5/trunk/doc/html/TechNotes/TestReview.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/TestReview.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/TestReview.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,9 +8,9 @@
 <body text="#000000" bgcolor="#FFFFFF">
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -20,14 +20,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<STYLE type="text/css">
+<!-- #EndLibraryItem --><STYLE type="text/css">
 OL.loweralpha { list-style-type: lower-alpha }
 OL.upperroman { list-style-type: upper-roman }
 </STYLE>

Modified: packages/hdf5/trunk/doc/html/TechNotes/ThreadSafeLibrary.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/ThreadSafeLibrary.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/ThreadSafeLibrary.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,9 +8,9 @@
 <body bgcolor=#ffffff>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -20,15 +20,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><center><h1>HDF5 Thread Safe library</h1></center>
 
-<center><h1>HDF5 Thread Safe library</h1></center>
-
 <p>
 
 <h1>1. Library header files and conditional compilation</h1>

Modified: packages/hdf5/trunk/doc/html/TechNotes/VFL.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/VFL.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/VFL.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -8,9 +8,9 @@
 <BODY>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -20,14 +20,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<H1>HDF5</H1>
+<!-- #EndLibraryItem --><H1>HDF5</H1>
 <H2>Virtual File Layer</H2>
 <H2>Proposal 1999-08-11</H2>
 <ADDRESS>Robb Matzke</ADDRESS>

Modified: packages/hdf5/trunk/doc/html/TechNotes/VFLfunc.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/VFLfunc.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/VFLfunc.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,9 +6,9 @@
 <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -18,15 +18,12 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --><h1>List of HDF5 VFL Functions</h1>
 
-<h1>List of HDF5 VFL Functions</h1>
-
 <pre>
 The following functions support the HDF5 virtual file layer (VFL), enabling 
 the creation of customized I/O drivers.  
@@ -77,7 +74,8 @@
 
 ===========================================
 Last modified:  25 June 2002
-HDF Help Desk:  hdfhelp at ncsa.uiuc.edu
+Last modified:  28 March 2007 (Help Desk contact only)
+THG Help Desk:  <img src="../Graphics/help.png" align=top height=16>
 
 </pre>
 </body>

Modified: packages/hdf5/trunk/doc/html/TechNotes/Version.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/Version.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/Version.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,9 +7,9 @@
   <body>
 
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -19,14 +19,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
- 
-  <h1>HDF5 Release Version Numbers</h1>
+<!-- #EndLibraryItem --><h1>HDF5 Release Version Numbers</h1>
 
     <h2>1. Introduction</h2>
 
@@ -146,13 +143,15 @@
     </dl>
 
 <hr>
-<address><a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a></address>
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
 
 <!-- Created: Wed Apr 22 11:24:40 EDT 1998 -->
 <!-- hhmts start -->
-Last modified: Fri Oct 30 10:32:50 EST 1998
+Last modified: 30 October 1998
 <!-- hhmts end -->
+<br>
+Last modified: 28 March 2007 (Help Desk contact only)
 
   </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/TechNotes/openmp-hdf5.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes/openmp-hdf5.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes/openmp-hdf5.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,7 @@
 <!-- #BeginLibraryItem "/ed_libs/copyright-html.lbi" -->
-<!-- separator -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -11,14 +11,11 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
-<!-- separator -->
-<!-- #EndLibraryItem -->
-
-<pre>
+<!-- #EndLibraryItem --><pre>
 		    Using HDF5 with OpenMP
 		    ----------------------
 
@@ -82,6 +79,7 @@
 <A HREF="openmp-hdf5.c">Appendix A: OpenMP-HDF5 Programs</A>
 
 -------
-Updated: 2000/11/28
-Contact: hdfhelp at ncsa.uiuc.edu
+Last modified: 28 November 2000
+Last modified: 28 March 2007 (Help Desk contact only)
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 </pre>

Modified: packages/hdf5/trunk/doc/html/TechNotes.html
===================================================================
--- packages/hdf5/trunk/doc/html/TechNotes.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/TechNotes.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,21 +1,5 @@
 <html>
 
-<!--
-  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-  * Copyright by the Board of Trustees of the University of Illinois.         *
-  * All rights reserved.                                                      *
-  *                                                                           *
-  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
-  * terms governing use, modification, and redistribution, is contained in    *
-  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
-  * of the source code distribution tree; Copyright.html can be found at the  *
-  * root level of an installed copy of the electronic HDF5 document set and   *
-  * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
-  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- -->
-
 <head><title>
 HDF5 Technical Notes
 </title>
@@ -23,6 +7,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_Gen.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -32,20 +17,19 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/GenElect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_TechN.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_TechN.lbi" -->
+<hr>
 <center>
 <table cellspacing=0 cellpadding=0 border=0 width=98%>
 <tr><td valign=top align=left>
@@ -57,7 +41,7 @@
 </td>
 
 <td valign=top align=right>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
 <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
 
@@ -256,7 +240,8 @@
 <br>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_TechN.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_TechN.lbi" -->
+<hr>
 <center>
 <table cellspacing=0 cellpadding=0 border=0 width=98%>
 <tr><td valign=top align=left>
@@ -268,7 +253,7 @@
 </td>
 
 <td valign=top align=right>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
 <a href="ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
 
@@ -289,9 +274,9 @@
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem -->
 

Modified: packages/hdf5/trunk/doc/html/Tools.html
===================================================================
--- packages/hdf5/trunk/doc/html/Tools.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Tools.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,8 +17,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -27,13 +28,14 @@
 <body bgcolor="#FFFFFF">
 <!-- HEADER RIGHT " " -->
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -57,7 +59,7 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
@@ -128,12 +130,12 @@
     <br><br>
     </ul>
  
-    <li><a href="http://hdf.ncsa.uiuc.edu/hdf-java-html/" 
+    <li><a href="http://www.hdfgroup.org/hdf-java-html/" 
         target="ToolsExt">Java-based tools for HDF5</a>
         for viewing, manipulating, and generating HDF4 and HDF5 files:
         <br>
         <em>(Distributed separately; external link is 
-        <code>http://hdf.ncsa.uiuc.edu/hdf-java-html/</code>)</em>
+        <code>http://www.hdfgroup.org/hdf-java-html/</code>)</em>
     <ul>
 	<li><code>HDFview</code> -- a browser that 
 	    works with both HDF4 and HDF5 files and 
@@ -154,13 +156,13 @@
     <br><br>
     </ul>
 
-    <li><a href="http://hdf.ncsa.uiuc.edu/h4toh5/" target="ToolsExt">
+    <li><a href="http://www.hdfgroup.org/h4toh5/" target="ToolsExt">
         HDF5/HDF4 conversion tools</a>:
         <br>
         <em>(Distributed separately; external link is 
-	<code>http://hdf.ncsa.uiuc.edu/h4toh5/</code>)</em>
+	<code>http://www.hdfgroup.org/h4toh5/</code>)</em>
     <ul>
-        <li><a href="http://hdf.ncsa.uiuc.edu/h4toh5/" 
+        <li><a href="http://www.hdfgroup.org/h4toh5/" 
 	    target="ToolsExt">H4toH5 Conversion Library</a> -- 
             Provides APIs for use in tools that perform customized 
 	    conversions of HDF4 files to HDF5 files
@@ -171,12 +173,12 @@
     <br><br>
     </ul>
 
-    <li><a href="http://hdf.ncsa.uiuc.edu/tools5.html" 
+    <li><a href="http://www.hdfgroup.org/tools5.html" 
         target="ToolsExt">Other tools</a>, 
 	including third-party and commercial utilities and applications
         <br>
         <em>(Distributed separately; external link is 
-	<code>http://hdf.ncsa.uiuc.edu/tools5.html</code>)</em>
+	<code>http://www.hdfgroup.org/tools5.html</code>)</em>
 
 </ul>
 <!--
@@ -294,11 +296,12 @@
         XML output.  This output contains a complete description of the file, 
         marked up in XML.  The XML conforms to the HDF5 Document Type 
         Definition (DTD) available at
-        <a href="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd">
-        <code>http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd</code></a>.
+        <a href="http://www.hdfgroup.org/DTDs/HDF5-File.dtd">
+        <code>http://www.hdfgroup.org/DTDs/HDF5-File.dtd</code></a>.
         <p>
         The XML output is suitable for use with other tools, including the 
-        <a href="http://hdf.ncsa.uiuc.edu/java-hdf5-html">HDF5 Java Tools</a>.
+        <a href="http://www.hdfgroup.org/hdf-java-html" 
+        target="ToolsExt">HDF5 Java Tools</a>.
 
 <dt><strong>Options and Parameters:</strong>
     <dl>
@@ -351,12 +354,38 @@
         <dt><code>-o <em>F</em></code> &nbsp;&nbsp;or&nbsp;&nbsp; 
               <code>--output=<em>F</em></code></dt>
             <dd>Output raw data into file F.</dd>
-        <dt><code>-t <em>T</em></code> &nbsp;&nbsp;or&nbsp;&nbsp; 
-              <code>--datatype=<em>T</em></code></dt>
+        <dt><code>-t <em>P</em></code> &nbsp;&nbsp;or&nbsp;&nbsp; 
+              <code>--datatype=<em>P</em></code></dt>
             <dd>Print the specified named datatype.</dd>
         <dt><code>-w <em>N</em></code> &nbsp;&nbsp;or&nbsp;&nbsp; 
               <code>--width=<em>N</em></code></dt>
             <dd>Set the number of columns of output.</dd>
+        <dt><code>-b <em>B</em></code> &nbsp;&nbsp;or&nbsp;&nbsp; 
+              <code>--binary=<em>B</em></code></dt>
+            <dd>Output dataset to a binary file 
+            using the datatype specified by <code><em>B</em></code>.
+            <br>    
+            <code><em>B</em></code> must have one of the following values: 
+                <br>    
+                &nbsp;&nbsp;&nbsp;&nbsp;
+                <code>LE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>
+                    Little-endian 
+                <br>    
+                &nbsp;&nbsp;&nbsp;&nbsp;
+                <code>BE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>
+                    Big-endian 
+                <br>    
+                &nbsp;&nbsp;&nbsp;&nbsp;
+                <code>MEMORY &nbsp;&nbsp;</code>
+                    Memory datatype 
+                <br>    
+                &nbsp;&nbsp;&nbsp;&nbsp;
+                <code>FILE &nbsp;&nbsp;&nbsp;&nbsp;</code>
+                    File datatype 
+            <br>    
+            Recommended usage is with the <code>-d</code> and <code>-o</code>
+            options.
+            </dd>
         <dt><code>-x <em></em></code> &nbsp;&nbsp;or&nbsp;&nbsp; 
               <code>--xml</code></dt>
             <dd>Output XML using XML schema (default) instead of DDL.</dd>
@@ -372,7 +401,17 @@
             <dd>In XML output, (XML Schema) use qualified names in the XML:<br>
 	        &nbsp;&nbsp; &nbsp;&nbsp;
 		":": no namespace, default: "hdf5:"</dd>
+        <dt><code>--</code></dt>
+            <dd>Indicates that the following argument is not an option.
+                E.g., to dump a file called `-f', use h5dump -- -f.
+                <br>
+                <i>(This option is necessary only when the name of the file to 
+                be examined starts with a dash (<code>-</code>), which could 
+                confuse the tool&rsquo;s command-line parser.)</i>
+        <dt><em>file</em></dt>
+            <dd>The file to be examined.</dd>
 
+        <dt>&nbsp;
         <dt>The next four options enable subsetting, which is 
             accomplished by selecting a hyperslab from a dataset.
             These options mirror the techniques used by an HDF5 
@@ -399,12 +438,19 @@
             <dd>Size of block in hyperslab.
                 <br>
                 Default: 1 in all dimensions.</dd>
-        <dt><code>--</code></dt>
-            <dd>Indicates that all following arguments are non-options.
-                E.g., to dump a file called `-f', use h5dump -- -f.</dd>
-        <dt><em>file</em></dt>
-            <dd>The file to be examined.</dd>
-    <br><br>
+
+        <dt>&nbsp;
+        <dt>Subsetting parameters can also be expressed in a convenient
+            compact form, as follows:
+              <br>
+              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+              <code>--dataset="/foo/mydataset[START;STRIDE;COUNT;BLOCK]"</code>
+              <br>
+            All of the semicolons (<code>;</code>) are required, even when 
+            a parameter value is not specified.  
+            When not specified, default parameter values are used.
+
+        <dt>&nbsp;
         <dt>The option parameters listed above are defined as follows:
             <dd><em>D</em> -- which file driver to use in opening the
                 file. Acceptable values are "sec2", "family", "split",
@@ -414,7 +460,6 @@
                 opening the file.</dd>
             <dd><em>P</em> -- The full path from the root group to 
                 the object</dd>
-            <dd><em>T</em> -- The name of the datatype</dd>
             <dd><em>F</em> -- A filename</dd>
             <dd><em>N</em> -- An integer greater than 1</dd>
             <dd><em>L</em> -- A list of integers, the number of which is 
@@ -425,58 +470,56 @@
                 updated by 
                 [<a href="http://www.ietf.org/rfc/rfc2732.txt">IETF RFC 2732</a>]) 
                 that refers to the DTD to be used to validate the XML</dd>
-    <br><br>
-        <dt>Subsetting parameters can also be expressed in a convenient
-            compact form, as follows:
-              <br>
-              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-              <code>--dataset="/foo/mydataset[START;STRIDE;COUNT;BLOCK]"</code>
-              <br>
-            All of the semicolons (<code>;</code>) are required, even when 
-            a parameter value is not specified.  
-            When not specified, default parameter values are used.
     </dl>
     <p>
 
 <dt><strong>Examples:</strong>
     <ol>
-       <li>Dumping the group <code>/GroupFoo/GroupBar</code> in the file
+       <li>Dump the group <code>/GroupFoo/GroupBar</code> in the file
           <code>quux.h5</code>:
           <blockquote>
              <code>h5dump -g /GroupFoo/GroupBar quux.h5</code>
           </blockquote>
-       <li>Dumping the dataset <code>Fnord</code> in the group
+       <li>Dump the dataset <code>Fnord</code>, which is in the group
           <code>/GroupFoo/GroupBar</code> in the file <code>quux.h5</code>:
           <blockquote>
              <code>h5dump -d /GroupFoo/GroupBar/Fnord quux.h5</code>
           </blockquote>
-       <li>Dumping the attribute <code>metadata</code> of the dataset
-          <code>Fnord</code> which is in group
+       <li>Dump the attribute <code>metadata</code> of the dataset
+          <code>Fnord</code>, which is in group
           <code>/GroupFoo/GroupBar</code> in the file <code>quux.h5</code>:
           <blockquote>
              <code>h5dump -a /GroupFoo/GroupBar/Fnord/metadata quux.h5</code>
           </blockquote>
-       <li>Dumping the attribute <code>metadata</code> which is an
+       <li>Dump the attribute <code>metadata</code> which is an
           attribute of the root group in the file <code>quux.h5</code>:
           <blockquote>
               <code>h5dump -a /metadata quux.h5</code>
           </blockquote>
-       <li>Producing an XML listing of the file <code>bobo.h5</code>:
+       <li>Produce an XML listing of the file <code>bobo.h5</code>,
+          saving the listing in the file <code>bobo.h5.xml</code>:
           <blockquote>
               <code>h5dump --xml bobo.h5 > bobo.h5.xml</code>
           </blockquote>
-       <li>Dumping a subset of the dataset <code>/GroupFoo/databar/</code> 
+       <li>Dump a subset of the dataset <code>/GroupFoo/databar/</code> 
            in the file <code>quux.h5</code>
           <blockquote>
               <code>h5dump -d /GroupFoo/databar --start="1,1" --stride="2,3" 
                            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            --count="3,19" --block="1,1" quux.h5</code>
           </blockquote>
-       <li>The same example using the short form to specify the 
+       <li>The same example, using the short form to specify the 
            subsetting parameters:
           <blockquote>
               <code>h5dump -d "/GroupFoo/databar[1,1;2,3;3,19;1,1]" quux.h5</code>
           </blockquote>
+       <li>Dump a binary copy of the dataset <code>/GroupD/FreshData/</code>
+           in the file <code>quux.h5</code>, with data written in little-endian
+           form, to the output file <code>FreshDataD.bin</code>:<br>
+              <code>&nbsp;&nbsp;&nbsp;&nbsp;
+                    h5dump -d "/GroupD/FreshData" -b LE -o "FreshDataD.bin" 
+                    quux.h5</code>
+        <br>&nbsp;
     </ol>
 <dt><strong>Current Status:</strong>
     <dd>The current version of <code>h5dump</code> displays the
@@ -543,10 +586,10 @@
         <a href="ddl.html"><cite>DDL for HDF5</cite></a>
 
     <li>HDF5 XML Schema at
-        <a href="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd</a>
+        <a href="http://www.hdfgroup.org/DTDs/HDF5-File.xsd">http://www.hdfgroup.org/DTDs/HDF5-File.xsd</a>
 
     <li>HDF5 XML information at
-        <a href="http://hdf.ncsa.uiuc.edu/HDF5/XML">http://hdf.ncsa.uiuc.edu/HDF5/XML/</a>
+        <a href="http://www.hdfgroup.org/HDF5/XML">http://www.hdfgroup.org/HDF5/XML/</a>
     </ul>
 
 </dl>
@@ -672,7 +715,7 @@
 	<p>
 	Additional information, with several sample cases, 
 	can be found in the document 
-	<a href="http://hdf.ncsa.uiuc.edu/HDF5/h5diff/h5diff_design.html">
+	<a href="http://www.hdfgroup.org/HDF5/h5diff/h5diff_design.html">
 	<cite>H5diff Examples</cite></a>.
 <dt><strong>Options and Parameters:</strong>
     <dl>
@@ -751,91 +794,149 @@
     </table></ul>
 </dl>
 
+
 <!-- NEW PAGE -->
 <!-- HEADER RIGHT "h5repack" -->
 <hr>
 <dl>
 <dt><strong>Tool Name:</strong>  <a name="Tools-Repack">h5repack</a>  &nbsp;&nbsp;&nbsp;
 <dt><strong>Syntax:</strong>
-    <dd><code>h5repack </code> -i <em>file1</em>-o <em>file2</em> [-h] [-v] [-f
-      '<i>filter</i>'] [-l '<i>layout</i>'][-m number][-e file]       
+    <dd><code>h5repack </code> 
+        <code>-i</code> <em>file1</em>
+        <code>-o</code> <em>file2</em> 
+        <code>[-h]</code> 
+        <code>[-v]</code> 
+        <code>[-m</code> <em>number</em><code>]</code> 
+        <code>[-n]</code> 
+        <code>[-f '</code><em>filter</em><code>']</code> 
+        <code>[-l '</code><em>layout</em><code>']</code> 
+        <code>[-e</code> <em>file</em><code>]</code> 
 <dt><strong>Purpose:</strong>
     <dd>Copies an HDF5 file to a new file with or without compression/chunking.
 <dt><strong>Description:</strong>
-    <dd><code>h5repack</code> is a command line tool that applies HDF5 filters
-      to a input file <em>file1</em>, saving the output in a new file, <em>file2</em>.<p>'<i>filter</i>'
-      is a string with the format&nbsp;<br>
-      &lt;list of objects&gt; : &lt;name of filter&gt; = &lt;filter
-      parameters&gt;.<br>
-      <br>
-      &nbsp;&lt;list of objects&gt; is a comma separated list of object names
-      meaning apply compression only to those objects. If no object names are
-      specified, the filter is applied to all objects<br>
-      &nbsp;&lt;name of filter&gt; can be:&nbsp;<br>
-      GZIP, to apply the HDF5 GZIP filter (GZIP compression)<br>
-      SZIP, to apply the HDF5 SZIP filter (SZIP compression)<br>
-      SHUF, to apply the HDF5 shuffle filter<br>
-      FLET, to apply the HDF5 checksum filter<br>
-      NONE, to remove the filter&nbsp;<br>
-      &lt;filter parameters&gt; is optional compression info&nbsp;<br>
-      SHUF (no parameter)&nbsp;<br>
-      FLET (no parameter)&nbsp;<br>
-      GZIP=&lt;deflation level&gt; from 1-9&nbsp;<br>
-      SZIP=&lt;pixels per block,coding&gt; (pixels per block is a even number in
-      2-32 and coding method is 'EC' or 'NN')
-<dt>&nbsp;</dt>
-<dd>'<i>layout'</i> is a string with the format<br>
-  &nbsp;&lt;list of objects&gt; : &lt;layout type&gt;&nbsp;<br>
-  <br>
-  &lt;list of objects&gt; is a comma separated list of object names, meaning
-  that layout information is supplied for those objects. If no object names are
-  specified, the layout is applied to all objects&nbsp;<br>
-  &lt;layout type&gt; can be:&nbsp;<br>
-  CHUNK, to apply chunking layout&nbsp;<br>
-  COMPA, to apply compact layout&nbsp;<br>
-  CONTI, to apply continuous layout&nbsp;<br>
-  &lt;layout parameters&gt; is present for the chunk case only it is the chunk
-  size of each dimension: &lt;dim_1 x dim_2 x ... dim_n&gt;</dd>
-<dt>&nbsp;</dt>
+    <dd><code>h5repack</code> is a command line tool that 
+      applies HDF5 filters to an input file <em>file1</em>, 
+      saving the output in a new output file, <em>file2</em>.
+
+      <p></p>
 <dt><strong>Options and Parameters:</strong>
     <dl>
-        <dt><em>file1</em>
-        <dt><em>file2</em>
-            <dd>The input and output HDF5 files
+        <dt><code>-i</code> <em>file1</em>
+            <dd>Input HDF5 file
+        <dt><code>-o</code> <em>file2</em>
+            <dd>Output HDF5 file
         <dt><code>-h</code>
-            <dd>help message.<dt><code>-f</code> <em>filter</em>
-            <dd>Filter type<dt><code>-l</code> <em>layout</em>
-            <dd>Layout type<dt><code>-v</code>
-            <dd>Verbose mode. Print output (list of objects in the file, filters
-              and layout applied).<dt><code>-e</code> <em>file</em>
-            <dd>File with the -f and -l options (only filter and layout flags)
-        <dt><code>-d</code> <em>delta</em>
-            <dd>Print only differences that are greater than the 
-	        limit <em>delta</em>.
-                <em>delta</em> must be a positive number.
-                The comparison criterion is whether the 
-		absolute value of the difference of 
-		two corresponding values is greater than 
-		<em>delta</em> 
-		<br>(e.g., <code> |a&ndash;b|&nbsp;&gt;&nbsp;<em>delta</em></code>,
-		where <code>a</code> is a value in <em>file1</em> and
-		<code>b</code> is a value in <em>file2</em>).<dt><code>-m</code> <em>number</em>
+            <dd>Help message
+        <dt><code>-v</code>
+            <dd>Verbose output mode
+        <dt><code>-m</code> <em>number</em>
             <dd>Do not apply the filter to objects which size in bytes is
               smaller than number. If no size is specified a minimum of 1024
               bytes is assumed.
+        <dt><code>-n</code>
+            <dd>Use native HDF5 datatypes when repacking. 
+                <br>
+                (Default behavior is to use original file datatypes.)
+                <br>
+                <em>Note that this is a change in default behavior; 
+                    prior to Release 1.6.6, <code>h5repack</code> generated
+                    files only with native datatypes.</em>
+        <dt><code>-f</code> <em>filter</em>
+            <dd>Filter type
+                <p>
+                <em>filter</em> is a string with the following format:
+                <dir>
+                &lt;list of objects&gt; : &lt;name of filter&gt; 
+                    = &lt;filter parameters&gt;
+                <p>
+                &lt;list of objects&gt; is a comma separated list of object 
+                names meaning apply compression only to those objects. 
+                If no object names are specified, the filter is applied to 
+                all objects.
+                <p>
+                &lt;name of filter&gt; can be one of the following:
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>GZIP</code>, to apply the HDF5 GZIP filter 
+                    (GZIP compression)
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>SZIP</code>, to apply the HDF5 SZIP filter 
+                    (SZIP compression)
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>SHUF</code>, to apply the HDF5 shuffle filter
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>FLET</code>, to apply the HDF5 checksum filter
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>NONE</code>, to remove the filter
+                <p>
+                &lt;filter parameters&gt; conveys optional compression 
+                    information:
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>SHUF</code> (no parameter)
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>FLET</code> (no parameter)
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>GZIP=</code>&lt;deflation level&gt; from 1-9
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>SZIP=</code>&lt;pixels per block,coding&gt; 
+                    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                    Pixels per block is a even number in the range 2-32.
+                    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                    Coding method is <code>EC</code> or <code>NN</code>.
+                </dir>
+        <dt><code>-l</code> <em>layout</em>
+            <dd>Layout type
+                <p>
+                <em>layout</em> is a string with the following format:<br>
+                <dir>
+                &lt;list of objects&gt; : &lt;layout type&gt;=&lt;layout parameters&gt
+                <p>
+                &lt;list of objects&gt; is a comma separated list of object 
+                names, meaning that layout information is supplied for those 
+                objects.  If no object names are specified, the layout 
+                is applied to all objects.
+                <p>
+                &lt;layout type&gt; can be one of the following:
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>CHUNK</code>, to apply chunking layout
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>COMPA</code>, to apply compact layout
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code>CONTI</code>, to apply continuous layout
+                <p>
+                &lt;layout parameters&gt; is present only in the 
+                <code>CHUNK</code> case and specifies the chunk size of 
+                each dimension in the  following format with no intervening 
+                spaces:
+                <br>&nbsp;&nbsp;&nbsp;&nbsp;
+                    <code><em>dim_1</em> x <em>dim_2</em> x ... 
+                    <em>dim_n</em></code>
+                </dd>
+                </dir>
+        <dt><code>-e</code> <em>file</em>
+            <dd>File containing the -f and -l options 
+                (only filter and layout flags)
     </dl>
+    <p></p>
 <dt><strong>Examples:</strong>
-    <dd>1) h5repack -i file1 -o file2 -f GZIP=1 -v<br>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Applies GZIP compression to all
-      objects in file1 and saves the output in file2
-      <p>2) h5repack -i file1 -o file2 -f dset1:SZIP=8,NN -v<br>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Applies SZIP compression only
-      to object 'dset1'</p>
-      <p>3) h5repack -i file1 -o file2 -l dset1,dset2:CHUNK=20x10 -v<br>
-      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Applies chunked layout to
-      objects 'dset1' and 'dset2'<br>
+    <dd>
+    <ol>
+        <li><code>h5repack -i file1 -o file2 -f GZIP=1 -v</code>
+            <br>
+            Applies GZIP compression to all objects in <code>file1</code> 
+            and saves the output in <code>file2</code>.
+            <br>&nbsp;
+        <li><code>h5repack -i file1 -o file2 -f dset1:SZIP=8,NN -v</code>
+            <br>
+            Applies SZIP compression only to object <code>dset1</code>.
+            <br>&nbsp;
+        <li><code>h5repack -i file1 -o file2 -l dset1,dset2:CHUNK=20x10 -v</code>
+            <br>
+            Applies chunked layout to objects <code>dset1</code> 
+            and <code>dset2</code>.
+            <br>
 </dl>
 
+
 <!-- NEW PAGE -->
 <!-- HEADER RIGHT "h5repart" -->
 <hr>
@@ -1789,13 +1890,12 @@
         Floating point datatypes are converted to IEEE format.
         
 <dt><strong>Note:</strong>
-    <dl>The <code>h5toh4</code> and <code>h4toh5</code> utilities 
+    <dd>The <code>h5toh4</code> and <code>h4toh5</code> utilities 
         are no longer part of the HDF5 product;  
 	they are distributed separately through the page
-	<a href="http://hdf.ncsa.uiuc.edu/h4toh5/">
+	<a href="http://www.hdfgroup.org/h4toh5/">
 	Converting between HDF (4.x) and HDF5</a>.
 	</p>
-
 <dt><strong>Options and Parameters:</strong>
     <dl>
         <dt><code>-h</code>
@@ -1865,10 +1965,6 @@
         HDF5 object, according to the mapping described in
         <a href="ADGuide/H4toH5Mapping.pdf" target=ExternalWinA>
         <cite>Mapping HDF4 Objects to HDF5 Objects</cite></a>.
-        (If this mapping changes between HDF5 Library releases, a more up-to-date
-        version may be available at
-        <a href="http://hdf.ncsa.uiuc.edu/HDF5/papers/h4toh5/H4-to-H5MappingGuidelines.pdf" target=ExternalWinB>
-        <cite>Mapping HDF4 Objects to HDF5 Objects</cite> on the HDF FTP server</a>.)
         <p>
         In this initial version, <code>h4toh5</code> converts the following 
         HDF4 objects:
@@ -1915,9 +2011,10 @@
     <dl>The <code>h4toh5</code> and <code>h5toh4</code> utilities 
         are no longer part of the HDF5 product;  
 	they are distributed separately through the page
-	<a href="http://hdf.ncsa.uiuc.edu/h4toh5/">
+	<a href="http://www.hdfgroup.org/h4toh5/">
 	Converting between HDF (4.x) and HDF5</a>.
 	</p>
+    </dl>
 <dt><strong>Options and Parameters:</strong>
     <dl>
         <dt><code>-h</code>
@@ -2211,7 +2308,7 @@
       <p>
 If <code>out_file.h5</code> is not specified, the&nbsp;<code>user_block</code> is added to<code> in_file.h5</code>. &nbsp;</dd>
     <p>
-    If in_file.h5 already has a user block, the contents of <code>user_block</code> will be added to the end of the existing user block, and hte file shifted to the next boundary. If <code>-clobber</code> is set, any existing user block will be overwritten.  
+    If in_file.h5 already has a user block, the contents of <code>user_block</code> will be added to the end of the existing user block, and the file shifted to the next boundary. If <code>-clobber</code> is set, any existing user block will be overwritten.  
 
 
 <p><code>h5unjam</code><code></code> splits an HDF5 file, writing the
@@ -2234,7 +2331,7 @@
   
 <!-- NEW PAGE -->
 For an HDF5 file, <code>with_ub.h5</code>,&nbsp; with a user block, extract the user block to <code>user_block.txt</code> and the HDF5 file to <code>wo_ub.h5</code>.
-  <pre>&nbsp;&nbsp;&nbsp;&nbsp;h5unjam -i with_ub.h5 -u user_block.txt -i wo_ub.h5</pre>
+  <pre>&nbsp;&nbsp;&nbsp;&nbsp;h5unjam -i with_ub.h5 -u user_block.txt -o wo_ub.h5</pre>
 
 
 <dt><strong></strong></dt><dt><strong>Return Value</strong></dt>
@@ -2660,13 +2757,14 @@
 -->
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
 <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -2690,20 +2788,22 @@
 <a href="PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>
 </center>
 <hr>
-<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+<!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
+<address>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
-<!-- #EndLibraryItem --><dt><dt>&nbsp;<dt><dt>&nbsp;<dt><dt>&nbsp;<dt><dt><SCRIPT LANGUAGE="JAVASCRIPT">
+<!-- #EndLibraryItem -->&nbsp;<br>
+<SCRIPT LANGUAGE="JAVASCRIPT">
 <!--
-document.writeln("Last modified: 15 March 2005");
+document.writeln("Last modified: 3 May 2007");
 -->
 </SCRIPT>
 

Modified: packages/hdf5/trunk/doc/html/Tutor/Graphics/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/Tutor/Graphics/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Tutor/Graphics/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,18 @@
 # HDF5 Library Makefile(.in)
 #
-# Copyright (C) 2001 National Center for Supercomputing Applications.
-#                    All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
 #
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
 # 
 top_srcdir=@top_srcdir@
 top_builddir=../../../..

Modified: packages/hdf5/trunk/doc/html/Tutor/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/Tutor/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Tutor/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/Tutor/examples/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/Tutor/examples/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Tutor/examples/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,18 @@
 # HDF5 Library Makefile(.in)
 #
-# Copyright (C) 2001 National Center for Supercomputing Applications.
-#                    All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
 #
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
 # 
 top_srcdir=@top_srcdir@
 top_builddir=../../../..

Modified: packages/hdf5/trunk/doc/html/Version.html
===================================================================
--- packages/hdf5/trunk/doc/html/Version.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/Version.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -125,7 +125,9 @@
     </dl>
 
 <hr>
-<address><a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a></address>
+<address>
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
+</address>
 <br>
 
 <!-- Created: Wed Apr 22 11:24:40 EDT 1998 -->

Modified: packages/hdf5/trunk/doc/html/compat.html
===================================================================
--- packages/hdf5/trunk/doc/html/compat.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/compat.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -262,7 +262,7 @@
 
 
     <hr>
-    <address><a href="mailto:matzke at llnl.gov">Robb Matzke</a></address>
+    <address>Robb Matzke</address>
 <!-- Created: Fri Oct  3 11:52:31 EST 1997 -->
 <!-- hhmts start -->
 Last modified: Wed Oct  8 12:34:42 EST 1997

Modified: packages/hdf5/trunk/doc/html/cpplus/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5AbstractDs.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -338,8 +355,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,92 +337,95 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5AbstractDs.h</h1><a href="H5AbstractDs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Class AbstractDs is an abstract base class, from which Attribute and</span>
-00017 <span class="comment">// DataSet inherit.  It provides the services that are common to both</span>
-00018 <span class="comment">// Attribute and DataSet.  It also inherits from H5Object and passes down</span>
-00019 <span class="comment">// the services that H5Object provides.</span>
-00020 
-00021 <span class="preprocessor">#ifndef _AbstractDs_H</span>
-00022 <span class="preprocessor"></span><span class="preprocessor">#define _AbstractDs_H</span>
-00023 <span class="preprocessor"></span>
-00024 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00025 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00026 <span class="preprocessor">#endif</span>
-00027 <span class="preprocessor"></span><span class="keyword">class </span>ArrayType;
-00028 <span class="keyword">class </span>CompType;
-00029 <span class="keyword">class </span>EnumType;
-00030 <span class="keyword">class </span>FloatType;
-00031 <span class="keyword">class </span>IntType;
-00032 <span class="keyword">class </span>StrType;
-00033 <span class="keyword">class </span>VarLenType;
-<a name="l00034"></a><a class="code" href="classH5_1_1AbstractDs.html">00034</a> <span class="keyword">class </span>H5_DLLCPP AbstractDs : <span class="keyword">public</span> <a class="code" href="classH5_1_1H5Object.html">H5Object</a> {
-00035    <span class="keyword">public</span>:
-00036         <span class="comment">// Gets a copy the datatype of that this abstract dataset uses.</span>
-00037         <span class="comment">// Note that this datatype is a generic one and can only be accessed</span>
-00038         <span class="comment">// via generic member functions, i.e., member functions belong</span>
-00039         <span class="comment">// to DataType.  To get specific datatype, i.e. EnumType, FloatType,</span>
-00040         <span class="comment">// etc..., use the specific functions, that follow, instead .</span>
-00041         <a class="code" href="classH5_1_1DataType.html">DataType</a> getDataType() <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Gets a copy of the specific datatype of this abstract dataset</span>
-00044         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> getArrayType() <span class="keyword">const</span>;
-00045         <a class="code" href="classH5_1_1CompType.html">CompType</a> getCompType() <span class="keyword">const</span>;
-00046         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> getEnumType() <span class="keyword">const</span>;
-00047         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> getFloatType() <span class="keyword">const</span>;
-00048         <a class="code" href="classH5_1_1IntType.html">IntType</a> getIntType() <span class="keyword">const</span>;
-00049         <a class="code" href="classH5_1_1StrType.html">StrType</a> getStrType() <span class="keyword">const</span>;
-00050         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> getVarLenType() <span class="keyword">const</span>;
-00051 
-00052         <span class="comment">// Gets the dataspace of this abstract dataset - pure virtual</span>
-00053         <span class="keyword">virtual</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getSpace() <span class="keyword">const </span>= 0;
-00054 
-00055         <span class="comment">// Gets the class of the datatype that is used by this abstract</span>
-00056         <span class="comment">// dataset</span>
-00057         H5T_class_t getTypeClass() <span class="keyword">const</span>;
-00058 
-00059         <span class="comment">// Returns the amount of storage size required for this abstract</span>
-00060         <span class="comment">// dataset - pure virtual.</span>
-00061         <span class="keyword">virtual</span> hsize_t getStorageSize() <span class="keyword">const </span>= 0;
-00062 
-00063         <span class="comment">// Copy constructor</span>
-00064         AbstractDs( <span class="keyword">const</span> AbstractDs&amp; original );
-00065 
-00066         <span class="keyword">virtual</span> ~AbstractDs();
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// Class AbstractDs is an abstract base class, from which Attribute and</span>
+00018 <span class="comment">// DataSet inherit.  It provides the services that are common to both</span>
+00019 <span class="comment">// Attribute and DataSet.  It also inherits from H5Object and passes down</span>
+00020 <span class="comment">// the services that H5Object provides.</span>
+00021 
+00022 <span class="preprocessor">#ifndef _AbstractDs_H</span>
+00023 <span class="preprocessor"></span><span class="preprocessor">#define _AbstractDs_H</span>
+00024 <span class="preprocessor"></span>
+00025 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00026 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00027 <span class="preprocessor">#endif</span>
+00028 <span class="preprocessor"></span>
+00029 <span class="keyword">class </span>ArrayType;
+00030 <span class="keyword">class </span>CompType;
+00031 <span class="keyword">class </span>EnumType;
+00032 <span class="keyword">class </span>FloatType;
+00033 <span class="keyword">class </span>IntType;
+00034 <span class="keyword">class </span>StrType;
+00035 <span class="keyword">class </span>VarLenType;
+<a name="l00036"></a><a class="code" href="classH5_1_1AbstractDs.html">00036</a> <span class="keyword">class </span>H5_DLLCPP AbstractDs : <span class="keyword">public</span> <a class="code" href="classH5_1_1H5Object.html">H5Object</a> {
+00037    <span class="keyword">public</span>:
+00038         <span class="comment">// Gets a copy the datatype of that this abstract dataset uses.</span>
+00039         <span class="comment">// Note that this datatype is a generic one and can only be accessed</span>
+00040         <span class="comment">// via generic member functions, i.e., member functions belong</span>
+00041         <span class="comment">// to DataType.  To get specific datatype, i.e. EnumType, FloatType,</span>
+00042         <span class="comment">// etc..., use the specific functions, that follow, instead.</span>
+00043         <a class="code" href="classH5_1_1DataType.html">DataType</a> getDataType() <span class="keyword">const</span>;
+00044 
+00045         <span class="comment">// Gets a copy of the specific datatype of this abstract dataset.</span>
+00046         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> getArrayType() <span class="keyword">const</span>;
+00047         <a class="code" href="classH5_1_1CompType.html">CompType</a> getCompType() <span class="keyword">const</span>;
+00048         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> getEnumType() <span class="keyword">const</span>;
+00049         <a class="code" href="classH5_1_1IntType.html">IntType</a> getIntType() <span class="keyword">const</span>;
+00050         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> getFloatType() <span class="keyword">const</span>;
+00051         <a class="code" href="classH5_1_1StrType.html">StrType</a> getStrType() <span class="keyword">const</span>;
+00052         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> getVarLenType() <span class="keyword">const</span>;
+00053 
+00054         <span class="comment">// Gets the dataspace of this abstract dataset - pure virtual.</span>
+00055         <span class="keyword">virtual</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getSpace() <span class="keyword">const </span>= 0;
+00056 
+00057         <span class="comment">// Gets the class of the datatype that is used by this abstract</span>
+00058         <span class="comment">// dataset.</span>
+00059         H5T_class_t getTypeClass() <span class="keyword">const</span>;
+00060 
+00061         <span class="comment">// Returns the amount of storage size required for this abstract</span>
+00062         <span class="comment">// dataset - pure virtual.</span>
+00063         <span class="keyword">virtual</span> hsize_t getStorageSize() <span class="keyword">const </span>= 0;
+00064 
+00065         <span class="comment">// Copy constructor</span>
+00066         AbstractDs( <span class="keyword">const</span> AbstractDs&amp; original );
 00067 
-00068    <span class="keyword">protected</span>:
-00069         <span class="comment">// Default constructor</span>
-00070         AbstractDs();
-00071 
-00072         <span class="comment">// Constructor that takes an attribute id or a dataset id.</span>
-00073         AbstractDs( <span class="keyword">const</span> hid_t ds_id );
+00068         <span class="comment">// Destructor</span>
+00069         <span class="keyword">virtual</span> ~AbstractDs();
+00070 
+00071    <span class="keyword">protected</span>:
+00072         <span class="comment">// Default constructor</span>
+00073         AbstractDs();
 00074 
-00075    <span class="keyword">private</span>:
-00076         <span class="comment">// This member function is implemented by DataSet and Attribute.</span>
-00077         <span class="keyword">virtual</span> hid_t p_get_type() <span class="keyword">const </span>= 0;
-00078 };
-00079 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00080 <span class="preprocessor"></span>}
-00081 <span class="preprocessor">#endif</span>
-00082 <span class="preprocessor"></span><span class="preprocessor">#endif // _AbstractDs_H</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00075         <span class="comment">// Constructor that takes an attribute id or a dataset id.</span>
+00076         AbstractDs( <span class="keyword">const</span> hid_t ds_id );
+00077 
+00078    <span class="keyword">private</span>:
+00079         <span class="comment">// This member function is implemented by DataSet and Attribute.</span>
+00080         <span class="keyword">virtual</span> hid_t p_get_type() <span class="keyword">const </span>= 0;
+00081 };
+00082 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00083 <span class="preprocessor"></span>}
+00084 <span class="preprocessor">#endif</span>
+00085 <span class="preprocessor"></span><span class="preprocessor">#endif // _AbstractDs_H</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5AbstractDs_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5AbstractDs.h File Reference</h1>
 <p>
 <a href="H5AbstractDs_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,38 +337,39 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Alltypes.h</h1><a href="H5Alltypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// This header file simply serves as a container to hold the</span>
-00017 <span class="comment">// header files of all datatypes.  It simplifies the header</span>
-00018 <span class="comment">// file including in the code.</span>
-00019 
-00020 <span class="preprocessor">#include "<a class="code" href="H5DataType_8h.html">H5DataType.h</a>"</span>
-00021 <span class="preprocessor">#include "<a class="code" href="H5AtomType_8h.html">H5AtomType.h</a>"</span>
-00022 <span class="preprocessor">#include "<a class="code" href="H5EnumType_8h.html">H5EnumType.h</a>"</span>
-00023 <span class="preprocessor">#include "<a class="code" href="H5IntType_8h.html">H5IntType.h</a>"</span>
-00024 <span class="preprocessor">#include "<a class="code" href="H5FloatType_8h.html">H5FloatType.h</a>"</span>
-00025 <span class="preprocessor">#include "<a class="code" href="H5StrType_8h.html">H5StrType.h</a>"</span>
-00026 <span class="preprocessor">#include "<a class="code" href="H5CompType_8h.html">H5CompType.h</a>"</span>
-00027 <span class="preprocessor">#include "<a class="code" href="H5ArrayType_8h.html">H5ArrayType.h</a>"</span>
-00028 <span class="preprocessor">#include "<a class="code" href="H5VarLenType_8h.html">H5VarLenType.h</a>"</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// This header file simply serves as a container to hold the</span>
+00018 <span class="comment">// header files of all datatypes.  It simplifies the header</span>
+00019 <span class="comment">// file including in the code.</span>
+00020 
+00021 <span class="preprocessor">#include "<a class="code" href="H5DataType_8h.html">H5DataType.h</a>"</span>
+00022 <span class="preprocessor">#include "<a class="code" href="H5AtomType_8h.html">H5AtomType.h</a>"</span>
+00023 <span class="preprocessor">#include "<a class="code" href="H5EnumType_8h.html">H5EnumType.h</a>"</span>
+00024 <span class="preprocessor">#include "<a class="code" href="H5IntType_8h.html">H5IntType.h</a>"</span>
+00025 <span class="preprocessor">#include "<a class="code" href="H5FloatType_8h.html">H5FloatType.h</a>"</span>
+00026 <span class="preprocessor">#include "<a class="code" href="H5StrType_8h.html">H5StrType.h</a>"</span>
+00027 <span class="preprocessor">#include "<a class="code" href="H5CompType_8h.html">H5CompType.h</a>"</span>
+00028 <span class="preprocessor">#include "<a class="code" href="H5ArrayType_8h.html">H5ArrayType.h</a>"</span>
+00029 <span class="preprocessor">#include "<a class="code" href="H5VarLenType_8h.html">H5VarLenType.h</a>"</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Alltypes_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Alltypes.h File Reference</h1><code>#include "<a class="el" href="H5DataType_8h-source.html">H5DataType.h</a>"</code><br>
 <code>#include "<a class="el" href="H5AtomType_8h-source.html">H5AtomType.h</a>"</code><br>
 <code>#include "<a class="el" href="H5EnumType_8h-source.html">H5EnumType.h</a>"</code><br>
@@ -336,8 +353,8 @@
 <a href="H5Alltypes_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5ArrayType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -338,8 +355,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,70 +337,72 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5ArrayType.h</h1><a href="H5ArrayType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Class ArrayType inherits from DataType and provides wrappers for the</span>
-00017 <span class="comment">// HDF5 C's Array Datatypes.</span>
-00018 
-00019 <span class="preprocessor">#ifndef _H5ArrayType_H</span>
-00020 <span class="preprocessor"></span><span class="preprocessor">#define _H5ArrayType_H</span>
-00021 <span class="preprocessor"></span>
-00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00024 <span class="preprocessor">#endif</span>
-<a name="l00025"></a><a class="code" href="classH5_1_1ArrayType.html">00025</a> <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP ArrayType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
-00026    <span class="keyword">public</span>:
-00027         <span class="comment">// Constructor that creates a new array data type based on the</span>
-00028         <span class="comment">// specified base type.</span>
-00029         ArrayType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; base_type, <span class="keywordtype">int</span> ndims, <span class="keyword">const</span> hsize_t* dims);
-00030 
-00031         <span class="comment">// Returns the number of dimensions of this array datatype.</span>
-00032         <span class="keywordtype">int</span> getArrayNDims();
-00033 
-00034         <span class="comment">// Returns the sizes of dimensions of this array datatype.</span>
-00035         <span class="keywordtype">int</span> getArrayDims(hsize_t* dims);
-00036 
-00037         <span class="comment">// Returns this class name</span>
-<a name="l00038"></a><a class="code" href="classH5_1_1ArrayType.html#a3">00038</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"ArrayType"</span>); }
-00039 
-00040         <span class="comment">// Copy constructor: makes copy of the original object.</span>
-00041         ArrayType( <span class="keyword">const</span> ArrayType&amp; original );
-00042 
-00043         <span class="comment">// Constructor that takes an existing id</span>
-00044         ArrayType( <span class="keyword">const</span> hid_t existing_id );
-00045 
-00046         <span class="comment">// Noop destructor</span>
-00047         <span class="keyword">virtual</span> ~ArrayType();
-00048 
-00049    <span class="keyword">protected</span>:
-00050         <span class="comment">// Default constructor</span>
-00051         ArrayType();
-00052 
-00053    <span class="keyword">private</span>:
-00054         <span class="keywordtype">int</span> rank;               <span class="comment">// Rank of the array</span>
-00055         hsize_t* dimensions;    <span class="comment">// Sizes of the array dimensions</span>
-00056 };
-00057 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00058 <span class="preprocessor"></span>}
-00059 <span class="preprocessor">#endif</span>
-00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// Class ArrayType inherits from DataType and provides wrappers for the</span>
+00018 <span class="comment">// HDF5 C's Array Datatypes.</span>
+00019 
+00020 <span class="preprocessor">#ifndef _H5ArrayType_H</span>
+00021 <span class="preprocessor"></span><span class="preprocessor">#define _H5ArrayType_H</span>
+00022 <span class="preprocessor"></span>
+00023 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00024 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00025 <span class="preprocessor">#endif</span>
+00026 <span class="preprocessor"></span>
+<a name="l00027"></a><a class="code" href="classH5_1_1ArrayType.html">00027</a> <span class="keyword">class </span>H5_DLLCPP ArrayType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
+00028    <span class="keyword">public</span>:
+00029         <span class="comment">// Constructor that creates a new array data type based on the</span>
+00030         <span class="comment">// specified base type.</span>
+00031         ArrayType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; base_type, <span class="keywordtype">int</span> ndims, <span class="keyword">const</span> hsize_t* dims);
+00032 
+00033         <span class="comment">// Returns the number of dimensions of this array datatype.</span>
+00034         <span class="keywordtype">int</span> getArrayNDims();
+00035 
+00036         <span class="comment">// Returns the sizes of dimensions of this array datatype.</span>
+00037         <span class="keywordtype">int</span> getArrayDims(hsize_t* dims);
+00038 
+00039         <span class="comment">// Returns this class name</span>
+<a name="l00040"></a><a class="code" href="classH5_1_1ArrayType.html#a3">00040</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1DataType.html#a35">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"ArrayType"</span>); }
+00041 
+00042         <span class="comment">// Copy constructor: makes copy of the original object.</span>
+00043         ArrayType( <span class="keyword">const</span> ArrayType&amp; original );
+00044 
+00045         <span class="comment">// Constructor that takes an existing id</span>
+00046         ArrayType( <span class="keyword">const</span> hid_t existing_id );
+00047 
+00048         <span class="comment">// Noop destructor</span>
+00049         <span class="keyword">virtual</span> ~ArrayType();
+00050 
+00051    <span class="keyword">protected</span>:
+00052         <span class="comment">// Default constructor</span>
+00053         ArrayType();
+00054 
+00055    <span class="keyword">private</span>:
+00056         <span class="keywordtype">int</span> rank;               <span class="comment">// Rank of the array</span>
+00057         hsize_t* dimensions;    <span class="comment">// Sizes of the array dimensions</span>
+00058 };
+00059 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00060 <span class="preprocessor"></span>}
+00061 <span class="preprocessor">#endif</span>
+00062 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5ArrayType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5ArrayType.h File Reference</h1>
 <p>
 <a href="H5ArrayType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5AtomType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -338,8 +355,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,89 +337,91 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5AtomType.h</h1><a href="H5AtomType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Class AtomType is a base class, from which IntType, FloatType, StrType,</span>
-00017 <span class="comment">// and PredType inherit.  It provides the services that are common to these</span>
-00018 <span class="comment">// subclasses.  It also inherits from DataType and passes down the</span>
-00019 <span class="comment">// services that are common to all the datatypes.</span>
-00020 
-00021 <span class="preprocessor">#ifndef _H5AtomType_H</span>
-00022 <span class="preprocessor"></span><span class="preprocessor">#define _H5AtomType_H</span>
-00023 <span class="preprocessor"></span>
-00024 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00025 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00026 <span class="preprocessor">#endif</span>
-<a name="l00027"></a><a class="code" href="classH5_1_1AtomType.html">00027</a> <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP AtomType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
-00028    <span class="keyword">public</span>:
-00029         <span class="comment">// Returns the byte order of an atomic datatype.</span>
-00030         H5T_order_t getOrder() <span class="keyword">const</span>;
-00031         H5T_order_t getOrder( string&amp; order_string ) <span class="keyword">const</span>;
-00032 
-00033         <span class="comment">// Sets the byte ordering of an atomic datatype.</span>
-00034         <span class="keywordtype">void</span> setOrder( H5T_order_t order ) <span class="keyword">const</span>;
-00035 
-00036         <span class="comment">// Retrieves the bit offset of the first significant bit.</span>
-00037         <span class="comment">// 12/05/00 - changed return type to int from size_t - C API</span>
-00038         <span class="keywordtype">int</span> getOffset() <span class="keyword">const</span>;
-00039 
-00040         <span class="comment">// Sets the bit offset of the first significant bit.</span>
-00041         <span class="keywordtype">void</span> setOffset( size_t offset ) <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Retrieves the padding type of the least and most-significant bit padding.</span>
-00044         <span class="keywordtype">void</span> getPad( H5T_pad_t&amp; lsb, H5T_pad_t&amp; msb ) <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Sets the least and most-significant bits padding types</span>
-00047         <span class="keywordtype">void</span> setPad( H5T_pad_t lsb, H5T_pad_t msb ) <span class="keyword">const</span>;
-00048 
-00049         <span class="comment">// Returns the precision of an atomic datatype.</span>
-00050         size_t getPrecision() <span class="keyword">const</span>;
-00051 
-00052         <span class="comment">// Sets the precision of an atomic datatype.</span>
-00053         <span class="keywordtype">void</span> setPrecision( size_t precision ) <span class="keyword">const</span>;
-00054 
-00055         <span class="comment">// Sets the total size for an atomic datatype.</span>
-00056         <span class="keywordtype">void</span> setSize( size_t size ) <span class="keyword">const</span>;
-00057 
-00058         <span class="comment">// Returns this class name</span>
-<a name="l00059"></a><a class="code" href="classH5_1_1AtomType.html#a10">00059</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"AtomType"</span>); }
-00060 
-00061         <span class="comment">// Copy constructor - makes copy of the original object</span>
-00062         AtomType( <span class="keyword">const</span> AtomType&amp; original );
-00063 
-00064         <span class="comment">// Noop destructor</span>
-00065         <span class="keyword">virtual</span> ~AtomType();
-00066 
-00067    <span class="keyword">protected</span>:
-00068 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00069 <span class="preprocessor"></span>        <span class="comment">// Default constructor</span>
-00070         AtomType();
-00071 
-00072         <span class="comment">// Constructor that takes an existing id</span>
-00073         AtomType( <span class="keyword">const</span> hid_t existing_id );
-00074 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00075 <span class="preprocessor"></span>};
-00076 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00077 <span class="preprocessor"></span>}
-00078 <span class="preprocessor">#endif</span>
-00079 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// Class AtomType is a base class, from which IntType, FloatType, StrType,</span>
+00018 <span class="comment">// and PredType inherit.  It provides the services that are common to these</span>
+00019 <span class="comment">// subclasses.  It also inherits from DataType and passes down the</span>
+00020 <span class="comment">// services that are common to all the datatypes.</span>
+00021 
+00022 <span class="preprocessor">#ifndef _H5AtomType_H</span>
+00023 <span class="preprocessor"></span><span class="preprocessor">#define _H5AtomType_H</span>
+00024 <span class="preprocessor"></span>
+00025 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00026 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00027 <span class="preprocessor">#endif</span>
+00028 <span class="preprocessor"></span>
+<a name="l00029"></a><a class="code" href="classH5_1_1AtomType.html">00029</a> <span class="keyword">class </span>H5_DLLCPP AtomType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
+00030    <span class="keyword">public</span>:
+00031         <span class="comment">// Returns the byte order of an atomic datatype.</span>
+00032         H5T_order_t getOrder() <span class="keyword">const</span>;
+00033         H5T_order_t getOrder( <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; order_string ) <span class="keyword">const</span>;
+00034 
+00035         <span class="comment">// Sets the byte ordering of an atomic datatype.</span>
+00036         <span class="keywordtype">void</span> setOrder( H5T_order_t order ) <span class="keyword">const</span>;
+00037 
+00038         <span class="comment">// Retrieves the bit offset of the first significant bit.</span>
+00039         <span class="comment">// 12/05/00 - changed return type to int from size_t - C API</span>
+00040         <span class="keywordtype">int</span> getOffset() <span class="keyword">const</span>;
+00041 
+00042         <span class="comment">// Sets the bit offset of the first significant bit.</span>
+00043         <span class="keywordtype">void</span> setOffset( size_t offset ) <span class="keyword">const</span>;
+00044 
+00045         <span class="comment">// Retrieves the padding type of the least and most-significant bit padding.</span>
+00046         <span class="keywordtype">void</span> getPad( H5T_pad_t&amp; lsb, H5T_pad_t&amp; msb ) <span class="keyword">const</span>;
+00047 
+00048         <span class="comment">// Sets the least and most-significant bits padding types</span>
+00049         <span class="keywordtype">void</span> setPad( H5T_pad_t lsb, H5T_pad_t msb ) <span class="keyword">const</span>;
+00050 
+00051         <span class="comment">// Returns the precision of an atomic datatype.</span>
+00052         size_t getPrecision() <span class="keyword">const</span>;
+00053 
+00054         <span class="comment">// Sets the precision of an atomic datatype.</span>
+00055         <span class="keywordtype">void</span> setPrecision( size_t precision ) <span class="keyword">const</span>;
+00056 
+00057         <span class="comment">// Sets the total size for an atomic datatype.</span>
+00058         <span class="keywordtype">void</span> setSize( size_t size ) <span class="keyword">const</span>;
+00059 
+00060         <span class="comment">// Returns this class name</span>
+<a name="l00061"></a><a class="code" href="classH5_1_1AtomType.html#a10">00061</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1DataType.html#a35">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"AtomType"</span>); }
+00062 
+00063         <span class="comment">// Copy constructor - makes copy of the original object</span>
+00064         AtomType( <span class="keyword">const</span> AtomType&amp; original );
+00065 
+00066         <span class="comment">// Noop destructor</span>
+00067         <span class="keyword">virtual</span> ~AtomType();
+00068 
+00069    <span class="keyword">protected</span>:
+00070 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00071 <span class="preprocessor"></span>        <span class="comment">// Default constructor</span>
+00072         AtomType();
+00073 
+00074         <span class="comment">// Constructor that takes an existing id</span>
+00075         AtomType( <span class="keyword">const</span> hid_t existing_id );
+00076 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00077 <span class="preprocessor"></span>};
+00078 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00079 <span class="preprocessor"></span>}
+00080 <span class="preprocessor">#endif</span>
+00081 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5AtomType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5AtomType.h File Reference</h1>
 <p>
 <a href="H5AtomType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5Attribute.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5Attribute.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
@@ -335,14 +352,15 @@
 <code>#include "<a class="el" href="H5CommonFG_8h-source.html">H5CommonFG.h</a>"</code><br>
 <code>#include "<a class="el" href="H5DataType_8h-source.html">H5DataType.h</a>"</code><br>
 <code>#include "<a class="el" href="H5DataSpace_8h-source.html">H5DataSpace.h</a>"</code><br>
+<code>#include "H5private.h"</code><br>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,88 +337,89 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Attribute.h</h1><a href="H5Attribute_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5Attribute_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Attribute_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1Attribute.html">00023</a> <span class="keyword">class </span>H5_DLLCPP Attribute : <span class="keyword">public</span> <a class="code" href="classH5_1_1AbstractDs.html">AbstractDs</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Gets the name of this attribute.</span>
-00026         ssize_t getName( size_t buf_size, string&amp; attr_name ) <span class="keyword">const</span>;
-00027         string getName( size_t buf_size ) <span class="keyword">const</span>; <span class="comment">// returns name, not its length</span>
-00028         string getName() <span class="keyword">const</span>; <span class="comment">// returns name, no argument</span>
-00029 
-00030         <span class="comment">// Gets a copy of the dataspace for this attribute.</span>
-00031         <span class="keyword">virtual</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getSpace() <span class="keyword">const</span>;
-00032 
-00033         <span class="comment">// Returns the amount of storage size required for this attribute.</span>
-00034         <span class="keyword">virtual</span> hsize_t getStorageSize() <span class="keyword">const</span>;
-00035 
-00036         <span class="comment">// Reads data from this attribute.</span>
-00037         <span class="keywordtype">void</span> read( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keywordtype">void</span> *buf ) <span class="keyword">const</span>;
-00038         <span class="keywordtype">void</span> read( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, string&amp; strg ) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5Attribute_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5Attribute_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1Attribute.html">00024</a> <span class="keyword">class </span>H5_DLLCPP Attribute : <span class="keyword">public</span> <a class="code" href="classH5_1_1AbstractDs.html">AbstractDs</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Closes this attribute.</span>
+00027         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00028 
+00029         <span class="comment">// Gets the name of this attribute.</span>
+00030         ssize_t getName( size_t buf_size, <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; attr_name ) <span class="keyword">const</span>;
+00031         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getName( size_t buf_size ) <span class="keyword">const</span>; <span class="comment">// returns name, not its length</span>
+00032         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getName() <span class="keyword">const</span>; <span class="comment">// returns name, no argument</span>
+00033 
+00034         <span class="comment">// Gets a copy of the dataspace for this attribute.</span>
+00035         <span class="keyword">virtual</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> <a class="code" href="classH5_1_1AbstractDs.html#a8">getSpace</a>() <span class="keyword">const</span>;
+00036 
+00037         <span class="comment">// Returns the amount of storage size required for this attribute.</span>
+00038         hsize_t <a class="code" href="classH5_1_1AbstractDs.html#a10">getStorageSize</a>() <span class="keyword">const</span>;
 00039 
-00040         <span class="comment">// Writes data to this attribute.</span>
-00041         <span class="keywordtype">void</span> write(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <span class="keywordtype">void</span> *buf ) <span class="keyword">const</span>;
-00042         <span class="keywordtype">void</span> write(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> string&amp; strg ) <span class="keyword">const</span>;
+00040         <span class="comment">// Reads data from this attribute.</span>
+00041         <span class="keywordtype">void</span> read( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keywordtype">void</span> *buf ) <span class="keyword">const</span>;
+00042         <span class="keywordtype">void</span> read( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; strg ) <span class="keyword">const</span>;
 00043 
-00044         <span class="comment">// Returns this class name</span>
-<a name="l00045"></a><a class="code" href="classH5_1_1Attribute.html#a9">00045</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"Attribute"</span>); }
-00046 
-00047         <span class="comment">// Creates a copy of an existing attribute using the attribute id</span>
-00048         Attribute( <span class="keyword">const</span> hid_t attr_id );
-00049 
-00050         <span class="comment">// Copy constructor: makes a copy of an existing Attribute object.</span>
-00051         Attribute( <span class="keyword">const</span> Attribute&amp; original );
-00052 
-00053         <span class="comment">// Default constructor</span>
-00054         Attribute();
-00055 
-00056         <span class="comment">// Close this attribute.</span>
-00057         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00058 
-00059         <span class="comment">// Destructor: properly terminates access to this attribute.</span>
-00060         <span class="keyword">virtual</span> ~Attribute();
-00061 
-00062    <span class="keyword">private</span>:
-00063         <span class="comment">// This function contains the common code that is used by</span>
-00064         <span class="comment">// getTypeClass and various API functions getXxxType</span>
-00065         <span class="comment">// defined in AbstractDs for generic datatype and specific</span>
-00066         <span class="comment">// sub-types</span>
-00067         <span class="keyword">virtual</span> hid_t p_get_type() <span class="keyword">const</span>;
-00068 
-00069         <span class="comment">// do not inherit 'iterateAttrs' from H5Object</span>
-00070         <span class="keywordtype">int</span> iterateAttrs() { <span class="keywordflow">return</span> 0; }
-00071 
-00072         <span class="comment">// do not inherit 'rename' from H5Object</span>
-00073         <span class="keywordtype">void</span> rename() {}
-00074 };
-00075 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00076 <span class="preprocessor"></span>}
-00077 <span class="preprocessor">#endif</span>
-00078 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00044         <span class="comment">// Writes data to this attribute.</span>
+00045         <span class="keywordtype">void</span> write(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <span class="keywordtype">void</span> *buf ) <span class="keyword">const</span>;
+00046         <span class="keywordtype">void</span> write(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; strg ) <span class="keyword">const</span>;
+00047 
+00048         <span class="comment">// Returns this class name</span>
+<a name="l00049"></a><a class="code" href="classH5_1_1Attribute.html#a10">00049</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"Attribute"</span>); }
+00050 
+00051         <span class="comment">// Creates a copy of an existing attribute using the attribute id</span>
+00052         Attribute( <span class="keyword">const</span> hid_t attr_id );
+00053 
+00054         <span class="comment">// Copy constructor: makes a copy of an existing Attribute object.</span>
+00055         Attribute( <span class="keyword">const</span> Attribute&amp; original );
+00056 
+00057         <span class="comment">// Default constructor</span>
+00058         Attribute();
+00059 
+00060         <span class="comment">// Destructor: properly terminates access to this attribute.</span>
+00061         <span class="keyword">virtual</span> ~Attribute();
+00062 
+00063    <span class="keyword">private</span>:
+00064         <span class="comment">// This function contains the common code that is used by</span>
+00065         <span class="comment">// getTypeClass and various API functions getXxxType</span>
+00066         <span class="comment">// defined in AbstractDs for generic datatype and specific</span>
+00067         <span class="comment">// sub-types</span>
+00068         <span class="keyword">virtual</span> hid_t p_get_type() <span class="keyword">const</span>;
+00069 
+00070         <span class="comment">// do not inherit H5Object::iterateAttrs</span>
+00071         <span class="keywordtype">int</span> <a class="code" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>() { <span class="keywordflow">return</span> 0; }
+00072 
+00073         <span class="comment">// do not inherit H5Object::renameAttr</span>
+00074         <span class="keywordtype">void</span> <a class="code" href="classH5_1_1H5Object.html#a11">renameAttr</a>() {}
+00075 };
+00076 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00077 <span class="preprocessor"></span>}
+00078 <span class="preprocessor">#endif</span>
+00079 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Attribute_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Attribute.h File Reference</h1>
 <p>
 <a href="H5Attribute_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,61 +337,62 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Classes.h</h1><a href="H5Classes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5Classes_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Classes_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>        <span class="keyword">class </span>Exception;
-00023         <span class="keyword">class </span>ReferenceCounter;
-00024         <span class="keyword">class </span>IdComponent;
-00025         <span class="keyword">class </span>H5Object;
-00026         <span class="keyword">class </span>PropList;
-00027         <span class="keyword">class </span>FileCreatPropList;
-00028         <span class="keyword">class </span>FileAccPropList;
-00029         <span class="keyword">class </span>DSetCreatPropList;
-00030         <span class="keyword">class </span>DSetMemXferPropList;
-00031         <span class="keyword">class </span>DTypePropList;
-00032         <span class="keyword">class </span>DataType;
-00033         <span class="keyword">class </span>DataSpace;
-00034         <span class="keyword">class </span>AtomType;
-00035         <span class="keyword">class </span>PredType;
-00036         <span class="keyword">class </span>EnumType;
-00037         <span class="keyword">class </span>IntType;
-00038         <span class="keyword">class </span>FloatType;
-00039         <span class="keyword">class </span>StrType;
-00040         <span class="keyword">class </span>CompType;
-00041         <span class="comment">//class RefType;</span>
-00042         <span class="keyword">class </span>AbstractDs;
-00043         <span class="keyword">class </span>DataSet;
-00044         <span class="keyword">class </span>Group;
-00045         <span class="keyword">class </span>H5File;
-00046         <span class="keyword">class </span>Attribute;
-00047         <span class="keyword">class </span>H5Library;
-00048 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00049 <span class="preprocessor"></span>}
-00050 <span class="preprocessor">#endif</span>
-00051 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5Classes_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5Classes_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>        <span class="keyword">class </span>Exception;
+00024         <span class="keyword">class </span>ReferenceCounter;
+00025         <span class="keyword">class </span>IdComponent;
+00026         <span class="keyword">class </span>H5Object;
+00027         <span class="keyword">class </span>PropList;
+00028         <span class="keyword">class </span>FileCreatPropList;
+00029         <span class="keyword">class </span>FileAccPropList;
+00030         <span class="keyword">class </span>DSetCreatPropList;
+00031         <span class="keyword">class </span>DSetMemXferPropList;
+00032         <span class="keyword">class </span>DTypePropList;
+00033         <span class="keyword">class </span>DataType;
+00034         <span class="keyword">class </span>DataSpace;
+00035         <span class="keyword">class </span>AtomType;
+00036         <span class="keyword">class </span>PredType;
+00037         <span class="keyword">class </span>EnumType;
+00038         <span class="keyword">class </span>IntType;
+00039         <span class="keyword">class </span>FloatType;
+00040         <span class="keyword">class </span>StrType;
+00041         <span class="keyword">class </span>CompType;
+00042         <span class="comment">//class RefType;</span>
+00043         <span class="keyword">class </span>AbstractDs;
+00044         <span class="keyword">class </span>DataSet;
+00045         <span class="keyword">class </span>Group;
+00046         <span class="keyword">class </span>H5File;
+00047         <span class="keyword">class </span>Attribute;
+00048         <span class="keyword">class </span>H5Library;
+00049 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00050 <span class="preprocessor"></span>}
+00051 <span class="preprocessor">#endif</span>
+00052 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Classes_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Classes.h File Reference</h1>
 <p>
 <a href="H5Classes_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -330,8 +347,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CommonFG.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -345,8 +362,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,174 +337,176 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CommonFG.h</h1><a href="H5CommonFG_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// CommonFG is a protocol class.  Its existence is simply to provide the</span>
-00017 <span class="comment">// common services that are provided by H5File and Group.  The file or</span>
-00018 <span class="comment">// group in the context of this class is referred to as 'location'.</span>
-00019 
-00020 <span class="preprocessor">#ifndef _CommonFG_H</span>
-00021 <span class="preprocessor"></span><span class="preprocessor">#define _CommonFG_H</span>
-00022 <span class="preprocessor"></span>
-00023 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00024 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00025 <span class="preprocessor">#endif</span>
-00026 <span class="preprocessor"></span>
-00027 <span class="keyword">class </span>Group;
-00028 <span class="keyword">class </span>H5File;
-00029 <span class="keyword">class </span>ArrayType;
-00030 <span class="keyword">class </span>VarLenType;
-<a name="l00031"></a><a class="code" href="classH5_1_1CommonFG.html">00031</a> <span class="keyword">class </span>H5_DLLCPP CommonFG {
-00032    <span class="keyword">public</span>:
-00033         <span class="comment">// Creates a new group at this location which can be a file</span>
-00034         <span class="comment">// or another group.</span>
-00035         <a class="code" href="classH5_1_1Group.html">Group</a> createGroup(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, size_t size_hint = 0) <span class="keyword">const</span>;
-00036         <a class="code" href="classH5_1_1Group.html">Group</a> createGroup(<span class="keyword">const</span> string&amp; name, size_t size_hint = 0) <span class="keyword">const</span>;
-00037 
-00038         <span class="comment">// Opens an existing group in a location which can be a file</span>
-00039         <span class="comment">// or another group.</span>
-00040         <a class="code" href="classH5_1_1Group.html">Group</a> openGroup(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00041         <a class="code" href="classH5_1_1Group.html">Group</a> openGroup(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Creates a new dataset at this location.</span>
-00044         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> createDataSet(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; data_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; data_space, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&amp; create_plist = <a class="code" href="classH5_1_1DSetCreatPropList.html#s0">DSetCreatPropList::DEFAULT</a>) <span class="keyword">const</span>;
-00045         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> createDataSet(<span class="keyword">const</span> string&amp; name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; data_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; data_space, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&amp; create_plist = <a class="code" href="classH5_1_1DSetCreatPropList.html#s0">DSetCreatPropList::DEFAULT</a>) <span class="keyword">const</span>;
-00046 
-00047         <span class="comment">// Opens an existing dataset at this location.</span>
-00048         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> openDataSet(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00049         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> openDataSet(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00050 
-00051         <span class="comment">// Retrieves comment for the HDF5 object specified by its name.</span>
-00052         string getComment(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00053         string getComment(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, size_t bufsize) <span class="keyword">const</span>;
-00054         string getComment(<span class="keyword">const</span> string&amp; name, size_t bufsize) <span class="keyword">const</span>;
-00055 
-00056         <span class="comment">// Removes the comment for the HDF5 object specified by its name.</span>
-00057         <span class="keywordtype">void</span> removeComment(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00058         <span class="keywordtype">void</span> removeComment(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00059 
-00060         <span class="comment">// Sets the comment for an HDF5 object specified by its name.</span>
-00061         <span class="keywordtype">void</span> setComment(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* comment) <span class="keyword">const</span>;
-00062         <span class="keywordtype">void</span> setComment(<span class="keyword">const</span> string&amp; name, <span class="keyword">const</span> string&amp; comment) <span class="keyword">const</span>;
-00063 
-00064         <span class="comment">// Returns the name of the HDF5 object that the symbolic link points to.</span>
-00065         string getLinkval(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, size_t size) <span class="keyword">const</span>;
-00066         string getLinkval(<span class="keyword">const</span> string&amp; name, size_t size) <span class="keyword">const</span>;
-00067 
-00068         <span class="comment">// Returns the number of objects in this group.</span>
-00069         hsize_t getNumObjs() <span class="keyword">const</span>;
-00070 
-00071         <span class="comment">// Returns information about an HDF5 object, given by its name,</span>
-00072         <span class="comment">// at this location.</span>
-00073         <span class="keywordtype">void</span> getObjinfo(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, hbool_t follow_link, H5G_stat_t&amp; statbuf) <span class="keyword">const</span>;
-00074         <span class="keywordtype">void</span> getObjinfo(<span class="keyword">const</span> string&amp; name, hbool_t follow_link, H5G_stat_t&amp; statbuf) <span class="keyword">const</span>;
-00075 
-00076         <span class="comment">// Retrieves the name of an object in this group, given the</span>
-00077         <span class="comment">// object's index.</span>
-00078         ssize_t getObjnameByIdx(hsize_t idx, string&amp; name, size_t size) <span class="keyword">const</span>;
-00079         string getObjnameByIdx(hsize_t idx) <span class="keyword">const</span>;
-00080 
-00081         <span class="comment">// Returns the type of an object in this group, given the</span>
-00082         <span class="comment">// object's index.</span>
-00083         H5G_obj_t getObjTypeByIdx(hsize_t idx) <span class="keyword">const</span>;
-00084         H5G_obj_t getObjTypeByIdx(hsize_t idx, string&amp; type_name) <span class="keyword">const</span>;
-00085 
-00086         <span class="comment">// Iterates over the elements of this group - not implemented in</span>
-00087         <span class="comment">// C++ style yet.</span>
-00088         <span class="keywordtype">int</span> iterateElems(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span> *idx, H5G_iterate_t op, <span class="keywordtype">void</span> *op_data);
-00089         <span class="keywordtype">int</span> iterateElems(<span class="keyword">const</span> string&amp; name, <span class="keywordtype">int</span> *idx, H5G_iterate_t op, <span class="keywordtype">void</span> *op_data);
-00090 
-00091         <span class="comment">// Creates a link of the specified type from new_name to current_name;</span>
-00092         <span class="comment">// both names are interpreted relative to the specified location id.</span>
-00093         <span class="keywordtype">void</span> link(H5G_link_t link_type, <span class="keyword">const</span> <span class="keywordtype">char</span>* curr_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* new_name) <span class="keyword">const</span>;
-00094         <span class="keywordtype">void</span> link(H5G_link_t link_type, <span class="keyword">const</span> string&amp; curr_name, <span class="keyword">const</span> string&amp; new_name) <span class="keyword">const</span>;
-00095 
-00096         <span class="comment">// Removes the specified name at this location.</span>
-00097         <span class="keywordtype">void</span> unlink(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00098         <span class="keywordtype">void</span> unlink(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00099 
-00100         <span class="comment">// Mounts the file 'child' onto this location.</span>
-00101         <span class="keywordtype">void</span> mount(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; child, <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; plist) <span class="keyword">const</span>;
-00102         <span class="keywordtype">void</span> mount(<span class="keyword">const</span> string&amp; name, <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; child, <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; plist) <span class="keyword">const</span>;
-00103 
-00104         <span class="comment">// Unmounts the file named 'name' from this parent location.</span>
-00105         <span class="keywordtype">void</span> unmount(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00106         <span class="keywordtype">void</span> unmount(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00107 
-00108         <span class="comment">// Renames an object at this location.</span>
-00109         <span class="keywordtype">void</span> move(<span class="keyword">const</span> <span class="keywordtype">char</span>* src, <span class="keyword">const</span> <span class="keywordtype">char</span>* dst) <span class="keyword">const</span>;
-00110         <span class="keywordtype">void</span> move(<span class="keyword">const</span> string&amp; src, <span class="keyword">const</span> string&amp; dst) <span class="keyword">const</span>;
-00111 
-00112         <span class="comment">// Opens a generic named datatype in this location.</span>
-00113         <a class="code" href="classH5_1_1DataType.html">DataType</a> openDataType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00114         <a class="code" href="classH5_1_1DataType.html">DataType</a> openDataType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00115 
-00116         <span class="comment">// Opens a named array datatype in this location.</span>
-00117         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> openArrayType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00118         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> openArrayType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00119 
-00120         <span class="comment">// Opens a named compound datatype in this location.</span>
-00121         <a class="code" href="classH5_1_1CompType.html">CompType</a> openCompType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00122         <a class="code" href="classH5_1_1CompType.html">CompType</a> openCompType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00123 
-00124         <span class="comment">// Opens a named enumeration datatype in this location.</span>
-00125         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> openEnumType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00126         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> openEnumType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00127 
-00128         <span class="comment">// Opens a named integer datatype in this location.</span>
-00129         <a class="code" href="classH5_1_1IntType.html">IntType</a> openIntType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00130         <a class="code" href="classH5_1_1IntType.html">IntType</a> openIntType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00131 
-00132         <span class="comment">// Opens a named floating-point datatype in this location.</span>
-00133         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> openFloatType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00134         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> openFloatType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00135 
-00136         <span class="comment">// Opens a named string datatype in this location.</span>
-00137         <a class="code" href="classH5_1_1StrType.html">StrType</a> openStrType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00138         <a class="code" href="classH5_1_1StrType.html">StrType</a> openStrType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00139 
-00140         <span class="comment">// Opens a named variable length datatype in this location.</span>
-00141         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> openVarLenType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00142         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> openVarLenType(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00143 
-00146         <span class="keyword">virtual</span> hid_t getLocId() <span class="keyword">const </span>= 0;
-00147 
-00149         <span class="keyword">virtual</span> <span class="keywordtype">void</span> throwException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string msg) <span class="keyword">const </span>= 0;
-00150 
-00151         <span class="comment">// Default constructor.</span>
-00152         CommonFG();
-00153 
-00154         <span class="comment">// Noop destructor.</span>
-00155         <span class="keyword">virtual</span> ~CommonFG();
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// CommonFG is a protocol class.  Its existence is simply to provide the</span>
+00018 <span class="comment">// common services that are provided by H5File and Group.  The file or</span>
+00019 <span class="comment">// group in the context of this class is referred to as 'location'.</span>
+00020 
+00021 <span class="preprocessor">#ifndef _CommonFG_H</span>
+00022 <span class="preprocessor"></span><span class="preprocessor">#define _CommonFG_H</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00025 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00026 <span class="preprocessor">#endif</span>
+00027 <span class="preprocessor"></span>
+00028 <span class="keyword">class </span>Group;
+00029 <span class="keyword">class </span>H5File;
+00030 <span class="keyword">class </span>ArrayType;
+00031 <span class="keyword">class </span>VarLenType;
+<a name="l00032"></a><a class="code" href="classH5_1_1CommonFG.html">00032</a> <span class="keyword">class </span>H5_DLLCPP CommonFG {
+00033    <span class="keyword">public</span>:
+00034         <span class="comment">// Creates a new group at this location which can be a file</span>
+00035         <span class="comment">// or another group.</span>
+00036         <a class="code" href="classH5_1_1Group.html">Group</a> createGroup(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, size_t size_hint = 0) <span class="keyword">const</span>;
+00037         <a class="code" href="classH5_1_1Group.html">Group</a> createGroup(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, size_t size_hint = 0) <span class="keyword">const</span>;
+00038 
+00039         <span class="comment">// Opens an existing group in a location which can be a file</span>
+00040         <span class="comment">// or another group.</span>
+00041         <a class="code" href="classH5_1_1Group.html">Group</a> openGroup(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00042         <a class="code" href="classH5_1_1Group.html">Group</a> openGroup(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00043 
+00044         <span class="comment">// Creates a new dataset at this location.</span>
+00045         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> createDataSet(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; data_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; data_space, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&amp; create_plist = DSetCreatPropList::DEFAULT) <span class="keyword">const</span>;
+00046         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> createDataSet(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; data_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; data_space, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&amp; create_plist = DSetCreatPropList::DEFAULT) <span class="keyword">const</span>;
+00047 
+00048         <span class="comment">// Opens an existing dataset at this location.</span>
+00049         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> openDataSet(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00050         <a class="code" href="classH5_1_1DataSet.html">DataSet</a> openDataSet(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00051 
+00052         <span class="comment">// Retrieves comment for the HDF5 object specified by its name.</span>
+00053         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getComment(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00054         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getComment(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, size_t bufsize) <span class="keyword">const</span>;
+00055         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getComment(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, size_t bufsize) <span class="keyword">const</span>;
+00056 
+00057         <span class="comment">// Removes the comment for the HDF5 object specified by its name.</span>
+00058         <span class="keywordtype">void</span> removeComment(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00059         <span class="keywordtype">void</span> removeComment(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00060 
+00061         <span class="comment">// Sets the comment for an HDF5 object specified by its name.</span>
+00062         <span class="keywordtype">void</span> setComment(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* comment) <span class="keyword">const</span>;
+00063         <span class="keywordtype">void</span> setComment(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; comment) <span class="keyword">const</span>;
+00064 
+00065         <span class="comment">// Returns the name of the HDF5 object that the symbolic link points to.</span>
+00066         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getLinkval(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, size_t size) <span class="keyword">const</span>;
+00067         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getLinkval(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, size_t size) <span class="keyword">const</span>;
+00068 
+00069         <span class="comment">// Returns the number of objects in this group.</span>
+00070         hsize_t getNumObjs() <span class="keyword">const</span>;
+00071 
+00072         <span class="comment">// Returns information about an HDF5 object, given by its name,</span>
+00073         <span class="comment">// at this location.</span>
+00074         <span class="keywordtype">void</span> getObjinfo(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, hbool_t follow_link, H5G_stat_t&amp; statbuf) <span class="keyword">const</span>;
+00075         <span class="keywordtype">void</span> getObjinfo(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, hbool_t follow_link, H5G_stat_t&amp; statbuf) <span class="keyword">const</span>;
+00076         <span class="keywordtype">void</span> getObjinfo(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, H5G_stat_t&amp; statbuf) <span class="keyword">const</span>;
+00077         <span class="keywordtype">void</span> getObjinfo(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, H5G_stat_t&amp; statbuf) <span class="keyword">const</span>;
+00078 
+00079         <span class="comment">// Retrieves the name of an object in this group, given the</span>
+00080         <span class="comment">// object's index.</span>
+00081         ssize_t getObjnameByIdx(hsize_t idx, <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, size_t size) <span class="keyword">const</span>;
+00082         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getObjnameByIdx(hsize_t idx) <span class="keyword">const</span>;
+00083 
+00084         <span class="comment">// Returns the type of an object in this group, given the</span>
+00085         <span class="comment">// object's index.</span>
+00086         H5G_obj_t getObjTypeByIdx(hsize_t idx) <span class="keyword">const</span>;
+00087         H5G_obj_t getObjTypeByIdx(hsize_t idx, <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; type_name) <span class="keyword">const</span>;
+00088 
+00089         <span class="comment">// Iterates over the elements of this group - not implemented in</span>
+00090         <span class="comment">// C++ style yet.</span>
+00091         <span class="keywordtype">int</span> iterateElems(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span> *idx, H5G_iterate_t op, <span class="keywordtype">void</span> *op_data);
+00092         <span class="keywordtype">int</span> iterateElems(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">int</span> *idx, H5G_iterate_t op, <span class="keywordtype">void</span> *op_data);
+00093 
+00094         <span class="comment">// Creates a link of the specified type from new_name to current_name;</span>
+00095         <span class="comment">// both names are interpreted relative to the specified location id.</span>
+00096         <span class="keywordtype">void</span> link(H5G_link_t link_type, <span class="keyword">const</span> <span class="keywordtype">char</span>* curr_name, <span class="keyword">const</span> <span class="keywordtype">char</span>* new_name) <span class="keyword">const</span>;
+00097         <span class="keywordtype">void</span> link(H5G_link_t link_type, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; curr_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; new_name) <span class="keyword">const</span>;
+00098 
+00099         <span class="comment">// Removes the specified name at this location.</span>
+00100         <span class="keywordtype">void</span> unlink(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00101         <span class="keywordtype">void</span> unlink(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00102 
+00103         <span class="comment">// Mounts the file 'child' onto this location.</span>
+00104         <span class="keywordtype">void</span> mount(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; child, <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; plist) <span class="keyword">const</span>;
+00105         <span class="keywordtype">void</span> mount(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; child, <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; plist) <span class="keyword">const</span>;
+00106 
+00107         <span class="comment">// Unmounts the file named 'name' from this parent location.</span>
+00108         <span class="keywordtype">void</span> unmount(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00109         <span class="keywordtype">void</span> unmount(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00110 
+00111         <span class="comment">// Renames an object at this location.</span>
+00112         <span class="keywordtype">void</span> move(<span class="keyword">const</span> <span class="keywordtype">char</span>* src, <span class="keyword">const</span> <span class="keywordtype">char</span>* dst) <span class="keyword">const</span>;
+00113         <span class="keywordtype">void</span> move(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; src, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; dst) <span class="keyword">const</span>;
+00114 
+00115         <span class="comment">// Opens a generic named datatype in this location.</span>
+00116         <a class="code" href="classH5_1_1DataType.html">DataType</a> openDataType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00117         <a class="code" href="classH5_1_1DataType.html">DataType</a> openDataType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00118 
+00119         <span class="comment">// Opens a named array datatype in this location.</span>
+00120         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> openArrayType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00121         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> openArrayType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00122 
+00123         <span class="comment">// Opens a named compound datatype in this location.</span>
+00124         <a class="code" href="classH5_1_1CompType.html">CompType</a> openCompType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00125         <a class="code" href="classH5_1_1CompType.html">CompType</a> openCompType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00126 
+00127         <span class="comment">// Opens a named enumeration datatype in this location.</span>
+00128         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> openEnumType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00129         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> openEnumType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00130 
+00131         <span class="comment">// Opens a named integer datatype in this location.</span>
+00132         <a class="code" href="classH5_1_1IntType.html">IntType</a> openIntType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00133         <a class="code" href="classH5_1_1IntType.html">IntType</a> openIntType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00134 
+00135         <span class="comment">// Opens a named floating-point datatype in this location.</span>
+00136         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> openFloatType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00137         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> openFloatType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00138 
+00139         <span class="comment">// Opens a named string datatype in this location.</span>
+00140         <a class="code" href="classH5_1_1StrType.html">StrType</a> openStrType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00141         <a class="code" href="classH5_1_1StrType.html">StrType</a> openStrType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00142 
+00143         <span class="comment">// Opens a named variable length datatype in this location.</span>
+00144         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> openVarLenType(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00145         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> openVarLenType(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00146 
+00147 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00150 <span class="preprocessor">        virtual hid_t getLocId() const = 0;</span>
+00151 <span class="preprocessor"></span>
+00152 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00153 <span class="preprocessor"></span>
+00155         <span class="keyword">virtual</span> <span class="keywordtype">void</span> throwException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; msg) <span class="keyword">const </span>= 0;
 00156 
-00157    <span class="keyword">private</span>:
-00158         <span class="comment">// Common code for member functions openXxxType</span>
-00159         hid_t p_open_data_type(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00160 
-00161 }; <span class="comment">// end of CommonFG declaration</span>
+00157         <span class="comment">// Default constructor.</span>
+00158         CommonFG();
+00159 
+00160         <span class="comment">// Noop destructor.</span>
+00161         <span class="keyword">virtual</span> ~CommonFG();
 00162 
-00163 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00164 <span class="preprocessor"></span>}
-00165 <span class="preprocessor">#endif</span>
-00166 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00167 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00163 }; <span class="comment">// end of CommonFG declaration</span>
+00164 
+00165 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00166 <span class="preprocessor"></span>}
+00167 <span class="preprocessor">#endif</span>
+00168 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00169 <span class="preprocessor"></span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CommonFG_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CommonFG.h File Reference</h1>
 <p>
 <a href="H5CommonFG_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CompType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -342,8 +359,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,126 +337,124 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CompType.h</h1><a href="H5CompType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Class CompType inherits from DataType and provides accesses to a compound</span>
-00017 <span class="comment">// datatype.</span>
-00018 
-00019 <span class="preprocessor">#ifndef _H5CompType_H</span>
-00020 <span class="preprocessor"></span><span class="preprocessor">#define _H5CompType_H</span>
-00021 <span class="preprocessor"></span>
-00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00024 <span class="preprocessor">#endif</span>
-00025 <span class="preprocessor"></span>
-<a name="l00026"></a><a class="code" href="classH5_1_1CompType.html">00026</a> <span class="keyword">class </span>H5_DLLCPP CompType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
-00027    <span class="keyword">public</span>:
-00028         <span class="comment">// Creates a new compound datatype, given the type's size</span>
-00029         CompType( size_t size ); <span class="comment">// H5Tcreate</span>
-00030 
-00031         <span class="comment">// Gets the compound datatype of the specified dataset</span>
-00032         CompType( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset );  <span class="comment">// H5Dget_type</span>
-00033 
-00034         <span class="comment">// Returns the type class of the specified member of this compound</span>
-00035         <span class="comment">// datatype.  It provides to the user a way of knowing what type</span>
-00036         <span class="comment">// to create another datatype of the same class</span>
-00037         H5T_class_t getMemberClass( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00038 
-00039         <span class="comment">// Returns the dimensionality of the specified member.</span>
-00040         <span class="keywordtype">int</span> getMemberDims( <span class="keywordtype">unsigned</span> member_num, size_t* dims, <span class="keywordtype">int</span>* perm ) <span class="keyword">const</span>; <span class="comment">// obsolete</span>
-00041 
-00042         <span class="comment">// Returns the index of a member in this compound data type.</span>
-00043         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00044         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Returns the offset of a member of this compound datatype.</span>
-00047         size_t getMemberOffset( <span class="keywordtype">unsigned</span> memb_no ) <span class="keyword">const</span>;
-00048 
-00049         <span class="comment">// Returns the name of a member of this compound datatype.</span>
-00050         string getMemberName( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00051 
-00052         <span class="comment">// Returns the generic datatype of the specified member in</span>
-00053         <span class="comment">// this compound datatype.</span>
-00054         <a class="code" href="classH5_1_1DataType.html">DataType</a> getMemberDataType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00055 
-00056         <span class="comment">// Returns the compound datatype of the specified member in</span>
-00057         <span class="comment">// this compound datatype.</span>
-00058         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> getMemberArrayType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00059 
-00060         <span class="comment">// Returns the compound datatype of the specified member in</span>
-00061         <span class="comment">// this compound datatype.</span>
-00062         CompType getMemberCompType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00063 
-00064         <span class="comment">// Returns the enumeration datatype of the specified member in</span>
-00065         <span class="comment">// this compound datatype.</span>
-00066         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> getMemberEnumType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00067 
-00068         <span class="comment">// Returns the integer datatype of the specified member in</span>
-00069         <span class="comment">// this compound datatype.</span>
-00070         <a class="code" href="classH5_1_1IntType.html">IntType</a> getMemberIntType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00071 
-00072         <span class="comment">// Returns the floating-point datatype of the specified member in</span>
-00073         <span class="comment">// this compound datatype.</span>
-00074         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> getMemberFloatType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00075 
-00076         <span class="comment">// Returns the string datatype of the specified member in</span>
-00077         <span class="comment">// this compound datatype.</span>
-00078         <a class="code" href="classH5_1_1StrType.html">StrType</a> getMemberStrType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00079 
-00080         <span class="comment">// Returns the compound datatype of the specified member in</span>
-00081         <span class="comment">// this compound datatype.</span>
-00082         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> getMemberVarLenType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
-00083 
-00084         <span class="comment">// Returns the number of members in this compound datatype.</span>
-00085         <span class="keywordtype">int</span> getNmembers() <span class="keyword">const</span>;
-00086 
-00087         <span class="comment">// Adds a new member to this compound datatype.</span>
-00088         <span class="keywordtype">void</span> insertMember( <span class="keyword">const</span> string&amp; name, size_t offset, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; new_member ) <span class="keyword">const</span>;
-00089 
-00090         <span class="comment">// Recursively removes padding from within this compound datatype.</span>
-00091         <span class="keywordtype">void</span> pack() <span class="keyword">const</span>;
-00092 
-00093         <span class="comment">// Returns this class name</span>
-<a name="l00094"></a><a class="code" href="classH5_1_1CompType.html#a19">00094</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"CompType"</span>); }
-00095 
-00096         <span class="comment">// Default constructor</span>
-00097         CompType();
-00098 
-00099         <span class="comment">// Creates a compound datatype using an existing id</span>
-00100         CompType( <span class="keyword">const</span> hid_t existing_id );
-00101 
-00102         <span class="comment">// Copy constructor - makes a copy of original object</span>
-00103         CompType( <span class="keyword">const</span> CompType&amp; original );
-00104 
-00105         <span class="comment">// Noop destructor.</span>
-00106         <span class="keyword">virtual</span> ~CompType();
-00107 
-00108    <span class="keyword">private</span>:
-00109         <span class="comment">// Contains common code that is used by the member functions</span>
-00110         <span class="comment">// getMemberXxxType</span>
-00111         hid_t p_get_member_type(<span class="keywordtype">unsigned</span> member_num) <span class="keyword">const</span>;
-00112 };
-00113 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00114 <span class="preprocessor"></span>}
-00115 <span class="preprocessor">#endif</span>
-00116 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// Class CompType inherits from DataType and provides accesses to a compound</span>
+00018 <span class="comment">// datatype.</span>
+00019 
+00020 <span class="preprocessor">#ifndef _H5CompType_H</span>
+00021 <span class="preprocessor"></span><span class="preprocessor">#define _H5CompType_H</span>
+00022 <span class="preprocessor"></span>
+00023 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00024 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00025 <span class="preprocessor">#endif</span>
+00026 <span class="preprocessor"></span>
+<a name="l00027"></a><a class="code" href="classH5_1_1CompType.html">00027</a> <span class="keyword">class </span>H5_DLLCPP CompType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
+00028    <span class="keyword">public</span>:
+00029         <span class="comment">// Creates a new compound datatype, given the type's size</span>
+00030         CompType( size_t size ); <span class="comment">// H5Tcreate</span>
+00031 
+00032         <span class="comment">// Gets the compound datatype of the specified dataset</span>
+00033         CompType( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset );  <span class="comment">// H5Dget_type</span>
+00034 
+00035         <span class="comment">// Returns the type class of the specified member of this compound</span>
+00036         <span class="comment">// datatype.  It provides to the user a way of knowing what type</span>
+00037         <span class="comment">// to create another datatype of the same class</span>
+00038         H5T_class_t getMemberClass( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00039 
+00040         <span class="comment">// Returns the index of a member in this compound data type.</span>
+00041         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00042         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00043 
+00044         <span class="comment">// Returns the offset of a member of this compound datatype.</span>
+00045         size_t getMemberOffset( <span class="keywordtype">unsigned</span> memb_no ) <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Returns the name of a member of this compound datatype.</span>
+00048         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getMemberName( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00049 
+00050         <span class="comment">// Returns the generic datatype of the specified member in</span>
+00051         <span class="comment">// this compound datatype.</span>
+00052         <a class="code" href="classH5_1_1DataType.html">DataType</a> getMemberDataType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00053 
+00054         <span class="comment">// Returns the array datatype of the specified member in</span>
+00055         <span class="comment">// this compound datatype.</span>
+00056         <a class="code" href="classH5_1_1ArrayType.html">ArrayType</a> getMemberArrayType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00057 
+00058         <span class="comment">// Returns the compound datatype of the specified member in</span>
+00059         <span class="comment">// this compound datatype.</span>
+00060         CompType getMemberCompType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00061 
+00062         <span class="comment">// Returns the enumeration datatype of the specified member in</span>
+00063         <span class="comment">// this compound datatype.</span>
+00064         <a class="code" href="classH5_1_1EnumType.html">EnumType</a> getMemberEnumType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00065 
+00066         <span class="comment">// Returns the integer datatype of the specified member in</span>
+00067         <span class="comment">// this compound datatype.</span>
+00068         <a class="code" href="classH5_1_1IntType.html">IntType</a> getMemberIntType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00069 
+00070         <span class="comment">// Returns the floating-point datatype of the specified member in</span>
+00071         <span class="comment">// this compound datatype.</span>
+00072         <a class="code" href="classH5_1_1FloatType.html">FloatType</a> getMemberFloatType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00073 
+00074         <span class="comment">// Returns the string datatype of the specified member in</span>
+00075         <span class="comment">// this compound datatype.</span>
+00076         <a class="code" href="classH5_1_1StrType.html">StrType</a> getMemberStrType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00077 
+00078         <span class="comment">// Returns the variable length datatype of the specified member in</span>
+00079         <span class="comment">// this compound datatype.</span>
+00080         <a class="code" href="classH5_1_1VarLenType.html">VarLenType</a> getMemberVarLenType( <span class="keywordtype">unsigned</span> member_num ) <span class="keyword">const</span>;
+00081 
+00082         <span class="comment">// Returns the number of members in this compound datatype.</span>
+00083         <span class="keywordtype">int</span> getNmembers() <span class="keyword">const</span>;
+00084 
+00085         <span class="comment">// Adds a new member to this compound datatype.</span>
+00086         <span class="keywordtype">void</span> insertMember( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, size_t offset, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; new_member ) <span class="keyword">const</span>;
+00087 
+00088         <span class="comment">// Recursively removes padding from within this compound datatype.</span>
+00089         <span class="keywordtype">void</span> pack() <span class="keyword">const</span>;
+00090 
+00091         <span class="comment">// Returns this class name</span>
+<a name="l00092"></a><a class="code" href="classH5_1_1CompType.html#a18">00092</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1DataType.html#a35">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"CompType"</span>); }
+00093 
+00094         <span class="comment">// Default constructor</span>
+00095         CompType();
+00096 
+00097         <span class="comment">// Creates a compound datatype using an existing id</span>
+00098         CompType( <span class="keyword">const</span> hid_t existing_id );
+00099 
+00100         <span class="comment">// Copy constructor - makes a copy of original object</span>
+00101         CompType( <span class="keyword">const</span> CompType&amp; original );
+00102 
+00103         <span class="comment">// Noop destructor.</span>
+00104         <span class="keyword">virtual</span> ~CompType();
+00105 
+00106    <span class="keyword">private</span>:
+00107         <span class="comment">// Contains common code that is used by the member functions</span>
+00108         <span class="comment">// getMemberXxxType</span>
+00109         hid_t p_get_member_type(<span class="keywordtype">unsigned</span> member_num) <span class="keyword">const</span>;
+00110 };
+00111 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00112 <span class="preprocessor"></span>}
+00113 <span class="preprocessor">#endif</span>
+00114 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CompType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CompType.h File Reference</h1>
 <p>
 <a href="H5CompType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,44 +337,45 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CppDoc.h</h1><a href="H5CppDoc_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5CPPDOC_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5CPPDOC_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="comment">//-------------------------------------------------------------------------</span>
-00020 <span class="comment">// The following section will be used to generate the 'Mainpage'</span>
-00021 <span class="comment">// and the 'Examples' for the RM.</span>
-00022 <span class="comment">// ------------------------------------------------------------------------</span>
-00023 
-00060 
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5CPPDOC_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5CPPDOC_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="comment">//-------------------------------------------------------------------------</span>
+00021 <span class="comment">// The following section will be used to generate the 'Mainpage'</span>
+00022 <span class="comment">// and the 'Examples' for the RM.</span>
+00023 <span class="comment">// ------------------------------------------------------------------------</span>
+00024 
 00061 
 00062 
 00063 
-00067 
-00071 
-00077 
-00081 
-00085 
-00089 
-00090 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00064 
+00068 
+00072 
+00078 
+00082 
+00086 
+00090 
+00091 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5CppDoc_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,15 +337,15 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5CppDoc.h File Reference</h1>
 <p>
 <a href="H5CppDoc_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,56 +337,69 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Cpp.h</h1><a href="H5Cpp_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5CPP_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5CPP_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#include "<a class="code" href="H5Include_8h.html">H5Include.h</a>"</span>
-00020 <span class="preprocessor">#include "<a class="code" href="H5Exception_8h.html">H5Exception.h</a>"</span>
-00021 <span class="preprocessor">#include "<a class="code" href="H5IdComponent_8h.html">H5IdComponent.h</a>"</span>
-00022 <span class="preprocessor">#include "<a class="code" href="H5DataSpace_8h.html">H5DataSpace.h</a>"</span>
-00023 <span class="preprocessor">#include "<a class="code" href="H5PropList_8h.html">H5PropList.h</a>"</span>
-00024 <span class="preprocessor">#include "<a class="code" href="H5Object_8h.html">H5Object.h</a>"</span>
-00025 <span class="preprocessor">#include "<a class="code" href="H5AbstractDs_8h.html">H5AbstractDs.h</a>"</span>
-00026 <span class="preprocessor">#include "<a class="code" href="H5Attribute_8h.html">H5Attribute.h</a>"</span>
-00027 <span class="preprocessor">#include "<a class="code" href="H5DcreatProp_8h.html">H5DcreatProp.h</a>"</span>
-00028 <span class="preprocessor">#include "<a class="code" href="H5CommonFG_8h.html">H5CommonFG.h</a>"</span>
-00029 <span class="preprocessor">#include "<a class="code" href="H5DataType_8h.html">H5DataType.h</a>"</span>
-00030 <span class="preprocessor">#include "<a class="code" href="H5DxferProp_8h.html">H5DxferProp.h</a>"</span>
-00031 <span class="preprocessor">#include "<a class="code" href="H5FaccProp_8h.html">H5FaccProp.h</a>"</span>
-00032 <span class="preprocessor">#include "<a class="code" href="H5FcreatProp_8h.html">H5FcreatProp.h</a>"</span>
-00033 <span class="preprocessor">#include "<a class="code" href="H5AtomType_8h.html">H5AtomType.h</a>"</span>
-00034 <span class="preprocessor">#include "<a class="code" href="H5PredType_8h.html">H5PredType.h</a>"</span>
-00035 <span class="preprocessor">#include "<a class="code" href="H5EnumType_8h.html">H5EnumType.h</a>"</span>
-00036 <span class="preprocessor">#include "<a class="code" href="H5IntType_8h.html">H5IntType.h</a>"</span>
-00037 <span class="preprocessor">#include "<a class="code" href="H5FloatType_8h.html">H5FloatType.h</a>"</span>
-00038 <span class="preprocessor">#include "<a class="code" href="H5StrType_8h.html">H5StrType.h</a>"</span>
-00039 <span class="preprocessor">#include "<a class="code" href="H5CompType_8h.html">H5CompType.h</a>"</span>
-00040 <span class="preprocessor">#include "<a class="code" href="H5ArrayType_8h.html">H5ArrayType.h</a>"</span>
-00041 <span class="preprocessor">#include "<a class="code" href="H5VarLenType_8h.html">H5VarLenType.h</a>"</span>
-00042 <span class="preprocessor">#include "<a class="code" href="H5DataSet_8h.html">H5DataSet.h</a>"</span>
-00043 <span class="preprocessor">#include "<a class="code" href="H5Group_8h.html">H5Group.h</a>"</span>
-00044 <span class="preprocessor">#include "<a class="code" href="H5File_8h.html">H5File.h</a>"</span>
-00045 <span class="preprocessor">#include "<a class="code" href="H5Library_8h.html">H5Library.h</a>"</span>
-00046 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5CPP_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5CPP_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#include "H5cxx_pubconf.h"</span>
+00021 <span class="preprocessor">#include "<a class="code" href="H5Include_8h.html">H5Include.h</a>"</span>
+00022 <span class="preprocessor">#include "<a class="code" href="H5Exception_8h.html">H5Exception.h</a>"</span>
+00023 <span class="preprocessor">#include "<a class="code" href="H5IdComponent_8h.html">H5IdComponent.h</a>"</span>
+00024 <span class="preprocessor">#include "<a class="code" href="H5DataSpace_8h.html">H5DataSpace.h</a>"</span>
+00025 <span class="preprocessor">#include "<a class="code" href="H5PropList_8h.html">H5PropList.h</a>"</span>
+00026 <span class="preprocessor">#include "<a class="code" href="H5Object_8h.html">H5Object.h</a>"</span>
+00027 <span class="preprocessor">#include "<a class="code" href="H5AbstractDs_8h.html">H5AbstractDs.h</a>"</span>
+00028 <span class="preprocessor">#include "<a class="code" href="H5Attribute_8h.html">H5Attribute.h</a>"</span>
+00029 <span class="preprocessor">#include "<a class="code" href="H5DcreatProp_8h.html">H5DcreatProp.h</a>"</span>
+00030 <span class="preprocessor">#include "<a class="code" href="H5CommonFG_8h.html">H5CommonFG.h</a>"</span>
+00031 <span class="preprocessor">#include "<a class="code" href="H5DataType_8h.html">H5DataType.h</a>"</span>
+00032 <span class="preprocessor">#include "<a class="code" href="H5DxferProp_8h.html">H5DxferProp.h</a>"</span>
+00033 <span class="preprocessor">#include "<a class="code" href="H5FaccProp_8h.html">H5FaccProp.h</a>"</span>
+00034 <span class="preprocessor">#include "<a class="code" href="H5FcreatProp_8h.html">H5FcreatProp.h</a>"</span>
+00035 <span class="preprocessor">#include "<a class="code" href="H5AtomType_8h.html">H5AtomType.h</a>"</span>
+00036 <span class="preprocessor">#include "<a class="code" href="H5PredType_8h.html">H5PredType.h</a>"</span>
+00037 <span class="preprocessor">#include "<a class="code" href="H5EnumType_8h.html">H5EnumType.h</a>"</span>
+00038 <span class="preprocessor">#include "<a class="code" href="H5IntType_8h.html">H5IntType.h</a>"</span>
+00039 <span class="preprocessor">#include "<a class="code" href="H5FloatType_8h.html">H5FloatType.h</a>"</span>
+00040 <span class="preprocessor">#include "<a class="code" href="H5StrType_8h.html">H5StrType.h</a>"</span>
+00041 <span class="preprocessor">#include "<a class="code" href="H5CompType_8h.html">H5CompType.h</a>"</span>
+00042 <span class="preprocessor">#include "<a class="code" href="H5ArrayType_8h.html">H5ArrayType.h</a>"</span>
+00043 <span class="preprocessor">#include "<a class="code" href="H5VarLenType_8h.html">H5VarLenType.h</a>"</span>
+00044 <span class="preprocessor">#include "<a class="code" href="H5DataSet_8h.html">H5DataSet.h</a>"</span>
+00045 <span class="preprocessor">#include "<a class="code" href="H5Group_8h.html">H5Group.h</a>"</span>
+00046 <span class="preprocessor">#include "<a class="code" href="H5File_8h.html">H5File.h</a>"</span>
+00047 <span class="preprocessor">#include "<a class="code" href="H5Library_8h.html">H5Library.h</a>"</span>
+00048 
+00049 <span class="comment">/* Some C++ compilers do not have offsetof macro; define to bypass the problem</span>
+00050 <span class="comment">   - BMR- -EIP- 2007/06/21 </span>
+00051 <span class="comment">*/</span>
+00052 <span class="preprocessor">#ifndef H5_CXX_HAVE_OFFSETOF</span>
+00053 <span class="preprocessor"></span><span class="preprocessor">#ifdef HOFFSET</span>
+00054 <span class="preprocessor"></span><span class="preprocessor">   #undef HOFFSET</span>
+00055 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00056"></a><a class="code" href="H5Cpp_8h.html#a0">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define HOFFSET(TYPE, MEMBER) ((size_t) &amp;((TYPE *)0)-&gt;MEMBER)</span>
+00057 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00058 <span class="preprocessor"></span>
+00059 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Cpp_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,9 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5Cpp.h File Reference</h1><code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5Cpp.h File Reference</h1><code>#include "H5cxx_pubconf.h"</code><br>
+<code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
 <code>#include "<a class="el" href="H5DataSpace_8h-source.html">H5DataSpace.h</a>"</code><br>
@@ -353,9 +371,45 @@
 <p>
 <a href="H5Cpp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="H5Cpp_8h.html#a0">HOFFSET</a>(TYPE, MEMBER)&nbsp;&nbsp;&nbsp;((size_t) &amp;((TYPE *)0)-&gt;MEMBER)</td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a0" doxytag="H5Cpp.h::HOFFSET"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">#define HOFFSET          </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">TYPE,         <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>MEMBER&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((size_t) &amp;((TYPE *)0)-&gt;MEMBER)</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+<dl compact><dt><b>Examples: </b></dt><dd>
+<a class="el" href="compound_8cpp-example.html#a1">compound.cpp</a>.</dl>    </td>
+  </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5DataSet.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5DataSet.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
@@ -342,8 +359,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,121 +337,128 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DataSet.h</h1><a href="H5DataSet_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Class DataSet inherits from AbstractDs and provides accesses to a dataset.</span>
-00017 
-00018 <span class="preprocessor">#ifndef _H5DataSet_H</span>
-00019 <span class="preprocessor"></span><span class="preprocessor">#define _H5DataSet_H</span>
-00020 <span class="preprocessor"></span>
-00021 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00022 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00023 <span class="preprocessor">#endif</span>
-00024 <span class="preprocessor"></span>
-<a name="l00025"></a><a class="code" href="classH5_1_1DataSet.html">00025</a> <span class="keyword">class </span>H5_DLLCPP DataSet : <span class="keyword">public</span> <a class="code" href="classH5_1_1AbstractDs.html">AbstractDs</a> {
-00026    <span class="keyword">public</span>:
-00027         <span class="comment">// Extends the dataset with unlimited dimension.</span>
-00028         <span class="keywordtype">void</span> extend( <span class="keyword">const</span> hsize_t* size ) <span class="keyword">const</span>;
-00029 
-00030         <span class="comment">// Fills a selection in memory with a value</span>
-00031         <span class="keywordtype">void</span> fillMemBuf(<span class="keyword">const</span> <span class="keywordtype">void</span> *fill, <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; fill_type, <span class="keywordtype">void</span> *buf, <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; buf_type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space);
-00032         <span class="comment">// Fills a selection in memory with zero</span>
-00033         <span class="keywordtype">void</span> fillMemBuf(<span class="keywordtype">void</span> *buf, <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; buf_type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space);
-00034 
-00035         <span class="comment">// Gets the creation property list of this dataset.</span>
-00036         <a class="code" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> getCreatePlist() <span class="keyword">const</span>;
-00037 
-00038         <span class="comment">// Returns the address of this dataset in the file.</span>
-00039         haddr_t getOffset() <span class="keyword">const</span>;
-00040 
-00041         <span class="comment">// Gets the dataspace of this dataset.</span>
-00042         <span class="keyword">virtual</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getSpace() <span class="keyword">const</span>;
-00043 
-00044         <span class="comment">// Determines whether space has been allocated for a dataset.</span>
-00045         <span class="keywordtype">void</span> getSpaceStatus(H5D_space_status_t&amp; status) <span class="keyword">const</span>;
-00046 
-00047         <span class="comment">// Returns the amount of storage size required for this dataset.</span>
-00048         <span class="keyword">virtual</span> hsize_t getStorageSize() <span class="keyword">const</span>;
-00049 
-00050         <span class="comment">// not yet implemented??</span>
-00051         hsize_t getVlenBufSize( <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space ) <span class="keyword">const</span>;
-00052         <span class="keywordtype">void</span> vlenReclaim( <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist, <span class="keywordtype">void</span>* buf ) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// Class DataSet inherits from AbstractDs and provides accesses to a dataset.</span>
+00018 
+00019 <span class="preprocessor">#ifndef _H5DataSet_H</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _H5DataSet_H</span>
+00021 <span class="preprocessor"></span>
+00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00024 <span class="preprocessor">#endif</span>
+00025 <span class="preprocessor"></span>
+<a name="l00026"></a><a class="code" href="classH5_1_1DataSet.html">00026</a> <span class="keyword">class </span>H5_DLLCPP DataSet : <span class="keyword">public</span> <a class="code" href="classH5_1_1AbstractDs.html">AbstractDs</a> {
+00027    <span class="keyword">public</span>:
+00028         <span class="comment">// Close this dataset.</span>
+00029         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00030 
+00031         <span class="comment">// Extends the dataset with unlimited dimension.</span>
+00032         <span class="keywordtype">void</span> extend( <span class="keyword">const</span> hsize_t* size ) <span class="keyword">const</span>;
+00033 
+00034         <span class="comment">// Fills a selection in memory with a value</span>
+00035         <span class="keywordtype">void</span> fillMemBuf(<span class="keyword">const</span> <span class="keywordtype">void</span> *fill, <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; fill_type, <span class="keywordtype">void</span> *buf, <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; buf_type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space);
+00036         <span class="comment">// Fills a selection in memory with zero</span>
+00037         <span class="keywordtype">void</span> fillMemBuf(<span class="keywordtype">void</span> *buf, <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; buf_type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space);
+00038 
+00039         <span class="comment">// Gets the creation property list of this dataset.</span>
+00040         <a class="code" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> getCreatePlist() <span class="keyword">const</span>;
+00041 
+00042         <span class="comment">// Returns the address of this dataset in the file.</span>
+00043         haddr_t getOffset() <span class="keyword">const</span>;
+00044 
+00045         <span class="comment">// Gets the dataspace of this dataset.</span>
+00046         <span class="keyword">virtual</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> <a class="code" href="classH5_1_1AbstractDs.html#a8">getSpace</a>() <span class="keyword">const</span>;
+00047 
+00048         <span class="comment">// Determines whether space has been allocated for a dataset.</span>
+00049         <span class="keywordtype">void</span> getSpaceStatus(H5D_space_status_t&amp; status) <span class="keyword">const</span>;
+00050 
+00051         <span class="comment">// Returns the amount of storage size required for this dataset.</span>
+00052         hsize_t <a class="code" href="classH5_1_1AbstractDs.html#a10">getStorageSize</a>() <span class="keyword">const</span>;
 00053 
-00054         <span class="comment">// Reads the data of this dataset and stores it in the provided buffer.</span>
-00055         <span class="comment">// The memory and file dataspaces and the transferring property list</span>
-00056         <span class="comment">// can be defaults.</span>
-00057         <span class="keywordtype">void</span> read( <span class="keywordtype">void</span>* buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = <a class="code" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a> ) <span class="keyword">const</span>;
-00058         <span class="keywordtype">void</span> read( string&amp; buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = <a class="code" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a> ) <span class="keyword">const</span>;
-00059 
-00060         <span class="comment">// Writes the buffered data to this dataset.</span>
-00061         <span class="comment">// The memory and file dataspaces and the transferring property list</span>
-00062         <span class="comment">// can be defaults.</span>
-00063         <span class="keywordtype">void</span> write( <span class="keyword">const</span> <span class="keywordtype">void</span>* buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = <a class="code" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a> ) <span class="keyword">const</span>;
-00064         <span class="keywordtype">void</span> write( <span class="keyword">const</span> string&amp; buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = <a class="code" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = <a class="code" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a> ) <span class="keyword">const</span>;
-00065 
-00066         <span class="comment">// Iterates the selected elements in the specified dataspace - not implemented in C++ style yet</span>
-00067         <span class="keywordtype">int</span> iterateElems( <span class="keywordtype">void</span>* buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, H5D_operator_t op, <span class="keywordtype">void</span>* op_data = NULL );
-00068 
-00069         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
-00070         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
-00071 
-00072         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
-00073         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
-00074 
-00075         <span class="comment">// Creates a reference to a named Hdf5 object or to a dataset region</span>
-00076         <span class="comment">// in this object.</span>
-00077         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
+00054         <span class="comment">// Returns the number of bytes required to store VL data.</span>
+00055         hsize_t getVlenBufSize( <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space ) <span class="keyword">const</span>;
+00056 
+00057         <span class="comment">// Reclaims VL datatype memory buffers.</span>
+00058         <span class="keyword">static</span> <span class="keywordtype">void</span> vlenReclaim(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist, <span class="keywordtype">void</span>* buf );
+00059         <span class="keyword">static</span> <span class="keywordtype">void</span> vlenReclaim(<span class="keywordtype">void</span> *buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = DSetMemXferPropList::DEFAULT);
+00060 
+00061         <span class="comment">// Reads the data of this dataset and stores it in the provided buffer.</span>
+00062         <span class="comment">// The memory and file dataspaces and the transferring property list</span>
+00063         <span class="comment">// can be defaults.</span>
+00064         <span class="keywordtype">void</span> read( <span class="keywordtype">void</span>* buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = DSetMemXferPropList::DEFAULT ) <span class="keyword">const</span>;
+00065         <span class="keywordtype">void</span> read( <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = DSetMemXferPropList::DEFAULT ) <span class="keyword">const</span>;
+00066 
+00067         <span class="comment">// Writes the buffered data to this dataset.</span>
+00068         <span class="comment">// The memory and file dataspaces and the transferring property list</span>
+00069         <span class="comment">// can be defaults.</span>
+00070         <span class="keywordtype">void</span> write( <span class="keyword">const</span> <span class="keywordtype">void</span>* buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = DSetMemXferPropList::DEFAULT ) <span class="keyword">const</span>;
+00071         <span class="keywordtype">void</span> write( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; mem_type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; mem_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; file_space = DataSpace::ALL, <span class="keyword">const</span> <a class="code" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&amp; xfer_plist = DSetMemXferPropList::DEFAULT ) <span class="keyword">const</span>;
+00072 
+00073         <span class="comment">// Iterates the selected elements in the specified dataspace - not implemented in C++ style yet</span>
+00074         <span class="keywordtype">int</span> iterateElems( <span class="keywordtype">void</span>* buf, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, H5D_operator_t op, <span class="keywordtype">void</span>* op_data = NULL );
+00075 
+00076         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
+00077         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_OBJECT) <span class="keyword">const</span>;
 00078 
-00079         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
-00080         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00081         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00082 
-00083         <span class="comment">// Returns this class name</span>
-<a name="l00084"></a><a class="code" href="classH5_1_1DataSet.html#a20">00084</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DataSet"</span>); }
+00079         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
+00080         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
+00081 
+00082         <span class="comment">// Creates a reference to a named Hdf5 object or to a dataset region</span>
+00083         <span class="comment">// in this object.</span>
+00084         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
 00085 
-00086         <span class="comment">// Creates a copy of an existing DataSet using its id.</span>
-00087         DataSet(<span class="keyword">const</span> hid_t existing_id);
-00088 
-00089         <span class="comment">// Close this dataset.</span>
-00090         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00091 
-00092         <span class="comment">// Default constructor.</span>
-00093         DataSet();
-00094 
-00095         <span class="comment">// Copy constructor.</span>
-00096         DataSet( <span class="keyword">const</span> DataSet&amp; original );
-00097 
-00098         <span class="comment">// Destructor: properly terminates access to this dataset.</span>
-00099         <span class="keyword">virtual</span> ~DataSet();
-00100 
-00101    <span class="keyword">private</span>:
-00102         <span class="comment">// This function contains the common code that is used by</span>
-00103         <span class="comment">// getTypeClass and various API functions getXxxType</span>
-00104         <span class="comment">// defined in AbstractDs for generic datatype and specific</span>
-00105         <span class="comment">// sub-types</span>
-00106         <span class="keyword">virtual</span> hid_t p_get_type() <span class="keyword">const</span>;
-00107 };
-00108 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00109 <span class="preprocessor"></span>}
-00110 <span class="preprocessor">#endif</span>
-00111 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00086         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
+00087         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00088         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00089 
+00090         <span class="comment">// Returns this class name</span>
+<a name="l00091"></a><a class="code" href="classH5_1_1DataSet.html#a20">00091</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DataSet"</span>); }
+00092 
+00093         <span class="comment">// Creates a dataset by way of dereference.</span>
+00094         DataSet(<a class="code" href="classH5_1_1IdComponent.html">IdComponent</a>&amp; obj, <span class="keywordtype">void</span>* ref);
+00095 
+00096         <span class="comment">// Default constructor.</span>
+00097         DataSet();
+00098 
+00099         <span class="comment">// Copy constructor.</span>
+00100         DataSet( <span class="keyword">const</span> DataSet&amp; original );
+00101 
+00102         <span class="comment">// Creates a copy of an existing DataSet using its id.</span>
+00103         DataSet(<span class="keyword">const</span> hid_t existing_id);
+00104 
+00105         <span class="comment">// Destructor: properly terminates access to this dataset.</span>
+00106         <span class="keyword">virtual</span> ~DataSet();
+00107 
+00108    <span class="keyword">private</span>:
+00109         <span class="comment">// This function contains the common code that is used by</span>
+00110         <span class="comment">// getTypeClass and various API functions getXxxType</span>
+00111         <span class="comment">// defined in AbstractDs for generic datatype and specific</span>
+00112         <span class="comment">// sub-types</span>
+00113         <span class="keyword">virtual</span> hid_t p_get_type() <span class="keyword">const</span>;
+00114 };
+00115 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00116 <span class="preprocessor"></span>}
+00117 <span class="preprocessor">#endif</span>
+00118 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSet_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DataSet.h File Reference</h1>
 <p>
 <a href="H5DataSet_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5DataSpace.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5DataSpace.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
@@ -334,8 +351,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,130 +337,131 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DataSpace.h</h1><a href="H5DataSpace_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5DataSpace_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5DataSpace_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1DataSpace.html">00023</a> <span class="keyword">class </span>H5_DLLCPP DataSpace : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Default DataSpace objects</span>
-00026         <span class="keyword">static</span> <span class="keyword">const</span> DataSpace ALL;
-00027 
-00028         <span class="comment">// Creates a dataspace object given the space type</span>
-00029         DataSpace(H5S_class_t type = H5S_SCALAR);
-00030 
-00031         <span class="comment">// Creates a simple dataspace</span>
-00032         DataSpace(<span class="keywordtype">int</span> rank, <span class="keyword">const</span> hsize_t * dims, <span class="keyword">const</span> hsize_t * maxdims = NULL);
-00033 
-00034         <span class="comment">// Assignment operator</span>
-00035         DataSpace&amp; operator=( <span class="keyword">const</span> DataSpace&amp; rhs );
-00036 
-00037         <span class="comment">// Makes copy of an existing dataspace.</span>
-00038         <span class="keywordtype">void</span> copy(<span class="keyword">const</span> DataSpace&amp; like_space);
-00039 
-00040         <span class="comment">// Copies the extent of this dataspace.</span>
-00041         <span class="keywordtype">void</span> extentCopy( DataSpace&amp; dest_space ) <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Gets the bounding box containing the current selection.</span>
-00044         <span class="keywordtype">void</span> getSelectBounds( hsize_t* start, hsize_t* end ) <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Gets the number of element points in the current selection.</span>
-00047         hssize_t getSelectElemNpoints() <span class="keyword">const</span>;
-00048 
-00049         <span class="comment">// Retrieves the list of element points currently selected.</span>
-00050         <span class="keywordtype">void</span> getSelectElemPointlist( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) <span class="keyword">const</span>;
-00051 
-00052         <span class="comment">// Gets the list of hyperslab blocks currently selected.</span>
-00053         <span class="keywordtype">void</span> getSelectHyperBlocklist( hsize_t startblock, hsize_t numblocks, hsize_t *buf ) <span class="keyword">const</span>;
-00054 
-00055         <span class="comment">// Get number of hyperslab blocks.</span>
-00056         hssize_t getSelectHyperNblocks() <span class="keyword">const</span>;
-00057 
-00058         <span class="comment">// Gets the number of elements in this dataspace selection.</span>
-00059         hssize_t getSelectNpoints() <span class="keyword">const</span>;
-00060 
-00061         <span class="comment">// Retrieves dataspace dimension size and maximum size.</span>
-00062         <span class="keywordtype">int</span> getSimpleExtentDims( hsize_t *dims, hsize_t *maxdims = NULL ) <span class="keyword">const</span>;
-00063 
-00064         <span class="comment">// Gets the dimensionality of this dataspace.</span>
-00065         <span class="keywordtype">int</span> getSimpleExtentNdims() <span class="keyword">const</span>;
-00066 
-00067         <span class="comment">// Gets the number of elements in this dataspace.</span>
-00068         <span class="comment">// 12/05/00 - changed return type to hssize_t from hsize_t - C API</span>
-00069         hssize_t getSimpleExtentNpoints() <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5DataSpace_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5DataSpace_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1DataSpace.html">00024</a> <span class="keyword">class </span>H5_DLLCPP DataSpace : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Default DataSpace objects</span>
+00027         <span class="keyword">static</span> <span class="keyword">const</span> DataSpace ALL;
+00028 
+00029         <span class="comment">// Creates a dataspace object given the space type</span>
+00030         DataSpace(H5S_class_t type = H5S_SCALAR);
+00031 
+00032         <span class="comment">// Creates a simple dataspace</span>
+00033         DataSpace(<span class="keywordtype">int</span> rank, <span class="keyword">const</span> hsize_t * dims, <span class="keyword">const</span> hsize_t * maxdims = NULL);
+00034 
+00035         <span class="comment">// Assignment operator</span>
+00036         DataSpace&amp; <a class="code" href="classH5_1_1IdComponent.html#a6">operator=</a>( <span class="keyword">const</span> DataSpace&amp; rhs );
+00037 
+00038         <span class="comment">// Closes this dataspace.</span>
+00039         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00040 
+00041         <span class="comment">// Makes copy of an existing dataspace.</span>
+00042         <span class="keywordtype">void</span> copy(<span class="keyword">const</span> DataSpace&amp; like_space);
+00043 
+00044         <span class="comment">// Copies the extent of this dataspace.</span>
+00045         <span class="keywordtype">void</span> extentCopy( DataSpace&amp; dest_space ) <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Gets the bounding box containing the current selection.</span>
+00048         <span class="keywordtype">void</span> getSelectBounds( hsize_t* start, hsize_t* end ) <span class="keyword">const</span>;
+00049 
+00050         <span class="comment">// Gets the number of element points in the current selection.</span>
+00051         hssize_t getSelectElemNpoints() <span class="keyword">const</span>;
+00052 
+00053         <span class="comment">// Retrieves the list of element points currently selected.</span>
+00054         <span class="keywordtype">void</span> getSelectElemPointlist( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) <span class="keyword">const</span>;
+00055 
+00056         <span class="comment">// Gets the list of hyperslab blocks currently selected.</span>
+00057         <span class="keywordtype">void</span> getSelectHyperBlocklist( hsize_t startblock, hsize_t numblocks, hsize_t *buf ) <span class="keyword">const</span>;
+00058 
+00059         <span class="comment">// Get number of hyperslab blocks.</span>
+00060         hssize_t getSelectHyperNblocks() <span class="keyword">const</span>;
+00061 
+00062         <span class="comment">// Gets the number of elements in this dataspace selection.</span>
+00063         hssize_t getSelectNpoints() <span class="keyword">const</span>;
+00064 
+00065         <span class="comment">// Retrieves dataspace dimension size and maximum size.</span>
+00066         <span class="keywordtype">int</span> getSimpleExtentDims( hsize_t *dims, hsize_t *maxdims = NULL ) <span class="keyword">const</span>;
+00067 
+00068         <span class="comment">// Gets the dimensionality of this dataspace.</span>
+00069         <span class="keywordtype">int</span> getSimpleExtentNdims() <span class="keyword">const</span>;
 00070 
-00071         <span class="comment">// Gets the current class of this dataspace.</span>
-00072         H5S_class_t getSimpleExtentType() <span class="keyword">const</span>;
-00073 
-00074         <span class="comment">// Determines if this dataspace is a simple one.</span>
-00075         <span class="keywordtype">bool</span> isSimple() <span class="keyword">const</span>;
-00076 
-00077         <span class="comment">// Sets the offset of this simple dataspace.</span>
-00078         <span class="keywordtype">void</span> offsetSimple( <span class="keyword">const</span> hssize_t* offset ) <span class="keyword">const</span>;
-00079 
-00080         <span class="comment">// Selects the entire dataspace.</span>
-00081         <span class="keywordtype">void</span> selectAll() <span class="keyword">const</span>;
-00082 
-00083         <span class="comment">// Selects array elements to be included in the selection for</span>
-00084         <span class="comment">// this dataspace.</span>
-00085         <span class="keywordtype">void</span> selectElements( H5S_seloper_t op, <span class="keyword">const</span> size_t num_elements, <span class="keyword">const</span> hsize_t *coord[ ] ) <span class="keyword">const</span>;
+00071         <span class="comment">// Gets the number of elements in this dataspace.</span>
+00072         <span class="comment">// 12/05/00 - changed return type to hssize_t from hsize_t - C API</span>
+00073         hssize_t getSimpleExtentNpoints() <span class="keyword">const</span>;
+00074 
+00075         <span class="comment">// Gets the current class of this dataspace.</span>
+00076         H5S_class_t getSimpleExtentType() <span class="keyword">const</span>;
+00077 
+00078         <span class="comment">// Determines if this dataspace is a simple one.</span>
+00079         <span class="keywordtype">bool</span> isSimple() <span class="keyword">const</span>;
+00080 
+00081         <span class="comment">// Sets the offset of this simple dataspace.</span>
+00082         <span class="keywordtype">void</span> offsetSimple( <span class="keyword">const</span> hssize_t* offset ) <span class="keyword">const</span>;
+00083 
+00084         <span class="comment">// Selects the entire dataspace.</span>
+00085         <span class="keywordtype">void</span> selectAll() <span class="keyword">const</span>;
 00086 
-00087         <span class="comment">// Selects a hyperslab region to add to the current selected region.</span>
-00088         <span class="keywordtype">void</span> selectHyperslab( H5S_seloper_t op, <span class="keyword">const</span> hsize_t *count, <span class="keyword">const</span> hsize_t *start, <span class="keyword">const</span> hsize_t *stride = NULL, <span class="keyword">const</span> hsize_t *block = NULL ) <span class="keyword">const</span>;
-00089 
-00090         <span class="comment">// Resets the selection region to include no elements.</span>
-00091         <span class="keywordtype">void</span> selectNone() <span class="keyword">const</span>;
-00092 
-00093         <span class="comment">// Verifies that the selection is within the extent of the dataspace.</span>
-00094         <span class="keywordtype">bool</span> selectValid() <span class="keyword">const</span>;
-00095 
-00096         <span class="comment">// Removes the extent from this dataspace.</span>
-00097         <span class="keywordtype">void</span> setExtentNone() <span class="keyword">const</span>;
-00098 
-00099         <span class="comment">// Sets or resets the size of this dataspace.</span>
-00100         <span class="keywordtype">void</span> setExtentSimple( <span class="keywordtype">int</span> rank, <span class="keyword">const</span> hsize_t *current_size, <span class="keyword">const</span> hsize_t *maximum_size = NULL ) <span class="keyword">const</span>;
-00101 
-00102         <span class="comment">// Returns this class name</span>
-<a name="l00103"></a><a class="code" href="classH5_1_1DataSpace.html#a24">00103</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DataSpace"</span>); }
-00104 
-00105         <span class="comment">// Creates a DataSpace object using an existing dataspace id.</span>
-00106         DataSpace(<span class="keyword">const</span> hid_t space_id);
-00107 
-00108         <span class="comment">// Copy constructor: makes a copy of the original DataSpace object.</span>
-00109         DataSpace(<span class="keyword">const</span> DataSpace&amp; original);
-00110 
-00111         <span class="comment">// Close this dataspace.</span>
-00112         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00113 
-00114         <span class="comment">// Destructor: properly terminates access to this dataspace.</span>
-00115         <span class="keyword">virtual</span> ~DataSpace();
-00116 };
-00117 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00118 <span class="preprocessor"></span>}
-00119 <span class="preprocessor">#endif</span>
-00120 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00087         <span class="comment">// Selects array elements to be included in the selection for</span>
+00088         <span class="comment">// this dataspace.</span>
+00089         <span class="keywordtype">void</span> selectElements( H5S_seloper_t op, <span class="keyword">const</span> size_t num_elements, <span class="keyword">const</span> hsize_t *coord[ ] ) <span class="keyword">const</span>;
+00090 
+00091         <span class="comment">// Selects a hyperslab region to add to the current selected region.</span>
+00092         <span class="keywordtype">void</span> selectHyperslab( H5S_seloper_t op, <span class="keyword">const</span> hsize_t *count, <span class="keyword">const</span> hsize_t *start, <span class="keyword">const</span> hsize_t *stride = NULL, <span class="keyword">const</span> hsize_t *block = NULL ) <span class="keyword">const</span>;
+00093 
+00094         <span class="comment">// Resets the selection region to include no elements.</span>
+00095         <span class="keywordtype">void</span> selectNone() <span class="keyword">const</span>;
+00096 
+00097         <span class="comment">// Verifies that the selection is within the extent of the dataspace.</span>
+00098         <span class="keywordtype">bool</span> selectValid() <span class="keyword">const</span>;
+00099 
+00100         <span class="comment">// Removes the extent from this dataspace.</span>
+00101         <span class="keywordtype">void</span> setExtentNone() <span class="keyword">const</span>;
+00102 
+00103         <span class="comment">// Sets or resets the size of this dataspace.</span>
+00104         <span class="keywordtype">void</span> setExtentSimple( <span class="keywordtype">int</span> rank, <span class="keyword">const</span> hsize_t *current_size, <span class="keyword">const</span> hsize_t *maximum_size = NULL ) <span class="keyword">const</span>;
+00105 
+00106         <span class="comment">// Returns this class name</span>
+<a name="l00107"></a><a class="code" href="classH5_1_1DataSpace.html#a25">00107</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DataSpace"</span>); }
+00108 
+00109         <span class="comment">// Creates a DataSpace object using an existing dataspace id.</span>
+00110         DataSpace(<span class="keyword">const</span> hid_t space_id);
+00111 
+00112         <span class="comment">// Copy constructor: makes a copy of the original DataSpace object.</span>
+00113         DataSpace(<span class="keyword">const</span> DataSpace&amp; original);
+00114 
+00115         <span class="comment">// Destructor: properly terminates access to this dataspace.</span>
+00116         <span class="keyword">virtual</span> ~DataSpace();
+00117 };
+00118 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00119 <span class="preprocessor"></span>}
+00120 <span class="preprocessor">#endif</span>
+00121 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataSpace_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DataSpace.h File Reference</h1>
 <p>
 <a href="H5DataSpace_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,30 +337,36 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5DataType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5DataType.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
 <code>#include "<a class="el" href="H5PropList_8h-source.html">H5PropList.h</a>"</code><br>
 <code>#include "<a class="el" href="H5DataSpace_8h-source.html">H5DataSpace.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Object_8h-source.html">H5Object.h</a>"</code><br>
+<code>#include "<a class="el" href="H5FaccProp_8h-source.html">H5FaccProp.h</a>"</code><br>
+<code>#include "<a class="el" href="H5FcreatProp_8h-source.html">H5FcreatProp.h</a>"</code><br>
 <code>#include "<a class="el" href="H5DcreatProp_8h-source.html">H5DcreatProp.h</a>"</code><br>
+<code>#include "<a class="el" href="H5DxferProp_8h-source.html">H5DxferProp.h</a>"</code><br>
 <code>#include "<a class="el" href="H5CommonFG_8h-source.html">H5CommonFG.h</a>"</code><br>
 <code>#include "<a class="el" href="H5DataType_8h-source.html">H5DataType.h</a>"</code><br>
 <code>#include "<a class="el" href="H5AtomType_8h-source.html">H5AtomType.h</a>"</code><br>
 <code>#include "<a class="el" href="H5PredType_8h-source.html">H5PredType.h</a>"</code><br>
 <code>#include "H5private.h"</code><br>
+<code>#include "<a class="el" href="H5AbstractDs_8h-source.html">H5AbstractDs.h</a>"</code><br>
+<code>#include "<a class="el" href="H5DataSet_8h-source.html">H5DataSet.h</a>"</code><br>
+<code>#include "<a class="el" href="H5File_8h-source.html">H5File.h</a>"</code><br>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,142 +337,149 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DataType.h</h1><a href="H5DataType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5DataType_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5DataType_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1DataType.html">00023</a> <span class="keyword">class </span>H5_DLLCPP DataType : <span class="keyword">public</span> <a class="code" href="classH5_1_1H5Object.html">H5Object</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Creates a datatype given its class and size</span>
-00026         DataType( <span class="keyword">const</span> H5T_class_t type_class, size_t size );
-00027 
-00028         <span class="comment">// Copy constructor: makes a copy of the original object</span>
-00029         DataType( <span class="keyword">const</span> DataType&amp; original );
-00030 
-00031         <span class="comment">// Closes this datatype.</span>
-00032         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00033 
-00034         <span class="comment">// Copies an existing datatype to this datatype object</span>
-00035         <span class="keywordtype">void</span> copy( <span class="keyword">const</span> DataType&amp; like_type );
-00036 
-00037         <span class="comment">// Returns the datatype class identifier.</span>
-00038         H5T_class_t getClass() <span class="keyword">const</span>;
-00039 
-00040         <span class="comment">// Commits a transient datatype to a file; this datatype becomes</span>
-00041         <span class="comment">// a named datatype which can be accessed from the location.</span>
-00042         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1CommonFG.html">CommonFG</a>&amp; loc, <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
-00043         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1CommonFG.html">CommonFG</a>&amp; loc, <span class="keyword">const</span> string&amp; name ) <span class="keyword">const</span>;
-00044 
-00045         <span class="comment">// Determines whether this datatype is a named datatype or</span>
-00046         <span class="comment">// a transient datatype.</span>
-00047         <span class="keywordtype">bool</span> committed() <span class="keyword">const</span>;
-00048 
-00049         <span class="comment">// Finds a conversion function that can handle the conversion</span>
-00050         <span class="comment">// this datatype to the given datatype, dest.</span>
-00051         H5T_conv_t find( <span class="keyword">const</span> DataType&amp; dest, H5T_cdata_t **pcdata ) <span class="keyword">const</span>;
-00052 
-00053         <span class="comment">// Converts data from between specified datatypes.</span>
-00054         <span class="keywordtype">void</span> convert( <span class="keyword">const</span> DataType&amp; dest, size_t nelmts, <span class="keywordtype">void</span> *buf, <span class="keywordtype">void</span> *background, <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; plist ) <span class="keyword">const</span>;
-00055 
-00056         <span class="comment">// Assignment operator</span>
-00057         DataType&amp; operator=( <span class="keyword">const</span> DataType&amp; rhs );
-00058 
-00059         <span class="comment">// Determines whether two datatypes are the same.</span>
-00060         <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> DataType&amp; compared_type ) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5DataType_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5DataType_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1DataType.html">00024</a> <span class="keyword">class </span>H5_DLLCPP DataType : <span class="keyword">public</span> <a class="code" href="classH5_1_1H5Object.html">H5Object</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Creates a datatype given its class and size</span>
+00027         DataType( <span class="keyword">const</span> H5T_class_t type_class, size_t size );
+00028 
+00029         <span class="comment">// Copy constructor: makes a copy of the original object</span>
+00030         DataType( <span class="keyword">const</span> DataType&amp; original );
+00031 
+00032         <span class="comment">// Creates a datatype by way of dereference.</span>
+00033         DataType(<a class="code" href="classH5_1_1IdComponent.html">IdComponent</a>&amp; obj, <span class="keywordtype">void</span>* ref);
+00034 
+00035         <span class="comment">// Closes this datatype.</span>
+00036         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00037 
+00038         <span class="comment">// Copies an existing datatype to this datatype object.</span>
+00039         <span class="keywordtype">void</span> copy(<span class="keyword">const</span> DataType&amp; like_type);
+00040 
+00041         <span class="comment">// Copies the datatype of dset to this datatype object.</span>
+00042         <span class="keywordtype">void</span> copy(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dset);
+00043 
+00044         <span class="comment">// Returns the datatype class identifier.</span>
+00045         H5T_class_t getClass() <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Commits a transient datatype to a file; this datatype becomes</span>
+00048         <span class="comment">// a named datatype which can be accessed from the location.</span>
+00049         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; loc, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);
+00050         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; loc, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name);
+00051         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1H5Object.html">H5Object</a>&amp; loc, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);
+00052         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1H5Object.html">H5Object</a>&amp; loc, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name);
+00053 
+00054         <span class="comment">// Determines whether this datatype is a named datatype or</span>
+00055         <span class="comment">// a transient datatype.</span>
+00056         <span class="keywordtype">bool</span> committed() <span class="keyword">const</span>;
+00057 
+00058         <span class="comment">// Finds a conversion function that can handle the conversion</span>
+00059         <span class="comment">// this datatype to the given datatype, dest.</span>
+00060         H5T_conv_t find( <span class="keyword">const</span> DataType&amp; dest, H5T_cdata_t **pcdata ) <span class="keyword">const</span>;
 00061 
-00062         <span class="comment">// Locks a datatype.</span>
-00063         <span class="keywordtype">void</span> lock() <span class="keyword">const</span>;
+00062         <span class="comment">// Converts data from between specified datatypes.</span>
+00063         <span class="keywordtype">void</span> convert( <span class="keyword">const</span> DataType&amp; dest, size_t nelmts, <span class="keywordtype">void</span> *buf, <span class="keywordtype">void</span> *background, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; plist=PropList::DEFAULT) <span class="keyword">const</span>;
 00064 
-00065         <span class="comment">// Returns a pointer to the current global overflow function.</span>
-00066         H5T_overflow_t getOverflow(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
+00065         <span class="comment">// Assignment operator</span>
+00066         DataType&amp; <a class="code" href="classH5_1_1IdComponent.html#a6">operator=</a>( <span class="keyword">const</span> DataType&amp; rhs );
 00067 
-00068         <span class="comment">// Sets the overflow handler to a specified function.</span>
-00069         <span class="keywordtype">void</span> setOverflow(H5T_overflow_t func) <span class="keyword">const</span>;
+00068         <span class="comment">// Determines whether two datatypes are the same.</span>
+00069         <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> DataType&amp; compared_type ) <span class="keyword">const</span>;
 00070 
-00071         <span class="comment">// Returns the size of a datatype.</span>
-00072         size_t getSize() <span class="keyword">const</span>;
+00071         <span class="comment">// Locks a datatype.</span>
+00072         <span class="keywordtype">void</span> lock() <span class="keyword">const</span>;
 00073 
-00074         <span class="comment">// Returns the base datatype from which a datatype is derived.</span>
-00075         <span class="comment">// Note: not quite right for specific types yet???</span>
-00076         DataType getSuper() <span class="keyword">const</span>;
-00077 
-00078         <span class="comment">// Registers a conversion function.</span>
-00079         <span class="keywordtype">void</span> registerFunc(H5T_pers_t pers, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
-00080         <span class="keywordtype">void</span> registerFunc(H5T_pers_t pers, <span class="keyword">const</span> string&amp; name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
-00081 
-00082         <span class="comment">// Removes a conversion function from all conversion paths.</span>
-00083         <span class="keywordtype">void</span> unregister( H5T_pers_t pers, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
-00084         <span class="keywordtype">void</span> unregister( H5T_pers_t pers, <span class="keyword">const</span> string&amp; name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
-00085 
-00086         <span class="comment">// Tags an opaque datatype.</span>
-00087         <span class="keywordtype">void</span> setTag( <span class="keyword">const</span> <span class="keywordtype">char</span>* tag ) <span class="keyword">const</span>;
-00088         <span class="keywordtype">void</span> setTag( <span class="keyword">const</span> string&amp; tag ) <span class="keyword">const</span>;
-00089 
-00090         <span class="comment">// Gets the tag associated with an opaque datatype.</span>
-00091         string getTag() <span class="keyword">const</span>;
-00092 
-00093         <span class="comment">// Checks whether this datatype contains (or is) a certain type class.</span>
-00094         <span class="keywordtype">bool</span> detectClass(H5T_class_t cls) <span class="keyword">const</span>;
-00095 
-00096         <span class="comment">// Checks whether this datatype is a variable-length string.</span>
-00097         <span class="keywordtype">bool</span> isVariableStr() <span class="keyword">const</span>;
+00074         <span class="comment">// Returns a pointer to the current global overflow function.</span>
+00075         H5T_overflow_t getOverflow(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
+00076 
+00077         <span class="comment">// Sets the overflow handler to a specified function.</span>
+00078         <span class="keywordtype">void</span> setOverflow(H5T_overflow_t func) <span class="keyword">const</span>;
+00079 
+00080         <span class="comment">// Returns the size of a datatype.</span>
+00081         size_t getSize() <span class="keyword">const</span>;
+00082 
+00083         <span class="comment">// Returns the base datatype from which a datatype is derived.</span>
+00084         <span class="comment">// Note: not quite right for specific types yet???</span>
+00085         DataType getSuper() <span class="keyword">const</span>;
+00086 
+00087         <span class="comment">// Registers a conversion function.</span>
+00088         <span class="keywordtype">void</span> registerFunc(H5T_pers_t pers, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
+00089         <span class="keywordtype">void</span> registerFunc(H5T_pers_t pers, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
+00090 
+00091         <span class="comment">// Removes a conversion function from all conversion paths.</span>
+00092         <span class="keywordtype">void</span> unregister( H5T_pers_t pers, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
+00093         <span class="keywordtype">void</span> unregister( H5T_pers_t pers, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keyword">const</span> DataType&amp; dest, H5T_conv_t func ) <span class="keyword">const</span>;
+00094 
+00095         <span class="comment">// Tags an opaque datatype.</span>
+00096         <span class="keywordtype">void</span> setTag( <span class="keyword">const</span> <span class="keywordtype">char</span>* tag ) <span class="keyword">const</span>;
+00097         <span class="keywordtype">void</span> setTag( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; tag ) <span class="keyword">const</span>;
 00098 
-00099         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
-00100         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00101         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00102 
-00103         <span class="comment">// Creates a reference to a named Hdf5 object or to a dataset region</span>
-00104         <span class="comment">// in this object.</span>
-00105         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
-00106 
-00107         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
-00108         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
-00109 
-00110         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
-00111         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
-00112 
-00113         <span class="comment">// Returns this class name</span>
-<a name="l00114"></a><a class="code" href="classH5_1_1DataType.html#a31">00114</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DataType"</span>); }
+00099         <span class="comment">// Gets the tag associated with an opaque datatype.</span>
+00100         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getTag() <span class="keyword">const</span>;
+00101 
+00102         <span class="comment">// Checks whether this datatype contains (or is) a certain type class.</span>
+00103         <span class="keywordtype">bool</span> detectClass(H5T_class_t cls) <span class="keyword">const</span>;
+00104 
+00105         <span class="comment">// Checks whether this datatype is a variable-length string.</span>
+00106         <span class="keywordtype">bool</span> isVariableStr() <span class="keyword">const</span>;
+00107 
+00108         <span class="comment">// Creates a reference to a named HDF5 object or to a dataset region</span>
+00109         <span class="comment">// in this object.</span>
+00110         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00111 
+00112         <span class="comment">// Creates a reference to a named HDF5 object in this object.</span>
+00113         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00114         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
 00115 
-00116         <span class="comment">// Creates a copy of an existing DataType using its id</span>
-00117         DataType( <span class="keyword">const</span> hid_t type_id, <span class="keywordtype">bool</span> predtype = <span class="keyword">false</span> );
+00116         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
+00117         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_OBJECT) <span class="keyword">const</span>;
 00118 
-00119         <span class="comment">// Default constructor</span>
-00120         DataType();
+00119         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
+00120         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
 00121 
-00122         <span class="comment">// Destructor: properly terminates access to this datatype.</span>
-00123         <span class="keyword">virtual</span> ~DataType();
+00122         <span class="comment">// Returns this class name</span>
+<a name="l00123"></a><a class="code" href="classH5_1_1DataType.html#a35">00123</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DataType"</span>); }
 00124 
-00125    <span class="keyword">protected</span>:
-<a name="l00126"></a><a class="code" href="classH5_1_1DataType.html#p0">00126</a>         <span class="keywordtype">bool</span> is_predtype;       <span class="comment">// indicates a type is predefined so</span>
-00127                                 <span class="comment">// H5Tclose will not be called for it</span>
-00128 };
-00129 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00130 <span class="preprocessor"></span>}
-00131 <span class="preprocessor">#endif</span>
-00132 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00125         <span class="comment">// Creates a copy of an existing DataType using its id</span>
+00126         DataType( <span class="keyword">const</span> hid_t type_id );
+00127 
+00128         <span class="comment">// Default constructor</span>
+00129         DataType();
+00130 
+00131         <span class="comment">// Destructor: properly terminates access to this datatype.</span>
+00132         <span class="keyword">virtual</span> ~DataType();
+00133    <span class="keyword">private</span>:
+00134         <span class="keywordtype">void</span> p_commit(hid_t loc_id, <span class="keyword">const</span> <span class="keywordtype">char</span>* name);
+00135 };
+00136 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00137 <span class="preprocessor"></span>}
+00138 <span class="preprocessor">#endif</span>
+00139 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DataType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DataType.h File Reference</h1>
 <p>
 <a href="H5DataType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DcreatProp.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -337,8 +354,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,132 +337,136 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DcreatProp.h</h1><a href="H5DcreatProp_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5DSCreatPropList_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5DSCreatPropList_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1DSetCreatPropList.html">00023</a> <span class="keyword">class </span>H5_DLLCPP DSetCreatPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Default dataset creation property list.</span>
-00026         <span class="keyword">static</span> <span class="keyword">const</span> DSetCreatPropList DEFAULT;
-00027 
-00028         <span class="comment">// Queries whether all the filters set in this property list are</span>
-00029         <span class="comment">// available currently.</span>
-00030         <span class="keywordtype">bool</span> allFiltersAvail();
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5DSCreatPropList_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5DSCreatPropList_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1DSetCreatPropList.html">00024</a> <span class="keyword">class </span>H5_DLLCPP DSetCreatPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Default dataset creation property list.</span>
+00027         <span class="keyword">static</span> <span class="keyword">const</span> DSetCreatPropList DEFAULT;
+00028 
+00029         <span class="comment">// Creates a dataset creation property list.</span>
+00030         DSetCreatPropList();
 00031 
-00032         <span class="comment">// Get space allocation time for this property.</span>
-00033         H5D_alloc_time_t getAllocTime();
-00034 
-00035         <span class="comment">// Set space allocation time for dataset during creation.</span>
-00036         <span class="keywordtype">void</span> setAllocTime(H5D_alloc_time_t alloc_time);
-00037 
-00038         <span class="comment">// Retrieves the size of the chunks used to store a chunked layout dataset.</span>
-00039         <span class="keywordtype">int</span> getChunk( <span class="keywordtype">int</span> max_ndims, hsize_t* dim ) <span class="keyword">const</span>;
-00040 
-00041         <span class="comment">// Sets the size of the chunks used to store a chunked layout dataset.</span>
-00042         <span class="keywordtype">void</span> setChunk( <span class="keywordtype">int</span> ndims, <span class="keyword">const</span> hsize_t* dim ) <span class="keyword">const</span>;
-00043 
-00044         <span class="comment">// Returns information about an external file.</span>
-00045         <span class="keywordtype">void</span> getExternal( <span class="keywordtype">unsigned</span> idx, size_t name_size, <span class="keywordtype">char</span>* name, off_t&amp; offset, hsize_t&amp; size ) <span class="keyword">const</span>;
-00046 
-00047         <span class="comment">// Returns the number of external files for a dataset.</span>
-00048         <span class="keywordtype">int</span> getExternalCount() <span class="keyword">const</span>;
-00049 
-00050         <span class="comment">// Gets fill value writing time.</span>
-00051         H5D_fill_time_t getFillTime();
-00052 
-00053         <span class="comment">// Sets fill value writing time for dataset.</span>
-00054         <span class="keywordtype">void</span> setFillTime(H5D_fill_time_t fill_time);
-00055 
-00056         <span class="comment">// Retrieves a dataset fill value.</span>
-00057         <span class="keywordtype">void</span> getFillValue( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; fvalue_type, <span class="keywordtype">void</span>* value ) <span class="keyword">const</span>;
-00058 
-00059         <span class="comment">// Sets a dataset fill value.</span>
-00060         <span class="keywordtype">void</span> setFillValue( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; fvalue_type, <span class="keyword">const</span> <span class="keywordtype">void</span>* value ) <span class="keyword">const</span>;
-00061 
-00062         <span class="comment">// Returns information about a filter in a pipeline.</span>
-00063         H5Z_filter_t getFilter(<span class="keywordtype">int</span> filter_number, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; flags, size_t&amp; cd_nelmts, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* cd_values, size_t namelen, <span class="keywordtype">char</span> name[]) <span class="keyword">const</span>;
-00064 
-00065         <span class="comment">// Returns information about a filter in a pipeline given the filter id.</span>
-00066         <span class="keywordtype">void</span> getFilterById(H5Z_filter_t filter_id, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp;flags, size_t &amp;cd_nelmts, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* cd_values, size_t namelen, <span class="keywordtype">char</span> name[]) <span class="keyword">const</span>;
-00067 
-00068         <span class="comment">// Gets the layout of the raw data storage of the data that uses this</span>
-00069         <span class="comment">// property list.</span>
-00070         H5D_layout_t getLayout() <span class="keyword">const</span>;
+00032         <span class="comment">// Queries whether all the filters set in this property list are</span>
+00033         <span class="comment">// available currently.</span>
+00034         <span class="keywordtype">bool</span> allFiltersAvail() <span class="keyword">const</span>;
+00035 
+00036         <span class="comment">// Get space allocation time for this property.</span>
+00037         H5D_alloc_time_t getAllocTime() <span class="keyword">const</span>;
+00038 
+00039         <span class="comment">// Set space allocation time for dataset during creation.</span>
+00040         <span class="keywordtype">void</span> setAllocTime(H5D_alloc_time_t alloc_time) <span class="keyword">const</span>;
+00041 
+00042         <span class="comment">// Retrieves the size of the chunks used to store a chunked layout dataset.</span>
+00043         <span class="keywordtype">int</span> getChunk( <span class="keywordtype">int</span> max_ndims, hsize_t* dim ) <span class="keyword">const</span>;
+00044 
+00045         <span class="comment">// Sets the size of the chunks used to store a chunked layout dataset.</span>
+00046         <span class="keywordtype">void</span> setChunk( <span class="keywordtype">int</span> ndims, <span class="keyword">const</span> hsize_t* dim ) <span class="keyword">const</span>;
+00047 
+00048         <span class="comment">// Returns information about an external file.</span>
+00049         <span class="keywordtype">void</span> getExternal( <span class="keywordtype">unsigned</span> idx, size_t name_size, <span class="keywordtype">char</span>* name, off_t&amp; offset, hsize_t&amp; size ) <span class="keyword">const</span>;
+00050 
+00051         <span class="comment">// Returns the number of external files for a dataset.</span>
+00052         <span class="keywordtype">int</span> getExternalCount() <span class="keyword">const</span>;
+00053 
+00054         <span class="comment">// Gets fill value writing time.</span>
+00055         H5D_fill_time_t getFillTime() <span class="keyword">const</span>;
+00056 
+00057         <span class="comment">// Sets fill value writing time for dataset.</span>
+00058         <span class="keywordtype">void</span> setFillTime(H5D_fill_time_t fill_time) <span class="keyword">const</span>;
+00059 
+00060         <span class="comment">// Retrieves a dataset fill value.</span>
+00061         <span class="keywordtype">void</span> getFillValue( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; fvalue_type, <span class="keywordtype">void</span>* value ) <span class="keyword">const</span>;
+00062 
+00063         <span class="comment">// Sets a dataset fill value.</span>
+00064         <span class="keywordtype">void</span> setFillValue( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; fvalue_type, <span class="keyword">const</span> <span class="keywordtype">void</span>* value ) <span class="keyword">const</span>;
+00065 
+00066         <span class="comment">// Returns information about a filter in a pipeline.</span>
+00067         H5Z_filter_t getFilter(<span class="keywordtype">int</span> filter_number, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; flags, size_t&amp; cd_nelmts, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* cd_values, size_t namelen, <span class="keywordtype">char</span> name[]) <span class="keyword">const</span>;
+00068 
+00069         <span class="comment">// Returns information about a filter in a pipeline given the filter id.</span>
+00070         <span class="keywordtype">void</span> getFilterById(H5Z_filter_t filter_id, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp;flags, size_t &amp;cd_nelmts, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* cd_values, size_t namelen, <span class="keywordtype">char</span> name[]) <span class="keyword">const</span>;
 00071 
-00072         <span class="comment">// Sets the type of storage used to store the raw data for the</span>
-00073         <span class="comment">// dataset that uses this property list.</span>
-00074         <span class="keywordtype">void</span> setLayout(H5D_layout_t layout) <span class="keyword">const</span>;
+00072         <span class="comment">// Gets the layout of the raw data storage of the data that uses this</span>
+00073         <span class="comment">// property list.</span>
+00074         H5D_layout_t getLayout() <span class="keyword">const</span>;
 00075 
-00076         <span class="comment">// Returns the number of filters in the pipeline.</span>
-00077         <span class="keywordtype">int</span> getNfilters() <span class="keyword">const</span>;
-00078 
-00079         <span class="comment">// Checks if fill value has been defined for this property.</span>
-00080         H5D_fill_value_t isFillValueDefined();
-00081 
-00082         <span class="comment">// Modifies the specified filter.</span>
-00083         <span class="keywordtype">void</span> modifyFilter( H5Z_filter_t filter_id, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags, size_t cd_nelmts, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cd_values[] ) <span class="keyword">const</span>;
-00084 
-00085         <span class="comment">// Remove one or all filters from the filter pipeline.</span>
-00086         <span class="keywordtype">void</span> removeFilter( H5Z_filter_t filter_id) <span class="keyword">const</span>;
-00087 
-00088         <span class="comment">// Sets compression method and compression level.</span>
-00089         <span class="keywordtype">void</span> setDeflate( <span class="keywordtype">int</span> level ) <span class="keyword">const</span>;
-00090 
-00091         <span class="comment">// Adds an external file to the list of external files.</span>
-00092         <span class="keywordtype">void</span> setExternal( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, off_t offset, hsize_t size ) <span class="keyword">const</span>;
-00093 
-00094         <span class="comment">// Adds a filter to the filter pipeline.</span>
-00095         <span class="keywordtype">void</span> setFilter( H5Z_filter_t filter, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags, size_t cd_nelmts, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cd_values[] ) <span class="keyword">const</span>;
-00096 
-00097         <span class="comment">// Sets Fletcher32 checksum of EDC for this property list.</span>
-00098         <span class="keywordtype">void</span> setFletcher32();
-00099 
-00100         <span class="comment">// Sets method of the shuffle filter.</span>
-00101         <span class="keywordtype">void</span> setShuffle();
-00102 
-00103         <span class="comment">// Returns this class name</span>
-<a name="l00104"></a><a class="code" href="classH5_1_1DSetCreatPropList.html#a24">00104</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DSetCreatPropList"</span>); }
-00105 
-00106         <span class="comment">// Default constructor: creates a stub dataset creation property list.</span>
-00107         DSetCreatPropList();
-00108 
-00109         <span class="comment">// Copy constructor: creates a copy of a DSetCreatPropList object.</span>
-00110         DSetCreatPropList(<span class="keyword">const</span> DSetCreatPropList&amp; orig);
-00111 
-00112         <span class="comment">// Creates a copy of an existing dataset creation property list</span>
-00113         <span class="comment">// using the property list id.</span>
-00114         DSetCreatPropList(<span class="keyword">const</span> hid_t plist_id);
+00076         <span class="comment">// Sets the type of storage used to store the raw data for the</span>
+00077         <span class="comment">// dataset that uses this property list.</span>
+00078         <span class="keywordtype">void</span> setLayout(H5D_layout_t layout) <span class="keyword">const</span>;
+00079 
+00080         <span class="comment">// Returns the number of filters in the pipeline.</span>
+00081         <span class="keywordtype">int</span> getNfilters() <span class="keyword">const</span>;
+00082 
+00083         <span class="comment">// Checks if fill value has been defined for this property.</span>
+00084         H5D_fill_value_t isFillValueDefined() <span class="keyword">const</span>;
+00085 
+00086         <span class="comment">// Modifies the specified filter.</span>
+00087         <span class="keywordtype">void</span> modifyFilter( H5Z_filter_t filter_id, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags, size_t cd_nelmts, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cd_values[] ) <span class="keyword">const</span>;
+00088 
+00089         <span class="comment">// Remove one or all filters from the filter pipeline.</span>
+00090         <span class="keywordtype">void</span> removeFilter( H5Z_filter_t filter_id) <span class="keyword">const</span>;
+00091 
+00092         <span class="comment">// Sets compression method and compression level.</span>
+00093         <span class="keywordtype">void</span> setDeflate( <span class="keywordtype">int</span> level ) <span class="keyword">const</span>;
+00094 
+00095         <span class="comment">// Adds an external file to the list of external files.</span>
+00096         <span class="keywordtype">void</span> setExternal( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, off_t offset, hsize_t size ) <span class="keyword">const</span>;
+00097 
+00098         <span class="comment">// Adds a filter to the filter pipeline.</span>
+00099         <span class="keywordtype">void</span> setFilter( H5Z_filter_t filter, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags = 0, size_t cd_nelmts = 0, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cd_values[] = NULL) <span class="keyword">const</span>;
+00100 
+00101         <span class="comment">// Sets Fletcher32 checksum of EDC for this property list.</span>
+00102         <span class="keywordtype">void</span> setFletcher32() <span class="keyword">const</span>;
+00103 
+00104         <span class="comment">// Sets method of the shuffle filter.</span>
+00105         <span class="keywordtype">void</span> setShuffle() <span class="keyword">const</span>;
+00106 
+00107         <span class="comment">// Sets SZIP compression method.</span>
+00108         <span class="keywordtype">void</span> setSzip(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options_mask, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pixels_per_block) <span class="keyword">const</span>;
+00109 
+00110         <span class="comment">// Returns this class name</span>
+<a name="l00111"></a><a class="code" href="classH5_1_1DSetCreatPropList.html#a26">00111</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1PropList.html#a30">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DSetCreatPropList"</span>); }
+00112 
+00113         <span class="comment">// Copy constructor: creates a copy of a DSetCreatPropList object.</span>
+00114         DSetCreatPropList(<span class="keyword">const</span> DSetCreatPropList&amp; orig);
 00115 
-00116         <span class="comment">// Noop destructor.</span>
-00117         <span class="keyword">virtual</span> ~DSetCreatPropList();
-00118 };
-00119 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00120 <span class="preprocessor"></span>}
-00121 <span class="preprocessor">#endif</span>
-00122 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00116         <span class="comment">// Creates a copy of an existing dataset creation property list</span>
+00117         <span class="comment">// using the property list id.</span>
+00118         DSetCreatPropList(<span class="keyword">const</span> hid_t plist_id);
+00119 
+00120         <span class="comment">// Noop destructor.</span>
+00121         <span class="keyword">virtual</span> ~DSetCreatPropList();
+00122 };
+00123 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00124 <span class="preprocessor"></span>}
+00125 <span class="preprocessor">#endif</span>
+00126 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DcreatProp_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DcreatProp.h File Reference</h1>
 <p>
 <a href="H5DcreatProp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DxferProp.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -334,8 +351,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,130 +337,131 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DxferProp.h</h1><a href="H5DxferProp_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5DSetMemXferPropList_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5DSetMemXferPropList_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1DSetMemXferPropList.html">00023</a> <span class="keyword">class </span>H5_DLLCPP DSetMemXferPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="keyword">static</span> <span class="keyword">const</span> DSetMemXferPropList DEFAULT;
-00026 
-00027 <span class="preprocessor">#ifdef H5_WANT_H5_V1_4_COMPAT</span>
-00028 <span class="preprocessor"></span>        <span class="comment">// Sets type conversion and background buffers.</span>
-00029         <span class="keywordtype">void</span> setBuffer( hsize_t size, <span class="keywordtype">void</span>* tconv, <span class="keywordtype">void</span>* bkg ) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5DSetMemXferPropList_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5DSetMemXferPropList_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1DSetMemXferPropList.html">00024</a> <span class="keyword">class </span>H5_DLLCPP DSetMemXferPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="keyword">static</span> <span class="keyword">const</span> DSetMemXferPropList DEFAULT;
+00027 
+00028         <span class="comment">// Creates a dataset memory and transfer property list.</span>
+00029         DSetMemXferPropList();
 00030 
-00031         <span class="comment">// Reads buffer settings.</span>
-00032         hsize_t getBuffer( <span class="keywordtype">void</span>** tconv, <span class="keywordtype">void</span>** bkg ) <span class="keyword">const</span>;
-00033 
-00034         <span class="comment">// Indicates whether to cache hyperslab blocks during I/O.</span>
-00035         <span class="keywordtype">void</span> setHyperCache( <span class="keywordtype">bool</span> cache, <span class="keywordtype">unsigned</span> limit = 0 ) <span class="keyword">const</span>;
-00036 
-00037         <span class="comment">// Returns information regarding the caching of hyperslab blocks during I/O.</span>
-00038         <span class="keywordtype">void</span> getHyperCache( <span class="keywordtype">bool</span>&amp; cache, <span class="keywordtype">unsigned</span>&amp; limit ) <span class="keyword">const</span>;
-00039 
-00040 <span class="preprocessor">#else </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
-00041         <span class="comment">// Sets type conversion and background buffers.</span>
-00042         <span class="keywordtype">void</span> setBuffer( size_t size, <span class="keywordtype">void</span>* tconv, <span class="keywordtype">void</span>* bkg ) <span class="keyword">const</span>;
+00031 <span class="preprocessor">#ifdef H5_WANT_H5_V1_4_COMPAT</span>
+00032 <span class="preprocessor"></span>        <span class="comment">// Sets type conversion and background buffers.</span>
+00033         <span class="keywordtype">void</span> setBuffer( hsize_t size, <span class="keywordtype">void</span>* tconv, <span class="keywordtype">void</span>* bkg ) <span class="keyword">const</span>;
+00034 
+00035         <span class="comment">// Reads buffer settings.</span>
+00036         hsize_t getBuffer( <span class="keywordtype">void</span>** tconv, <span class="keywordtype">void</span>** bkg ) <span class="keyword">const</span>;
+00037 
+00038         <span class="comment">// Indicates whether to cache hyperslab blocks during I/O.</span>
+00039         <span class="keywordtype">void</span> setHyperCache( <span class="keywordtype">bool</span> cache, <span class="keywordtype">unsigned</span> limit = 0 ) <span class="keyword">const</span>;
+00040 
+00041         <span class="comment">// Returns information regarding the caching of hyperslab blocks during I/O.</span>
+00042         <span class="keywordtype">void</span> getHyperCache( <span class="keywordtype">bool</span>&amp; cache, <span class="keywordtype">unsigned</span>&amp; limit ) <span class="keyword">const</span>;
 00043 
-00044         <span class="comment">// Reads buffer settings.</span>
-00045         size_t getBuffer( <span class="keywordtype">void</span>** tconv, <span class="keywordtype">void</span>** bkg ) <span class="keyword">const</span>;
-00046 <span class="preprocessor">#endif </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
+00044 <span class="preprocessor">#else </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
+00045         <span class="comment">// Sets type conversion and background buffers.</span>
+00046         <span class="keywordtype">void</span> setBuffer( size_t size, <span class="keywordtype">void</span>* tconv, <span class="keywordtype">void</span>* bkg ) <span class="keyword">const</span>;
 00047 
-00048         <span class="comment">// Sets B-tree split ratios for a dataset transfer property list</span>
-00049         <span class="keywordtype">void</span> setBtreeRatios( <span class="keywordtype">double</span> left, <span class="keywordtype">double</span> middle, <span class="keywordtype">double</span> right ) <span class="keyword">const</span>;
-00050 
-00051         <span class="comment">// Gets B-tree split ratios for a dataset transfer property list</span>
-00052         <span class="keywordtype">void</span> getBtreeRatios( <span class="keywordtype">double</span>&amp; left, <span class="keywordtype">double</span>&amp; middle, <span class="keywordtype">double</span>&amp; right ) <span class="keyword">const</span>;
-00053 
-00054         <span class="comment">// Sets the dataset transfer property list status to TRUE or FALSE.</span>
-00055         <span class="keywordtype">void</span> setPreserve( <span class="keywordtype">bool</span> status ) <span class="keyword">const</span>;
-00056 
-00057         <span class="comment">// Checks status of the dataset transfer property list.</span>
-00058         <span class="keywordtype">bool</span> getPreserve() <span class="keyword">const</span>;
-00059 
-00060         <span class="comment">// Sets the memory manager for variable-length datatype</span>
-00061         <span class="comment">// allocation in H5Dread and H5Dvlen_reclaim</span>
-00062         <span class="keywordtype">void</span> setVlenMemManager( H5MM_allocate_t alloc, <span class="keywordtype">void</span>* alloc_info,
-00063                                 H5MM_free_t free, <span class="keywordtype">void</span>* free_info ) <span class="keyword">const</span>;
-00064 
-00065         <span class="comment">// alloc and free are set to NULL, indicating that system</span>
-00066         <span class="comment">// malloc and free are to be used</span>
-00067         <span class="keywordtype">void</span> setVlenMemManager() <span class="keyword">const</span>;
+00048         <span class="comment">// Reads buffer settings.</span>
+00049         size_t getBuffer( <span class="keywordtype">void</span>** tconv, <span class="keywordtype">void</span>** bkg ) <span class="keyword">const</span>;
+00050 <span class="preprocessor">#endif </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
+00051 
+00052         <span class="comment">// Sets B-tree split ratios for a dataset transfer property list.</span>
+00053         <span class="keywordtype">void</span> setBtreeRatios( <span class="keywordtype">double</span> left, <span class="keywordtype">double</span> middle, <span class="keywordtype">double</span> right ) <span class="keyword">const</span>;
+00054 
+00055         <span class="comment">// Gets B-tree split ratios for a dataset transfer property list.</span>
+00056         <span class="keywordtype">void</span> getBtreeRatios( <span class="keywordtype">double</span>&amp; left, <span class="keywordtype">double</span>&amp; middle, <span class="keywordtype">double</span>&amp; right ) <span class="keyword">const</span>;
+00057 
+00058         <span class="comment">// Sets the dataset transfer property list status to TRUE or FALSE.</span>
+00059         <span class="keywordtype">void</span> setPreserve( <span class="keywordtype">bool</span> status ) <span class="keyword">const</span>;
+00060 
+00061         <span class="comment">// Checks status of the dataset transfer property list.</span>
+00062         <span class="keywordtype">bool</span> getPreserve() <span class="keyword">const</span>;
+00063 
+00064         <span class="comment">// Sets the memory manager for variable-length datatype</span>
+00065         <span class="comment">// allocation in H5Dread and H5Dvlen_reclaim.</span>
+00066         <span class="keywordtype">void</span> setVlenMemManager( H5MM_allocate_t alloc, <span class="keywordtype">void</span>* alloc_info,
+00067                                 H5MM_free_t free, <span class="keywordtype">void</span>* free_info ) <span class="keyword">const</span>;
 00068 
-00069         <span class="comment">// Gets the memory manager for variable-length datatype</span>
-00070         <span class="comment">// allocation in H5Dread and H5Tvlen_reclaim</span>
-00071         <span class="keywordtype">void</span> getVlenMemManager( H5MM_allocate_t&amp; alloc, <span class="keywordtype">void</span>** alloc_info,
-00072                                 H5MM_free_t&amp; free, <span class="keywordtype">void</span>** free_info ) <span class="keyword">const</span>;
-00073 
-00074         <span class="comment">// Sets the data transfer property list for the multi-file driver.</span>
-00075         <span class="keywordtype">void</span> setMulti(<span class="keyword">const</span> hid_t *memb_dxpl);
-00076 
-00077         <span class="comment">// Returns multi-file data transfer property list information.</span>
-00078         <span class="keywordtype">void</span> getMulti(hid_t *memb_dxpl);
-00079 
-00080         <span class="comment">// Sets the size of a contiguous block reserved for small data.</span>
-00081         <span class="keywordtype">void</span> setSmallDataBlockSize(hsize_t size);
-00082 
-00083         <span class="comment">// Returns the current small data block size setting.</span>
-00084         hsize_t getSmallDataBlockSize();
-00085 
-00086         <span class="comment">// Sets number of I/O vectors to be read/written in hyperslab I/O.</span>
-00087         <span class="keywordtype">void</span> setHyperVectorSize(size_t vector_size);
-00088 
-00089         <span class="comment">// Returns the number of I/O vectors to be read/written in</span>
-00090         <span class="comment">// hyperslab I/O.</span>
-00091         size_t getHyperVectorSize();
+00069         <span class="comment">// alloc and free are set to NULL, indicating that system</span>
+00070         <span class="comment">// malloc and free are to be used.</span>
+00071         <span class="keywordtype">void</span> setVlenMemManager() <span class="keyword">const</span>;
+00072 
+00073         <span class="comment">// Gets the memory manager for variable-length datatype</span>
+00074         <span class="comment">// allocation in H5Dread and H5Tvlen_reclaim.</span>
+00075         <span class="keywordtype">void</span> getVlenMemManager( H5MM_allocate_t&amp; alloc, <span class="keywordtype">void</span>** alloc_info,
+00076                                 H5MM_free_t&amp; free, <span class="keywordtype">void</span>** free_info ) <span class="keyword">const</span>;
+00077 
+00078         <span class="comment">// Sets the data transfer property list for the multi-file driver.</span>
+00079         <span class="keywordtype">void</span> setMulti(<span class="keyword">const</span> hid_t *memb_dxpl);
+00080 
+00081         <span class="comment">// Returns multi-file data transfer property list information.</span>
+00082         <span class="keywordtype">void</span> getMulti(hid_t *memb_dxpl);
+00083 
+00084         <span class="comment">// Sets the size of a contiguous block reserved for small data.</span>
+00085         <span class="keywordtype">void</span> setSmallDataBlockSize(hsize_t size);
+00086 
+00087         <span class="comment">// Returns the current small data block size setting.</span>
+00088         hsize_t getSmallDataBlockSize();
+00089 
+00090         <span class="comment">// Sets number of I/O vectors to be read/written in hyperslab I/O.</span>
+00091         <span class="keywordtype">void</span> setHyperVectorSize(size_t vector_size);
 00092 
-00093         <span class="comment">// Enables or disables error-detecting for a dataset reading</span>
-00094         <span class="comment">// process.</span>
-00095         <span class="keywordtype">void</span> setEDCCheck(H5Z_EDC_t check);
+00093         <span class="comment">// Returns the number of I/O vectors to be read/written in</span>
+00094         <span class="comment">// hyperslab I/O.</span>
+00095         size_t getHyperVectorSize();
 00096 
-00097         <span class="comment">// Determines whether error-detection is enabled for dataset reads.</span>
-00098         H5Z_EDC_t getEDCCheck();
-00099 
-00100         <span class="comment">// Returns this class name</span>
-<a name="l00101"></a><a class="code" href="classH5_1_1DSetMemXferPropList.html#a17">00101</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DSetMemXferPropList"</span>); }
-00102 
-00103         <span class="comment">// Default constructor: creates a dataset memory and transfer prop list.</span>
-00104         DSetMemXferPropList();
-00105 
-00106         <span class="comment">// Copy constructor: makes a copy of a DSetMemXferPropList object.</span>
-00107         DSetMemXferPropList(<span class="keyword">const</span> DSetMemXferPropList&amp; orig);
-00108 
-00109         <span class="comment">// Creates a copy of an existing dataset memory and transfer</span>
-00110         <span class="comment">// property list using the property list id.</span>
-00111         DSetMemXferPropList (<span class="keyword">const</span> hid_t plist_id);
-00112 
-00113         <span class="comment">// Noop destructor</span>
-00114         <span class="keyword">virtual</span> ~DSetMemXferPropList();
-00115 
-00116 };
-00117 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00118 <span class="preprocessor"></span>}
-00119 <span class="preprocessor">#endif</span>
-00120 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00097         <span class="comment">// Enables or disables error-detecting for a dataset reading</span>
+00098         <span class="comment">// process.</span>
+00099         <span class="keywordtype">void</span> setEDCCheck(H5Z_EDC_t check);
+00100 
+00101         <span class="comment">// Determines whether error-detection is enabled for dataset reads.</span>
+00102         H5Z_EDC_t getEDCCheck();
+00103 
+00104         <span class="comment">// Returns this class name.</span>
+<a name="l00105"></a><a class="code" href="classH5_1_1DSetMemXferPropList.html#a18">00105</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1PropList.html#a30">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"DSetMemXferPropList"</span>); }
+00106 
+00107         <span class="comment">// Copy constructor: makes a copy of a DSetMemXferPropList object.</span>
+00108         DSetMemXferPropList(<span class="keyword">const</span> DSetMemXferPropList&amp; orig);
+00109 
+00110         <span class="comment">// Creates a copy of an existing dataset memory and transfer</span>
+00111         <span class="comment">// property list using the property list id.</span>
+00112         DSetMemXferPropList(<span class="keyword">const</span> hid_t plist_id);
+00113 
+00114         <span class="comment">// Noop destructor</span>
+00115         <span class="keyword">virtual</span> ~DSetMemXferPropList();
+00116 
+00117 };
+00118 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00119 <span class="preprocessor"></span>}
+00120 <span class="preprocessor">#endif</span>
+00121 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5DxferProp_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5DxferProp.h File Reference</h1>
 <p>
 <a href="H5DxferProp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5EnumType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -344,8 +361,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,86 +337,87 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5EnumType.h</h1><a href="H5EnumType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5EnumType_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5EnumType_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1EnumType.html">00023</a> <span class="keyword">class </span>H5_DLLCPP EnumType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
-00024 
-00025    <span class="keyword">public</span>:
-00026         <span class="comment">// Creates an empty enumeration datatype based on a native signed</span>
-00027         <span class="comment">// integer type, whose size is given by size.</span>
-00028         EnumType( size_t size );
-00029 
-00030         <span class="comment">// Gets the enum datatype of the specified dataset</span>
-00031         EnumType( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset );  <span class="comment">// H5Dget_type</span>
-00032 
-00033         <span class="comment">// Creates a new enum datatype based on an integer datatype</span>
-00034         EnumType( <span class="keyword">const</span> <a class="code" href="classH5_1_1IntType.html">IntType</a>&amp; data_type );  <span class="comment">// H5Tenum_create</span>
-00035 
-00036         <span class="comment">// Returns the number of members in this enumeration datatype.</span>
-00037         <span class="keywordtype">int</span> getNmembers () <span class="keyword">const</span>;
-00038 
-00039         <span class="comment">// Returns the index of a member in this enumeration data type.</span>
-00040         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00041         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Returns the value of an enumeration datatype member</span>
-00044         <span class="keywordtype">void</span> getMemberValue( <span class="keywordtype">unsigned</span> memb_no, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Inserts a new member to this enumeration type.</span>
-00047         <span class="keywordtype">void</span> insert( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
-00048         <span class="keywordtype">void</span> insert( <span class="keyword">const</span> string&amp; name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
-00049 
-00050         <span class="comment">// Returns the symbol name corresponding to a specified member</span>
-00051         <span class="comment">// of this enumeration datatype.</span>
-00052         string nameOf( <span class="keywordtype">void</span> *value, size_t size ) <span class="keyword">const</span>;
-00053 
-00054         <span class="comment">// Returns the value corresponding to a specified member of this</span>
-00055         <span class="comment">// enumeration datatype.</span>
-00056         <span class="keywordtype">void</span> valueOf( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
-00057         <span class="keywordtype">void</span> valueOf( <span class="keyword">const</span> string&amp; name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
-00058 
-00059         <span class="comment">// Returns this class name</span>
-<a name="l00060"></a><a class="code" href="classH5_1_1EnumType.html#a12">00060</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"EnumType"</span>); }
-00061 
-00062         <span class="comment">// Default constructor</span>
-00063         EnumType();
-00064 
-00065         <span class="comment">// Creates an enumeration datatype using an existing id</span>
-00066         EnumType( <span class="keyword">const</span> hid_t existing_id );
-00067 
-00068         <span class="comment">// Copy constructor: makes a copy of the original EnumType object.</span>
-00069         EnumType( <span class="keyword">const</span> EnumType&amp; original );
-00070 
-00071         <span class="keyword">virtual</span> ~EnumType();
-00072 };
-00073 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00074 <span class="preprocessor"></span>}
-00075 <span class="preprocessor">#endif</span>
-00076 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5EnumType_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5EnumType_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1EnumType.html">00024</a> <span class="keyword">class </span>H5_DLLCPP EnumType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
+00025 
+00026    <span class="keyword">public</span>:
+00027         <span class="comment">// Creates an empty enumeration datatype based on a native signed</span>
+00028         <span class="comment">// integer type, whose size is given by size.</span>
+00029         EnumType( size_t size );
+00030 
+00031         <span class="comment">// Gets the enum datatype of the specified dataset</span>
+00032         EnumType( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset );  <span class="comment">// H5Dget_type</span>
+00033 
+00034         <span class="comment">// Creates a new enum datatype based on an integer datatype</span>
+00035         EnumType( <span class="keyword">const</span> <a class="code" href="classH5_1_1IntType.html">IntType</a>&amp; data_type );  <span class="comment">// H5Tenum_create</span>
+00036 
+00037         <span class="comment">// Returns the number of members in this enumeration datatype.</span>
+00038         <span class="keywordtype">int</span> getNmembers () <span class="keyword">const</span>;
+00039 
+00040         <span class="comment">// Returns the index of a member in this enumeration data type.</span>
+00041         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00042         <span class="keywordtype">int</span> getMemberIndex(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00043 
+00044         <span class="comment">// Returns the value of an enumeration datatype member</span>
+00045         <span class="keywordtype">void</span> getMemberValue( <span class="keywordtype">unsigned</span> memb_no, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Inserts a new member to this enumeration type.</span>
+00048         <span class="keywordtype">void</span> insert( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
+00049         <span class="keywordtype">void</span> insert( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
+00050 
+00051         <span class="comment">// Returns the symbol name corresponding to a specified member</span>
+00052         <span class="comment">// of this enumeration datatype.</span>
+00053         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> nameOf( <span class="keywordtype">void</span> *value, size_t size ) <span class="keyword">const</span>;
+00054 
+00055         <span class="comment">// Returns the value corresponding to a specified member of this</span>
+00056         <span class="comment">// enumeration datatype.</span>
+00057         <span class="keywordtype">void</span> valueOf( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
+00058         <span class="keywordtype">void</span> valueOf( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">void</span> *value ) <span class="keyword">const</span>;
+00059 
+00060         <span class="comment">// Returns this class name</span>
+<a name="l00061"></a><a class="code" href="classH5_1_1EnumType.html#a12">00061</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1DataType.html#a35">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"EnumType"</span>); }
+00062 
+00063         <span class="comment">// Default constructor</span>
+00064         EnumType();
+00065 
+00066         <span class="comment">// Creates an enumeration datatype using an existing id</span>
+00067         EnumType( <span class="keyword">const</span> hid_t existing_id );
+00068 
+00069         <span class="comment">// Copy constructor: makes a copy of the original EnumType object.</span>
+00070         EnumType( <span class="keyword">const</span> EnumType&amp; original );
+00071 
+00072         <span class="keyword">virtual</span> ~EnumType();
+00073 };
+00074 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00075 <span class="preprocessor"></span>}
+00076 <span class="preprocessor">#endif</span>
+00077 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5EnumType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5EnumType.h File Reference</h1>
 <p>
 <a href="H5EnumType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,20 +337,19 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5Exception.cpp File Reference</h1><code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5Exception.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
+<code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>
-
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,177 +337,180 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Exception.h</h1><a href="H5Exception_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5Exception_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Exception_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#include &lt;string&gt;</span>
-00020 
-00021 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00022 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00023 <span class="preprocessor">#ifndef H5_NO_STD</span>
-00024 <span class="preprocessor"></span>    <span class="keyword">using</span> <span class="keyword">namespace </span>std;
-00025 <span class="preprocessor">#endif  // H5_NO_STD</span>
-00026 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00027 <span class="preprocessor"></span>
-<a name="l00028"></a><a class="code" href="classH5_1_1Exception.html">00028</a> <span class="keyword">class </span>H5_DLLCPP Exception {
-00029    <span class="keyword">public</span>:
-00030         <span class="comment">// Creates an exception with a function name where the failure occurs</span>
-00031         <span class="comment">// and an optional detailed message</span>
-00032         Exception(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00033 
-00034         <span class="comment">// Returns a character string that describes the error specified by</span>
-00035         <span class="comment">// a major error number.</span>
-00036         string getMajorString( H5E_major_t major_num ) <span class="keyword">const</span>;
-00037 
-00038         <span class="comment">// Returns a character string that describes the error specified by</span>
-00039         <span class="comment">// a minor error number.</span>
-00040         string getMinorString( H5E_minor_t minor_num ) <span class="keyword">const</span>;
-00041 
-00042         <span class="comment">// Returns the detailed message set at the time the exception is thrown</span>
-00043         string getDetailMsg() <span class="keyword">const</span>;
-00044         <span class="keyword">const</span> <span class="keywordtype">char</span>* getCDetailMsg() <span class="keyword">const</span>;      <span class="comment">// C string of detailed message</span>
-00045         string getFuncName() <span class="keyword">const</span>;     <span class="comment">// function name as a string object</span>
-00046         <span class="keyword">const</span> <span class="keywordtype">char</span>* getCFuncName() <span class="keyword">const</span>;       <span class="comment">// function name as a char string</span>
-00047 
-00048         <span class="comment">// Turns on the automatic error printing.</span>
-00049         <span class="keyword">static</span> <span class="keywordtype">void</span> setAutoPrint( H5E_auto_t&amp; func, <span class="keywordtype">void</span>* client_data);
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5Exception_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5Exception_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#include &lt;string&gt;</span>
+00021 
+00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00024 <span class="preprocessor">#ifdef H5_NO_STD</span>
+00025 <span class="preprocessor"></span><span class="preprocessor">    #define H5std_string ::string</span>
+00026 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00027"></a><a class="code" href="H5Exception_8h.html#a0">00027</a> <span class="preprocessor"></span><span class="preprocessor">    #define H5std_string std::string</span>
+00028 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00029 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00030 <span class="preprocessor"></span>
+<a name="l00031"></a><a class="code" href="classH5_1_1Exception.html">00031</a> <span class="keyword">class </span>H5_DLLCPP Exception {
+00032    <span class="keyword">public</span>:
+00033         <span class="comment">// Creates an exception with a function name where the failure occurs</span>
+00034         <span class="comment">// and an optional detailed message</span>
+00035         Exception(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00036 
+00037         <span class="comment">// Returns a character string that describes the error specified by</span>
+00038         <span class="comment">// a major error number.</span>
+00039         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getMajorString( H5E_major_t major_num ) <span class="keyword">const</span>;
+00040 
+00041         <span class="comment">// Returns a character string that describes the error specified by</span>
+00042         <span class="comment">// a minor error number.</span>
+00043         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getMinorString( H5E_minor_t minor_num ) <span class="keyword">const</span>;
+00044 
+00045         <span class="comment">// Returns the detailed message set at the time the exception is thrown</span>
+00046         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getDetailMsg() <span class="keyword">const</span>;
+00047         <span class="keyword">const</span> <span class="keywordtype">char</span>* getCDetailMsg() <span class="keyword">const</span>;      <span class="comment">// C string of detailed message</span>
+00048         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getFuncName() <span class="keyword">const</span>;       <span class="comment">// function name as a string object</span>
+00049         <span class="keyword">const</span> <span class="keywordtype">char</span>* getCFuncName() <span class="keyword">const</span>;       <span class="comment">// function name as a char string</span>
 00050 
-00051         <span class="comment">// Turns off the automatic error printing.</span>
-00052         <span class="keyword">static</span> <span class="keywordtype">void</span> dontPrint();
+00051         <span class="comment">// Turns on the automatic error printing.</span>
+00052         <span class="keyword">static</span> <span class="keywordtype">void</span> setAutoPrint( H5E_auto_t&amp; func, <span class="keywordtype">void</span>* client_data);
 00053 
-00054         <span class="comment">// Retrieves the current settings for the automatic error stack</span>
-00055         <span class="comment">// traversal function and its data.</span>
-00056         <span class="keyword">static</span> <span class="keywordtype">void</span> getAutoPrint( H5E_auto_t&amp; func, <span class="keywordtype">void</span>** client_data);
-00057 
-00058         <span class="comment">// Clears the error stack for the current thread.</span>
-00059         <span class="keyword">static</span> <span class="keywordtype">void</span> clearErrorStack();
+00054         <span class="comment">// Turns off the automatic error printing.</span>
+00055         <span class="keyword">static</span> <span class="keywordtype">void</span> dontPrint();
+00056 
+00057         <span class="comment">// Retrieves the current settings for the automatic error stack</span>
+00058         <span class="comment">// traversal function and its data.</span>
+00059         <span class="keyword">static</span> <span class="keywordtype">void</span> getAutoPrint( H5E_auto_t&amp; func, <span class="keywordtype">void</span>** client_data);
 00060 
-00061         <span class="comment">// Walks the error stack for the current thread, calling the</span>
-00062         <span class="comment">// specified function.</span>
-00063         <span class="keyword">static</span> <span class="keywordtype">void</span> walkErrorStack( H5E_direction_t direction,
-00064                                 H5E_walk_t func, <span class="keywordtype">void</span>* client_data);
-00065 
-00066         <span class="comment">// Prints the error stack in a default manner.</span>
-00067         <span class="keyword">virtual</span> <span class="keywordtype">void</span> printError( FILE* stream = NULL ) <span class="keyword">const</span>;
+00061         <span class="comment">// Clears the error stack for the current thread.</span>
+00062         <span class="keyword">static</span> <span class="keywordtype">void</span> clearErrorStack();
+00063 
+00064         <span class="comment">// Walks the error stack for the current thread, calling the</span>
+00065         <span class="comment">// specified function.</span>
+00066         <span class="keyword">static</span> <span class="keywordtype">void</span> walkErrorStack( H5E_direction_t direction,
+00067                                 H5E_walk_t func, <span class="keywordtype">void</span>* client_data);
 00068 
-00069         <span class="comment">// Default constructor</span>
-00070         Exception();
+00069         <span class="comment">// Prints the error stack in a default manner.</span>
+00070         <span class="keyword">virtual</span> <span class="keywordtype">void</span> printError( FILE* stream = NULL ) <span class="keyword">const</span>;
 00071 
-00072         <span class="comment">// copy constructor</span>
-00073         Exception( <span class="keyword">const</span> Exception&amp; orig);
+00072         <span class="comment">// Default constructor</span>
+00073         Exception();
 00074 
-00075         <span class="comment">// virtual Destructor</span>
-00076         <span class="keyword">virtual</span> ~Exception();
+00075         <span class="comment">// copy constructor</span>
+00076         Exception( <span class="keyword">const</span> Exception&amp; orig);
 00077 
-00078    <span class="keyword">private</span>:
-00079 <span class="comment">// Because 'string' is not instantiated at compilation time, this</span>
-00080 <span class="comment">// warning is displayed when building DLL; but the class is exported</span>
-00081 <span class="comment">// so the warning is harmless</span>
-00082 <span class="preprocessor">#if defined(WIN32)</span>
-00083 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable: 4251)</span>
-00084 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00085 <span class="preprocessor"></span>        string detail_message;
-00086         string func_name;
-00087 
-00088    <span class="keyword">protected</span>:
-00089         <span class="comment">// Default value for detail_message</span>
-00090         <span class="keyword">static</span> <span class="keyword">const</span> string DEFAULT_MSG;
-00091 };
-00092 
-<a name="l00093"></a><a class="code" href="classH5_1_1FileIException.html">00093</a> <span class="keyword">class </span>H5_DLLCPP FileIException : <span class="keyword">public</span> Exception {
-00094    <span class="keyword">public</span>:
-00095         FileIException( <span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00096         FileIException();
-00097         <span class="keyword">virtual</span> ~FileIException();
-00098 };
-00099 
-<a name="l00100"></a><a class="code" href="classH5_1_1GroupIException.html">00100</a> <span class="keyword">class </span>H5_DLLCPP GroupIException : <span class="keyword">public</span> Exception {
-00101    <span class="keyword">public</span>:
-00102         GroupIException( <span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00103         GroupIException();
-00104         <span class="keyword">virtual</span> ~GroupIException();
-00105 };
-00106 
-<a name="l00107"></a><a class="code" href="classH5_1_1DataSpaceIException.html">00107</a> <span class="keyword">class </span>H5_DLLCPP DataSpaceIException : <span class="keyword">public</span> Exception {
-00108    <span class="keyword">public</span>:
-00109         DataSpaceIException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00110         DataSpaceIException();
-00111         <span class="keyword">virtual</span> ~DataSpaceIException();
-00112 };
-00113 
-<a name="l00114"></a><a class="code" href="classH5_1_1DataTypeIException.html">00114</a> <span class="keyword">class </span>H5_DLLCPP DataTypeIException : <span class="keyword">public</span> Exception {
-00115    <span class="keyword">public</span>:
-00116         DataTypeIException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00117         DataTypeIException();
-00118         <span class="keyword">virtual</span> ~DataTypeIException();
-00119 };
-00120 
-<a name="l00121"></a><a class="code" href="classH5_1_1PropListIException.html">00121</a> <span class="keyword">class </span>H5_DLLCPP PropListIException : <span class="keyword">public</span> Exception {
-00122    <span class="keyword">public</span>:
-00123         PropListIException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00124         PropListIException();
-00125         <span class="keyword">virtual</span> ~PropListIException();
-00126 };
-00127 
-<a name="l00128"></a><a class="code" href="classH5_1_1DataSetIException.html">00128</a> <span class="keyword">class </span>H5_DLLCPP DataSetIException : <span class="keyword">public</span> Exception {
-00129    <span class="keyword">public</span>:
-00130         DataSetIException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00131         DataSetIException();
-00132         <span class="keyword">virtual</span> ~DataSetIException();
-00133 };
-00134 
-<a name="l00135"></a><a class="code" href="classH5_1_1AttributeIException.html">00135</a> <span class="keyword">class </span>H5_DLLCPP AttributeIException : <span class="keyword">public</span> Exception {
-00136    <span class="keyword">public</span>:
-00137         AttributeIException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00138         AttributeIException();
-00139         <span class="keyword">virtual</span> ~AttributeIException();
-00140 };
-00141 
-<a name="l00142"></a><a class="code" href="classH5_1_1ReferenceException.html">00142</a> <span class="keyword">class </span>H5_DLLCPP ReferenceException : <span class="keyword">public</span> Exception {
-00143    <span class="keyword">public</span>:
-00144         ReferenceException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00145         ReferenceException();
-00146         <span class="keyword">virtual</span> ~ReferenceException();
-00147 };
-00148 
-<a name="l00149"></a><a class="code" href="classH5_1_1LibraryIException.html">00149</a> <span class="keyword">class </span>H5_DLLCPP LibraryIException : <span class="keyword">public</span> Exception {
-00150    <span class="keyword">public</span>:
-00151         LibraryIException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00152         LibraryIException();
-00153         <span class="keyword">virtual</span> ~LibraryIException();
-00154 };
-00155 
-<a name="l00156"></a><a class="code" href="classH5_1_1IdComponentException.html">00156</a> <span class="keyword">class </span>H5_DLLCPP IdComponentException : <span class="keyword">public</span> Exception {
-00157    <span class="keyword">public</span>:
-00158         IdComponentException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string message = DEFAULT_MSG);
-00159         IdComponentException();
-00160         <span class="keyword">virtual</span> ~IdComponentException();
-00161 };
-00162 
-00163 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00164 <span class="preprocessor"></span>}
-00165 <span class="preprocessor">#endif</span>
-00166 <span class="preprocessor"></span>
-00167 <span class="preprocessor">#endif // _H5Exception_H</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00078         <span class="comment">// virtual Destructor</span>
+00079         <span class="keyword">virtual</span> ~Exception();
+00080 
+00081    <span class="keyword">private</span>:
+00082 <span class="comment">// Because 'string' is not instantiated at compilation time, this</span>
+00083 <span class="comment">// warning is displayed when building DLL; but the class is exported</span>
+00084 <span class="comment">// so the warning is harmless</span>
+00085 <span class="preprocessor">#if defined(WIN32)</span>
+00086 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable: 4251)</span>
+00087 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00088 <span class="preprocessor"></span>        <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> detail_message;
+00089         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> func_name;
+00090 
+00091    <span class="keyword">protected</span>:
+00092         <span class="comment">// Default value for detail_message</span>
+00093         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> DEFAULT_MSG;
+00094 };
+00095 
+<a name="l00096"></a><a class="code" href="classH5_1_1FileIException.html">00096</a> <span class="keyword">class </span>H5_DLLCPP FileIException : <span class="keyword">public</span> Exception {
+00097    <span class="keyword">public</span>:
+00098         FileIException( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00099         FileIException();
+00100         <span class="keyword">virtual</span> ~FileIException();
+00101 };
+00102 
+<a name="l00103"></a><a class="code" href="classH5_1_1GroupIException.html">00103</a> <span class="keyword">class </span>H5_DLLCPP GroupIException : <span class="keyword">public</span> Exception {
+00104    <span class="keyword">public</span>:
+00105         GroupIException( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00106         GroupIException();
+00107         <span class="keyword">virtual</span> ~GroupIException();
+00108 };
+00109 
+<a name="l00110"></a><a class="code" href="classH5_1_1DataSpaceIException.html">00110</a> <span class="keyword">class </span>H5_DLLCPP DataSpaceIException : <span class="keyword">public</span> Exception {
+00111    <span class="keyword">public</span>:
+00112         DataSpaceIException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00113         DataSpaceIException();
+00114         <span class="keyword">virtual</span> ~DataSpaceIException();
+00115 };
+00116 
+<a name="l00117"></a><a class="code" href="classH5_1_1DataTypeIException.html">00117</a> <span class="keyword">class </span>H5_DLLCPP DataTypeIException : <span class="keyword">public</span> Exception {
+00118    <span class="keyword">public</span>:
+00119         DataTypeIException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00120         DataTypeIException();
+00121         <span class="keyword">virtual</span> ~DataTypeIException();
+00122 };
+00123 
+<a name="l00124"></a><a class="code" href="classH5_1_1PropListIException.html">00124</a> <span class="keyword">class </span>H5_DLLCPP PropListIException : <span class="keyword">public</span> Exception {
+00125    <span class="keyword">public</span>:
+00126         PropListIException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00127         PropListIException();
+00128         <span class="keyword">virtual</span> ~PropListIException();
+00129 };
+00130 
+<a name="l00131"></a><a class="code" href="classH5_1_1DataSetIException.html">00131</a> <span class="keyword">class </span>H5_DLLCPP DataSetIException : <span class="keyword">public</span> Exception {
+00132    <span class="keyword">public</span>:
+00133         DataSetIException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00134         DataSetIException();
+00135         <span class="keyword">virtual</span> ~DataSetIException();
+00136 };
+00137 
+<a name="l00138"></a><a class="code" href="classH5_1_1AttributeIException.html">00138</a> <span class="keyword">class </span>H5_DLLCPP AttributeIException : <span class="keyword">public</span> Exception {
+00139    <span class="keyword">public</span>:
+00140         AttributeIException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00141         AttributeIException();
+00142         <span class="keyword">virtual</span> ~AttributeIException();
+00143 };
+00144 
+<a name="l00145"></a><a class="code" href="classH5_1_1ReferenceException.html">00145</a> <span class="keyword">class </span>H5_DLLCPP ReferenceException : <span class="keyword">public</span> Exception {
+00146    <span class="keyword">public</span>:
+00147         ReferenceException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00148         ReferenceException();
+00149         <span class="keyword">virtual</span> ~ReferenceException();
+00150 };
+00151 
+<a name="l00152"></a><a class="code" href="classH5_1_1LibraryIException.html">00152</a> <span class="keyword">class </span>H5_DLLCPP LibraryIException : <span class="keyword">public</span> Exception {
+00153    <span class="keyword">public</span>:
+00154         LibraryIException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00155         LibraryIException();
+00156         <span class="keyword">virtual</span> ~LibraryIException();
+00157 };
+00158 
+<a name="l00159"></a><a class="code" href="classH5_1_1IdComponentException.html">00159</a> <span class="keyword">class </span>H5_DLLCPP IdComponentException : <span class="keyword">public</span> Exception {
+00160    <span class="keyword">public</span>:
+00161         IdComponentException(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; func_name, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; message = DEFAULT_MSG);
+00162         IdComponentException();
+00163         <span class="keyword">virtual</span> ~IdComponentException();
+00164 };
+00165 
+00166 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00167 <span class="preprocessor"></span>}
+00168 <span class="preprocessor">#endif</span>
+00169 <span class="preprocessor"></span>
+00170 <span class="preprocessor">#endif // _H5Exception_H</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Exception_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Exception.h File Reference</h1><code>#include &lt;string&gt;</code><br>
 
 <p>
@@ -330,9 +347,59 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="H5Exception_8h.html#a0">H5std_string</a>&nbsp;&nbsp;&nbsp;std::string</td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a0" doxytag="H5Exception.h::H5std_string"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">#define H5std_string&nbsp;&nbsp;&nbsp;std::string          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+    </td>
+  </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FaccProp.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -334,8 +351,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,151 +337,152 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FaccProp.h</h1><a href="H5FaccProp_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5FileAccPropList_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5FileAccPropList_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-00023 <span class="comment">// class for file access properties</span>
-<a name="l00024"></a><a class="code" href="classH5_1_1FileAccPropList.html">00024</a> <span class="keyword">class </span>H5_DLLCPP FileAccPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
-00025    <span class="keyword">public</span>:
-00026         <span class="keyword">static</span> <span class="keyword">const</span> FileAccPropList DEFAULT;
-00027 
-00028         <span class="comment">// Modifies this property list to use the H5FD_STDIO driver</span>
-00029         <span class="keywordtype">void</span> setStdio() <span class="keyword">const</span>;
-00030 
-00031         <span class="comment">// Set file driver for this property list</span>
-00032         <span class="keywordtype">void</span> setDriver(hid_t new_driver_id, <span class="keyword">const</span> <span class="keywordtype">void</span> *new_driver_info) <span class="keyword">const</span>;
-00033 
-00034         <span class="comment">// Returns a low-level file driver identifier.</span>
-00035         hid_t getDriver() <span class="keyword">const</span>;
-00036 
-00037         <span class="comment">// Sets offset for family driver.</span>
-00038         <span class="keywordtype">void</span> setFamilyOffset(hsize_t offset) <span class="keyword">const</span>;
-00039 
-00040         <span class="comment">// Gets offset for family driver.</span>
-00041         hsize_t getFamilyOffset() <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Modifies this file access property list to use the sec2 driver.</span>
-00044         <span class="keywordtype">void</span> setSec2() <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Modifies this file access property list to use the H5FD_CORE</span>
-00047         <span class="comment">// driver.</span>
-00048         <span class="keywordtype">void</span> setCore (size_t increment, hbool_t backing_store) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5FileAccPropList_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5FileAccPropList_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="comment">// class for file access properties</span>
+<a name="l00025"></a><a class="code" href="classH5_1_1FileAccPropList.html">00025</a> <span class="keyword">class </span>H5_DLLCPP FileAccPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
+00026    <span class="keyword">public</span>:
+00027         <span class="keyword">static</span> <span class="keyword">const</span> FileAccPropList DEFAULT;
+00028 
+00029         <span class="comment">// Creates a file access property list.</span>
+00030         FileAccPropList();
+00031 
+00032         <span class="comment">// Modifies this property list to use the H5FD_STDIO driver</span>
+00033         <span class="keywordtype">void</span> setStdio() <span class="keyword">const</span>;
+00034 
+00035         <span class="comment">// Set file driver for this property list</span>
+00036         <span class="keywordtype">void</span> setDriver(hid_t new_driver_id, <span class="keyword">const</span> <span class="keywordtype">void</span> *new_driver_info) <span class="keyword">const</span>;
+00037 
+00038         <span class="comment">// Returns a low-level file driver identifier.</span>
+00039         hid_t getDriver() <span class="keyword">const</span>;
+00040 
+00041         <span class="comment">// Sets offset for family driver.</span>
+00042         <span class="keywordtype">void</span> setFamilyOffset(hsize_t offset) <span class="keyword">const</span>;
+00043 
+00044         <span class="comment">// Gets offset for family driver.</span>
+00045         hsize_t getFamilyOffset() <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Modifies this file access property list to use the sec2 driver.</span>
+00048         <span class="keywordtype">void</span> setSec2() <span class="keyword">const</span>;
 00049 
-00050         <span class="comment">// Queries H5FD_CORE driver properties.</span>
-00051         <span class="keywordtype">void</span> getCore (size_t&amp; increment, hbool_t&amp; backing_store) <span class="keyword">const</span>;
-00052 
-00053         <span class="comment">// Sets this file access properties list to the family driver.</span>
-00054         <span class="keywordtype">void</span> setFamily( hsize_t memb_size, <span class="keyword">const</span> FileAccPropList&amp; memb_plist ) <span class="keyword">const</span>;
-00055 
-00056         <span class="comment">// Returns information about the family file access property list.</span>
-00057         <span class="keywordtype">void</span> getFamily(hsize_t&amp; memb_size, FileAccPropList&amp; memb_plist) <span class="keyword">const</span>;
-00058         FileAccPropList getFamily(hsize_t&amp; memb_size) <span class="keyword">const</span>;
+00050         <span class="comment">// Modifies this file access property list to use the H5FD_CORE</span>
+00051         <span class="comment">// driver.</span>
+00052         <span class="keywordtype">void</span> setCore (size_t increment, hbool_t backing_store) <span class="keyword">const</span>;
+00053 
+00054         <span class="comment">// Queries H5FD_CORE driver properties.</span>
+00055         <span class="keywordtype">void</span> getCore (size_t&amp; increment, hbool_t&amp; backing_store) <span class="keyword">const</span>;
+00056 
+00057         <span class="comment">// Sets this file access properties list to the family driver.</span>
+00058         <span class="keywordtype">void</span> setFamily( hsize_t memb_size, <span class="keyword">const</span> FileAccPropList&amp; memb_plist ) <span class="keyword">const</span>;
 00059 
-00060         <span class="comment">// Emulates the old split file driver,</span>
-00061         <span class="keywordtype">void</span> setSplit( FileAccPropList&amp; meta_plist, FileAccPropList&amp; raw_plist,
-00062              <span class="keyword">const</span> <span class="keywordtype">char</span>* meta_ext = <span class="stringliteral">".meta"</span>, <span class="keyword">const</span> <span class="keywordtype">char</span>* raw_ext = <span class="stringliteral">".raw"</span> ) <span class="keyword">const</span>;
-00063         <span class="keywordtype">void</span> setSplit( FileAccPropList&amp; meta_plist, FileAccPropList&amp; raw_plist,
-00064              <span class="keyword">const</span> string&amp; meta_ext, <span class="keyword">const</span> string&amp; raw_ext ) <span class="keyword">const</span>;
-00065 
-00066 <span class="preprocessor">#ifdef H5_HAVE_STREAM // for Stream Virtual File Driver</span>
-00067 <span class="preprocessor"></span>        <span class="comment">// Modifies this file access property list to use the Stream driver.</span>
-00068         <span class="keywordtype">void</span> setStream(H5FD_stream_fapl_t &amp;fapl) <span class="keyword">const</span>;
+00060         <span class="comment">// Returns information about the family file access property list.</span>
+00061         <span class="keywordtype">void</span> getFamily(hsize_t&amp; memb_size, FileAccPropList&amp; memb_plist) <span class="keyword">const</span>;
+00062         FileAccPropList getFamily(hsize_t&amp; memb_size) <span class="keyword">const</span>;
+00063 
+00064         <span class="comment">// Emulates the old split file driver,</span>
+00065         <span class="keywordtype">void</span> setSplit( FileAccPropList&amp; meta_plist, FileAccPropList&amp; raw_plist,
+00066              <span class="keyword">const</span> <span class="keywordtype">char</span>* meta_ext = <span class="stringliteral">".meta"</span>, <span class="keyword">const</span> <span class="keywordtype">char</span>* raw_ext = <span class="stringliteral">".raw"</span> ) <span class="keyword">const</span>;
+00067         <span class="keywordtype">void</span> setSplit( FileAccPropList&amp; meta_plist, FileAccPropList&amp; raw_plist,
+00068              <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; meta_ext, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; raw_ext ) <span class="keyword">const</span>;
 00069 
-00070         <span class="comment">// Retrieves the streaming I/O driver settings</span>
-00071         H5FD_stream_fapl_t getStream() <span class="keyword">const</span>;
-00072 <span class="preprocessor">#endif</span>
-00073 <span class="preprocessor"></span>
-00074         <span class="comment">// Sets the maximum size of the data sieve buffer.</span>
-00075         <span class="keywordtype">void</span> setSieveBufSize(size_t bufsize) <span class="keyword">const</span>;
-00076 
-00077         <span class="comment">// Returns the current settings for the data sieve buffer size</span>
-00078         <span class="comment">// property</span>
-00079         size_t getSieveBufSize() <span class="keyword">const</span>;
+00070 <span class="preprocessor">#ifdef H5_HAVE_STREAM // for Stream Virtual File Driver</span>
+00071 <span class="preprocessor"></span>        <span class="comment">// Modifies this file access property list to use the Stream driver.</span>
+00072         <span class="keywordtype">void</span> setStream(H5FD_stream_fapl_t &amp;fapl) <span class="keyword">const</span>;
+00073 
+00074         <span class="comment">// Retrieves the streaming I/O driver settings</span>
+00075         H5FD_stream_fapl_t getStream() <span class="keyword">const</span>;
+00076 <span class="preprocessor">#endif</span>
+00077 <span class="preprocessor"></span>
+00078         <span class="comment">// Sets the maximum size of the data sieve buffer.</span>
+00079         <span class="keywordtype">void</span> setSieveBufSize(size_t bufsize) <span class="keyword">const</span>;
 00080 
-00081         <span class="comment">// Sets the minimum size of metadata block allocations.</span>
-00082         <span class="keywordtype">void</span> setMetaBlockSize(hsize_t &amp;block_size) <span class="keyword">const</span>;
-00083 
-00084         <span class="comment">// Returns the current metadata block size setting.</span>
-00085         hsize_t getMetaBlockSize() <span class="keyword">const</span>;
-00086 
-00087         <span class="comment">// Modifies this file access property list to use the logging driver.</span>
-00088         <span class="keywordtype">void</span> setLog(<span class="keyword">const</span> <span class="keywordtype">char</span> *logfile, <span class="keywordtype">unsigned</span> flags, size_t buf_size) <span class="keyword">const</span>;
-00089         <span class="keywordtype">void</span> setLog(<span class="keyword">const</span> string&amp; logfile, <span class="keywordtype">unsigned</span> flags, size_t buf_size) <span class="keyword">const</span>;
+00081         <span class="comment">// Returns the current settings for the data sieve buffer size</span>
+00082         <span class="comment">// property</span>
+00083         size_t getSieveBufSize() <span class="keyword">const</span>;
+00084 
+00085         <span class="comment">// Sets the minimum size of metadata block allocations.</span>
+00086         <span class="keywordtype">void</span> setMetaBlockSize(hsize_t &amp;block_size) <span class="keyword">const</span>;
+00087 
+00088         <span class="comment">// Returns the current metadata block size setting.</span>
+00089         hsize_t getMetaBlockSize() <span class="keyword">const</span>;
 00090 
-00091         <span class="comment">// Sets alignment properties of this file access property list</span>
-00092         <span class="keywordtype">void</span> setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) <span class="keyword">const</span>;
-00093 
-00094         <span class="comment">// Retrieves the current settings for alignment properties from</span>
-00095         <span class="comment">// this property list.</span>
-00096         <span class="keywordtype">void</span> getAlignment( hsize_t&amp; threshold, hsize_t&amp; alignment ) <span class="keyword">const</span>;
+00091         <span class="comment">// Modifies this file access property list to use the logging driver.</span>
+00092         <span class="keywordtype">void</span> setLog(<span class="keyword">const</span> <span class="keywordtype">char</span> *logfile, <span class="keywordtype">unsigned</span> flags, size_t buf_size) <span class="keyword">const</span>;
+00093         <span class="keywordtype">void</span> setLog(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; logfile, <span class="keywordtype">unsigned</span> flags, size_t buf_size) <span class="keyword">const</span>;
+00094 
+00095         <span class="comment">// Sets alignment properties of this file access property list</span>
+00096         <span class="keywordtype">void</span> setAlignment( hsize_t threshold = 1, hsize_t alignment = 1 ) <span class="keyword">const</span>;
 00097 
-00098         <span class="comment">// Sets data type for multi driver.</span>
-00099         <span class="keywordtype">void</span> setMultiType(H5FD_mem_t dtype) <span class="keyword">const</span>;
-00100 
-00101         <span class="comment">// Returns the data type property for MULTI driver.</span>
-00102         H5FD_mem_t getMultiType() <span class="keyword">const</span>;
-00103 
-00104         <span class="comment">// Sets the meta data cache and raw data chunk cache parameters.</span>
-00105         <span class="keywordtype">void</span> setCache( <span class="keywordtype">int</span> mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, <span class="keywordtype">double</span> rdcc_w0 ) <span class="keyword">const</span>;
-00106 
-00107         <span class="comment">// Queries the meta data cache and raw data chunk cache parameters.</span>
-00108         <span class="keywordtype">void</span> getCache( <span class="keywordtype">int</span>&amp; mdc_nelmts, size_t&amp; rdcc_nelmts, size_t&amp; rdcc_nbytes, <span class="keywordtype">double</span>&amp; rdcc_w0 ) <span class="keyword">const</span>;
-00109 
-00110         <span class="comment">// Sets the degree for the file close behavior.</span>
-00111         <span class="keywordtype">void</span> setFcloseDegree(H5F_close_degree_t degree);
-00112 
-00113         <span class="comment">// Returns the degree for the file close behavior.</span>
-00114         H5F_close_degree_t getFcloseDegree();
-00115 
-00116         <span class="comment">// Sets garbage collecting references flag.</span>
-00117         <span class="keywordtype">void</span> setGcReferences( <span class="keywordtype">unsigned</span> gc_ref = 0 ) <span class="keyword">const</span>;
-00118 
-00119         <span class="comment">// Returns garbage collecting references setting.</span>
-00120         <span class="keywordtype">unsigned</span> getGcReferences() <span class="keyword">const</span>;
-00121 
-00122         <span class="comment">// Returns this class name</span>
-<a name="l00123"></a><a class="code" href="classH5_1_1FileAccPropList.html#a29">00123</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"FileAccPropList"</span>); }
-00124 
-00125         <span class="comment">// Creates a file access property list.</span>
-00126         FileAccPropList();
-00127 
-00128         <span class="comment">// Copy constructor: creates a copy of a FileAccPropList object.</span>
-00129         FileAccPropList( <span class="keyword">const</span> FileAccPropList&amp; original );
-00130 
-00131         <span class="comment">// Creates a copy of an existing file access property list</span>
-00132         <span class="comment">// using the property list id.</span>
-00133         FileAccPropList (<span class="keyword">const</span> hid_t plist_id);
-00134 
-00135         <span class="comment">// Noop destructor</span>
-00136         <span class="keyword">virtual</span> ~FileAccPropList();
-00137 };
-00138 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00139 <span class="preprocessor"></span>}
-00140 <span class="preprocessor">#endif</span>
-00141 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00098         <span class="comment">// Retrieves the current settings for alignment properties from</span>
+00099         <span class="comment">// this property list.</span>
+00100         <span class="keywordtype">void</span> getAlignment( hsize_t&amp; threshold, hsize_t&amp; alignment ) <span class="keyword">const</span>;
+00101 
+00102         <span class="comment">// Sets data type for multi driver.</span>
+00103         <span class="keywordtype">void</span> setMultiType(H5FD_mem_t dtype) <span class="keyword">const</span>;
+00104 
+00105         <span class="comment">// Returns the data type property for MULTI driver.</span>
+00106         H5FD_mem_t getMultiType() <span class="keyword">const</span>;
+00107 
+00108         <span class="comment">// Sets the meta data cache and raw data chunk cache parameters.</span>
+00109         <span class="keywordtype">void</span> setCache( <span class="keywordtype">int</span> mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, <span class="keywordtype">double</span> rdcc_w0 ) <span class="keyword">const</span>;
+00110 
+00111         <span class="comment">// Queries the meta data cache and raw data chunk cache parameters.</span>
+00112         <span class="keywordtype">void</span> getCache( <span class="keywordtype">int</span>&amp; mdc_nelmts, size_t&amp; rdcc_nelmts, size_t&amp; rdcc_nbytes, <span class="keywordtype">double</span>&amp; rdcc_w0 ) <span class="keyword">const</span>;
+00113 
+00114         <span class="comment">// Sets the degree for the file close behavior.</span>
+00115         <span class="keywordtype">void</span> setFcloseDegree(H5F_close_degree_t degree);
+00116 
+00117         <span class="comment">// Returns the degree for the file close behavior.</span>
+00118         H5F_close_degree_t getFcloseDegree();
+00119 
+00120         <span class="comment">// Sets garbage collecting references flag.</span>
+00121         <span class="keywordtype">void</span> setGcReferences( <span class="keywordtype">unsigned</span> gc_ref = 0 ) <span class="keyword">const</span>;
+00122 
+00123         <span class="comment">// Returns garbage collecting references setting.</span>
+00124         <span class="keywordtype">unsigned</span> getGcReferences() <span class="keyword">const</span>;
+00125 
+00126         <span class="comment">// Returns this class name</span>
+<a name="l00127"></a><a class="code" href="classH5_1_1FileAccPropList.html#a30">00127</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1PropList.html#a30">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"FileAccPropList"</span>); }
+00128 
+00129         <span class="comment">// Copy constructor: creates a copy of a FileAccPropList object.</span>
+00130         FileAccPropList( <span class="keyword">const</span> FileAccPropList&amp; original );
+00131 
+00132         <span class="comment">// Creates a copy of an existing file access property list</span>
+00133         <span class="comment">// using the property list id.</span>
+00134         FileAccPropList (<span class="keyword">const</span> hid_t plist_id);
+00135 
+00136         <span class="comment">// Noop destructor</span>
+00137         <span class="keyword">virtual</span> ~FileAccPropList();
+00138 };
+00139 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00140 <span class="preprocessor"></span>}
+00141 <span class="preprocessor">#endif</span>
+00142 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FaccProp_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FaccProp.h File Reference</h1>
 <p>
 <a href="H5FaccProp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FcreatProp.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -334,8 +351,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,97 +337,98 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FcreatProp.h</h1><a href="H5FcreatProp_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5FileCreatPropList_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5FileCreatPropList_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-00023 <span class="comment">// class for file access properties</span>
-<a name="l00024"></a><a class="code" href="classH5_1_1FileCreatPropList.html">00024</a> <span class="keyword">class </span>H5_DLLCPP FileCreatPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
-00025    <span class="keyword">public</span>:
-00026         <span class="comment">// Default file creation property list.</span>
-00027         <span class="keyword">static</span> <span class="keyword">const</span> FileCreatPropList DEFAULT;
-00028 
-00029         <span class="comment">// Retrieves version information for various parts of a file.</span>
-00030         <span class="keywordtype">void</span> getVersion( <span class="keywordtype">unsigned</span>&amp; super, <span class="keywordtype">unsigned</span>&amp; freelist, <span class="keywordtype">unsigned</span>&amp; stab, <span class="keywordtype">unsigned</span>&amp; shhdr ) <span class="keyword">const</span>;
-00031 
-00032         <span class="comment">// Sets the userblock size field of a file creation property list.</span>
-00033         <span class="keywordtype">void</span> setUserblock( hsize_t size ) <span class="keyword">const</span>;
-00034 
-00035         <span class="comment">// Gets the size of a user block in this file creation property list.</span>
-00036         hsize_t getUserblock() <span class="keyword">const</span>;
-00037 
-00038         <span class="comment">// Retrieves the size-of address and size quantities stored in a</span>
-00039         <span class="comment">// file according to this file creation property list.</span>
-00040         <span class="keywordtype">void</span> getSizes( size_t&amp; sizeof_addr, size_t&amp; sizeof_size ) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5FileCreatPropList_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5FileCreatPropList_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="comment">// class for file access properties</span>
+<a name="l00025"></a><a class="code" href="classH5_1_1FileCreatPropList.html">00025</a> <span class="keyword">class </span>H5_DLLCPP FileCreatPropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1PropList.html">PropList</a> {
+00026    <span class="keyword">public</span>:
+00027         <span class="comment">// Default file creation property list.</span>
+00028         <span class="keyword">static</span> <span class="keyword">const</span> FileCreatPropList DEFAULT;
+00029 
+00030         <span class="comment">// Creates a file create property list.</span>
+00031         FileCreatPropList();
+00032 
+00033         <span class="comment">// Retrieves version information for various parts of a file.</span>
+00034         <span class="keywordtype">void</span> getVersion( <span class="keywordtype">unsigned</span>&amp; super, <span class="keywordtype">unsigned</span>&amp; freelist, <span class="keywordtype">unsigned</span>&amp; stab, <span class="keywordtype">unsigned</span>&amp; shhdr ) <span class="keyword">const</span>;
+00035 
+00036         <span class="comment">// Sets the userblock size field of a file creation property list.</span>
+00037         <span class="keywordtype">void</span> setUserblock( hsize_t size ) <span class="keyword">const</span>;
+00038 
+00039         <span class="comment">// Gets the size of a user block in this file creation property list.</span>
+00040         hsize_t getUserblock() <span class="keyword">const</span>;
 00041 
-00042         <span class="comment">// Sets file size-of addresses and sizes.</span>
-00043         <span class="keywordtype">void</span> setSizes( size_t sizeof_addr = 4, size_t sizeof_size = 4 ) <span class="keyword">const</span>;
-00044 
-00045 <span class="preprocessor">#ifdef H5_WANT_H5_V1_4_COMPAT</span>
-00046 <span class="preprocessor"></span>        <span class="comment">// Retrieves the size of the symbol table B-tree 1/2 rank and the</span>
-00047         <span class="comment">// symbol table leaf node 1/2 size.</span>
-00048         <span class="keywordtype">void</span> getSymk( <span class="keywordtype">int</span>&amp; int_nodes_k, <span class="keywordtype">int</span>&amp; leaf_nodes_k ) <span class="keyword">const</span>;
-00049 
-00050         <span class="comment">// Sets the size of parameters used to control the symbol table nodes.</span>
-00051         <span class="keywordtype">void</span> setSymk( <span class="keywordtype">int</span> int_nodes_k, <span class="keywordtype">int</span> leaf_nodes_k ) <span class="keyword">const</span>;
-00052 <span class="preprocessor">#else </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
-00053         <span class="comment">// Retrieves the size of the symbol table B-tree 1/2 rank and the</span>
-00054         <span class="comment">// symbol table leaf node 1/2 size.</span>
-00055         <span class="keywordtype">void</span> getSymk( <span class="keywordtype">unsigned</span>&amp; int_nodes_k, <span class="keywordtype">unsigned</span>&amp; leaf_nodes_k ) <span class="keyword">const</span>;
-00056 
-00057         <span class="comment">// Sets the size of parameters used to control the symbol table nodes.</span>
-00058         <span class="keywordtype">void</span> setSymk( <span class="keywordtype">unsigned</span> int_nodes_k, <span class="keywordtype">unsigned</span> leaf_nodes_k ) <span class="keyword">const</span>;
-00059 <span class="preprocessor">#endif </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
+00042         <span class="comment">// Retrieves the size-of address and size quantities stored in a</span>
+00043         <span class="comment">// file according to this file creation property list.</span>
+00044         <span class="keywordtype">void</span> getSizes( size_t&amp; sizeof_addr, size_t&amp; sizeof_size ) <span class="keyword">const</span>;
+00045 
+00046         <span class="comment">// Sets file size-of addresses and sizes.</span>
+00047         <span class="keywordtype">void</span> setSizes( size_t sizeof_addr = 4, size_t sizeof_size = 4 ) <span class="keyword">const</span>;
+00048 
+00049 <span class="preprocessor">#ifdef H5_WANT_H5_V1_4_COMPAT</span>
+00050 <span class="preprocessor"></span>        <span class="comment">// Retrieves the size of the symbol table B-tree 1/2 rank and the</span>
+00051         <span class="comment">// symbol table leaf node 1/2 size.</span>
+00052         <span class="keywordtype">void</span> getSymk( <span class="keywordtype">int</span>&amp; int_nodes_k, <span class="keywordtype">int</span>&amp; leaf_nodes_k ) <span class="keyword">const</span>;
+00053 
+00054         <span class="comment">// Sets the size of parameters used to control the symbol table nodes.</span>
+00055         <span class="keywordtype">void</span> setSymk( <span class="keywordtype">int</span> int_nodes_k, <span class="keywordtype">int</span> leaf_nodes_k ) <span class="keyword">const</span>;
+00056 <span class="preprocessor">#else </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
+00057         <span class="comment">// Retrieves the size of the symbol table B-tree 1/2 rank and the</span>
+00058         <span class="comment">// symbol table leaf node 1/2 size.</span>
+00059         <span class="keywordtype">void</span> getSymk( <span class="keywordtype">unsigned</span>&amp; int_nodes_k, <span class="keywordtype">unsigned</span>&amp; leaf_nodes_k ) <span class="keyword">const</span>;
 00060 
-00061         <span class="comment">// Returns the 1/2 rank of an indexed storage B-tree.</span>
-00062         <span class="keywordtype">unsigned</span> getIstorek() <span class="keyword">const</span>;
-00063 
-00064         <span class="comment">// Sets the size of parameter used to control the B-trees for</span>
-00065         <span class="comment">// indexing chunked datasets.</span>
-00066         <span class="keywordtype">void</span> setIstorek( <span class="keywordtype">unsigned</span> ik ) <span class="keyword">const</span>;
+00061         <span class="comment">// Sets the size of parameters used to control the symbol table nodes.</span>
+00062         <span class="keywordtype">void</span> setSymk( <span class="keywordtype">unsigned</span> int_nodes_k, <span class="keywordtype">unsigned</span> leaf_nodes_k ) <span class="keyword">const</span>;
+00063 <span class="preprocessor">#endif </span><span class="comment">/* H5_WANT_H5_V1_4_COMPAT */</span>
+00064 
+00065         <span class="comment">// Returns the 1/2 rank of an indexed storage B-tree.</span>
+00066         <span class="keywordtype">unsigned</span> getIstorek() <span class="keyword">const</span>;
 00067 
-00068         <span class="comment">// Returns this class name</span>
-<a name="l00069"></a><a class="code" href="classH5_1_1FileCreatPropList.html#a9">00069</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"FileCreatPropList"</span>); }
-00070 
-00071         <span class="comment">// Creates a file create property list.</span>
-00072         FileCreatPropList();
-00073 
-00074         <span class="comment">// Copy constructor: creates a copy of a FileCreatPropList object.</span>
-00075         FileCreatPropList(<span class="keyword">const</span> FileCreatPropList&amp; orig);
-00076 
-00077         <span class="comment">// Creates a copy of an existing file create property list</span>
-00078         <span class="comment">// using the property list id.</span>
-00079         FileCreatPropList (<span class="keyword">const</span> hid_t plist_id);
-00080 
-00081         <span class="comment">// Noop destructor</span>
-00082         <span class="keyword">virtual</span> ~FileCreatPropList();
-00083 };
-00084 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00085 <span class="preprocessor"></span>}
-00086 <span class="preprocessor">#endif</span>
-00087 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00068         <span class="comment">// Sets the size of parameter used to control the B-trees for</span>
+00069         <span class="comment">// indexing chunked datasets.</span>
+00070         <span class="keywordtype">void</span> setIstorek( <span class="keywordtype">unsigned</span> ik ) <span class="keyword">const</span>;
+00071 
+00072         <span class="comment">// Returns this class name</span>
+<a name="l00073"></a><a class="code" href="classH5_1_1FileCreatPropList.html#a10">00073</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1PropList.html#a30">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"FileCreatPropList"</span>); }
+00074 
+00075         <span class="comment">// Copy constructor: creates a copy of a FileCreatPropList object.</span>
+00076         FileCreatPropList(<span class="keyword">const</span> FileCreatPropList&amp; orig);
+00077 
+00078         <span class="comment">// Creates a copy of an existing file create property list</span>
+00079         <span class="comment">// using the property list id.</span>
+00080         FileCreatPropList (<span class="keyword">const</span> hid_t plist_id);
+00081 
+00082         <span class="comment">// Noop destructor</span>
+00083         <span class="keyword">virtual</span> ~FileCreatPropList();
+00084 };
+00085 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00086 <span class="preprocessor"></span>}
+00087 <span class="preprocessor">#endif</span>
+00088 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FcreatProp_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FcreatProp.h File Reference</h1>
 <p>
 <a href="H5FcreatProp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5File.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5File.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
@@ -346,8 +363,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,122 +337,133 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5File.h</h1><a href="H5File_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5File_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5File_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1H5File.html">00023</a> <span class="keyword">class </span>H5_DLLCPP H5File : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a>, <span class="keyword">public</span> <a class="code" href="classH5_1_1CommonFG.html">CommonFG</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Creates or opens an HDF5 file.</span>
-00026         H5File( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags,
-00027            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&amp; create_plist = <a class="code" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a>,
-00028            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist = <a class="code" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a> );
-00029         H5File( <span class="keyword">const</span> string&amp; name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags,
-00030            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&amp; create_plist = <a class="code" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a>,
-00031            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist = <a class="code" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a> );
-00032 
-00033         <span class="comment">// Close this file.</span>
-00034         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00035 
-00036         <span class="comment">// Gets the access property list of this file.</span>
-00037         <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> getAccessPlist() <span class="keyword">const</span>;
-00038 
-00039         <span class="comment">// Gets the creation property list of this file.</span>
-00040         <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> getCreatePlist() <span class="keyword">const</span>;
-00041 
-00042         <span class="comment">// Gets the name of this file.</span>
-00043         string getFileName() <span class="keyword">const</span>;
-00044 
-00045         <span class="comment">// Retrieves the file size of an opened file.</span>
-00046         hsize_t getFileSize() <span class="keyword">const</span>;
-00047 
-00048         <span class="comment">// Returns the amount of free space in the file.</span>
-00049         hssize_t getFreeSpace() <span class="keyword">const</span>;
-00050 
-00051         <span class="comment">// Returns the number of opened object IDs (files, datasets, groups</span>
-00052         <span class="comment">// and datatypes) in the same file.</span>
-00053         <span class="keywordtype">int</span> getObjCount(<span class="keywordtype">unsigned</span> types) <span class="keyword">const</span>;
-00054         <span class="keywordtype">int</span> getObjCount() <span class="keyword">const</span>;
-00055 
-00056         <span class="comment">// Retrieves a list of opened object IDs (files, datasets, groups</span>
-00057         <span class="comment">// and datatypes) in the same file.</span>
-00058         <span class="keywordtype">void</span> getObjIDs(<span class="keywordtype">unsigned</span> types, <span class="keywordtype">int</span> max_objs, hid_t *oid_list) <span class="keyword">const</span>;
-00059 
-00060         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
-00061         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
-00062 
-00063         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
-00064         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5File_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5File_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1H5File.html">00024</a> <span class="keyword">class </span>H5_DLLCPP H5File : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a>, <span class="keyword">public</span> <a class="code" href="classH5_1_1CommonFG.html">CommonFG</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Creates or opens an HDF5 file.</span>
+00027         H5File( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags,
+00028            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&amp; create_plist = FileCreatPropList::DEFAULT,
+00029            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist = FileAccPropList::DEFAULT );
+00030         H5File( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags,
+00031            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&amp; create_plist = FileCreatPropList::DEFAULT,
+00032            <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist = FileAccPropList::DEFAULT );
+00033 
+00034         <span class="comment">// Open the file</span>
+00035         <span class="keywordtype">void</span> openFile(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags,
+00036             <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist = FileAccPropList::DEFAULT);
+00037         <span class="keywordtype">void</span> openFile(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags,
+00038             <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist = FileAccPropList::DEFAULT);
+00039 
+00040         <span class="comment">// Close this file.</span>
+00041         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00042 
+00043         <span class="comment">// Flushes all buffers associated with this file to disk</span>
+00044         <span class="keywordtype">void</span> flush(H5F_scope_t scope) <span class="keyword">const</span>;
+00045 
+00046         <span class="comment">// Gets the access property list of this file.</span>
+00047         <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> getAccessPlist() <span class="keyword">const</span>;
+00048 
+00049         <span class="comment">// Gets the creation property list of this file.</span>
+00050         <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> getCreatePlist() <span class="keyword">const</span>;
+00051 
+00052         <span class="comment">// Gets the name of this file.</span>
+00053         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getFileName() <span class="keyword">const</span>;
+00054 
+00055         <span class="comment">// Retrieves the file size of an opened file.</span>
+00056         hsize_t getFileSize() <span class="keyword">const</span>;
+00057 
+00058         <span class="comment">// Returns the amount of free space in the file.</span>
+00059         hssize_t getFreeSpace() <span class="keyword">const</span>;
+00060 
+00061         <span class="comment">// Returns the number of opened object IDs (files, datasets, groups</span>
+00062         <span class="comment">// and datatypes) in the same file.</span>
+00063         <span class="keywordtype">int</span> getObjCount(<span class="keywordtype">unsigned</span> types) <span class="keyword">const</span>;
+00064         <span class="keywordtype">int</span> getObjCount() <span class="keyword">const</span>;
 00065 
-00066         <span class="comment">// Returns the pointer to the file handle of the low-level file driver.</span>
-00067         <span class="keywordtype">void</span> getVFDHandle(<a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; fapl, <span class="keywordtype">void</span> **file_handle) <span class="keyword">const</span>;
-00068         <span class="keywordtype">void</span> getVFDHandle(<span class="keywordtype">void</span> **file_handle) <span class="keyword">const</span>;
+00066         <span class="comment">// Retrieves a list of opened object IDs (files, datasets, groups</span>
+00067         <span class="comment">// and datatypes) in the same file.</span>
+00068         <span class="keywordtype">void</span> getObjIDs(<span class="keywordtype">unsigned</span> types, <span class="keywordtype">int</span> max_objs, hid_t *oid_list) <span class="keyword">const</span>;
 00069 
-00070         <span class="comment">// Determines if a file, specified by its name, is in HDF5 format</span>
-00071         <span class="keyword">static</span> <span class="keywordtype">bool</span> isHdf5(<span class="keyword">const</span> <span class="keywordtype">char</span>* name );
-00072         <span class="keyword">static</span> <span class="keywordtype">bool</span> isHdf5(<span class="keyword">const</span> string&amp; name );
-00073 
-00074         <span class="comment">// Reopens this file.</span>
-00075         <span class="keywordtype">void</span> reOpen();  <span class="comment">// added for better name</span>
-00076         <span class="keywordtype">void</span> reopen();
-00077 
-00078         <span class="comment">// Creates a reference to a named Hdf5 object or to a dataset region</span>
-00079         <span class="comment">// in this object.</span>
-00080         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
-00081 
-00082         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
-00083         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00084         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00085 
-<a name="l00087"></a><a class="code" href="classH5_1_1H5File.html#a20">00087</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"H5File"</span>); }
-00088 
-00089         <span class="comment">// Throw file exception.</span>
-00090         <span class="keyword">virtual</span> <span class="keywordtype">void</span> throwException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string msg) <span class="keyword">const</span>;
+00070         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
+00071         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_OBJECT) <span class="keyword">const</span>;
+00072 
+00073         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
+00074         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
+00075 
+00076         <span class="comment">// Returns the pointer to the file handle of the low-level file driver.</span>
+00077         <span class="keywordtype">void</span> getVFDHandle(<a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; fapl, <span class="keywordtype">void</span> **file_handle) <span class="keyword">const</span>;
+00078         <span class="keywordtype">void</span> getVFDHandle(<span class="keywordtype">void</span> **file_handle) <span class="keyword">const</span>;
+00079 
+00080         <span class="comment">// Determines if a file, specified by its name, is in HDF5 format</span>
+00081         <span class="keyword">static</span> <span class="keywordtype">bool</span> isHdf5(<span class="keyword">const</span> <span class="keywordtype">char</span>* name );
+00082         <span class="keyword">static</span> <span class="keywordtype">bool</span> isHdf5(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name );
+00083 
+00084         <span class="comment">// Reopens this file.</span>
+00085         <span class="keywordtype">void</span> reOpen();  <span class="comment">// added for better name</span>
+00086         <span class="keywordtype">void</span> reopen();
+00087 
+00088         <span class="comment">// Creates a reference to a named HDF5 object or to a dataset region</span>
+00089         <span class="comment">// in this object.</span>
+00090         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
 00091 
-00092         <span class="comment">// Gets the file id</span>
-00093         <span class="keyword">virtual</span> hid_t getLocId() <span class="keyword">const</span>;
-00094 
-00095         <span class="comment">// Default constructor</span>
-00096         H5File();
-00097 
-00098         <span class="comment">// Copy constructor: makes a copy of the original H5File object.</span>
-00099         H5File(<span class="keyword">const</span> H5File&amp; original);
-00100 
-00101         <span class="comment">// H5File destructor.</span>
-00102         <span class="keyword">virtual</span> ~H5File();
-00103 
-00104    <span class="keyword">private</span>:
-00105         <span class="comment">// This function is private and contains common code between the</span>
-00106         <span class="comment">// constructors taking a string or a char*</span>
-00107         <span class="keywordtype">void</span> p_get_file( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags, <span class="keyword">const</span> <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&amp; create_plist, <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist );
-00108 
-00109 };
-00110 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00111 <span class="preprocessor"></span>}
-00112 <span class="preprocessor">#endif</span>
-00113 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00092         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
+00093         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00094         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00095 
+00096         <span class="comment">// Returns this class name</span>
+<a name="l00097"></a><a class="code" href="classH5_1_1H5File.html#a23">00097</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"H5File"</span>); }
+00098 
+00099         <span class="comment">// Throw file exception.</span>
+00100         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classH5_1_1CommonFG.html#a54">throwException</a>(<span class="keyword">const</span> H5std_string&amp; func_name, <span class="keyword">const</span> H5std_string&amp; msg) <span class="keyword">const</span>;
+00101 
+00102         <span class="comment">// Gets the file id</span>
+00103         <span class="keyword">virtual</span> hid_t getLocId() <span class="keyword">const</span>;
+00104 
+00105         <span class="comment">// Default constructor</span>
+00106         H5File();
+00107 
+00108         <span class="comment">// Copy constructor: makes a copy of the original H5File object.</span>
+00109         H5File(<span class="keyword">const</span> H5File&amp; original);
+00110 
+00111         <span class="comment">// H5File destructor.</span>
+00112         <span class="keyword">virtual</span> ~H5File();
+00113 
+00114    <span class="keyword">private</span>:
+00115         <span class="comment">// This function is private and contains common code between the</span>
+00116         <span class="comment">// constructors taking a string or a char*</span>
+00117         <span class="keywordtype">void</span> p_get_file( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags, <span class="keyword">const</span> <a class="code" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&amp; create_plist, <span class="keyword">const</span> <a class="code" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&amp; access_plist );
+00118 
+00119 };
+00120 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00121 <span class="preprocessor"></span>}
+00122 <span class="preprocessor">#endif</span>
+00123 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5File_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5File.h File Reference</h1>
 <p>
 <a href="H5File_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FloatType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -344,8 +361,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,83 +337,84 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FloatType.h</h1><a href="H5FloatType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5FloatType_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5FloatType_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1FloatType.html">00023</a> <span class="keyword">class </span>H5_DLLCPP FloatType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Creates a floating-point type using a predefined type</span>
-00026         FloatType( <span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type );
-00027 
-00028         <span class="comment">// Gets the floating-point datatype of the specified dataset</span>
-00029         FloatType( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset );
-00030 
-00031         <span class="comment">// Retrieves the exponent bias of a floating-point type.</span>
-00032         size_t getEbias() <span class="keyword">const</span>;
-00033 
-00034         <span class="comment">// Sets the exponent bias of a floating-point type.</span>
-00035         <span class="keywordtype">void</span> setEbias( size_t ebias ) <span class="keyword">const</span>;
-00036 
-00037         <span class="comment">// Retrieves floating point datatype bit field information.</span>
-00038         <span class="keywordtype">void</span> getFields( size_t&amp; spos, size_t&amp; epos, size_t&amp; esize, size_t&amp; mpos, size_t&amp; msize ) <span class="keyword">const</span>;
-00039 
-00040         <span class="comment">// Sets locations and sizes of floating point bit fields.</span>
-00041         <span class="keywordtype">void</span> setFields( size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Retrieves the internal padding type for unused bits in floating-point datatypes.</span>
-00044         H5T_pad_t getInpad( string&amp; pad_string ) <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Fills unused internal floating point bits.</span>
-00047         <span class="keywordtype">void</span> setInpad( H5T_pad_t inpad ) <span class="keyword">const</span>;
-00048 
-00049         <span class="comment">// Retrieves mantissa normalization of a floating-point datatype.</span>
-00050         H5T_norm_t getNorm( string&amp; norm_string ) <span class="keyword">const</span>;
-00051 
-00052         <span class="comment">// Sets the mantissa normalization of a floating-point datatype.</span>
-00053         <span class="keywordtype">void</span> setNorm( H5T_norm_t norm ) <span class="keyword">const</span>;
-00054 
-00055         <span class="comment">// Returns this class name</span>
-<a name="l00056"></a><a class="code" href="classH5_1_1FloatType.html#a10">00056</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"FloatType"</span>); }
-00057 
-00058         <span class="comment">// Default constructor</span>
-00059         FloatType();
-00060 
-00061         <span class="comment">// Creates a floating-point datatype using an existing id</span>
-00062         FloatType( <span class="keyword">const</span> hid_t existing_id );
-00063 
-00064         <span class="comment">// Copy constructor: makes a copy of the original FloatType object.</span>
-00065         FloatType( <span class="keyword">const</span> FloatType&amp; original );
-00066 
-00067         <span class="comment">// Noop destructor.</span>
-00068         <span class="keyword">virtual</span> ~FloatType();
-00069 };
-00070 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00071 <span class="preprocessor"></span>}
-00072 <span class="preprocessor">#endif</span>
-00073 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5FloatType_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5FloatType_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1FloatType.html">00024</a> <span class="keyword">class </span>H5_DLLCPP FloatType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Creates a floating-point type using a predefined type</span>
+00027         FloatType( <span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type );
+00028 
+00029         <span class="comment">// Gets the floating-point datatype of the specified dataset</span>
+00030         FloatType( <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset );
+00031 
+00032         <span class="comment">// Retrieves the exponent bias of a floating-point type.</span>
+00033         size_t getEbias() <span class="keyword">const</span>;
+00034 
+00035         <span class="comment">// Sets the exponent bias of a floating-point type.</span>
+00036         <span class="keywordtype">void</span> setEbias( size_t ebias ) <span class="keyword">const</span>;
+00037 
+00038         <span class="comment">// Retrieves floating point datatype bit field information.</span>
+00039         <span class="keywordtype">void</span> getFields( size_t&amp; spos, size_t&amp; epos, size_t&amp; esize, size_t&amp; mpos, size_t&amp; msize ) <span class="keyword">const</span>;
+00040 
+00041         <span class="comment">// Sets locations and sizes of floating point bit fields.</span>
+00042         <span class="keywordtype">void</span> setFields( size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) <span class="keyword">const</span>;
+00043 
+00044         <span class="comment">// Retrieves the internal padding type for unused bits in floating-point datatypes.</span>
+00045         H5T_pad_t getInpad( <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; pad_string ) <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Fills unused internal floating point bits.</span>
+00048         <span class="keywordtype">void</span> setInpad( H5T_pad_t inpad ) <span class="keyword">const</span>;
+00049 
+00050         <span class="comment">// Retrieves mantissa normalization of a floating-point datatype.</span>
+00051         H5T_norm_t getNorm( <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; norm_string ) <span class="keyword">const</span>;
+00052 
+00053         <span class="comment">// Sets the mantissa normalization of a floating-point datatype.</span>
+00054         <span class="keywordtype">void</span> setNorm( H5T_norm_t norm ) <span class="keyword">const</span>;
+00055 
+00056         <span class="comment">// Returns this class name</span>
+<a name="l00057"></a><a class="code" href="classH5_1_1FloatType.html#a10">00057</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1AtomType.html#a10">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"FloatType"</span>); }
+00058 
+00059         <span class="comment">// Default constructor</span>
+00060         FloatType();
+00061 
+00062         <span class="comment">// Creates a floating-point datatype using an existing id</span>
+00063         FloatType( <span class="keyword">const</span> hid_t existing_id );
+00064 
+00065         <span class="comment">// Copy constructor: makes a copy of the original FloatType object.</span>
+00066         FloatType( <span class="keyword">const</span> FloatType&amp; original );
+00067 
+00068         <span class="comment">// Noop destructor.</span>
+00069         <span class="keyword">virtual</span> ~FloatType();
+00070 };
+00071 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00072 <span class="preprocessor"></span>}
+00073 <span class="preprocessor">#endif</span>
+00074 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5FloatType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5FloatType.h File Reference</h1>
 <p>
 <a href="H5FloatType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5Group.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5Group.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
@@ -346,8 +363,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,77 +337,81 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Group.h</h1><a href="H5Group_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5Group_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Group_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1Group.html">00023</a> <span class="keyword">class </span>H5_DLLCPP Group : <span class="keyword">public</span> <a class="code" href="classH5_1_1H5Object.html">H5Object</a>, <span class="keyword">public</span> <a class="code" href="classH5_1_1CommonFG.html">CommonFG</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Close this group.</span>
-00026         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00027 
-00028         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
-00029         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
-00030 
-00031         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
-00032         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
-00033 
-00034         <span class="comment">// Creates a reference to a named Hdf5 object or to a dataset region</span>
-00035         <span class="comment">// in this object.</span>
-00036         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
-00037 
-00038         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
-00039         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00040         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00041 
-00042         <span class="comment">// Returns this class name</span>
-<a name="l00043"></a><a class="code" href="classH5_1_1Group.html#a6">00043</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"Group"</span>); }
-00044 
-00045         <span class="comment">// Throw group exception.</span>
-00046         <span class="keyword">virtual</span> <span class="keywordtype">void</span> throwException(<span class="keyword">const</span> string func_name, <span class="keyword">const</span> string msg) <span class="keyword">const</span>;
-00047 
-00048         <span class="comment">// for CommonFG to get the file id.</span>
-00049         <span class="keyword">virtual</span> hid_t getLocId() <span class="keyword">const</span>;
-00050 
-00051         <span class="comment">// default constructor</span>
-00052         Group();
-00053 
-00054         <span class="comment">// Copy constructor: makes a copy of the original object</span>
-00055         Group(<span class="keyword">const</span> Group&amp; original);
-00056 
-00057         <span class="comment">// Destructor</span>
-00058         <span class="keyword">virtual</span> ~Group();
-00059 
-00060         <span class="comment">// Creates a copy of an existing group using its id.</span>
-00061         Group( <span class="keyword">const</span> hid_t group_id );
-00062 
-00063 };
-00064 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00065 <span class="preprocessor"></span>}
-00066 <span class="preprocessor">#endif</span>
-00067 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5Group_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5Group_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1Group.html">00024</a> <span class="keyword">class </span>H5_DLLCPP Group : <span class="keyword">public</span> <a class="code" href="classH5_1_1H5Object.html">H5Object</a>, <span class="keyword">public</span> <a class="code" href="classH5_1_1CommonFG.html">CommonFG</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Close this group.</span>
+00027         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00028 
+00029         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
+00030         H5G_obj_t getObjType(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_OBJECT) <span class="keyword">const</span>;
+00031 
+00032         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
+00033         <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a> getRegion(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
+00034 
+00035         <span class="comment">// Creates a reference to a named Hdf5 object or to a dataset region</span>
+00036         <span class="comment">// in this object.</span>
+00037         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00038 
+00039         <span class="comment">// Creates a reference to a named Hdf5 object in this object.</span>
+00040         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00041         <span class="keywordtype">void</span>* Reference(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>; <span class="comment">// will be obsolete</span>
+00042 
+00043         <span class="comment">// Returns this class name</span>
+<a name="l00044"></a><a class="code" href="classH5_1_1Group.html#a6">00044</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"Group"</span>); }
+00045 
+00046         <span class="comment">// Throw group exception.</span>
+00047         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classH5_1_1CommonFG.html#a54">throwException</a>(<span class="keyword">const</span> H5std_string&amp; func_name, <span class="keyword">const</span> H5std_string&amp; msg) <span class="keyword">const</span>;
+00048 
+00049         <span class="comment">// for CommonFG to get the file id.</span>
+00050         <span class="keyword">virtual</span> hid_t getLocId() <span class="keyword">const</span>;
+00051 
+00052         <span class="comment">// Creates a group by way of dereference.</span>
+00053         Group(<a class="code" href="classH5_1_1IdComponent.html">IdComponent</a>&amp; obj, <span class="keywordtype">void</span>* ref);
+00054 
+00055         <span class="comment">// default constructor</span>
+00056         Group();
+00057 
+00058         <span class="comment">// Copy constructor: makes a copy of the original object</span>
+00059         Group(<span class="keyword">const</span> Group&amp; original);
+00060 
+00061         <span class="comment">// Destructor</span>
+00062         <span class="keyword">virtual</span> ~Group();
+00063 
+00064         <span class="comment">// Creates a copy of an existing group using its id.</span>
+00065         Group( <span class="keyword">const</span> hid_t group_id );
+00066 
+00067 };
+00068 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00069 <span class="preprocessor"></span>}
+00070 <span class="preprocessor">#endif</span>
+00071 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Group_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Group.h File Reference</h1>
 <p>
 <a href="H5Group_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html">H5::Group</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,21 +337,22 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5IdComponent.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Library_8h-source.html">H5Library.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
+<code>#include "<a class="el" href="H5DataSpace_8h-source.html">H5DataSpace.h</a>"</code><br>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,121 +337,127 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5IdComponent.h</h1><a href="H5IdComponent_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.     *</span>
-00004 <span class="comment"> * All rights reserved.                                               *</span>
-00005 <span class="comment"> *                                                                         *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _IdComponent_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _IdComponent_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="comment">// IdComponent provides a mechanism to handle</span>
-00020 <span class="comment">// reference counting for an identifier of any HDF5 object.</span>
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _IdComponent_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _IdComponent_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="comment">// IdComponent represents an HDF5 object that has an identifier.</span>
 00021 
 00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00024 <span class="preprocessor">#ifndef H5_NO_STD</span>
-00025 <span class="preprocessor"></span>    <span class="keyword">using</span> std::string;
-00026 <span class="preprocessor">#endif  // H5_NO_STD</span>
-00027 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00028 <span class="preprocessor"></span>
-<a name="l00029"></a><a class="code" href="classH5_1_1IdComponent.html">00029</a> <span class="keyword">class </span>H5_DLLCPP IdComponent {
-00030    <span class="keyword">public</span>:
-00031         <span class="comment">// Increment reference counter.</span>
-00032         <span class="keywordtype">void</span> incRefCount(hid_t obj_id) <span class="keyword">const</span>;
-00033         <span class="keywordtype">void</span> incRefCount() <span class="keyword">const</span>;
-00034 
-00035         <span class="comment">// Decrement reference counter.</span>
-00036         <span class="keywordtype">void</span> decRefCount(hid_t obj_id) <span class="keyword">const</span>;
-00037         <span class="keywordtype">void</span> decRefCount() <span class="keyword">const</span>;
-00038 
-00039         <span class="comment">// Get the reference counter to this identifier.</span>
-00040         <span class="keywordtype">int</span> getCounter(hid_t obj_id) <span class="keyword">const</span>;
-00041         <span class="keywordtype">int</span> getCounter() <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Assignment operator</span>
-00044         IdComponent&amp; operator=( <span class="keyword">const</span> IdComponent&amp; rhs );
-00045 
-00046         <span class="comment">// Sets the identifier of this object to a new value.</span>
-00047         <span class="keywordtype">void</span> setId( hid_t new_id );
-00048 
-00049         <span class="comment">// Creates an object to hold an HDF5 identifier.</span>
-00050         IdComponent( <span class="keyword">const</span> hid_t h5_id );
+00024 <span class="preprocessor">#endif</span>
+00025 <span class="preprocessor"></span>
+00026 <span class="keyword">class </span>DataSpace;
+<a name="l00027"></a><a class="code" href="classH5_1_1IdComponent.html">00027</a> <span class="keyword">class </span>H5_DLLCPP IdComponent {
+00028    <span class="keyword">public</span>:
+00029         <span class="comment">// Increment reference counter.</span>
+00030         <span class="keywordtype">void</span> incRefCount(<span class="keyword">const</span> hid_t obj_id) <span class="keyword">const</span>;
+00031         <span class="keywordtype">void</span> incRefCount() <span class="keyword">const</span>;
+00032 
+00033         <span class="comment">// Decrement reference counter.</span>
+00034         <span class="keywordtype">void</span> decRefCount(<span class="keyword">const</span> hid_t obj_id) <span class="keyword">const</span>;
+00035         <span class="keywordtype">void</span> decRefCount() <span class="keyword">const</span>;
+00036 
+00037         <span class="comment">// Get the reference counter to this identifier.</span>
+00038         <span class="keywordtype">int</span> getCounter(<span class="keyword">const</span> hid_t obj_id) <span class="keyword">const</span>;
+00039         <span class="keywordtype">int</span> getCounter() <span class="keyword">const</span>;
+00040 
+00041         <span class="comment">// Returns an HDF5 object type, given the object id.</span>
+00042         <span class="keyword">static</span> H5I_type_t getHDFObjType(<span class="keyword">const</span> hid_t obj_id);
+00043 
+00044         <span class="comment">// Assignment operator.</span>
+00045         IdComponent&amp; operator=( <span class="keyword">const</span> IdComponent&amp; rhs );
+00046 
+00047         <span class="keywordtype">void</span> reference(<span class="keywordtype">void</span>* ref, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; dataspace,
+00048                         H5R_type_t ref_type = H5R_DATASET_REGION) <span class="keyword">const</span>;
+00049         <span class="keywordtype">void</span> reference(<span class="keywordtype">void</span>* ref, <span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00050         <span class="keywordtype">void</span> reference(<span class="keywordtype">void</span>* ref, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
 00051 
-00052         <span class="comment">// Copy constructor: makes copy of the original IdComponent object.</span>
-00053         IdComponent( <span class="keyword">const</span> IdComponent&amp; original );
+00052         <span class="comment">// Open a referenced HDF5 object.</span>
+00053         <span class="keywordtype">void</span> dereference(IdComponent&amp; obj, <span class="keywordtype">void</span>* ref);
 00054 
-00055         <span class="comment">// Gets the value of IdComponent's data member.</span>
-00056         <span class="keyword">virtual</span> hid_t getId () <span class="keyword">const</span>;
+00055         <span class="comment">// Sets the identifier of this object to a new value.</span>
+00056         <span class="keywordtype">void</span> setId(<span class="keyword">const</span> hid_t new_id);
 00057 
-00058 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00059 <span class="preprocessor"></span>        <span class="comment">// Pure virtual function for there are various H5*close for the</span>
-00060         <span class="comment">// subclasses.</span>
-00061         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close() = 0;
-00062 
-00063 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00064 <span class="preprocessor"></span>
-00065         <span class="comment">// Makes and returns the string "&lt;class-name&gt;::&lt;func_name&gt;";</span>
-00066         <span class="comment">// &lt;class-name&gt; is returned by fromClass().</span>
-00067         string inMemFunc(<span class="keyword">const</span> <span class="keywordtype">char</span>* func_name) <span class="keyword">const</span>;
-00068 
-00069         <span class="comment">// Returns this class name.</span>
-<a name="l00070"></a><a class="code" href="classH5_1_1IdComponent.html#a12">00070</a>         <span class="keyword">virtual</span> string fromClass()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (<span class="stringliteral">"IdComponent"</span>);}
+00058         <span class="comment">// Creates an object to hold an HDF5 identifier.</span>
+00059         IdComponent( <span class="keyword">const</span> hid_t h5_id );
+00060 
+00061         <span class="comment">// Copy constructor: makes copy of the original IdComponent object.</span>
+00062         IdComponent( <span class="keyword">const</span> IdComponent&amp; original );
+00063 
+00064         <span class="comment">// Gets the value of IdComponent's data member.</span>
+00065         <span class="keyword">virtual</span> hid_t getId () <span class="keyword">const</span>;
+00066 
+00067 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00068 <span class="preprocessor"></span>        <span class="comment">// Pure virtual function for there are various H5*close for the</span>
+00069         <span class="comment">// subclasses.</span>
+00070         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close() = 0;
 00071 
-00072         <span class="comment">// Destructor</span>
-00073         <span class="keyword">virtual</span> ~IdComponent();
-00074 
-00075    <span class="keyword">protected</span>:
-00076 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00077 <span class="preprocessor"></span>        hid_t id;       <span class="comment">// HDF5 object id</span>
+00072         <span class="comment">// Makes and returns the string "&lt;class-name&gt;::&lt;func_name&gt;";</span>
+00073         <span class="comment">// &lt;class-name&gt; is returned by fromClass().</span>
+00074         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> inMemFunc(<span class="keyword">const</span> <span class="keywordtype">char</span>* func_name) <span class="keyword">const</span>;
+00075 
+00076         <span class="comment">// Returns this class name.</span>
+00077         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"IdComponent"</span>);}
 00078 
-00079         <span class="comment">// Default constructor.</span>
-00080         IdComponent();
-00081 
-00082         <span class="comment">// Gets the name of the file, in which an HDF5 object belongs.</span>
-00083 <span class="preprocessor">#ifndef H5_NO_STD</span>
-00084 <span class="preprocessor"></span>        std::string p_get_file_name() <span class="keyword">const</span>;
-00085 <span class="preprocessor">#else</span>
-00086 <span class="preprocessor"></span>        string p_get_file_name() <span class="keyword">const</span>;
-00087 <span class="preprocessor">#endif  // H5_NO_STD</span>
-00088 <span class="preprocessor"></span>
-00089         <span class="comment">// Gets the id of the H5 file in which the given object is located.</span>
-00090         hid_t p_get_file_id();
-00091 
-00092         <span class="comment">// Creates a reference to an HDF5 object or a dataset region.</span>
-00093         <span class="keywordtype">void</span>* p_reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, hid_t space_id, H5R_type_t ref_type) <span class="keyword">const</span>;
-00094 
-00095         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
-00096         H5G_obj_t p_get_obj_type(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
-00097 
-00098         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
-00099         hid_t p_get_region(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
+00079 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00080 <span class="preprocessor"></span>
+00081         <span class="comment">// Destructor</span>
+00082         <span class="keyword">virtual</span> ~IdComponent();
+00083 
+00084    <span class="keyword">protected</span>:
+00085 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00086 <span class="preprocessor"></span>        hid_t id;       <span class="comment">// HDF5 object id</span>
+00087 
+00088         <span class="comment">// Default constructor.</span>
+00089         IdComponent();
+00090 
+00091         <span class="comment">// Gets the name of the file, in which an HDF5 object belongs.</span>
+00092         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> p_get_file_name() <span class="keyword">const</span>;
+00093 
+00094         <span class="comment">// Gets the id of the H5 file in which the given object is located.</span>
+00095         hid_t p_get_file_id();
+00096 
+00097         <span class="comment">// Creates a reference to an HDF5 object or a dataset region.</span>
+00098         <span class="keywordtype">void</span> p_reference(<span class="keywordtype">void</span>* ref, <span class="keyword">const</span> <span class="keywordtype">char</span>* name, hid_t space_id, H5R_type_t ref_type) <span class="keyword">const</span>;
+00099         <span class="keywordtype">void</span>* p_reference(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, hid_t space_id, H5R_type_t ref_type) <span class="keyword">const</span>; <span class="comment">// will be removed</span>
 00100 
-00101         <span class="comment">// Verifies that the given id is valid.</span>
-00102         <span class="keywordtype">bool</span> p_valid_id(hid_t obj_id) <span class="keyword">const</span>;
+00101         <span class="comment">// Retrieves the type of object that an object reference points to.</span>
+00102         H5G_obj_t p_get_obj_type(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
 00103 
-00104 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00105 <span class="preprocessor"></span>
-00106 }; <span class="comment">// end class IdComponent</span>
-00107 
-00108 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00109 <span class="preprocessor"></span>}
-00110 <span class="preprocessor">#endif</span>
-00111 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00104         <span class="comment">// Retrieves a dataspace with the region pointed to selected.</span>
+00105         hid_t p_get_region(<span class="keywordtype">void</span> *ref, H5R_type_t ref_type) <span class="keyword">const</span>;
+00106 
+00107         <span class="comment">// Verifies that the given id is valid.</span>
+00108         <span class="keywordtype">bool</span> p_valid_id(<span class="keyword">const</span> hid_t obj_id) <span class="keyword">const</span>;
+00109 
+00110 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00111 <span class="preprocessor"></span>
+00112 }; <span class="comment">// end class IdComponent</span>
+00113 
+00114 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00115 <span class="preprocessor"></span>}
+00116 <span class="preprocessor">#endif</span>
+00117 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5IdComponent_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5IdComponent.h File Reference</h1>
 <p>
 <a href="H5IdComponent_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,47 +337,40 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Include.h</h1><a href="H5Include_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Added this line for CC to compile at this time.  Will remove it when</span>
-00017 <span class="comment">// the problem of "Multiple declaration for RcsId" is fixed. BMR - 10/30/00</span>
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#include &lt;hdf5.h&gt;</span>
 00018 
-00019 <span class="comment">// This problem is removed.  I could replace all #include "H5Include.h"</span>
-00020 <span class="comment">// by #include &lt;hdf5.h&gt;, but decide not to. BMR - 3/22/01</span>
-00021 
-00022 <span class="preprocessor">#include &lt;hdf5.h&gt;</span>
-00023 
-00024 <span class="comment">// Define bool type for platforms that don't support bool yet</span>
-00025 <span class="preprocessor">#ifdef BOOL_NOTDEFINED</span>
-00026 <span class="preprocessor"></span><span class="preprocessor">#ifdef false</span>
-00027 <span class="preprocessor"></span><span class="preprocessor">#undef false</span>
-00028 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00029 <span class="preprocessor"></span><span class="preprocessor">#ifdef true</span>
-00030 <span class="preprocessor"></span><span class="preprocessor">#undef true</span>
-00031 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-00032 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> bool;
-00033 <span class="keyword">const</span> <span class="keywordtype">bool</span>  <span class="keyword">false</span> = 0;
-00034 <span class="keyword">const</span> <span class="keywordtype">bool</span>  <span class="keyword">true</span>  = 1;
-00035 <span class="preprocessor">#endif</span>
-00036 <span class="preprocessor"></span>
-00037 
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00019 <span class="comment">// Define bool type for platforms that don't support bool yet</span>
+00020 <span class="preprocessor">#ifdef BOOL_NOTDEFINED</span>
+00021 <span class="preprocessor"></span><span class="preprocessor">#ifdef false</span>
+00022 <span class="preprocessor"></span><span class="preprocessor">#undef false</span>
+00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00024 <span class="preprocessor"></span><span class="preprocessor">#ifdef true</span>
+00025 <span class="preprocessor"></span><span class="preprocessor">#undef true</span>
+00026 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00027 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> bool;
+00028 <span class="keyword">const</span> <span class="keywordtype">bool</span>  <span class="keyword">false</span> = 0;
+00029 <span class="keyword">const</span> <span class="keywordtype">bool</span>  <span class="keyword">true</span>  = 1;
+00030 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Include_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,16 +337,16 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Include.h File Reference</h1><code>#include &lt;hdf5.h&gt;</code><br>
 
 <p>
 <a href="H5Include_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5IntType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -344,8 +361,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,64 +337,66 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5IntType.h</h1><a href="H5IntType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5IntType_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5IntType_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-<a name="l00022"></a><a class="code" href="classH5_1_1IntType.html">00022</a> <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP IntType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
-00023    <span class="keyword">public</span>:
-00024         <span class="comment">// Creates a integer type using a predefined type</span>
-00025         IntType(<span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type);
-00026 
-00027         <span class="comment">// Gets the integer datatype of the specified dataset</span>
-00028         IntType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset);
-00029 
-00030         <span class="comment">// Retrieves the sign type for an integer type</span>
-00031         H5T_sign_t getSign() <span class="keyword">const</span>;
-00032 
-00033         <span class="comment">// Sets the sign proprety for an integer type.</span>
-00034         <span class="keywordtype">void</span> setSign( H5T_sign_t sign ) <span class="keyword">const</span>;
-00035 
-00036         <span class="comment">// Returns this class name</span>
-<a name="l00037"></a><a class="code" href="classH5_1_1IntType.html#a4">00037</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"IntType"</span>); }
-00038 
-00039         <span class="comment">// Default constructor</span>
-00040         IntType();
-00041 
-00042         <span class="comment">// Creates a integer datatype using an existing id</span>
-00043         IntType(<span class="keyword">const</span> hid_t existing_id);
-00044 
-00045         <span class="comment">// Copy constructor: makes copy of IntType object</span>
-00046         IntType(<span class="keyword">const</span> IntType&amp; original);
-00047 
-00048         <span class="comment">// Noop destructor.</span>
-00049         <span class="keyword">virtual</span> ~IntType();
-00050 };
-00051 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00052 <span class="preprocessor"></span>}
-00053 <span class="preprocessor">#endif</span>
-00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5IntType_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5IntType_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1IntType.html">00024</a> <span class="keyword">class </span>H5_DLLCPP IntType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Creates a integer type using a predefined type</span>
+00027         IntType(<span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type);
+00028 
+00029         <span class="comment">// Gets the integer datatype of the specified dataset</span>
+00030         IntType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset);
+00031 
+00032         <span class="comment">// Retrieves the sign type for an integer type</span>
+00033         H5T_sign_t getSign() <span class="keyword">const</span>;
+00034 
+00035         <span class="comment">// Sets the sign proprety for an integer type.</span>
+00036         <span class="keywordtype">void</span> setSign( H5T_sign_t sign ) <span class="keyword">const</span>;
+00037 
+00038         <span class="comment">// Returns this class name</span>
+<a name="l00039"></a><a class="code" href="classH5_1_1IntType.html#a4">00039</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1AtomType.html#a10">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"IntType"</span>); }
+00040 
+00041         <span class="comment">// Default constructor</span>
+00042         IntType();
+00043 
+00044         <span class="comment">// Creates a integer datatype using an existing id</span>
+00045         IntType(<span class="keyword">const</span> hid_t existing_id);
+00046 
+00047         <span class="comment">// Copy constructor: makes copy of IntType object</span>
+00048         IntType(<span class="keyword">const</span> IntType&amp; original);
+00049 
+00050         <span class="comment">// Noop destructor.</span>
+00051         <span class="keyword">virtual</span> ~IntType();
+00052 };
+00053 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00054 <span class="preprocessor"></span>}
+00055 <span class="preprocessor">#endif</span>
+00056 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5IntType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5IntType.h File Reference</h1>
 <p>
 <a href="H5IntType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Library.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5CppDoc_8h-source.html">H5CppDoc.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
@@ -333,8 +350,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,79 +337,80 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Library.h</h1><a href="H5Library_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5Library_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Library_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-00023 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00024 <span class="preprocessor"></span><span class="preprocessor">#define NOTATEXIT       (-10)   // just in case the HDF5 library use more</span>
-00025 <span class="preprocessor"></span>        <span class="comment">// negative constants. Note: the solution used for the atexit/global</span>
-00026         <span class="comment">// destructors is not reliable, and desperately needs improvement</span>
-00027         <span class="comment">// It is not even working, inifiteloop message still printed when</span>
-00028         <span class="comment">// calling H5close</span>
-00029 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00030 <span class="preprocessor"></span>
-<a name="l00031"></a><a class="code" href="classH5_1_1H5Library.html">00031</a> <span class="keyword">class </span>H5_DLLCPP H5Library {
-00032    <span class="keyword">public</span>:
-00033 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00034 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keywordtype">bool</span> need_cleanup; <span class="comment">// indicates if H5close should be called</span>
-00035 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00036 <span class="preprocessor"></span>
-00037         <span class="comment">// Initializes the HDF5 library.</span>
-00038         <span class="keyword">static</span> <span class="keywordtype">void</span> open();
-00039 
-00040         <span class="comment">// Flushes all data to disk, closes files, and cleans up memory.</span>
-00041         <span class="keyword">static</span> <span class="keywordtype">void</span> close();
-00042 
-00043         <span class="comment">// Instructs library not to install atexit cleanup routine</span>
-00044         <span class="keyword">static</span> <span class="keywordtype">void</span> dontAtExit();
-00045 
-00046         <span class="comment">// Returns the HDF library release number.</span>
-00047         <span class="keyword">static</span> <span class="keywordtype">void</span> getLibVersion( <span class="keywordtype">unsigned</span>&amp; majnum, <span class="keywordtype">unsigned</span>&amp; minnum, <span class="keywordtype">unsigned</span>&amp; relnum );
-00048 
-00049         <span class="comment">// Verifies that the arguments match the version numbers compiled</span>
-00050         <span class="comment">// into the library</span>
-00051         <span class="keyword">static</span> <span class="keywordtype">void</span> checkVersion( <span class="keywordtype">unsigned</span> majnum, <span class="keywordtype">unsigned</span> minnum, <span class="keywordtype">unsigned</span> relnum );
-00052 
-00053         <span class="comment">// Walks through all the garbage collection routines for the library,</span>
-00054         <span class="comment">// which are supposed to free any unused memory they have allocated.</span>
-00055         <span class="keyword">static</span> <span class="keywordtype">void</span> garbageCollect();
-00056 
-00057         <span class="comment">// Sets limits on the different kinds of free lists.</span>
-00058         <span class="keyword">static</span> <span class="keywordtype">void</span> setFreeListLimits(<span class="keywordtype">int</span> reg_global_lim, <span class="keywordtype">int</span> reg_list_lim, <span class="keywordtype">int</span>
-00059         arr_global_lim, <span class="keywordtype">int</span> arr_list_lim, <span class="keywordtype">int</span> blk_global_lim, <span class="keywordtype">int</span> blk_list_lim);
-00060 
-00061    <span class="keyword">private</span>:
-00062         <span class="comment">// Default constructor - no instance ever created</span>
-00063         H5Library() {};
-00064 
-00065 };
-00066 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00067 <span class="preprocessor"></span>}
-00068 <span class="preprocessor">#endif</span>
-00069 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5Library_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5Library_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00025 <span class="preprocessor"></span><span class="preprocessor">#define NOTATEXIT       (-10)   // just in case the HDF5 library use more</span>
+00026 <span class="preprocessor"></span>        <span class="comment">// negative constants. Note: the solution used for the atexit/global</span>
+00027         <span class="comment">// destructors is not reliable, and desperately needs improvement</span>
+00028         <span class="comment">// It is not even working, inifiteloop message still printed when</span>
+00029         <span class="comment">// calling H5close</span>
+00030 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00031 <span class="preprocessor"></span>
+<a name="l00032"></a><a class="code" href="classH5_1_1H5Library.html">00032</a> <span class="keyword">class </span>H5_DLLCPP H5Library {
+00033    <span class="keyword">public</span>:
+00034 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00035 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keywordtype">bool</span> need_cleanup; <span class="comment">// indicates if H5close should be called</span>
+00036 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00037 <span class="preprocessor"></span>
+00038         <span class="comment">// Initializes the HDF5 library.</span>
+00039         <span class="keyword">static</span> <span class="keywordtype">void</span> open();
+00040 
+00041         <span class="comment">// Flushes all data to disk, closes files, and cleans up memory.</span>
+00042         <span class="keyword">static</span> <span class="keywordtype">void</span> close();
+00043 
+00044         <span class="comment">// Instructs library not to install atexit cleanup routine</span>
+00045         <span class="keyword">static</span> <span class="keywordtype">void</span> dontAtExit();
+00046 
+00047         <span class="comment">// Returns the HDF library release number.</span>
+00048         <span class="keyword">static</span> <span class="keywordtype">void</span> getLibVersion( <span class="keywordtype">unsigned</span>&amp; majnum, <span class="keywordtype">unsigned</span>&amp; minnum, <span class="keywordtype">unsigned</span>&amp; relnum );
+00049 
+00050         <span class="comment">// Verifies that the arguments match the version numbers compiled</span>
+00051         <span class="comment">// into the library</span>
+00052         <span class="keyword">static</span> <span class="keywordtype">void</span> checkVersion( <span class="keywordtype">unsigned</span> majnum, <span class="keywordtype">unsigned</span> minnum, <span class="keywordtype">unsigned</span> relnum );
+00053 
+00054         <span class="comment">// Walks through all the garbage collection routines for the library,</span>
+00055         <span class="comment">// which are supposed to free any unused memory they have allocated.</span>
+00056         <span class="keyword">static</span> <span class="keywordtype">void</span> garbageCollect();
+00057 
+00058         <span class="comment">// Sets limits on the different kinds of free lists.</span>
+00059         <span class="keyword">static</span> <span class="keywordtype">void</span> setFreeListLimits(<span class="keywordtype">int</span> reg_global_lim, <span class="keywordtype">int</span> reg_list_lim, <span class="keywordtype">int</span>
+00060         arr_global_lim, <span class="keywordtype">int</span> arr_list_lim, <span class="keywordtype">int</span> blk_global_lim, <span class="keywordtype">int</span> blk_list_lim);
+00061 
+00062    <span class="keyword">private</span>:
+00063         <span class="comment">// Default constructor - no instance ever created</span>
+00064         H5Library() {};
+00065 
+00066 };
+00067 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00068 <span class="preprocessor"></span>}
+00069 <span class="preprocessor">#endif</span>
+00070 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Library_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Library.h File Reference</h1>
 <p>
 <a href="H5Library_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Object.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -340,8 +357,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,113 +337,114 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Object.h</h1><a href="H5Object_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5Object_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5Object_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#include "<a class="code" href="H5Classes_8h.html">H5Classes.h</a>"</span>          <span class="comment">// constains forward class declarations</span>
-00020 
-00021 <span class="comment">// H5Object is a baseclass.  It has these subclasses:</span>
-00022 <span class="comment">// Group, AbstractDs, and DataType.</span>
-00023 <span class="comment">// AbstractDs, in turn, has subclasses DataSet and Attribute.</span>
-00024 <span class="comment">// DataType, in turn, has several specific datatypes as subclasses.</span>
-00025 
-00026 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00027 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00028 <span class="preprocessor">#endif</span>
-00029 <span class="preprocessor"></span>
-00030 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00031 <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP H5Object;  <span class="comment">// forward declaration for UserData4Aiterate</span>
-00032 
-00033 <span class="comment">// Define the operator function pointer for H5Aiterate().</span>
-00034 <span class="keyword">typedef</span> void (*attr_operator_t)( H5Object&amp; loc<span class="comment">/*in*/</span>,
-00035                                  <span class="keyword">const</span> string attr_name<span class="comment">/*in*/</span>,
-00036                                  <span class="keywordtype">void</span> *operator_data<span class="comment">/*in,out*/</span>);
-00037 
-00038 <span class="keyword">class </span>UserData4Aiterate { <span class="comment">// user data for attribute iteration</span>
-00039    <span class="keyword">public</span>:
-00040         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* idx;
-00041         attr_operator_t op;
-00042         <span class="keywordtype">void</span>* opData;
-00043         H5Object* object;
-00044 };
-00045 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00046 <span class="preprocessor"></span>
-00047 <span class="comment">// The above part is being moved into Iterator, but not completed</span>
-00048 
-<a name="l00049"></a><a class="code" href="classH5_1_1H5Object.html">00049</a> <span class="keyword">class </span>H5_DLLCPP H5Object : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
-00050    <span class="keyword">public</span>:
-00051         <span class="comment">// Creates an attribute for a group, dataset, or named datatype.</span>
-00052         <span class="comment">// PropList is currently not used, so always be default.</span>
-00053         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> createAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; create_plist = <a class="code" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a> ) <span class="keyword">const</span>;
-00054         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> createAttribute( <span class="keyword">const</span> string&amp; name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; create_plist = <a class="code" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a> ) <span class="keyword">const</span>;
-00055 
-00056         <span class="comment">// Opens an attribute given its name.</span>
-00057         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
-00058         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> string&amp; name ) <span class="keyword">const</span>;
-00059 
-00060         <span class="comment">// Opens an attribute given its index.</span>
-00061         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx ) <span class="keyword">const</span>;
-00062 
-00063         <span class="comment">// Flushes all buffers associated with this object to disk</span>
-00064         <span class="keywordtype">void</span> flush( H5F_scope_t scope ) <span class="keyword">const</span>;
-00065 
-00066         <span class="comment">// Gets the name of the file, in which this HDF5 object belongs.</span>
-00067         string getFileName() <span class="keyword">const</span>;
-00068 
-00069         <span class="comment">// Determines the number of attributes attached to this object.</span>
-00070         <span class="keywordtype">int</span> getNumAttrs() <span class="keyword">const</span>;
-00071 
-00072         <span class="comment">// Iterate user's function over the attributes of this object</span>
-00073         <span class="keywordtype">int</span> iterateAttrs( attr_operator_t user_op, <span class="keywordtype">unsigned</span>* idx = NULL, <span class="keywordtype">void</span>* op_data = NULL );
-00074 
-00075         <span class="comment">// Removes the named attribute from this object.</span>
-00076         <span class="keywordtype">void</span> removeAttr( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
-00077         <span class="keywordtype">void</span> removeAttr( <span class="keyword">const</span> string&amp; name ) <span class="keyword">const</span>;
-00078 
-00079         <span class="comment">// Renames the attribute to a new name.</span>
-00080         <span class="keywordtype">void</span> renameAttr(<span class="keyword">const</span> <span class="keywordtype">char</span>* oldname, <span class="keyword">const</span> <span class="keywordtype">char</span>* newname) <span class="keyword">const</span>;
-00081         <span class="keywordtype">void</span> renameAttr(<span class="keyword">const</span> string&amp; oldname, <span class="keyword">const</span> string&amp; newname) <span class="keyword">const</span>;
-00082 
-00083         <span class="comment">// Copy constructor: makes copy of an H5Object object.</span>
-00084         H5Object(<span class="keyword">const</span> H5Object&amp; original);
-00085 
-00086         <span class="comment">// Noop destructor.</span>
-00087         <span class="keyword">virtual</span> ~H5Object();
-00088 
-00089    <span class="keyword">protected</span>:
-00090 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00091 <span class="preprocessor"></span>        <span class="comment">// Default constructor</span>
-00092         H5Object();
-00093 
-00094         <span class="comment">// Creates a copy of an existing object giving the object id</span>
-00095         H5Object( <span class="keyword">const</span> hid_t object_id );
-00096 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00097 <span class="preprocessor"></span>
-00098 }; <span class="comment">/* end class H5Object */</span>
-00099 
-00100 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00101 <span class="preprocessor"></span>}
-00102 <span class="preprocessor">#endif</span>
-00103 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5Object_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5Object_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#include "<a class="code" href="H5Classes_8h.html">H5Classes.h</a>"</span>          <span class="comment">// constains forward class declarations</span>
+00021 
+00022 <span class="comment">// H5Object is a baseclass.  It has these subclasses:</span>
+00023 <span class="comment">// Group, AbstractDs, and DataType.</span>
+00024 <span class="comment">// AbstractDs, in turn, has subclasses DataSet and Attribute.</span>
+00025 <span class="comment">// DataType, in turn, has several specific datatypes as subclasses.</span>
+00026 
+00027 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00028 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00029 <span class="preprocessor">#endif</span>
+00030 <span class="preprocessor"></span>
+00031 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00032 <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP H5Object;  <span class="comment">// forward declaration for UserData4Aiterate</span>
+00033 
+00034 <span class="comment">// Define the operator function pointer for H5Aiterate().</span>
+00035 <span class="keyword">typedef</span> void (*attr_operator_t)( H5Object&amp; loc<span class="comment">/*in*/</span>,
+00036                                  <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> attr_name<span class="comment">/*in*/</span>,
+00037                                  <span class="keywordtype">void</span> *operator_data<span class="comment">/*in,out*/</span>);
+00038 
+00039 <span class="keyword">class </span>UserData4Aiterate { <span class="comment">// user data for attribute iteration</span>
+00040    <span class="keyword">public</span>:
+00041         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* idx;
+00042         attr_operator_t op;
+00043         <span class="keywordtype">void</span>* opData;
+00044         H5Object* object;
+00045 };
+00046 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00047 <span class="preprocessor"></span>
+00048 <span class="comment">// The above part is being moved into Iterator, but not completed</span>
+00049 
+<a name="l00050"></a><a class="code" href="classH5_1_1H5Object.html">00050</a> <span class="keyword">class </span>H5_DLLCPP H5Object : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
+00051    <span class="keyword">public</span>:
+00052         <span class="comment">// Creates an attribute for a group, dataset, or named datatype.</span>
+00053         <span class="comment">// PropList is currently not used, so always be default.</span>
+00054         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> createAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; create_plist = PropList::DEFAULT ) <span class="keyword">const</span>;
+00055         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> createAttribute( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>&amp; type, <span class="keyword">const</span> <a class="code" href="classH5_1_1DataSpace.html">DataSpace</a>&amp; space, <span class="keyword">const</span> <a class="code" href="classH5_1_1PropList.html">PropList</a>&amp; create_plist = PropList::DEFAULT ) <span class="keyword">const</span>;
+00056 
+00057         <span class="comment">// Opens an attribute given its name.</span>
+00058         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
+00059         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name ) <span class="keyword">const</span>;
+00060 
+00061         <span class="comment">// Opens an attribute given its index.</span>
+00062         <a class="code" href="classH5_1_1Attribute.html">Attribute</a> openAttribute( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx ) <span class="keyword">const</span>;
+00063 
+00064         <span class="comment">// Flushes all buffers associated with this object to disk</span>
+00065         <span class="keywordtype">void</span> flush( H5F_scope_t scope ) <span class="keyword">const</span>;
+00066 
+00067         <span class="comment">// Gets the name of the file, in which this HDF5 object belongs.</span>
+00068         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getFileName() <span class="keyword">const</span>;
+00069 
+00070         <span class="comment">// Determines the number of attributes attached to this object.</span>
+00071         <span class="keywordtype">int</span> getNumAttrs() <span class="keyword">const</span>;
+00072 
+00073         <span class="comment">// Iterate user's function over the attributes of this object</span>
+00074         <span class="keywordtype">int</span> iterateAttrs( attr_operator_t user_op, <span class="keywordtype">unsigned</span>* idx = NULL, <span class="keywordtype">void</span>* op_data = NULL );
+00075 
+00076         <span class="comment">// Removes the named attribute from this object.</span>
+00077         <span class="keywordtype">void</span> removeAttr( <span class="keyword">const</span> <span class="keywordtype">char</span>* name ) <span class="keyword">const</span>;
+00078         <span class="keywordtype">void</span> removeAttr( <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name ) <span class="keyword">const</span>;
+00079 
+00080         <span class="comment">// Renames the attribute to a new name.</span>
+00081         <span class="keywordtype">void</span> renameAttr(<span class="keyword">const</span> <span class="keywordtype">char</span>* oldname, <span class="keyword">const</span> <span class="keywordtype">char</span>* newname) <span class="keyword">const</span>;
+00082         <span class="keywordtype">void</span> renameAttr(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; oldname, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; newname) <span class="keyword">const</span>;
+00083 
+00084         <span class="comment">// Copy constructor: makes copy of an H5Object object.</span>
+00085         H5Object(<span class="keyword">const</span> H5Object&amp; original);
+00086 
+00087         <span class="comment">// Noop destructor.</span>
+00088         <span class="keyword">virtual</span> ~H5Object();
+00089 
+00090    <span class="keyword">protected</span>:
+00091 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00092 <span class="preprocessor"></span>        <span class="comment">// Default constructor</span>
+00093         H5Object();
+00094 
+00095         <span class="comment">// Creates a copy of an existing object giving the object id</span>
+00096         H5Object( <span class="keyword">const</span> hid_t object_id );
+00097 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00098 <span class="preprocessor"></span>
+00099 }; <span class="comment">/* end class H5Object */</span>
+00100 
+00101 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00102 <span class="preprocessor"></span>}
+00103 <span class="preprocessor">#endif</span>
+00104 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5Object_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5Object.h File Reference</h1><code>#include "<a class="el" href="H5Classes_8h-source.html">H5Classes.h</a>"</code><br>
 
 <p>
@@ -330,9 +347,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5PredType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -340,8 +357,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,268 +337,259 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5PredType.h</h1><a href="H5PredType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// PredType holds the definition of all the HDF5 predefined datatypes.</span>
-00017 <span class="comment">// These types can only be made copy of, not created by H5Tcreate or</span>
-00018 <span class="comment">// closed by H5Tclose.  They are treated as constants.</span>
-00020 <span class="comment"></span>
-00021 <span class="preprocessor">#ifndef _H5PredType_H</span>
-00022 <span class="preprocessor"></span><span class="preprocessor">#define _H5PredType_H</span>
-00023 <span class="preprocessor"></span>
-00024 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00025 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00026 <span class="preprocessor">#endif</span>
-00027 <span class="preprocessor"></span>
-<a name="l00028"></a><a class="code" href="classH5_1_1PredType.html">00028</a> <span class="keyword">class </span>H5_DLLCPP PredType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
-00029    <span class="keyword">public</span>:
-00030         <span class="comment">// Returns this class name</span>
-<a name="l00031"></a><a class="code" href="classH5_1_1PredType.html#a0">00031</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"PredType"</span>); }
-00032 
-00033         <span class="comment">// Makes a copy of the predefined type and stores the new</span>
-00034         <span class="comment">// id in the left hand side object.</span>
-00035         PredType&amp; operator=( <span class="keyword">const</span> PredType&amp; rhs );
-00036 
-00037         <span class="comment">// Copy constructor - makes copy of the original object</span>
-00038         PredType( <span class="keyword">const</span> PredType&amp; original );
-00039 
-00040         <span class="comment">// Returns the HDF5 predefined type id.</span>
-00041         <span class="keyword">virtual</span> hid_t getId() <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Noop destructor</span>
-00044         <span class="keyword">virtual</span> ~PredType();
-00045 
-00046         <span class="comment">// Declaration of predefined types; their definition is in H5PredType.cpp</span>
-<a name="l00047"></a><a class="code" href="classH5_1_1PredType.html#s0">00047</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I8BE;
-<a name="l00048"></a><a class="code" href="classH5_1_1PredType.html#s1">00048</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I8LE;
-<a name="l00049"></a><a class="code" href="classH5_1_1PredType.html#s2">00049</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I16BE;
-<a name="l00050"></a><a class="code" href="classH5_1_1PredType.html#s3">00050</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I16LE;
-<a name="l00051"></a><a class="code" href="classH5_1_1PredType.html#s4">00051</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I32BE;
-<a name="l00052"></a><a class="code" href="classH5_1_1PredType.html#s5">00052</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I32LE;
-<a name="l00053"></a><a class="code" href="classH5_1_1PredType.html#s6">00053</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I64BE;
-<a name="l00054"></a><a class="code" href="classH5_1_1PredType.html#s7">00054</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I64LE;
-<a name="l00055"></a><a class="code" href="classH5_1_1PredType.html#s8">00055</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U8BE;
-<a name="l00056"></a><a class="code" href="classH5_1_1PredType.html#s9">00056</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U8LE;
-<a name="l00057"></a><a class="code" href="classH5_1_1PredType.html#s10">00057</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U16BE;
-<a name="l00058"></a><a class="code" href="classH5_1_1PredType.html#s11">00058</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U16LE;
-<a name="l00059"></a><a class="code" href="classH5_1_1PredType.html#s12">00059</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U32BE;
-<a name="l00060"></a><a class="code" href="classH5_1_1PredType.html#s13">00060</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U32LE;
-<a name="l00061"></a><a class="code" href="classH5_1_1PredType.html#s14">00061</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U64BE;
-<a name="l00062"></a><a class="code" href="classH5_1_1PredType.html#s15">00062</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U64LE;
-<a name="l00063"></a><a class="code" href="classH5_1_1PredType.html#s16">00063</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B8BE;
-<a name="l00064"></a><a class="code" href="classH5_1_1PredType.html#s17">00064</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B8LE;
-<a name="l00065"></a><a class="code" href="classH5_1_1PredType.html#s18">00065</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B16BE;
-<a name="l00066"></a><a class="code" href="classH5_1_1PredType.html#s19">00066</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B16LE;
-<a name="l00067"></a><a class="code" href="classH5_1_1PredType.html#s20">00067</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B32BE;
-<a name="l00068"></a><a class="code" href="classH5_1_1PredType.html#s21">00068</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B32LE;
-<a name="l00069"></a><a class="code" href="classH5_1_1PredType.html#s22">00069</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B64BE;
-<a name="l00070"></a><a class="code" href="classH5_1_1PredType.html#s23">00070</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B64LE;
-<a name="l00071"></a><a class="code" href="classH5_1_1PredType.html#s24">00071</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_REF_OBJ;
-<a name="l00072"></a><a class="code" href="classH5_1_1PredType.html#s25">00072</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_REF_DSETREG;
-00073 
-<a name="l00074"></a><a class="code" href="classH5_1_1PredType.html#s26">00074</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType C_S1;
-<a name="l00075"></a><a class="code" href="classH5_1_1PredType.html#s27">00075</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType FORTRAN_S1;
-00076 
-<a name="l00077"></a><a class="code" href="classH5_1_1PredType.html#s28">00077</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F32BE;
-<a name="l00078"></a><a class="code" href="classH5_1_1PredType.html#s29">00078</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F32LE;
-<a name="l00079"></a><a class="code" href="classH5_1_1PredType.html#s30">00079</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F64BE;
-<a name="l00080"></a><a class="code" href="classH5_1_1PredType.html#s31">00080</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F64LE;
-00081 
-<a name="l00082"></a><a class="code" href="classH5_1_1PredType.html#s32">00082</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D32BE;
-<a name="l00083"></a><a class="code" href="classH5_1_1PredType.html#s33">00083</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D32LE;
-<a name="l00084"></a><a class="code" href="classH5_1_1PredType.html#s34">00084</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D64BE;
-<a name="l00085"></a><a class="code" href="classH5_1_1PredType.html#s35">00085</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D64LE;
-00086 
-<a name="l00087"></a><a class="code" href="classH5_1_1PredType.html#s36">00087</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I8;
-<a name="l00088"></a><a class="code" href="classH5_1_1PredType.html#s37">00088</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I16;
-<a name="l00089"></a><a class="code" href="classH5_1_1PredType.html#s38">00089</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I32;
-<a name="l00090"></a><a class="code" href="classH5_1_1PredType.html#s39">00090</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I64;
-<a name="l00091"></a><a class="code" href="classH5_1_1PredType.html#s40">00091</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U8;
-<a name="l00092"></a><a class="code" href="classH5_1_1PredType.html#s41">00092</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U16;
-<a name="l00093"></a><a class="code" href="classH5_1_1PredType.html#s42">00093</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U32;
-<a name="l00094"></a><a class="code" href="classH5_1_1PredType.html#s43">00094</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U64;
-<a name="l00095"></a><a class="code" href="classH5_1_1PredType.html#s44">00095</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B8;
-<a name="l00096"></a><a class="code" href="classH5_1_1PredType.html#s45">00096</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B16;
-<a name="l00097"></a><a class="code" href="classH5_1_1PredType.html#s46">00097</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B32;
-<a name="l00098"></a><a class="code" href="classH5_1_1PredType.html#s47">00098</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B64;
-<a name="l00099"></a><a class="code" href="classH5_1_1PredType.html#s48">00099</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_F32;
-<a name="l00100"></a><a class="code" href="classH5_1_1PredType.html#s49">00100</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_F64;
-00101 
-<a name="l00102"></a><a class="code" href="classH5_1_1PredType.html#s50">00102</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I8;
-<a name="l00103"></a><a class="code" href="classH5_1_1PredType.html#s51">00103</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I16;
-<a name="l00104"></a><a class="code" href="classH5_1_1PredType.html#s52">00104</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I32;
-<a name="l00105"></a><a class="code" href="classH5_1_1PredType.html#s53">00105</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I64;
-<a name="l00106"></a><a class="code" href="classH5_1_1PredType.html#s54">00106</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U8;
-<a name="l00107"></a><a class="code" href="classH5_1_1PredType.html#s55">00107</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U16;
-<a name="l00108"></a><a class="code" href="classH5_1_1PredType.html#s56">00108</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U32;
-<a name="l00109"></a><a class="code" href="classH5_1_1PredType.html#s57">00109</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U64;
-<a name="l00110"></a><a class="code" href="classH5_1_1PredType.html#s58">00110</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B8;
-<a name="l00111"></a><a class="code" href="classH5_1_1PredType.html#s59">00111</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B16;
-<a name="l00112"></a><a class="code" href="classH5_1_1PredType.html#s60">00112</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B32;
-<a name="l00113"></a><a class="code" href="classH5_1_1PredType.html#s61">00113</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B64;
-<a name="l00114"></a><a class="code" href="classH5_1_1PredType.html#s62">00114</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_F32;
-<a name="l00115"></a><a class="code" href="classH5_1_1PredType.html#s63">00115</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_F64;
-00116 
-<a name="l00117"></a><a class="code" href="classH5_1_1PredType.html#s64">00117</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I8;
-<a name="l00118"></a><a class="code" href="classH5_1_1PredType.html#s65">00118</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I16;
-<a name="l00119"></a><a class="code" href="classH5_1_1PredType.html#s66">00119</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I32;
-<a name="l00120"></a><a class="code" href="classH5_1_1PredType.html#s67">00120</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I64;
-<a name="l00121"></a><a class="code" href="classH5_1_1PredType.html#s68">00121</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U8;
-<a name="l00122"></a><a class="code" href="classH5_1_1PredType.html#s69">00122</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U16;
-<a name="l00123"></a><a class="code" href="classH5_1_1PredType.html#s70">00123</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U32;
-<a name="l00124"></a><a class="code" href="classH5_1_1PredType.html#s71">00124</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U64;
-<a name="l00125"></a><a class="code" href="classH5_1_1PredType.html#s72">00125</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B8;
-<a name="l00126"></a><a class="code" href="classH5_1_1PredType.html#s73">00126</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B16;
-<a name="l00127"></a><a class="code" href="classH5_1_1PredType.html#s74">00127</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B32;
-<a name="l00128"></a><a class="code" href="classH5_1_1PredType.html#s75">00128</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B64;
-<a name="l00129"></a><a class="code" href="classH5_1_1PredType.html#s76">00129</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_F32;
-<a name="l00130"></a><a class="code" href="classH5_1_1PredType.html#s77">00130</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_F64;
-00131 
-<a name="l00132"></a><a class="code" href="classH5_1_1PredType.html#s78">00132</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_CHAR;
-<a name="l00133"></a><a class="code" href="classH5_1_1PredType.html#s79">00133</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_SCHAR;
-<a name="l00134"></a><a class="code" href="classH5_1_1PredType.html#s80">00134</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UCHAR;
-<a name="l00135"></a><a class="code" href="classH5_1_1PredType.html#s81">00135</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_SHORT;
-<a name="l00136"></a><a class="code" href="classH5_1_1PredType.html#s82">00136</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_USHORT;
-<a name="l00137"></a><a class="code" href="classH5_1_1PredType.html#s83">00137</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT;
-<a name="l00138"></a><a class="code" href="classH5_1_1PredType.html#s84">00138</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT;
-<a name="l00139"></a><a class="code" href="classH5_1_1PredType.html#s85">00139</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_LONG;
-<a name="l00140"></a><a class="code" href="classH5_1_1PredType.html#s86">00140</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_ULONG;
-<a name="l00141"></a><a class="code" href="classH5_1_1PredType.html#s87">00141</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_LLONG;
-<a name="l00142"></a><a class="code" href="classH5_1_1PredType.html#s88">00142</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_ULLONG;
-<a name="l00143"></a><a class="code" href="classH5_1_1PredType.html#s89">00143</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_FLOAT;
-<a name="l00144"></a><a class="code" href="classH5_1_1PredType.html#s90">00144</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_DOUBLE;
-<a name="l00145"></a><a class="code" href="classH5_1_1PredType.html#s91">00145</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_LDOUBLE;
-<a name="l00146"></a><a class="code" href="classH5_1_1PredType.html#s92">00146</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B8;
-<a name="l00147"></a><a class="code" href="classH5_1_1PredType.html#s93">00147</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B16;
-<a name="l00148"></a><a class="code" href="classH5_1_1PredType.html#s94">00148</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B32;
-<a name="l00149"></a><a class="code" href="classH5_1_1PredType.html#s95">00149</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B64;
-<a name="l00150"></a><a class="code" href="classH5_1_1PredType.html#s96">00150</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_OPAQUE;
-<a name="l00151"></a><a class="code" href="classH5_1_1PredType.html#s97">00151</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HSIZE;
-<a name="l00152"></a><a class="code" href="classH5_1_1PredType.html#s98">00152</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HSSIZE;
-<a name="l00153"></a><a class="code" href="classH5_1_1PredType.html#s99">00153</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HERR;
-<a name="l00154"></a><a class="code" href="classH5_1_1PredType.html#s100">00154</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HBOOL;
-00155 
-<a name="l00156"></a><a class="code" href="classH5_1_1PredType.html#s101">00156</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT8;
-<a name="l00157"></a><a class="code" href="classH5_1_1PredType.html#s102">00157</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT8;
-<a name="l00158"></a><a class="code" href="classH5_1_1PredType.html#s103">00158</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST8;
-<a name="l00159"></a><a class="code" href="classH5_1_1PredType.html#s104">00159</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST8;
-<a name="l00160"></a><a class="code" href="classH5_1_1PredType.html#s105">00160</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST8;
-<a name="l00161"></a><a class="code" href="classH5_1_1PredType.html#s106">00161</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST8;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// PredType holds the definition of all the HDF5 predefined datatypes.</span>
+00018 <span class="comment">// These types can only be made copy of, not created by H5Tcreate or</span>
+00019 <span class="comment">// closed by H5Tclose.  They are treated as constants.</span>
+00021 <span class="comment"></span>
+00022 <span class="preprocessor">#ifndef _H5PredType_H</span>
+00023 <span class="preprocessor"></span><span class="preprocessor">#define _H5PredType_H</span>
+00024 <span class="preprocessor"></span>
+00025 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00026 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00027 <span class="preprocessor">#endif</span>
+00028 <span class="preprocessor"></span>
+<a name="l00029"></a><a class="code" href="classH5_1_1PredType.html">00029</a> <span class="keyword">class </span>H5_DLLCPP PredType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
+00030    <span class="keyword">public</span>:
+00031         <span class="comment">// Returns this class name</span>
+<a name="l00032"></a><a class="code" href="classH5_1_1PredType.html#a0">00032</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1AtomType.html#a10">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"PredType"</span>); }
+00033 
+00034         <span class="comment">// Makes a copy of the predefined type and stores the new</span>
+00035         <span class="comment">// id in the left hand side object.</span>
+00036         PredType&amp; <a class="code" href="classH5_1_1DataType.html#a14">operator=</a>( <span class="keyword">const</span> PredType&amp; rhs );
+00037 
+00038         <span class="comment">// Copy constructor - makes copy of the original object</span>
+00039         PredType( <span class="keyword">const</span> PredType&amp; original );
+00040 
+00041         <span class="comment">// Noop destructor</span>
+00042         <span class="keyword">virtual</span> ~PredType();
+00043 
+00044         <span class="comment">// Declaration of predefined types; their definition is in H5PredType.cpp</span>
+<a name="l00045"></a><a class="code" href="classH5_1_1PredType.html#s0">00045</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I8BE;
+<a name="l00046"></a><a class="code" href="classH5_1_1PredType.html#s1">00046</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I8LE;
+<a name="l00047"></a><a class="code" href="classH5_1_1PredType.html#s2">00047</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I16BE;
+<a name="l00048"></a><a class="code" href="classH5_1_1PredType.html#s3">00048</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I16LE;
+<a name="l00049"></a><a class="code" href="classH5_1_1PredType.html#s4">00049</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I32BE;
+<a name="l00050"></a><a class="code" href="classH5_1_1PredType.html#s5">00050</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I32LE;
+<a name="l00051"></a><a class="code" href="classH5_1_1PredType.html#s6">00051</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I64BE;
+<a name="l00052"></a><a class="code" href="classH5_1_1PredType.html#s7">00052</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_I64LE;
+<a name="l00053"></a><a class="code" href="classH5_1_1PredType.html#s8">00053</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U8BE;
+<a name="l00054"></a><a class="code" href="classH5_1_1PredType.html#s9">00054</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U8LE;
+<a name="l00055"></a><a class="code" href="classH5_1_1PredType.html#s10">00055</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U16BE;
+<a name="l00056"></a><a class="code" href="classH5_1_1PredType.html#s11">00056</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U16LE;
+<a name="l00057"></a><a class="code" href="classH5_1_1PredType.html#s12">00057</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U32BE;
+<a name="l00058"></a><a class="code" href="classH5_1_1PredType.html#s13">00058</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U32LE;
+<a name="l00059"></a><a class="code" href="classH5_1_1PredType.html#s14">00059</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U64BE;
+<a name="l00060"></a><a class="code" href="classH5_1_1PredType.html#s15">00060</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_U64LE;
+<a name="l00061"></a><a class="code" href="classH5_1_1PredType.html#s16">00061</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B8BE;
+<a name="l00062"></a><a class="code" href="classH5_1_1PredType.html#s17">00062</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B8LE;
+<a name="l00063"></a><a class="code" href="classH5_1_1PredType.html#s18">00063</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B16BE;
+<a name="l00064"></a><a class="code" href="classH5_1_1PredType.html#s19">00064</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B16LE;
+<a name="l00065"></a><a class="code" href="classH5_1_1PredType.html#s20">00065</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B32BE;
+<a name="l00066"></a><a class="code" href="classH5_1_1PredType.html#s21">00066</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B32LE;
+<a name="l00067"></a><a class="code" href="classH5_1_1PredType.html#s22">00067</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B64BE;
+<a name="l00068"></a><a class="code" href="classH5_1_1PredType.html#s23">00068</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_B64LE;
+<a name="l00069"></a><a class="code" href="classH5_1_1PredType.html#s24">00069</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_REF_OBJ;
+<a name="l00070"></a><a class="code" href="classH5_1_1PredType.html#s25">00070</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType STD_REF_DSETREG;
+00071 
+<a name="l00072"></a><a class="code" href="classH5_1_1PredType.html#s26">00072</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType C_S1;
+<a name="l00073"></a><a class="code" href="classH5_1_1PredType.html#s27">00073</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType FORTRAN_S1;
+00074 
+<a name="l00075"></a><a class="code" href="classH5_1_1PredType.html#s28">00075</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F32BE;
+<a name="l00076"></a><a class="code" href="classH5_1_1PredType.html#s29">00076</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F32LE;
+<a name="l00077"></a><a class="code" href="classH5_1_1PredType.html#s30">00077</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F64BE;
+<a name="l00078"></a><a class="code" href="classH5_1_1PredType.html#s31">00078</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType IEEE_F64LE;
+00079 
+<a name="l00080"></a><a class="code" href="classH5_1_1PredType.html#s32">00080</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D32BE;
+<a name="l00081"></a><a class="code" href="classH5_1_1PredType.html#s33">00081</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D32LE;
+<a name="l00082"></a><a class="code" href="classH5_1_1PredType.html#s34">00082</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D64BE;
+<a name="l00083"></a><a class="code" href="classH5_1_1PredType.html#s35">00083</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType UNIX_D64LE;
+00084 
+<a name="l00085"></a><a class="code" href="classH5_1_1PredType.html#s36">00085</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I8;
+<a name="l00086"></a><a class="code" href="classH5_1_1PredType.html#s37">00086</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I16;
+<a name="l00087"></a><a class="code" href="classH5_1_1PredType.html#s38">00087</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I32;
+<a name="l00088"></a><a class="code" href="classH5_1_1PredType.html#s39">00088</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_I64;
+<a name="l00089"></a><a class="code" href="classH5_1_1PredType.html#s40">00089</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U8;
+<a name="l00090"></a><a class="code" href="classH5_1_1PredType.html#s41">00090</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U16;
+<a name="l00091"></a><a class="code" href="classH5_1_1PredType.html#s42">00091</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U32;
+<a name="l00092"></a><a class="code" href="classH5_1_1PredType.html#s43">00092</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_U64;
+<a name="l00093"></a><a class="code" href="classH5_1_1PredType.html#s44">00093</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B8;
+<a name="l00094"></a><a class="code" href="classH5_1_1PredType.html#s45">00094</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B16;
+<a name="l00095"></a><a class="code" href="classH5_1_1PredType.html#s46">00095</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B32;
+<a name="l00096"></a><a class="code" href="classH5_1_1PredType.html#s47">00096</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_B64;
+<a name="l00097"></a><a class="code" href="classH5_1_1PredType.html#s48">00097</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_F32;
+<a name="l00098"></a><a class="code" href="classH5_1_1PredType.html#s49">00098</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType INTEL_F64;
+00099 
+<a name="l00100"></a><a class="code" href="classH5_1_1PredType.html#s50">00100</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I8;
+<a name="l00101"></a><a class="code" href="classH5_1_1PredType.html#s51">00101</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I16;
+<a name="l00102"></a><a class="code" href="classH5_1_1PredType.html#s52">00102</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I32;
+<a name="l00103"></a><a class="code" href="classH5_1_1PredType.html#s53">00103</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_I64;
+<a name="l00104"></a><a class="code" href="classH5_1_1PredType.html#s54">00104</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U8;
+<a name="l00105"></a><a class="code" href="classH5_1_1PredType.html#s55">00105</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U16;
+<a name="l00106"></a><a class="code" href="classH5_1_1PredType.html#s56">00106</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U32;
+<a name="l00107"></a><a class="code" href="classH5_1_1PredType.html#s57">00107</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_U64;
+<a name="l00108"></a><a class="code" href="classH5_1_1PredType.html#s58">00108</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B8;
+<a name="l00109"></a><a class="code" href="classH5_1_1PredType.html#s59">00109</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B16;
+<a name="l00110"></a><a class="code" href="classH5_1_1PredType.html#s60">00110</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B32;
+<a name="l00111"></a><a class="code" href="classH5_1_1PredType.html#s61">00111</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_B64;
+<a name="l00112"></a><a class="code" href="classH5_1_1PredType.html#s62">00112</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_F32;
+<a name="l00113"></a><a class="code" href="classH5_1_1PredType.html#s63">00113</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType ALPHA_F64;
+00114 
+<a name="l00115"></a><a class="code" href="classH5_1_1PredType.html#s64">00115</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I8;
+<a name="l00116"></a><a class="code" href="classH5_1_1PredType.html#s65">00116</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I16;
+<a name="l00117"></a><a class="code" href="classH5_1_1PredType.html#s66">00117</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I32;
+<a name="l00118"></a><a class="code" href="classH5_1_1PredType.html#s67">00118</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_I64;
+<a name="l00119"></a><a class="code" href="classH5_1_1PredType.html#s68">00119</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U8;
+<a name="l00120"></a><a class="code" href="classH5_1_1PredType.html#s69">00120</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U16;
+<a name="l00121"></a><a class="code" href="classH5_1_1PredType.html#s70">00121</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U32;
+<a name="l00122"></a><a class="code" href="classH5_1_1PredType.html#s71">00122</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_U64;
+<a name="l00123"></a><a class="code" href="classH5_1_1PredType.html#s72">00123</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B8;
+<a name="l00124"></a><a class="code" href="classH5_1_1PredType.html#s73">00124</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B16;
+<a name="l00125"></a><a class="code" href="classH5_1_1PredType.html#s74">00125</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B32;
+<a name="l00126"></a><a class="code" href="classH5_1_1PredType.html#s75">00126</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_B64;
+<a name="l00127"></a><a class="code" href="classH5_1_1PredType.html#s76">00127</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_F32;
+<a name="l00128"></a><a class="code" href="classH5_1_1PredType.html#s77">00128</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType MIPS_F64;
+00129 
+<a name="l00130"></a><a class="code" href="classH5_1_1PredType.html#s78">00130</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_CHAR;
+<a name="l00131"></a><a class="code" href="classH5_1_1PredType.html#s79">00131</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_SCHAR;
+<a name="l00132"></a><a class="code" href="classH5_1_1PredType.html#s80">00132</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UCHAR;
+<a name="l00133"></a><a class="code" href="classH5_1_1PredType.html#s81">00133</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_SHORT;
+<a name="l00134"></a><a class="code" href="classH5_1_1PredType.html#s82">00134</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_USHORT;
+<a name="l00135"></a><a class="code" href="classH5_1_1PredType.html#s83">00135</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT;
+<a name="l00136"></a><a class="code" href="classH5_1_1PredType.html#s84">00136</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT;
+<a name="l00137"></a><a class="code" href="classH5_1_1PredType.html#s85">00137</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_LONG;
+<a name="l00138"></a><a class="code" href="classH5_1_1PredType.html#s86">00138</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_ULONG;
+<a name="l00139"></a><a class="code" href="classH5_1_1PredType.html#s87">00139</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_LLONG;
+<a name="l00140"></a><a class="code" href="classH5_1_1PredType.html#s88">00140</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_ULLONG;
+<a name="l00141"></a><a class="code" href="classH5_1_1PredType.html#s89">00141</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_FLOAT;
+<a name="l00142"></a><a class="code" href="classH5_1_1PredType.html#s90">00142</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_DOUBLE;
+<a name="l00143"></a><a class="code" href="classH5_1_1PredType.html#s91">00143</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_LDOUBLE;
+<a name="l00144"></a><a class="code" href="classH5_1_1PredType.html#s92">00144</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B8;
+<a name="l00145"></a><a class="code" href="classH5_1_1PredType.html#s93">00145</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B16;
+<a name="l00146"></a><a class="code" href="classH5_1_1PredType.html#s94">00146</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B32;
+<a name="l00147"></a><a class="code" href="classH5_1_1PredType.html#s95">00147</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_B64;
+<a name="l00148"></a><a class="code" href="classH5_1_1PredType.html#s96">00148</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_OPAQUE;
+<a name="l00149"></a><a class="code" href="classH5_1_1PredType.html#s97">00149</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HSIZE;
+<a name="l00150"></a><a class="code" href="classH5_1_1PredType.html#s98">00150</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HSSIZE;
+<a name="l00151"></a><a class="code" href="classH5_1_1PredType.html#s99">00151</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HERR;
+<a name="l00152"></a><a class="code" href="classH5_1_1PredType.html#s100">00152</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_HBOOL;
+00153 
+<a name="l00154"></a><a class="code" href="classH5_1_1PredType.html#s101">00154</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT8;
+<a name="l00155"></a><a class="code" href="classH5_1_1PredType.html#s102">00155</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT8;
+<a name="l00156"></a><a class="code" href="classH5_1_1PredType.html#s103">00156</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT16;
+<a name="l00157"></a><a class="code" href="classH5_1_1PredType.html#s104">00157</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT16;
+<a name="l00158"></a><a class="code" href="classH5_1_1PredType.html#s105">00158</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT32;
+<a name="l00159"></a><a class="code" href="classH5_1_1PredType.html#s106">00159</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT32;
+<a name="l00160"></a><a class="code" href="classH5_1_1PredType.html#s107">00160</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT64;
+<a name="l00161"></a><a class="code" href="classH5_1_1PredType.html#s108">00161</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT64;
 00162 
-<a name="l00163"></a><a class="code" href="classH5_1_1PredType.html#s107">00163</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT16;
-<a name="l00164"></a><a class="code" href="classH5_1_1PredType.html#s108">00164</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT16;
-<a name="l00165"></a><a class="code" href="classH5_1_1PredType.html#s109">00165</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST16;
-<a name="l00166"></a><a class="code" href="classH5_1_1PredType.html#s110">00166</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST16;
-<a name="l00167"></a><a class="code" href="classH5_1_1PredType.html#s111">00167</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST16;
-<a name="l00168"></a><a class="code" href="classH5_1_1PredType.html#s112">00168</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST16;
-00169 
-<a name="l00170"></a><a class="code" href="classH5_1_1PredType.html#s113">00170</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT32;
-<a name="l00171"></a><a class="code" href="classH5_1_1PredType.html#s114">00171</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT32;
-<a name="l00172"></a><a class="code" href="classH5_1_1PredType.html#s115">00172</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST32;
-<a name="l00173"></a><a class="code" href="classH5_1_1PredType.html#s116">00173</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST32;
-<a name="l00174"></a><a class="code" href="classH5_1_1PredType.html#s117">00174</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST32;
-<a name="l00175"></a><a class="code" href="classH5_1_1PredType.html#s118">00175</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST32;
-00176 
-<a name="l00177"></a><a class="code" href="classH5_1_1PredType.html#s119">00177</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT64;
-<a name="l00178"></a><a class="code" href="classH5_1_1PredType.html#s120">00178</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT64;
-<a name="l00179"></a><a class="code" href="classH5_1_1PredType.html#s121">00179</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST64;
-<a name="l00180"></a><a class="code" href="classH5_1_1PredType.html#s122">00180</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST64;
-<a name="l00181"></a><a class="code" href="classH5_1_1PredType.html#s123">00181</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST64;
-<a name="l00182"></a><a class="code" href="classH5_1_1PredType.html#s124">00182</a>         <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST64;
-00183 
-00184 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00185 <span class="preprocessor"></span>        <span class="comment">// These dummy functions do not inherit from DataType - they'll</span>
-00186         <span class="comment">// throw a DataTypeIException if invoked.</span>
-00187         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1H5Object.html">H5Object</a>&amp; loc, <span class="keyword">const</span> string&amp; name );
-00188         <span class="keywordtype">void</span> commit( <a class="code" href="classH5_1_1H5Object.html">H5Object</a>&amp; loc, <span class="keyword">const</span> <span class="keywordtype">char</span>* name );
-00189         <span class="keywordtype">bool</span> committed();
-00190 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00191 <span class="preprocessor"></span>
-00192    <span class="keyword">private</span>:
-00193         <span class="comment">// added this to work around the atexit/global destructor problem</span>
-00194         <span class="comment">// temporarily - it'll prevent the use of atexit to clean up</span>
-00195         <span class="keyword">static</span> <span class="keyword">const</span> PredType NotAtexit;        <span class="comment">// not working yet</span>
-00196 
-00197         <span class="comment">// This enum type is used by this class only to handle the</span>
-00198         <span class="comment">// global PredType objects.  These values will ensure that the</span>
-00199         <span class="comment">// application receives an appropriate and uptodated id for an</span>
-00200         <span class="comment">// HDF5 predefined type; particularly usefull when the application</span>
-00201         <span class="comment">// closes and opens the library again.</span>
-00202         <span class="keyword">enum</span> predefined_types {
-00203 
-00204             INVALID = 0, E_C_S1 = 1, E_FORTRAN_S1,
-00205 
-00206             E_STD_I8BE, E_STD_I8LE, E_STD_I16BE, E_STD_I16LE, E_STD_I32BE,
-00207             E_STD_I32LE, E_STD_I64BE, E_STD_I64LE, E_STD_U8BE, E_STD_U8LE,
-00208             E_STD_U16BE, E_STD_U16LE, E_STD_U32BE, E_STD_U32LE, E_STD_U64BE,
-00209             E_STD_U64LE, E_STD_B8BE, E_STD_B8LE, E_STD_B16BE, E_STD_B16LE,
-00210             E_STD_B32BE, E_STD_B32LE, E_STD_B64BE, E_STD_B64LE, E_STD_REF_OBJ,
-00211             E_STD_REF_DSETREG,
-00212 
-00213             E_IEEE_F32BE, E_IEEE_F32LE, E_IEEE_F64BE, E_IEEE_F64LE,
-00214 
-00215             E_UNIX_D32BE, E_UNIX_D32LE, E_UNIX_D64BE, E_UNIX_D64LE,
-00216 
-00217             E_INTEL_I8, E_INTEL_I16, E_INTEL_I32, E_INTEL_I64, E_INTEL_U8,
-00218             E_INTEL_U16, E_INTEL_U32, E_INTEL_U64, E_INTEL_B8, E_INTEL_B16,
-00219             E_INTEL_B32, E_INTEL_B64, E_INTEL_F32, E_INTEL_F64,
+00163 <span class="comment">// LEAST types</span>
+00164 <span class="preprocessor">#if H5_SIZEOF_INT_LEAST8_T != 0</span>
+00165 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST8;
+00166 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_LEAST8_T */</span>
+00167 <span class="preprocessor">#if H5_SIZEOF_UINT_LEAST8_T != 0</span>
+00168 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST8;
+00169 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_LEAST8_T */</span>
+00170 
+00171 <span class="preprocessor">#if H5_SIZEOF_INT_LEAST16_T != 0</span>
+00172 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST16;
+00173 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_LEAST16_T */</span>
+00174 <span class="preprocessor">#if H5_SIZEOF_UINT_LEAST16_T != 0</span>
+00175 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST16;
+00176 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_LEAST16_T */</span>
+00177 
+00178 <span class="preprocessor">#if H5_SIZEOF_INT_LEAST32_T != 0</span>
+00179 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST32;
+00180 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_LEAST32_T */</span>
+00181 <span class="preprocessor">#if H5_SIZEOF_UINT_LEAST32_T != 0</span>
+00182 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST32;
+00183 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_LEAST32_T */</span>
+00184 
+00185 <span class="preprocessor">#if H5_SIZEOF_INT_LEAST64_T != 0</span>
+00186 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_LEAST64;
+00187 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_LEAST64_T */</span>
+00188 <span class="preprocessor">#if H5_SIZEOF_UINT_LEAST64_T != 0</span>
+00189 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_LEAST64;
+00190 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_LEAST64_T */</span>
+00191 
+00192 <span class="comment">// FAST types</span>
+00193 <span class="preprocessor">#if H5_SIZEOF_INT_FAST8_T != 0</span>
+00194 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST8;
+00195 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_FAST8_T */</span>
+00196 <span class="preprocessor">#if H5_SIZEOF_UINT_FAST8_T != 0</span>
+00197 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST8;
+00198 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_FAST8_T */</span>
+00199 
+00200 <span class="preprocessor">#if H5_SIZEOF_INT_FAST16_T != 0</span>
+00201 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST16;
+00202 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_FAST16_T */</span>
+00203 <span class="preprocessor">#if H5_SIZEOF_UINT_FAST16_T != 0</span>
+00204 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST16;
+00205 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_FAST16_T */</span>
+00206 
+00207 <span class="preprocessor">#if H5_SIZEOF_INT_FAST32_T != 0</span>
+00208 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST32;
+00209 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_FAST32_T */</span>
+00210 <span class="preprocessor">#if H5_SIZEOF_UINT_FAST32_T != 0</span>
+00211 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST32;
+00212 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_FAST32_T */</span>
+00213 
+00214 <span class="preprocessor">#if H5_SIZEOF_INT_FAST64_T != 0</span>
+00215 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_INT_FAST64;
+00216 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_INT_FAST64_T */</span>
+00217 <span class="preprocessor">#if H5_SIZEOF_UINT_FAST64_T != 0</span>
+00218 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keyword">const</span> PredType NATIVE_UINT_FAST64;
+00219 <span class="preprocessor">#endif </span><span class="comment">/* H5_SIZEOF_UINT_FAST64_T */</span>
 00220 
-00221             E_ALPHA_I8, E_ALPHA_I16, E_ALPHA_I32, E_ALPHA_I64, E_ALPHA_U8,
-00222             E_ALPHA_U16, E_ALPHA_U32, E_ALPHA_U64, E_ALPHA_B8, E_ALPHA_B16,
-00223             E_ALPHA_B32, E_ALPHA_B64, E_ALPHA_F32, E_ALPHA_F64,
-00224 
-00225             E_MIPS_I8, E_MIPS_I16, E_MIPS_I32, E_MIPS_I64, E_MIPS_U8,
-00226             E_MIPS_U16, E_MIPS_U32, E_MIPS_U64, E_MIPS_B8, E_MIPS_B16,
-00227             E_MIPS_B32, E_MIPS_B64, E_MIPS_F32, E_MIPS_F64,
-00228 
-00229             E_NATIVE_CHAR, E_NATIVE_INT, E_NATIVE_FLOAT, E_NATIVE_SCHAR,
-00230             E_NATIVE_UCHAR, E_NATIVE_SHORT, E_NATIVE_USHORT, E_NATIVE_UINT,
-00231             E_NATIVE_LONG, E_NATIVE_ULONG, E_NATIVE_LLONG, E_NATIVE_ULLONG,
-00232             E_NATIVE_DOUBLE, E_NATIVE_LDOUBLE, E_NATIVE_B8, E_NATIVE_B16,
-00233             E_NATIVE_B32, E_NATIVE_B64, E_NATIVE_OPAQUE, E_NATIVE_HSIZE,
-00234             E_NATIVE_HSSIZE, E_NATIVE_HERR, E_NATIVE_HBOOL, E_NATIVE_INT8,
-00235             E_NATIVE_UINT8, E_NATIVE_INT_LEAST8, E_NATIVE_UINT_LEAST8,
-00236             E_NATIVE_INT_FAST8, E_NATIVE_UINT_FAST8, E_NATIVE_INT16,
-00237             E_NATIVE_UINT16, E_NATIVE_INT_LEAST16, E_NATIVE_UINT_LEAST16,
-00238             E_NATIVE_INT_FAST16, E_NATIVE_UINT_FAST16, E_NATIVE_INT32,
-00239             E_NATIVE_UINT32, E_NATIVE_INT_LEAST32, E_NATIVE_UINT_LEAST32,
-00240             E_NATIVE_INT_FAST32, E_NATIVE_UINT_FAST32, E_NATIVE_INT64,
-00241             E_NATIVE_UINT64, E_NATIVE_INT_LEAST64, E_NATIVE_UINT_LEAST64,
-00242             E_NATIVE_INT_FAST64, E_NATIVE_UINT_FAST64
-00243         };
-00244 
-00245    <span class="keyword">protected</span>:
-00246 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
-00247 <span class="preprocessor"></span>        <span class="comment">// Default constructor</span>
-00248         PredType();
-00249 
-00250         <span class="comment">// Creates a pre-defined type using an HDF5 pre-defined constant</span>
-00251         PredType( <span class="keyword">const</span> hid_t predtype_id );  <span class="comment">// used by the library only</span>
-00252 
-00253 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
-00254 <span class="preprocessor"></span>
-00255 };
-00256 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00257 <span class="preprocessor"></span>}
-00258 <span class="preprocessor">#endif</span>
-00259 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00221 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00222 <span class="preprocessor"></span>        <span class="comment">// These dummy functions do not inherit from DataType - they'll</span>
+00223         <span class="comment">// throw a DataTypeIException if invoked.</span>
+00224         <span class="keywordtype">void</span> <a class="code" href="classH5_1_1DataType.html#a7">commit</a>( <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; loc, <span class="keyword">const</span> H5std_string&amp; name );
+00225         <span class="keywordtype">void</span> <a class="code" href="classH5_1_1DataType.html#a7">commit</a>( <a class="code" href="classH5_1_1H5File.html">H5File</a>&amp; loc, <span class="keyword">const</span> <span class="keywordtype">char</span>* name );
+00226         <span class="keywordtype">void</span> <a class="code" href="classH5_1_1DataType.html#a7">commit</a>( <a class="code" href="classH5_1_1H5Object.html">H5Object</a>&amp; loc, <span class="keyword">const</span> H5std_string&amp; name );
+00227         <span class="keywordtype">void</span> <a class="code" href="classH5_1_1DataType.html#a7">commit</a>( <a class="code" href="classH5_1_1H5Object.html">H5Object</a>&amp; loc, <span class="keyword">const</span> <span class="keywordtype">char</span>* name );
+00228         <span class="keywordtype">bool</span> <a class="code" href="classH5_1_1DataType.html#a11">committed</a>();
+00229 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00230 <span class="preprocessor"></span>
+00231    <span class="keyword">private</span>:
+00232         <span class="comment">// added this to work around the atexit/global destructor problem</span>
+00233         <span class="comment">// temporarily - it'll prevent the use of atexit to clean up</span>
+00234         <span class="keyword">static</span> <span class="keyword">const</span> PredType NotAtexit;        <span class="comment">// not working yet</span>
+00235 
+00236    <span class="keyword">protected</span>:
+00237 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span>
+00238 <span class="preprocessor"></span>        <span class="comment">// Default constructor</span>
+00239         PredType();
+00240 
+00241         <span class="comment">// Creates a pre-defined type using an HDF5 pre-defined constant</span>
+00242         PredType( <span class="keyword">const</span> hid_t predtype_id );  <span class="comment">// used by the library only</span>
+00243 
+00244 <span class="preprocessor">#endif // DOXYGEN_SHOULD_SKIP_THIS</span>
+00245 <span class="preprocessor"></span>
+00246 };
+00247 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00248 <span class="preprocessor"></span>}
+00249 <span class="preprocessor">#endif</span>
+00250 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5PredType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5PredType.h File Reference</h1>
 <p>
 <a href="H5PredType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<h1>H5PropList.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<h1>H5PropList.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
 <code>#include "<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>"</code><br>
@@ -334,8 +351,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,121 +337,122 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5PropList.h</h1><a href="H5PropList_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5PropList_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5PropList_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1PropList.html">00023</a> <span class="keyword">class </span>H5_DLLCPP PropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Default property list</span>
-00026         <span class="keyword">static</span> <span class="keyword">const</span> PropList DEFAULT;
-00027 
-00028         <span class="comment">// Creates a property list of a given type or creates a copy of an</span>
-00029         <span class="comment">// existing property list giving the property list id.</span>
-00030         PropList(<span class="keyword">const</span> hid_t plist_id);
-00031 
-00032         <span class="comment">// Make a copy of the given property list using assignment statement</span>
-00033         PropList&amp; operator=( <span class="keyword">const</span> PropList&amp; rhs );
-00034 
-00035         <span class="comment">// Compares this property list or class against the given list or class.</span>
-00036         <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> PropList&amp; rhs) <span class="keyword">const</span>;
-00037 
-00038         <span class="comment">// Close this property list.</span>
-00039         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
-00040 
-00041         <span class="comment">// Close a property list class.</span>
-00042         <span class="keywordtype">void</span> closeClass() <span class="keyword">const</span>;
-00043 
-00044         <span class="comment">// Makes a copy of the given property list.</span>
-00045         <span class="keywordtype">void</span> copy( <span class="keyword">const</span> PropList&amp; like_plist );
-00046 
-00047         <span class="comment">// Copies a property from this property list or class to another</span>
-00048         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, <span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00049         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, <span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00050 
-00051         <span class="comment">// Copies a property from one property list or property class to another</span>
-00052         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, PropList&amp; src, <span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00053         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, PropList&amp; src, <span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00054 
-00055         <span class="comment">// Gets the class of this property list, i.e. H5P_FILE_CREATE,</span>
-00056         <span class="comment">// H5P_FILE_ACCESS, ...</span>
-00057         hid_t getClass() <span class="keyword">const</span>;
-00058 
-00059         <span class="comment">// Return the name of a generic property list class.</span>
-00060         string getClassName() <span class="keyword">const</span>;
-00061 
-00062         <span class="comment">// Returns the parent class of a generic property class.</span>
-00063         PropList getClassParent() <span class="keyword">const</span>;
-00064 
-00065         <span class="comment">// Returns the number of properties in this property list or class.</span>
-00066         size_t getNumProps() <span class="keyword">const</span>;
-00067 
-00068         <span class="comment">// Query the value of a property in a property list.</span>
-00069         <span class="keywordtype">void</span> getProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
-00070         <span class="keywordtype">void</span> getProperty(<span class="keyword">const</span> string&amp; name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
-00071         string getProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00072         string getProperty(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00073 
-00074         <span class="comment">// Set a property's value in a property list.</span>
-00075         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
-00076         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* charptr) <span class="keyword">const</span>;
-00077         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, string&amp; strg) <span class="keyword">const</span>;
-00078         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> string&amp; name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
-00079         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> string&amp; name, string&amp; strg) <span class="keyword">const</span>;
-00080 
-00081         <span class="comment">// Query the size of a property in a property list or class.</span>
-00082         size_t getPropSize(<span class="keyword">const</span> <span class="keywordtype">char</span> *name) <span class="keyword">const</span>;
-00083         size_t getPropSize(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00084 
-00085         <span class="comment">// Determines whether a property list is a certain class.</span>
-00086         <span class="keywordtype">bool</span> isAClass(<span class="keyword">const</span> PropList&amp; prop_class) <span class="keyword">const</span>;
-00087 
-00089         <span class="keywordtype">bool</span> propExist(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
-00090         <span class="keywordtype">bool</span> propExist(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00091 
-00092         <span class="comment">// Removes a property from a property list.</span>
-00093         <span class="keywordtype">void</span> removeProp(<span class="keyword">const</span> <span class="keywordtype">char</span> *name) <span class="keyword">const</span>;
-00094         <span class="keywordtype">void</span> removeProp(<span class="keyword">const</span> string&amp; name) <span class="keyword">const</span>;
-00095 
-00096         <span class="comment">// Returns this class name</span>
-<a name="l00097"></a><a class="code" href="classH5_1_1PropList.html#a30">00097</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"PropList"</span>); }
-00098 
-00099         <span class="comment">// Default constructor: creates a stub PropList object.</span>
-00100         PropList();
-00101 
-00102         <span class="comment">// Copy constructor: creates a copy of a PropList object.</span>
-00103         PropList(<span class="keyword">const</span> PropList&amp; original);
-00104 
-00105         <span class="comment">// Destructor: properly terminates access to this property list.</span>
-00106         <span class="keyword">virtual</span> ~PropList();
-00107 };
-00108 
-00109 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00110 <span class="preprocessor"></span>}
-00111 <span class="preprocessor">#endif</span>
-00112 <span class="preprocessor"></span><span class="preprocessor">#endif  // _H5PropList_H</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5PropList_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5PropList_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1PropList.html">00024</a> <span class="keyword">class </span>H5_DLLCPP PropList : <span class="keyword">public</span> <a class="code" href="classH5_1_1IdComponent.html">IdComponent</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Default property list</span>
+00027         <span class="keyword">static</span> <span class="keyword">const</span> PropList DEFAULT;
+00028 
+00029         <span class="comment">// Creates a property list of a given type or creates a copy of an</span>
+00030         <span class="comment">// existing property list giving the property list id.</span>
+00031         PropList(<span class="keyword">const</span> hid_t plist_id);
+00032 
+00033         <span class="comment">// Make a copy of the given property list using assignment statement</span>
+00034         PropList&amp; <a class="code" href="classH5_1_1IdComponent.html#a6">operator=</a>( <span class="keyword">const</span> PropList&amp; rhs );
+00035 
+00036         <span class="comment">// Compares this property list or class against the given list or class.</span>
+00037         <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> PropList&amp; rhs) <span class="keyword">const</span>;
+00038 
+00039         <span class="comment">// Close this property list.</span>
+00040         <span class="keyword">virtual</span> <span class="keywordtype">void</span> close();
+00041 
+00042         <span class="comment">// Close a property list class.</span>
+00043         <span class="keywordtype">void</span> closeClass() <span class="keyword">const</span>;
+00044 
+00045         <span class="comment">// Makes a copy of the given property list.</span>
+00046         <span class="keywordtype">void</span> copy( <span class="keyword">const</span> PropList&amp; like_plist );
+00047 
+00048         <span class="comment">// Copies a property from this property list or class to another</span>
+00049         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, <span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00050         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00051 
+00052         <span class="comment">// Copies a property from one property list or property class to another</span>
+00053         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, PropList&amp; src, <span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00054         <span class="keywordtype">void</span> copyProp( PropList&amp; dest, PropList&amp; src, <span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00055 
+00056         <span class="comment">// Gets the class of this property list, i.e. H5P_FILE_CREATE,</span>
+00057         <span class="comment">// H5P_FILE_ACCESS, ...</span>
+00058         hid_t getClass() <span class="keyword">const</span>;
+00059 
+00060         <span class="comment">// Return the name of a generic property list class.</span>
+00061         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getClassName() <span class="keyword">const</span>;
+00062 
+00063         <span class="comment">// Returns the parent class of a generic property class.</span>
+00064         PropList getClassParent() <span class="keyword">const</span>;
+00065 
+00066         <span class="comment">// Returns the number of properties in this property list or class.</span>
+00067         size_t getNumProps() <span class="keyword">const</span>;
+00068 
+00069         <span class="comment">// Query the value of a property in a property list.</span>
+00070         <span class="keywordtype">void</span> getProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
+00071         <span class="keywordtype">void</span> getProperty(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
+00072         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00073         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> getProperty(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00074 
+00075         <span class="comment">// Set a property's value in a property list.</span>
+00076         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
+00077         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* charptr) <span class="keyword">const</span>;
+00078         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; strg) <span class="keyword">const</span>;
+00079         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <span class="keywordtype">void</span>* value) <span class="keyword">const</span>;
+00080         <span class="keywordtype">void</span> setProperty(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name, <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; strg) <span class="keyword">const</span>;
+00081 
+00082         <span class="comment">// Query the size of a property in a property list or class.</span>
+00083         size_t getPropSize(<span class="keyword">const</span> <span class="keywordtype">char</span> *name) <span class="keyword">const</span>;
+00084         size_t getPropSize(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00085 
+00086         <span class="comment">// Determines whether a property list is a certain class.</span>
+00087         <span class="keywordtype">bool</span> isAClass(<span class="keyword">const</span> PropList&amp; prop_class) <span class="keyword">const</span>;
+00088 
+00090         <span class="keywordtype">bool</span> propExist(<span class="keyword">const</span> <span class="keywordtype">char</span>* name) <span class="keyword">const</span>;
+00091         <span class="keywordtype">bool</span> propExist(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00092 
+00093         <span class="comment">// Removes a property from a property list.</span>
+00094         <span class="keywordtype">void</span> removeProp(<span class="keyword">const</span> <span class="keywordtype">char</span> *name) <span class="keyword">const</span>;
+00095         <span class="keywordtype">void</span> removeProp(<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>&amp; name) <span class="keyword">const</span>;
+00096 
+00097         <span class="comment">// Returns this class name</span>
+<a name="l00098"></a><a class="code" href="classH5_1_1PropList.html#a30">00098</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"PropList"</span>); }
+00099 
+00100         <span class="comment">// Default constructor: creates a stub PropList object.</span>
+00101         PropList();
+00102 
+00103         <span class="comment">// Copy constructor: creates a copy of a PropList object.</span>
+00104         PropList(<span class="keyword">const</span> PropList&amp; original);
+00105 
+00106         <span class="comment">// Destructor: properly terminates access to this property list.</span>
+00107         <span class="keyword">virtual</span> ~PropList();
+00108 };
+00109 
+00110 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00111 <span class="preprocessor"></span>}
+00112 <span class="preprocessor">#endif</span>
+00113 <span class="preprocessor"></span><span class="preprocessor">#endif  // _H5PropList_H</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5PropList_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5PropList.h File Reference</h1>
 <p>
 <a href="H5PropList_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5StrType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -344,8 +361,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,77 +337,78 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5StrType.h</h1><a href="H5StrType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="preprocessor">#ifndef _H5StrType_H</span>
-00017 <span class="preprocessor"></span><span class="preprocessor">#define _H5StrType_H</span>
-00018 <span class="preprocessor"></span>
-00019 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00020 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00021 <span class="preprocessor">#endif</span>
-00022 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="classH5_1_1StrType.html">00023</a> <span class="keyword">class </span>H5_DLLCPP StrType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
-00024    <span class="keyword">public</span>:
-00025         <span class="comment">// Creates a string type using a predefined type</span>
-00026         StrType(<span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type);
-00027 
-00028         <span class="comment">// Creates a string type with specified length</span>
-00029         StrType(<span class="keyword">const</span> size_t&amp; size);
-00030 
-00031         <span class="comment">// Creates a string type with specified length - will be obsolete</span>
-00032         StrType(<span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type, <span class="keyword">const</span> size_t size);
-00033 
-00034         <span class="comment">// Gets the string datatype of the specified dataset</span>
-00035         StrType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset);
-00036 
-00037         <span class="comment">// Retrieves the character set type of this string datatype.</span>
-00038         H5T_cset_t getCset() <span class="keyword">const</span>;
-00039 
-00040         <span class="comment">// Sets character set to be used.</span>
-00041         <span class="keywordtype">void</span> setCset(H5T_cset_t cset) <span class="keyword">const</span>;
-00042 
-00043         <span class="comment">// Retrieves the string padding method for this string datatype.</span>
-00044         H5T_str_t getStrpad() <span class="keyword">const</span>;
-00045 
-00046         <span class="comment">// Defines the storage mechanism for character strings.</span>
-00047         <span class="keywordtype">void</span> setStrpad(H5T_str_t strpad) <span class="keyword">const</span>;
-00048 
-00049         <span class="comment">// Returns this class name</span>
-<a name="l00050"></a><a class="code" href="classH5_1_1StrType.html#a8">00050</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"StrType"</span>); }
-00051 
-00052         <span class="comment">// default constructor</span>
-00053         StrType();
-00054 
-00055         <span class="comment">// Creates a string datatype using an existing id</span>
-00056         StrType(<span class="keyword">const</span> hid_t existing_id);
-00057 
-00058         <span class="comment">// Copy constructor - makes a copy of the original object</span>
-00059         StrType(<span class="keyword">const</span> StrType&amp; original);
-00060 
-00061         <span class="comment">// Noop destructor.</span>
-00062         <span class="keyword">virtual</span> ~StrType();
-00063 };
-00064 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00065 <span class="preprocessor"></span>}
-00066 <span class="preprocessor">#endif</span>
-00067 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="preprocessor">#ifndef _H5StrType_H</span>
+00018 <span class="preprocessor"></span><span class="preprocessor">#define _H5StrType_H</span>
+00019 <span class="preprocessor"></span>
+00020 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00021 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00022 <span class="preprocessor">#endif</span>
+00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="classH5_1_1StrType.html">00024</a> <span class="keyword">class </span>H5_DLLCPP StrType : <span class="keyword">public</span> <a class="code" href="classH5_1_1AtomType.html">AtomType</a> {
+00025    <span class="keyword">public</span>:
+00026         <span class="comment">// Creates a string type using a predefined type</span>
+00027         StrType(<span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type);
+00028 
+00029         <span class="comment">// Creates a string type with specified length - may be obsolete</span>
+00030         StrType(<span class="keyword">const</span> <a class="code" href="classH5_1_1PredType.html">PredType</a>&amp; pred_type, <span class="keyword">const</span> size_t&amp; size);
+00031 
+00032         <span class="comment">// Creates a string type with specified length</span>
+00033         StrType(<span class="keyword">const</span> <span class="keywordtype">int</span> dummy, <span class="keyword">const</span> size_t&amp; size);
+00034 
+00035         <span class="comment">// Gets the string datatype of the specified dataset</span>
+00036         StrType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataSet.html">DataSet</a>&amp; dataset);
+00037 
+00038         <span class="comment">// Retrieves the character set type of this string datatype.</span>
+00039         H5T_cset_t getCset() <span class="keyword">const</span>;
+00040 
+00041         <span class="comment">// Sets character set to be used.</span>
+00042         <span class="keywordtype">void</span> setCset(H5T_cset_t cset) <span class="keyword">const</span>;
+00043 
+00044         <span class="comment">// Retrieves the string padding method for this string datatype.</span>
+00045         H5T_str_t getStrpad() <span class="keyword">const</span>;
+00046 
+00047         <span class="comment">// Defines the storage mechanism for character strings.</span>
+00048         <span class="keywordtype">void</span> setStrpad(H5T_str_t strpad) <span class="keyword">const</span>;
+00049 
+00050         <span class="comment">// Returns this class name</span>
+<a name="l00051"></a><a class="code" href="classH5_1_1StrType.html#a8">00051</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1AtomType.html#a10">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"StrType"</span>); }
+00052 
+00053         <span class="comment">// default constructor</span>
+00054         StrType();
+00055 
+00056         <span class="comment">// Creates a string datatype using an existing id</span>
+00057         StrType(<span class="keyword">const</span> hid_t existing_id);
+00058 
+00059         <span class="comment">// Copy constructor - makes a copy of the original object</span>
+00060         StrType(<span class="keyword">const</span> StrType&amp; original);
+00061 
+00062         <span class="comment">// Noop destructor.</span>
+00063         <span class="keyword">virtual</span> ~StrType();
+00064 };
+00065 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00066 <span class="preprocessor"></span>}
+00067 <span class="preprocessor">#endif</span>
+00068 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5StrType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5StrType.h File Reference</h1>
 <p>
 <a href="H5StrType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8cpp.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8cpp.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8cpp.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5VarLenType.cpp File Reference</h1><code>#include &lt;string&gt;</code><br>
 <code>#include "<a class="el" href="H5Include_8h-source.html">H5Include.h</a>"</code><br>
 <code>#include "<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>"</code><br>
@@ -338,8 +355,8 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h-source.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h-source.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h-source.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,61 +337,62 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5VarLenType.h</h1><a href="H5VarLenType_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">// C++ informative line for the emacs editor: -*- C++ -*-</span>
 00002 <span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
-00003 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
-00004 <span class="comment"> * All rights reserved.                                                      *</span>
-00005 <span class="comment"> *                                                                           *</span>
-00006 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
-00007 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
-00008 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
-00009 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
-00010 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
-00011 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-00012 <span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-00013 <span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
-00014 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
-00015 
-00016 <span class="comment">// Class VarLenType inherits from DataType and provides wrappers for</span>
-00017 <span class="comment">// the HDF5 C's Variable-length Datatypes.</span>
-00018 
-00019 <span class="preprocessor">#ifndef _H5VarLenType_H</span>
-00020 <span class="preprocessor"></span><span class="preprocessor">#define _H5VarLenType_H</span>
-00021 <span class="preprocessor"></span>
-00022 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00023 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
-00024 <span class="preprocessor">#endif</span>
-<a name="l00025"></a><a class="code" href="classH5_1_1VarLenType.html">00025</a> <span class="preprocessor"></span><span class="keyword">class </span>H5_DLLCPP VarLenType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
-00026    <span class="keyword">public</span>:
-00027         <span class="comment">// Returns this class name</span>
-<a name="l00028"></a><a class="code" href="classH5_1_1VarLenType.html#a0">00028</a>         <span class="keyword">virtual</span> string fromClass ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="stringliteral">"VarLenType"</span>); }
-00029 
-00030         <span class="comment">// Constructor that creates a variable-length datatype based</span>
-00031         <span class="comment">// on the specified base type.</span>
-00032         VarLenType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>* base_type);
-00033 
-00034         <span class="comment">// Copy constructor: makes copy of the original object.</span>
-00035         VarLenType( <span class="keyword">const</span> VarLenType&amp; original );
-00036 
-00037         <span class="comment">// Constructor that takes an existing id</span>
-00038         VarLenType( <span class="keyword">const</span> hid_t existing_id );
-00039 
-00040         <span class="comment">// Noop destructor</span>
-00041         <span class="keyword">virtual</span> ~VarLenType();
-00042 
-00043    <span class="keyword">protected</span>:
-00044         <span class="comment">// Default constructor</span>
-00045         VarLenType();
-00046 
-00047 };
-00048 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
-00049 <span class="preprocessor"></span>}
-00050 <span class="preprocessor">#endif</span>
-00051 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+00003 <span class="comment"> * Copyright by The HDF Group.                                               *</span>
+00004 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
+00005 <span class="comment"> * All rights reserved.                                                      *</span>
+00006 <span class="comment"> *                                                                           *</span>
+00007 <span class="comment"> * This file is part of HDF5.  The full HDF5 copyright notice, including     *</span>
+00008 <span class="comment"> * terms governing use, modification, and redistribution, is contained in    *</span>
+00009 <span class="comment"> * the files COPYING and Copyright.html.  COPYING can be found at the root   *</span>
+00010 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
+00011 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
+00012 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
+00013 <span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+00014 <span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
+00015 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
+00016 
+00017 <span class="comment">// Class VarLenType inherits from DataType and provides wrappers for</span>
+00018 <span class="comment">// the HDF5 C's Variable-length Datatypes.</span>
+00019 
+00020 <span class="preprocessor">#ifndef _H5VarLenType_H</span>
+00021 <span class="preprocessor"></span><span class="preprocessor">#define _H5VarLenType_H</span>
+00022 <span class="preprocessor"></span>
+00023 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00024 <span class="preprocessor"></span><span class="keyword">namespace </span>H5 {
+00025 <span class="preprocessor">#endif</span>
+00026 <span class="preprocessor"></span>
+<a name="l00027"></a><a class="code" href="classH5_1_1VarLenType.html">00027</a> <span class="keyword">class </span>H5_DLLCPP VarLenType : <span class="keyword">public</span> <a class="code" href="classH5_1_1DataType.html">DataType</a> {
+00028    <span class="keyword">public</span>:
+00029         <span class="comment">// Constructor that creates a variable-length datatype based</span>
+00030         <span class="comment">// on the specified base type.</span>
+00031         VarLenType(<span class="keyword">const</span> <a class="code" href="classH5_1_1DataType.html">DataType</a>* base_type);
+00032 
+00033         <span class="comment">// Returns this class name</span>
+<a name="l00034"></a><a class="code" href="classH5_1_1VarLenType.html#a1">00034</a>         <span class="keyword">virtual</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> <a class="code" href="classH5_1_1DataType.html#a35">fromClass</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span>(<span class="stringliteral">"VarLenType"</span>); }
+00035 
+00036         <span class="comment">// Copy constructor: makes copy of the original object.</span>
+00037         VarLenType( <span class="keyword">const</span> VarLenType&amp; original );
+00038 
+00039         <span class="comment">// Constructor that takes an existing id</span>
+00040         VarLenType( <span class="keyword">const</span> hid_t existing_id );
+00041 
+00042         <span class="comment">// Noop destructor</span>
+00043         <span class="keyword">virtual</span> ~VarLenType();
+00044 
+00045    <span class="keyword">protected</span>:
+00046         <span class="comment">// Default constructor</span>
+00047         VarLenType();
+00048 };
+00049 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+00050 <span class="preprocessor"></span>}
+00051 <span class="preprocessor">#endif</span>
+00052 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/H5VarLenType_8h.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5VarLenType.h File Reference</h1>
 <p>
 <a href="H5VarLenType_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -329,9 +346,12 @@
 <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceH5.html">H5</a></td></tr>
 
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td></tr>
+
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/annotated.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/annotated.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/annotated.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindexHL" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindexHL" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td class="indexvalue"></td></tr>
@@ -360,8 +377,8 @@
   <tr><td class="indexkey"><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td class="indexvalue"></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/chunks_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/chunks_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/chunks_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>chunks.cpp</h1><dl compact><dt><b></b></dt><dd>This example shows how to read data from a chunked dataset.</dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">/*</span>
@@ -342,21 +360,28 @@
 <span class="comment"> *   We will read from the file created by extend.C</span>
 <span class="comment"> */</span>
 
-<span class="preprocessor">#include &lt;string&gt;</span>
-
 <span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+<span class="preprocessor"></span><span class="preprocessor">#ifndef H5_NO_STD</span>
+<span class="preprocessor"></span>    <span class="keyword">using</span> std::cout;
+    <span class="keyword">using</span> std::endl;
+<span class="preprocessor">#endif  // H5_NO_STD</span>
+<span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+
+<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string FILE_NAME( <span class="stringliteral">"SDSextendible.h5"</span> );
-<span class="keyword">const</span> string DATASET_NAME( <span class="stringliteral">"ExtendibleArray"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> FILE_NAME( <span class="stringliteral">"SDSextendible.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> DATASET_NAME( <span class="stringliteral">"ExtendibleArray"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>      NX = 10;
 <span class="keyword">const</span> <span class="keywordtype">int</span>      NY = 5;
 <span class="keyword">const</span> <span class="keywordtype">int</span>      RANK = 2;
@@ -430,7 +455,7 @@
 <span class="comment">       * Read dataset back and display.</span>
 <span class="comment">       */</span>
       <span class="keywordtype">int</span> data_out[NX][NY];  <span class="comment">// buffer for dataset to be read</span>
-      dataset.read( data_out, <a name="a1"></a><a class="code" href="classH5_1_1PredType.html#s83">PredType::NATIVE_INT</a>, mspace1, filespace );
+      dataset.read( data_out, PredType::NATIVE_INT, mspace1, filespace );
       cout &lt;&lt; <span class="stringliteral">"\n"</span>;
       cout &lt;&lt; <span class="stringliteral">"Dataset: \n"</span>;
       <span class="keywordflow">for</span> (j = 0; j &lt; dims[0]; j++)
@@ -474,7 +499,7 @@
       <span class="keywordtype">int</span>      column[10];        <span class="comment">// buffer for column to be read</span>
 
       filespace.selectHyperslab( H5S_SELECT_SET, count, offset );
-      dataset.read( column, <a class="code" href="classH5_1_1PredType.html#s83">PredType::NATIVE_INT</a>, mspace2, filespace );
+      dataset.read( column, PredType::NATIVE_INT, mspace2, filespace );
 
       cout &lt;&lt; endl;
       cout &lt;&lt; <span class="stringliteral">"Third column: "</span> &lt;&lt; endl;
@@ -513,7 +538,7 @@
 <span class="comment">       * Read chunk back and display.</span>
 <span class="comment">       */</span>
       <span class="keywordtype">int</span> chunk_out[2][5];   <span class="comment">// buffer for chunk to be read</span>
-      dataset.read( chunk_out, <a class="code" href="classH5_1_1PredType.html#s83">PredType::NATIVE_INT</a>, mspace3, filespace );
+      dataset.read( chunk_out, PredType::NATIVE_INT, mspace3, filespace );
       cout &lt;&lt; endl;
       cout &lt;&lt; <span class="stringliteral">"Chunk:"</span> &lt;&lt; endl;
       <span class="keywordflow">for</span> (j = 0; j &lt; chunk_dims[0]; j++)
@@ -552,8 +577,8 @@
 
    <span class="keywordflow">return</span> 0;
 }
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,28 +337,29 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::AbstractDs Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a11">AbstractDs</a>(const AbstractDs &amp;original)</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#b0">AbstractDs</a>()</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#b1">AbstractDs</a>(const hid_t ds_id)</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">fromClass</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a1">getArrayType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a2">getCompType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a0">getDataType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a3">getEnumType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a4">getFloatType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a5">getIntType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a5">getFloatType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a4">getIntType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a8">getSpace</a>() const =0</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [pure virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a10">getStorageSize</a>() const =0</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [pure virtual]</code></td></tr>
@@ -349,26 +367,28 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a9">getTypeClass</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a7">getVarLenType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a12">~AbstractDs</a>()</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AbstractDs.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1AbstractDs.html">AbstractDs</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::AbstractDs Class Reference</h1><code>#include &lt;<a class="el" href="H5AbstractDs_8h-source.html">H5AbstractDs.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::AbstractDs:
@@ -342,19 +357,19 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the generic datatype of this abstract dataset, which can be a dataset or an attribute.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a1">getArrayType</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the compound datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a1"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the array datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a2">getCompType</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the compound datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a2"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a3">getEnumType</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the enumeration datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a4">getFloatType</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a4">getIntType</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a5">getIntType</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a5">getFloatType</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a5"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute.  <a href="#a5"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html#a6">getStrType</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the string datatype of this abstract dataset which can be a dataset or an attribute.  <a href="#a6"></a><br></td></tr>
@@ -384,7 +399,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a11" doxytag="H5::AbstractDs::AbstractDs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -414,12 +429,12 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::AbstractDs::~AbstractDs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::AbstractDs::~AbstractDs           </td>
+          <td class="md" nowrap valign="top">H5::AbstractDs::~<a class="el" href="classH5_1_1AbstractDs.html">AbstractDs</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -443,7 +458,7 @@
   </tr>
 </table>
 <a class="anchor" name="b0" doxytag="H5::AbstractDs::AbstractDs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -472,7 +487,7 @@
   </tr>
 </table>
 <a class="anchor" name="b1" doxytag="H5::AbstractDs::AbstractDs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -503,7 +518,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::AbstractDs::getDataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -531,14 +546,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataType.html">DataType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::AbstractDs::getArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -561,19 +576,19 @@
     <td>
 
 <p>
-Returns the compound datatype of this abstract dataset which can be a dataset or an attribute. 
+Returns the array datatype of this abstract dataset which can be a dataset or an attribute. 
 <p>
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::AbstractDs::getCompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -601,14 +616,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1CompType.html">CompType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::AbstractDs::getEnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -636,19 +651,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1EnumType.html">EnumType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::AbstractDs::getFloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::AbstractDs::getIntType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a> H5::AbstractDs::getFloatType           </td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a> H5::AbstractDs::getIntType           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -666,24 +681,24 @@
     <td>
 
 <p>
-Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute. 
+Returns the integer datatype of this abstract dataset which can be a dataset or an attribute. 
 <p>
-<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1FloatType.html">FloatType</a> instance </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1IntType.html">IntType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::AbstractDs::getIntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::AbstractDs::getFloatType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a> H5::AbstractDs::getIntType           </td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a> H5::AbstractDs::getFloatType           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -701,19 +716,19 @@
     <td>
 
 <p>
-Returns the integer datatype of this abstract dataset which can be a dataset or an attribute. 
+Returns the floating-point datatype of this abstract dataset, which can be a dataset or an attribute. 
 <p>
-<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1IntType.html">IntType</a> instance </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1FloatType.html">FloatType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::AbstractDs::getStrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -741,14 +756,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1StrType.html">StrType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::AbstractDs::getVarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -776,14 +791,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::AbstractDs::getSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -808,11 +823,11 @@
 <p>
 
 <p>
-Implemented in <a class="el" href="classH5_1_1Attribute.html#a3">H5::Attribute</a>, and <a class="el" href="classH5_1_1DataSet.html#a5">H5::DataSet</a>.    </td>
+Implemented in <a class="el" href="classH5_1_1Attribute.html#a4">H5::Attribute</a>, and <a class="el" href="classH5_1_1DataSet.html#a6">H5::DataSet</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::AbstractDs::getTypeClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -840,14 +855,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Datatype class identifier </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::AbstractDs::getStorageSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -872,11 +887,11 @@
 <p>
 
 <p>
-Implemented in <a class="el" href="classH5_1_1Attribute.html#a4">H5::Attribute</a>, and <a class="el" href="classH5_1_1DataSet.html#a7">H5::DataSet</a>.    </td>
+Implemented in <a class="el" href="classH5_1_1Attribute.html#a5">H5::Attribute</a>, and <a class="el" href="classH5_1_1DataSet.html#a8">H5::DataSet</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,82 +337,89 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::ArrayType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a0">ArrayType</a>(const DataType &amp;base_type, int ndims, const hsize_t *dims)</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a4">ArrayType</a>(const ArrayType &amp;original)</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a5">ArrayType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#b0">ArrayType</a>()</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a3">fromClass</a>() const </td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a2">getArrayDims</a>(hsize_t *dims)</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a1">getArrayNDims</a>()</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ArrayType.html#a6">~ArrayType</a>()</td><td><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ArrayType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1ArrayType.html">ArrayType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::ArrayType Class Reference</h1><code>#include &lt;<a class="el" href="H5ArrayType_8h-source.html">H5ArrayType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::ArrayType:
@@ -345,7 +360,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html#a2">getArrayDims</a> (hsize_t *dims)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of all dimensions of an array datatype.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html#a3">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html#a3">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html#a4">ArrayType</a> (const <a class="el" href="classH5_1_1ArrayType.html">ArrayType</a> &amp;original)</td></tr>
 
@@ -363,7 +378,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::ArrayType::ArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -413,14 +428,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::ArrayType::ArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -450,7 +465,7 @@
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::ArrayType::ArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -483,19 +498,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::ArrayType::~ArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::ArrayType::~ArrayType           </td>
+          <td class="md" nowrap valign="top">H5::ArrayType::~<a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -519,7 +534,7 @@
   </tr>
 </table>
 <a class="anchor" name="b0" doxytag="H5::ArrayType::ArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -549,7 +564,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a1" doxytag="H5::ArrayType::getArrayNDims"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -577,14 +592,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of dimensions </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::ArrayType::getArrayDims"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -618,19 +633,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of dimensions </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::ArrayType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::ArrayType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::ArrayType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -650,11 +665,11 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1DataType.html#a31">H5::DataType</a>.    </td>
+Reimplemented from <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,87 +337,94 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::AtomType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a11">AtomType</a>(const AtomType &amp;original)</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a10">fromClass</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a3">getOffset</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a0">getOrder</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(H5std_string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a5">getPad</a>(H5T_pad_t &amp;lsb, H5T_pad_t &amp;msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a7">getPrecision</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a4">setOffset</a>(size_t offset) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a2">setOrder</a>(H5T_order_t order) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a6">setPad</a>(H5T_pad_t lsb, H5T_pad_t msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a8">setPrecision</a>(size_t precision) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a9">setSize</a>(size_t size) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a12">~AtomType</a>()</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AtomType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1AtomType.html">AtomType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::AtomType Class Reference</h1><code>#include &lt;<a class="el" href="H5AtomType_8h-source.html">H5AtomType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::AtomType:
@@ -343,9 +358,9 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_order_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a0">getOrder</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the byte order of an atomic datatype.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_order_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a> (string &amp;order_string) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_order_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a> (H5std_string &amp;order_string) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes a reference to a <code>std::string</code> for the buffer that provide the text description of the returned byte order. The text description can be either of the following: "Little endian byte ordering (0)"; "Big endian byte ordering (1)"; "VAX mixed byte ordering (2)";.  <a href="#a1"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes a reference to a <code>H5std_string</code> for the buffer that provide the text description of the returned byte order. The text description can be either of the following: "Little endian byte ordering (0)"; "Big endian byte ordering (1)"; "VAX mixed byte ordering (2)";.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a2">setOrder</a> (H5T_order_t order) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the byte ordering of an atomic datatype.  <a href="#a2"></a><br></td></tr>
@@ -370,7 +385,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a9">setSize</a> (size_t size) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the total size for an atomic datatype.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a10">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a10">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html#a11">AtomType</a> (const <a class="el" href="classH5_1_1AtomType.html">AtomType</a> &amp;original)</td></tr>
 
@@ -381,7 +396,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a11" doxytag="H5::AtomType::AtomType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -411,12 +426,12 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::AtomType::~AtomType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::AtomType::~AtomType           </td>
+          <td class="md" nowrap valign="top">H5::AtomType::~<a class="el" href="classH5_1_1AtomType.html">AtomType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -441,7 +456,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::AtomType::getOrder"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -474,21 +489,21 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::AtomType::getOrder"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5T_order_t H5::AtomType::getOrder           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>order_string</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -505,7 +520,7 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It takes a reference to a <code>std::string</code> for the buffer that provide the text description of the returned byte order. The text description can be either of the following: "Little endian byte ordering (0)"; "Big endian byte ordering (1)"; "VAX mixed byte ordering (2)";. 
+This is an overloaded member function, provided for convenience. It takes a reference to a <code>H5std_string</code> for the buffer that provide the text description of the returned byte order. The text description can be either of the following: "Little endian byte ordering (0)"; "Big endian byte ordering (1)"; "VAX mixed byte ordering (2)";. 
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
@@ -520,14 +535,14 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::AtomType::setOrder"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -565,14 +580,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::AtomType::getOffset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -600,15 +615,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Offset value </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see C layer Reference Manuat at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-GetOffset">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-GetOffset</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see C layer Reference Manuat at: <a href="../RM_H5T.html#Datatype-GetOffset">../RM_H5T.html#Datatype-GetOffset</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::AtomType::setOffset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -641,15 +656,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see C layer Reference Manuat at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOffset">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOffset</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see C layer Reference Manuat at: <a href="../RM_H5T.html#Datatype-SetOffset">../RM_H5T.html#Datatype-SetOffset</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::AtomType::getPad"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -692,7 +707,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Possible values for <em>lsb</em> and <em>msb</em> include: <ul>
@@ -705,7 +720,7 @@
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::AtomType::setPad"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -748,7 +763,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Valid values for <em>lsb</em> and <em>msb</em> include: <ul>
@@ -761,7 +776,7 @@
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::AtomType::getPrecision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -789,15 +804,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of significant bits </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>The precision is the number of significant bits which, unless padding is present, is 8 times larger than the value returned by <code><a class="el" href="classH5_1_1DataType.html#a15">DataType::getSize()</a></code>. </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>The precision is the number of significant bits which, unless padding is present, is 8 times larger than the value returned by <code><a class="el" href="classH5_1_1DataType.html#a19">DataType::getSize()</a></code>. </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::AtomType::setPrecision"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -830,15 +845,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see C layer Reference Manuat at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetPrecision">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetPrecision</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see C layer Reference Manuat at: <a href="../RM_H5T.html#Datatype-SetPrecision">../RM_H5T.html#Datatype-SetPrecision</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::AtomType::setSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -871,19 +886,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::AtomType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::AtomType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::AtomType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -903,13 +918,13 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1DataType.html#a31">H5::DataType</a>.
+Reimplemented from <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>.
 <p>
 Reimplemented in <a class="el" href="classH5_1_1FloatType.html#a10">H5::FloatType</a>, <a class="el" href="classH5_1_1IntType.html#a4">H5::IntType</a>, <a class="el" href="classH5_1_1PredType.html#a0">H5::PredType</a>, and <a class="el" href="classH5_1_1StrType.html#a8">H5::StrType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,67 +337,71 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::Attribute Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a11">AbstractDs</a>(const AbstractDs &amp;original)</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#b0">AbstractDs</a>()</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#b1">AbstractDs</a>(const hid_t ds_id)</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a10">Attribute</a>(const hid_t attr_id)</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a11">Attribute</a>(const Attribute &amp;original)</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a12">Attribute</a>()</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a13">close</a>()</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a11">Attribute</a>(const hid_t attr_id)</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a12">Attribute</a>(const Attribute &amp;original)</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a13">Attribute</a>()</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a0">close</a>()</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a9">fromClass</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a10">fromClass</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a1">getArrayType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a2">getCompType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a0">getDataType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a3">getEnumType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a4">getFloatType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a5">getIntType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a0">getName</a>(size_t buf_size, string &amp;attr_name) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a1">getName</a>(size_t buf_size) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a2">getName</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a5">getFloatType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a4">getIntType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a1">getName</a>(size_t buf_size, H5std_string &amp;attr_name) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a2">getName</a>(size_t buf_size) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a3">getName</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a3">getSpace</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a4">getStorageSize</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a4">getSpace</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a5">getStorageSize</a>() const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a6">getStrType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a9">getTypeClass</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a7">getVarLenType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">H5::AbstractDs::iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a5">read</a>(const DataType &amp;mem_type, void *buf) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a6">read</a>(const DataType &amp;mem_type, string &amp;strg) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a6">read</a>(const DataType &amp;mem_type, void *buf) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a7">read</a>(const DataType &amp;mem_type, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a7">write</a>(const DataType &amp;mem_type, const void *buf) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a8">write</a>(const DataType &amp;mem_type, const string &amp;strg) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">H5::AbstractDs::renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">H5::AbstractDs::renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a8">write</a>(const DataType &amp;mem_type, const void *buf) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a9">write</a>(const DataType &amp;mem_type, const H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a12">~AbstractDs</a>()</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Attribute.html#a14">~Attribute</a>()</td><td><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Attribute.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1Attribute.html">Attribute</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::Attribute Class Reference</h1><code>#include &lt;<a class="el" href="H5Attribute_8h-source.html">H5Attribute.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::Attribute:
@@ -336,54 +351,54 @@
 <a href="classH5_1_1Attribute-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a0">getName</a> (size_t buf_size, string &amp;attr_name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a0">close</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the name of this attribute, returning its length.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a1">getName</a> (size_t buf_size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this attribute.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a1">getName</a> (size_t buf_size, H5std_string &amp;attr_name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it returns the attribute's name, not the length.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a2">getName</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the name of this attribute, returning its length.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a2">getName</a> (size_t buf_size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above functions in that it doesn't take any arguments and returns the attribute's name.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a3">getSpace</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it returns the attribute's name, not the length.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a3">getName</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a copy of the dataspace for this attribute.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a4">getStorageSize</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above functions in that it doesn't take any arguments and returns the attribute's name.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a4">getSpace</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of storage size required for this attribute.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a5">read</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, void *buf) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a copy of the dataspace for this attribute.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a5">getStorageSize</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads data from this attribute.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a6">read</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, string &amp;strg) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of storage size required for this attribute.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a6">read</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, void *buf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It reads a <em>std::string</em> from this attribute.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a7">write</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const void *buf) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads data from this attribute.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a7">read</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, H5std_string &amp;strg) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes data to this attribute.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a8">write</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const string &amp;strg) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It reads a <em>H5std_string</em> from this attribute.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a8">write</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const void *buf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It writes a <em>std::string</em> to this attribute.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a9">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes data to this attribute.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a9">write</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const H5std_string &amp;strg) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a10">Attribute</a> (const hid_t attr_id)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It writes a <em>H5std_string</em> to this attribute.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a10">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1Attribute.html">Attribute</a> object using the id of an existing attribute.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a11">Attribute</a> (const <a class="el" href="classH5_1_1Attribute.html">Attribute</a> &amp;original)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a11">Attribute</a> (const hid_t attr_id)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1Attribute.html">Attribute</a> object.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a12">Attribute</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1Attribute.html">Attribute</a> object using the id of an existing attribute.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a12">Attribute</a> (const <a class="el" href="classH5_1_1Attribute.html">Attribute</a> &amp;original)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub attribute.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a13">close</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1Attribute.html">Attribute</a> object.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a13">Attribute</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this attribute.  <a href="#a13"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub attribute.  <a href="#a13"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html#a14">~Attribute</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this attribute.  <a href="#a14"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a10" doxytag="H5::Attribute::Attribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::Attribute::Attribute"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -416,14 +431,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::Attribute::Attribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::Attribute::Attribute"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -457,8 +472,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::Attribute::Attribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::Attribute::Attribute"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -487,12 +502,12 @@
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::Attribute::~Attribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::Attribute::~Attribute           </td>
+          <td class="md" nowrap valign="top">H5::Attribute::~<a class="el" href="classH5_1_1Attribute.html">Attribute</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -516,12 +531,46 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::Attribute::getName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::Attribute::close"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::Attribute::close           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap><code> [virtual]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Closes this attribute. 
+<p>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a1" doxytag="H5::Attribute::getName"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">ssize_t H5::Attribute::getName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">size_t&nbsp;</td>
@@ -530,7 +579,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>string &amp;&nbsp;</td>
+          <td class="md" nowrap>H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>attr_name</em></td>
         </tr>
         <tr>
@@ -561,19 +610,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Length of the attribute name </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a1" doxytag="H5::Attribute::getName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::Attribute::getName"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::Attribute::getName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::Attribute::getName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">size_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>buf_size</em>          </td>
@@ -602,19 +651,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a2" doxytag="H5::Attribute::getName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::Attribute::getName"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::Attribute::getName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::Attribute::getName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -637,14 +686,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Name of the attribute </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::Attribute::getSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::Attribute::getSpace"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -672,7 +721,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Dataspace instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 
@@ -680,8 +729,8 @@
 Implements <a class="el" href="classH5_1_1AbstractDs.html#a8">H5::AbstractDs</a>.    </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::Attribute::getStorageSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::Attribute::getStorageSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -709,7 +758,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Size of the storage or 0, for no data </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 
@@ -717,8 +766,8 @@
 Implements <a class="el" href="classH5_1_1AbstractDs.html#a10">H5::AbstractDs</a>.    </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::Attribute::read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::Attribute::read"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -761,14 +810,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::Attribute::read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::Attribute::read"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -781,7 +830,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>string &amp;&nbsp;</td>
+          <td class="md" nowrap>H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>strg</em></td>
         </tr>
         <tr>
@@ -801,7 +850,7 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It reads a <em>std::string</em> from this attribute. 
+This is an overloaded member function, provided for convenience. It reads a <em>H5std_string</em> from this attribute. 
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
@@ -811,14 +860,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::Attribute::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::Attribute::write"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -861,14 +910,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::Attribute::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::Attribute::write"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -881,7 +930,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>strg</em></td>
         </tr>
         <tr>
@@ -901,7 +950,7 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It writes a <em>std::string</em> to this attribute. 
+This is an overloaded member function, provided for convenience. It writes a <em>H5std_string</em> to this attribute. 
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
@@ -911,19 +960,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::Attribute::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::Attribute::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::Attribute::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::Attribute::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -941,47 +990,11 @@
     <td>
 
 <p>
-
-<p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.    </td>
-  </tr>
-</table>
-<a class="anchor" name="a13" doxytag="H5::Attribute::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">void H5::Attribute::close           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [virtual]</code></td>
-        </tr>
-      </table>
     </td>
   </tr>
 </table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Closes this attribute. 
-<p>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,15 +337,15 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::AttributeIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AttributeIException.html#a0">AttributeIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AttributeIException.html#a0">AttributeIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AttributeIException.html#a1">AttributeIException</a>()</td><td><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -343,8 +360,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AttributeIException.html#a2">~AttributeIException</a>()</td><td><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1AttributeIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1AttributeIException.html">AttributeIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::AttributeIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::AttributeIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1AttributeIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AttributeIException.html#a0">AttributeIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AttributeIException.html#a0">AttributeIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1AttributeIException.html">AttributeIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AttributeIException.html#a1">AttributeIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::AttributeIException::AttributeIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::AttributeIException::AttributeIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::AttributeIException::AttributeIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::AttributeIException::~AttributeIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::AttributeIException::~AttributeIException           </td>
+          <td class="md" nowrap valign="top">H5::AttributeIException::~<a class="el" href="classH5_1_1AttributeIException.html">AttributeIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,67 +337,68 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::CommonFG Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a54">CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a55">CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a4">createDataSet</a>(const char *name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a>(const string &amp;name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a>(const H5std_string &amp;name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a0">createGroup</a>(const char *name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a>(const string &amp;name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a>(const H5std_string &amp;name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a9">getComment</a>(const char *name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a>(const string &amp;name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a>(const H5std_string &amp;name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a15">getLinkval</a>(const char *name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a>(const string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a52">getLocId</a>() const =0</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a>(const H5std_string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a17">getNumObjs</a>() const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a18">getObjinfo</a>(const char *name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a>(const string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a20">getObjnameByIdx</a>(hsize_t idx, string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a21">getObjnameByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a22">getObjTypeByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a23">getObjTypeByIdx</a>(hsize_t idx, string &amp;type_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a24">iterateElems</a>(const char *name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a25">iterateElems</a>(const string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a26">link</a>(H5G_link_t link_type, const char *curr_name, const char *new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a27">link</a>(H5G_link_t link_type, const string &amp;curr_name, const string &amp;new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a30">mount</a>(const char *name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a31">mount</a>(const string &amp;name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a34">move</a>(const char *src, const char *dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a35">move</a>(const string &amp;src, const string &amp;dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a38">openArrayType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a39">openArrayType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a40">openCompType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a41">openCompType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a>(const H5std_string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a20">getObjinfo</a>(const char *name, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a21">getObjinfo</a>(const H5std_string &amp;name, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a22">getObjnameByIdx</a>(hsize_t idx, H5std_string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a23">getObjnameByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a24">getObjTypeByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a25">getObjTypeByIdx</a>(hsize_t idx, H5std_string &amp;type_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a26">iterateElems</a>(const char *name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a27">iterateElems</a>(const H5std_string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a28">link</a>(H5G_link_t link_type, const char *curr_name, const char *new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a29">link</a>(H5G_link_t link_type, const H5std_string &amp;curr_name, const H5std_string &amp;new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a32">mount</a>(const char *name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a33">mount</a>(const H5std_string &amp;name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a36">move</a>(const char *src, const char *dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a37">move</a>(const H5std_string &amp;src, const H5std_string &amp;dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a40">openArrayType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a41">openArrayType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a42">openCompType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a43">openCompType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a6">openDataSet</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a36">openDataType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a37">openDataType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a42">openEnumType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a43">openEnumType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a46">openFloatType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a47">openFloatType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a38">openDataType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a39">openDataType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a44">openEnumType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a45">openEnumType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a48">openFloatType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a49">openFloatType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a2">openGroup</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a44">openIntType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a45">openIntType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a48">openStrType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a49">openStrType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a50">openVarLenType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a51">openVarLenType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a46">openIntType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a47">openIntType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a50">openStrType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a51">openStrType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a52">openVarLenType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a53">openVarLenType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a11">removeComment</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a13">setComment</a>(const char *name, const char *comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a>(const string &amp;name, const string &amp;comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a53">throwException</a>(const string func_name, const string msg) const =0</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a28">unlink</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a29">unlink</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a32">unmount</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a33">unmount</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a55">~CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a>(const H5std_string &amp;name, const H5std_string &amp;comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a54">throwException</a>(const H5std_string &amp;func_name, const H5std_string &amp;msg) const =0</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [pure virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a30">unlink</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a31">unlink</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a34">unmount</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a35">unmount</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a56">~CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CommonFG.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1CommonFG.html">CommonFG</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::CommonFG Class Reference</h1><code>#include &lt;<a class="el" href="H5CommonFG_8h-source.html">H5CommonFG.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::CommonFG:
@@ -338,174 +353,178 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Group.html">Group</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a0">createGroup</a> (const char *name, size_t size_hint=0) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new group at this location which can be a file or another group.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Group.html">Group</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a> (const string &amp;name, size_t size_hint=0) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Group.html">Group</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a> (const H5std_string &amp;name, size_t size_hint=0) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a1"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Group.html">Group</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a2">openGroup</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an existing group in a location which can be a file or another group.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Group.html">Group</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Group.html">Group</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a3"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a3"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a4">createDataSet</a> (const char *name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;data_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;data_space, const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> &amp;create_plist=<a class="el" href="classH5_1_1DSetCreatPropList.html#s0">DSetCreatPropList::DEFAULT</a>) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new dataset at this location.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a> (const string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;data_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;data_space, const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> &amp;create_plist=<a class="el" href="classH5_1_1DSetCreatPropList.html#s0">DSetCreatPropList::DEFAULT</a>) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a> (const H5std_string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;data_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;data_space, const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> &amp;create_plist=<a class="el" href="classH5_1_1DSetCreatPropList.html#s0">DSetCreatPropList::DEFAULT</a>) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a5"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a5"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a6">openDataSet</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an existing dataset at this location.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a> (const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves comment for the specified object.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a9">getComment</a> (const char *name, size_t bufsize) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a9">getComment</a> (const char *name, size_t bufsize) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves comment for the specified object and its comment's length.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a> (const string &amp;name, size_t bufsize) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a> (const H5std_string &amp;name, size_t bufsize) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a10"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a10"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a11">removeComment</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the comment from an object specified by its name.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a12"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a12"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a13">setComment</a> (const char *name, const char *comment) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets or resets the comment for an object specified by its name.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a> (const string &amp;name, const string &amp;comment) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a> (const H5std_string &amp;name, const H5std_string &amp;comment) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em> and <em>comment</em>.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a15">getLinkval</a> (const char *name, size_t size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em> and <em>comment</em>.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a15">getLinkval</a> (const char *name, size_t size) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the object that the symbolic link points to.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a> (const string &amp;name, size_t size) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a> (const H5std_string &amp;name, size_t size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a16"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a16"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a17">getNumObjs</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of objects in this group.  <a href="#a17"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a18">getObjinfo</a> (const char *name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about an object.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a> (const string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a> (const H5std_string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a20">getObjnameByIdx</a> (hsize_t idx, string &amp;name, size_t size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a20">getObjinfo</a> (const char *name, H5G_stat_t &amp;statbuf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of an object in this group, given the object's index.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a21">getObjnameByIdx</a> (hsize_t idx) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above functions in that it doesn't have the paramemter <em>follow_link</em>.  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a21">getObjinfo</a> (const H5std_string &amp;name, H5G_stat_t &amp;statbuf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of an object in this group, given the object's index.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a22">getObjTypeByIdx</a> (hsize_t idx) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">ssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a22">getObjnameByIdx</a> (hsize_t idx, H5std_string &amp;name, size_t size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of an object in this group, given the object's index.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a23">getObjTypeByIdx</a> (hsize_t idx, string &amp;type_name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of an object in this group, given the object's index.  <a href="#a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a23">getObjnameByIdx</a> (hsize_t idx) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function because it also provides the returned object type in text.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a24">iterateElems</a> (const char *name, int *idx, H5G_iterate_t op, void *op_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of an object in this group, given the object's index.  <a href="#a23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a24">getObjTypeByIdx</a> (hsize_t idx) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterates a user's function over the entries of a group.  <a href="#a24"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a25">iterateElems</a> (const string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of an object in this group, given the object's index.  <a href="#a24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a25">getObjTypeByIdx</a> (hsize_t idx, H5std_string &amp;type_name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a25"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a26">link</a> (H5G_link_t link_type, const char *curr_name, const char *new_name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function because it also provides the returned object type in text.  <a href="#a25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a26">iterateElems</a> (const char *name, int *idx, H5G_iterate_t op, void *op_data)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a link of the specified type from <em>new_name</em> to <em>curr_name</em>.  <a href="#a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a27">link</a> (H5G_link_t link_type, const string &amp;curr_name, const string &amp;new_name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterates a user's function over the entries of a group.  <a href="#a26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a27">iterateElems</a> (const H5std_string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>curr_name</em> and <em>new_name</em>.  <a href="#a27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a28">unlink</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a27"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a28">link</a> (H5G_link_t link_type, const char *curr_name, const char *new_name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the specified name at this location.  <a href="#a28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a29">unlink</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a link of the specified type from <em>new_name</em> to <em>curr_name</em>.  <a href="#a28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a29">link</a> (H5G_link_t link_type, const H5std_string &amp;curr_name, const H5std_string &amp;new_name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a30">mount</a> (const char *name, <a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;child, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;plist) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>curr_name</em> and <em>new_name</em>.  <a href="#a29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a30">unlink</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mounts the file <em>child</em> onto this group.  <a href="#a30"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a31">mount</a> (const string &amp;name, <a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;child, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;plist) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the specified name at this location.  <a href="#a30"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a31">unlink</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a31"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a32">unmount</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a31"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a32">mount</a> (const char *name, <a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;child, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;plist) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unmounts the specified file.  <a href="#a32"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a33">unmount</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mounts the file <em>child</em> onto this group.  <a href="#a32"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a33">mount</a> (const H5std_string &amp;name, <a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;child, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;plist) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a33"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a34">move</a> (const char *src, const char *dst) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a33"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a34">unmount</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames an object at this location.  <a href="#a34"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a35">move</a> (const string &amp;src, const string &amp;dst) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unmounts the specified file.  <a href="#a34"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a35">unmount</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>src</em> and <em>dst</em>.  <a href="#a35"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a36">openDataType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a35"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a36">move</a> (const char *src, const char *dst) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named generic datatype at this location.  <a href="#a36"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a37">openDataType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames an object at this location.  <a href="#a36"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a37">move</a> (const H5std_string &amp;src, const H5std_string &amp;dst) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a37"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a38">openArrayType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>src</em> and <em>dst</em>.  <a href="#a37"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a38">openDataType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named array datatype at this location.  <a href="#a38"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a39">openArrayType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named generic datatype at this location.  <a href="#a38"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a39">openDataType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a39"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a40">openCompType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a39"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a40">openArrayType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named compound datatype at this location.  <a href="#a40"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a41">openCompType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named array datatype at this location.  <a href="#a40"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a41">openArrayType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a41"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a42">openEnumType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a41"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a42">openCompType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named enumeration datatype at this location.  <a href="#a42"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a43">openEnumType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named compound datatype at this location.  <a href="#a42"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a43">openCompType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a43"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a44">openIntType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a43"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a44">openEnumType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named integer datatype at this location.  <a href="#a44"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a45">openIntType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named enumeration datatype at this location.  <a href="#a44"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a45">openEnumType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a45"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a46">openFloatType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a45"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a46">openIntType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named floating-point datatype at this location.  <a href="#a46"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a47">openFloatType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named integer datatype at this location.  <a href="#a46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a47">openIntType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a47"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a48">openStrType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a47"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a48">openFloatType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named string datatype at this location.  <a href="#a48"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a49">openStrType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named floating-point datatype at this location.  <a href="#a48"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a49">openFloatType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a49"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a50">openVarLenType</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a49"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a50">openStrType</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named variable length datatype at this location.  <a href="#a50"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a51">openVarLenType</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named string datatype at this location.  <a href="#a50"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a51">openStrType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>.  <a href="#a51"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a52">getLocId</a> () const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a51"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a52">openVarLenType</a> (const char *name) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a53">throwException</a> (const string func_name, const string msg) const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens the named variable length datatype at this location.  <a href="#a52"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a53">openVarLenType</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For subclasses, <a class="el" href="classH5_1_1H5File.html">H5File</a> and <a class="el" href="classH5_1_1Group.html">Group</a>, to throw appropriate exception.  <a href="#a53"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a54">CommonFG</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a53"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a54">throwException</a> (const H5std_string &amp;func_name, const H5std_string &amp;msg) const =0</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a54"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a55">~CommonFG</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For subclasses, <a class="el" href="classH5_1_1H5File.html">H5File</a> and <a class="el" href="classH5_1_1Group.html">Group</a>, to throw appropriate exception.  <a href="#a54"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a55">CommonFG</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a55"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a55"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html#a56">~CommonFG</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a56"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a54" doxytag="H5::CommonFG::CommonFG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a55" doxytag="H5::CommonFG::CommonFG"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -533,13 +552,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a55" doxytag="H5::CommonFG::~CommonFG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a56" doxytag="H5::CommonFG::~CommonFG"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::CommonFG::~CommonFG           </td>
+          <td class="md" nowrap valign="top">H5::CommonFG::~<a class="el" href="classH5_1_1CommonFG.html">CommonFG</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -564,7 +583,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::CommonFG::createGroup"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -608,7 +627,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1Group.html">Group</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The optional <em>size_hint</em> specifies how much file space to reserve for storing the names that will appear in this new group. If a non-positive value is provided for the <em>size_hint</em> then a default size is chosen. </dd></dl>
@@ -616,14 +635,14 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::CommonFG::createGroup"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1Group.html">Group</a> H5::CommonFG::createGroup           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -649,13 +668,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::CommonFG::openGroup"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -689,21 +708,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1Group.html">Group</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::CommonFG::openGroup"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1Group.html">Group</a> H5::CommonFG::openGroup           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -720,13 +739,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::CommonFG::createDataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -784,21 +803,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSet.html">DataSet</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::CommonFG::createDataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a> H5::CommonFG::createDataSet           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -836,13 +855,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::CommonFG::openDataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -876,21 +895,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSet.html">DataSet</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::CommonFG::openDataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1DataSet.html">DataSet</a> H5::CommonFG::openDataSet           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -907,20 +926,20 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::CommonFG::getComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CommonFG::getComment           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CommonFG::getComment           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -947,19 +966,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Comment string </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::CommonFG::getComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CommonFG::getComment           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CommonFG::getComment           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const char *&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
@@ -998,21 +1017,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Comment string </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::CommonFG::getComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CommonFG::getComment           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CommonFG::getComment           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1038,13 +1057,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::CommonFG::removeComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1077,21 +1096,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::CommonFG::removeComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::removeComment           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1108,13 +1127,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a13" doxytag="H5::CommonFG::setComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1157,7 +1176,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>If <em>comment</em> is an empty string or a null pointer, the comment message is removed from the object. Comments should be relatively short, null-terminated, ASCII strings. They can be attached to any object that has an object header, e.g., data sets, groups, named data types, and data spaces, but not symbolic links. </dd></dl>
@@ -1165,20 +1184,20 @@
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::CommonFG::setComment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::setComment           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>comment</em></td>
         </tr>
         <tr>
@@ -1198,18 +1217,18 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em> and <em>comment</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em> and <em>comment</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a15" doxytag="H5::CommonFG::getLinkval"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CommonFG::getLinkval           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CommonFG::getLinkval           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const char *&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
@@ -1248,21 +1267,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Name of the object </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a16" doxytag="H5::CommonFG::getLinkval"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CommonFG::getLinkval           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CommonFG::getLinkval           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1288,13 +1307,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a17" doxytag="H5::CommonFG::getNumObjs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1322,14 +1341,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of objects </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a18" doxytag="H5::CommonFG::getObjinfo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1379,21 +1398,22 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="../RM_H5G.html#Group-GetObjinfo">../RM_H5G.html#Group-GetObjinfo</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a19" doxytag="H5::CommonFG::getObjinfo"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::getObjinfo           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1425,17 +1445,95 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::CommonFG::getObjnameByIdx"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::CommonFG::getObjinfo"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::CommonFG::getObjinfo           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>H5G_stat_t &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>statbuf</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+This is an overloaded member function, provided for convenience. It differs from the above functions in that it doesn't have the paramemter <em>follow_link</em>. 
+<p>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a21" doxytag="H5::CommonFG::getObjinfo"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">void H5::CommonFG::getObjinfo           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>H5G_stat_t &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>statbuf</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
+<p>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a22" doxytag="H5::CommonFG::getObjnameByIdx"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">ssize_t H5::CommonFG::getObjnameByIdx           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">hsize_t&nbsp;</td>
@@ -1444,7 +1542,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>string &amp;&nbsp;</td>
+          <td class="md" nowrap>H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1482,20 +1580,20 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Actual size of the object name or 0, if object has no name </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The value of idx can be any nonnegative number less than the total number of objects in the group, which is returned by the function <code><a class="el" href="classH5_1_1CommonFG.html#a17">CommonFG::getNumObjs</a></code>. Note that this is a transient index; thus, an object may have a different index each time the group is opened. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::CommonFG::getObjnameByIdx"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::CommonFG::getObjnameByIdx"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CommonFG::getObjnameByIdx           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CommonFG::getObjnameByIdx           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">hsize_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>idx</em>          </td>
@@ -1524,15 +1622,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Object name </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The value of idx can be any nonnegative number less than the total number of objects in the group, which is returned by the function <code><a class="el" href="classH5_1_1CommonFG.html#a17">CommonFG::getNumObjs</a></code>. Note that this is a transient index; thus, an object may have a different index each time the group is opened. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::CommonFG::getObjTypeByIdx"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a24" doxytag="H5::CommonFG::getObjTypeByIdx"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1566,14 +1664,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Object type </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::CommonFG::getObjTypeByIdx"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a25" doxytag="H5::CommonFG::getObjTypeByIdx"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1586,7 +1684,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>string &amp;&nbsp;</td>
+          <td class="md" nowrap>H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>type_name</em></td>
         </tr>
         <tr>
@@ -1617,14 +1715,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Object type </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::CommonFG::iterateElems"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a26" doxytag="H5::CommonFG::iterateElems"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1682,21 +1780,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>The return value of the first operator that returns non-zero, or zero if all members were processed with no operator returning non-zero. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a25" doxytag="H5::CommonFG::iterateElems"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a27" doxytag="H5::CommonFG::iterateElems"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">int H5::CommonFG::iterateElems           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1734,13 +1832,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a26" doxytag="H5::CommonFG::link"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a28" doxytag="H5::CommonFG::link"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1794,15 +1892,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Note that both names are interpreted relative to the specified location. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a27" doxytag="H5::CommonFG::link"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a29" doxytag="H5::CommonFG::link"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1815,13 +1913,13 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>curr_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>new_name</em></td>
         </tr>
         <tr>
@@ -1841,13 +1939,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>curr_name</em> and <em>new_name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>curr_name</em> and <em>new_name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a28" doxytag="H5::CommonFG::unlink"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a30" doxytag="H5::CommonFG::unlink"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1880,21 +1978,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a29" doxytag="H5::CommonFG::unlink"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a31" doxytag="H5::CommonFG::unlink"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::unlink           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1911,13 +2009,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a30" doxytag="H5::CommonFG::mount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a32" doxytag="H5::CommonFG::mount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1967,21 +2065,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a31" doxytag="H5::CommonFG::mount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a33" doxytag="H5::CommonFG::mount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::mount           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -2013,13 +2111,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a32" doxytag="H5::CommonFG::unmount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a34" doxytag="H5::CommonFG::unmount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2052,21 +2150,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a33" doxytag="H5::CommonFG::unmount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a35" doxytag="H5::CommonFG::unmount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::unmount           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2083,13 +2181,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a34" doxytag="H5::CommonFG::move"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a36" doxytag="H5::CommonFG::move"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2132,27 +2230,28 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
+<dl compact><dt><b>Note:</b></dt><dd>Exercise care in moving groups as it is possible to render data in a file inaccessible with <a class="el" href="classH5_1_1CommonFG.html#a36">Group::move</a>. Please refer to the <a class="el" href="classH5_1_1Group.html">Group</a> Interface in the HDF5 User's Guide at: <a href="../Groups.html">../Groups.html</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a35" doxytag="H5::CommonFG::move"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a37" doxytag="H5::CommonFG::move"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CommonFG::move           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>src</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>dst</em></td>
         </tr>
         <tr>
@@ -2172,13 +2271,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>src</em> and <em>dst</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>src</em> and <em>dst</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a36" doxytag="H5::CommonFG::openDataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a38" doxytag="H5::CommonFG::openDataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2212,21 +2311,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataType.html">DataType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a37" doxytag="H5::CommonFG::openDataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a39" doxytag="H5::CommonFG::openDataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a> H5::CommonFG::openDataType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2243,13 +2342,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a38" doxytag="H5::CommonFG::openArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a40" doxytag="H5::CommonFG::openArrayType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2283,21 +2382,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a39" doxytag="H5::CommonFG::openArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a41" doxytag="H5::CommonFG::openArrayType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a> H5::CommonFG::openArrayType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2314,13 +2413,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a40" doxytag="H5::CommonFG::openCompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a42" doxytag="H5::CommonFG::openCompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2354,21 +2453,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1CompType.html">CompType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a41" doxytag="H5::CommonFG::openCompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a43" doxytag="H5::CommonFG::openCompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a> H5::CommonFG::openCompType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2385,13 +2484,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a42" doxytag="H5::CommonFG::openEnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a44" doxytag="H5::CommonFG::openEnumType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2425,21 +2524,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1EnumType.html">EnumType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a43" doxytag="H5::CommonFG::openEnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a45" doxytag="H5::CommonFG::openEnumType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a> H5::CommonFG::openEnumType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2456,13 +2555,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a44" doxytag="H5::CommonFG::openIntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a46" doxytag="H5::CommonFG::openIntType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2496,21 +2595,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1IntType.html">IntType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a45" doxytag="H5::CommonFG::openIntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a47" doxytag="H5::CommonFG::openIntType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a> H5::CommonFG::openIntType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2527,13 +2626,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a46" doxytag="H5::CommonFG::openFloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a48" doxytag="H5::CommonFG::openFloatType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2567,21 +2666,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1FloatType.html">FloatType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a47" doxytag="H5::CommonFG::openFloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a49" doxytag="H5::CommonFG::openFloatType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a> H5::CommonFG::openFloatType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2598,13 +2697,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a48" doxytag="H5::CommonFG::openStrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a50" doxytag="H5::CommonFG::openStrType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2638,21 +2737,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1StrType.html">StrType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a49" doxytag="H5::CommonFG::openStrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a51" doxytag="H5::CommonFG::openStrType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a> H5::CommonFG::openStrType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2669,13 +2768,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a50" doxytag="H5::CommonFG::openVarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a52" doxytag="H5::CommonFG::openVarLenType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2709,21 +2808,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td>or <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a51" doxytag="H5::CommonFG::openVarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a53" doxytag="H5::CommonFG::openVarLenType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a> H5::CommonFG::openVarLenType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -2740,55 +2839,26 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a52" doxytag="H5::CommonFG::getLocId"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a54" doxytag="H5::CommonFG::throwException"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual hid_t H5::CommonFG::getLocId           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap> const<code> [pure virtual]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-For subclasses, <a class="el" href="classH5_1_1H5File.html">H5File</a> and <a class="el" href="classH5_1_1Group.html">Group</a>, to return the correct object id, i.e. file or group id. 
-<p>
-Implemented in <a class="el" href="classH5_1_1H5File.html#a22">H5::H5File</a>, and <a class="el" href="classH5_1_1Group.html#a8">H5::Group</a>.    </td>
-  </tr>
-</table>
-<a class="anchor" name="a53" doxytag="H5::CommonFG::throwException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
           <td class="md" nowrap valign="top">virtual void H5::CommonFG::throwException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>msg</em></td>
         </tr>
         <tr>
@@ -2812,11 +2882,11 @@
 <p>
 
 <p>
-Implemented in <a class="el" href="classH5_1_1H5File.html#a21">H5::H5File</a>, and <a class="el" href="classH5_1_1Group.html#a7">H5::Group</a>.    </td>
+Implemented in <a class="el" href="classH5_1_1H5File.html#a24">H5::H5File</a>, and <a class="el" href="classH5_1_1Group.html#a7">H5::Group</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,98 +337,104 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::CompType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1CompType.html">H5::CompType</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a0">CompType</a>(size_t size)</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a1">CompType</a>(const DataSet &amp;dataset)</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a20">CompType</a>()</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a21">CompType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a22">CompType</a>(const CompType &amp;original)</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a19">CompType</a>()</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a20">CompType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a21">CompType</a>(const CompType &amp;original)</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a19">fromClass</a>() const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a18">fromClass</a>() const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a9">getMemberArrayType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a8">getMemberArrayType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a2">getMemberClass</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a10">getMemberCompType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a8">getMemberDataType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a3">getMemberDims</a>(unsigned member_num, size_t *dims, int *perm) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a11">getMemberEnumType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a13">getMemberFloatType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a4">getMemberIndex</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a5">getMemberIndex</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a12">getMemberIntType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a7">getMemberName</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a6">getMemberOffset</a>(unsigned memb_no) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a14">getMemberStrType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a15">getMemberVarLenType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a16">getNmembers</a>() const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a9">getMemberCompType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a7">getMemberDataType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a10">getMemberEnumType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a12">getMemberFloatType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a3">getMemberIndex</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a4">getMemberIndex</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a11">getMemberIntType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a6">getMemberName</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a5">getMemberOffset</a>(unsigned memb_no) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a13">getMemberStrType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a14">getMemberVarLenType</a>(unsigned member_num) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a15">getNmembers</a>() const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a17">insertMember</a>(const string &amp;name, size_t offset, const DataType &amp;new_member) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a16">insertMember</a>(const H5std_string &amp;name, size_t offset, const DataType &amp;new_member) const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a18">pack</a>() const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a17">pack</a>() const </td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a23">~CompType</a>()</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CompType.html#a22">~CompType</a>()</td><td><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1CompType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1CompType.html">CompType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::CompType Class Reference</h1><code>#include &lt;<a class="el" href="H5CompType_8h-source.html">H5CompType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::CompType:
@@ -345,70 +360,68 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_class_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a2">getMemberClass</a> (unsigned member_num) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the type class of the specified member.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a3">getMemberDims</a> (unsigned member_num, size_t *dims, int *perm) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a3">getMemberIndex</a> (const char *name) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a4">getMemberIndex</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the index of a member in this compound datatype.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a4">getMemberIndex</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the index of a member in this compound datatype.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a5">getMemberIndex</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a5">getMemberOffset</a> (unsigned memb_no) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a6">getMemberOffset</a> (unsigned memb_no) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the byte offset of the beginning of a member with respect to the beginning of the compound data type datum.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a6">getMemberName</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the byte offset of the beginning of a member with respect to the beginning of the compound data type datum.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a7">getMemberName</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of a member in this compound datatype.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a7">getMemberDataType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of a member in this compound datatype.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a8">getMemberDataType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the generic datatype of the specified member in this compound datatype.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a8">getMemberArrayType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the generic datatype of the specified member in this compound datatype.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a9">getMemberArrayType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the array datatype of the specified member in this compound datatype.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a9">getMemberCompType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the array datatype of the specified member in this compound datatype.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1CompType.html">CompType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a10">getMemberCompType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the compound datatype of the specified member in this compound datatype.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a10">getMemberEnumType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the compound datatype of the specified member in this compound datatype.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1EnumType.html">EnumType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a11">getMemberEnumType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the enumeration datatype of the specified member in this compound datatype.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a11">getMemberIntType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the enumeration datatype of the specified member in this compound datatype.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IntType.html">IntType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a12">getMemberIntType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer datatype of the specified member in this compound datatype.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a12">getMemberFloatType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the integer datatype of the specified member in this compound datatype.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FloatType.html">FloatType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a13">getMemberFloatType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the floating-point datatype of the specified member in this compound datatype.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a13">getMemberStrType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the floating-point datatype of the specified member in this compound datatype.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1StrType.html">StrType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a14">getMemberStrType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the string datatype of the specified member in this compound datatype.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a14">getMemberVarLenType</a> (unsigned member_num) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the string datatype of the specified member in this compound datatype.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a15">getMemberVarLenType</a> (unsigned member_num) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the variable length datatype of the specified member in this compound datatype.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a15">getNmembers</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the variable length datatype of the specified member in this compound datatype.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a16">getNmembers</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of members in this compound datatype.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a16">insertMember</a> (const H5std_string &amp;name, size_t offset, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;new_member) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of members in this compound datatype.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a17">insertMember</a> (const string &amp;name, size_t offset, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;new_member) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts a new member to this compound datatype.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a17">pack</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts a new member to this compound datatype.  <a href="#a17"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a18">pack</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Recursively removes padding from within a compound datatype.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a18">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Recursively removes padding from within a compound datatype.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a19">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a19">CompType</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a20">CompType</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub compound datatype.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a20">CompType</a> (const hid_t existing_id)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub compound datatype.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a21">CompType</a> (const hid_t existing_id)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1CompType.html">CompType</a> object using the id of an existing datatype.  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a21">CompType</a> (const <a class="el" href="classH5_1_1CompType.html">CompType</a> &amp;original)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1CompType.html">CompType</a> object using the id of an existing datatype.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a22">CompType</a> (const <a class="el" href="classH5_1_1CompType.html">CompType</a> &amp;original)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes copy of the original <a class="el" href="classH5_1_1CompType.html">CompType</a> object.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a22">~CompType</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes copy of the original <a class="el" href="classH5_1_1CompType.html">CompType</a> object.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html#a23">~CompType</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this compound datatype.  <a href="#a23"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this compound datatype.  <a href="#a22"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::CompType::CompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -441,14 +454,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::CompType::CompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -482,14 +495,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1CompType.html">CompType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::CompType::CompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a19" doxytag="H5::CompType::CompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -517,8 +530,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::CompType::CompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::CompType::CompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -552,8 +565,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::CompType::CompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a21" doxytag="H5::CompType::CompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -587,13 +600,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::CompType::~CompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::CompType::~CompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::CompType::~CompType           </td>
+          <td class="md" nowrap valign="top">H5::CompType::~<a class="el" href="classH5_1_1CompType.html">CompType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -618,7 +631,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a2" doxytag="H5::CompType::getMemberClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -652,61 +665,18 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Type class of the member </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::CompType::getMemberDims"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::CompType::getMemberIndex"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">int H5::CompType::getMemberDims           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">unsigned&nbsp;</td>
-          <td class="mdname" nowrap> <em>member_num</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>size_t *&nbsp;</td>
-          <td class="mdname" nowrap> <em>dims</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>int *&nbsp;</td>
-          <td class="mdname" nowrap> <em>perm</em></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"> const</td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="a4" doxytag="H5::CompType::getMemberIndex"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
           <td class="md" nowrap valign="top">int H5::CompType::getMemberIndex           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const char *&nbsp;</td>
@@ -736,22 +706,22 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Index of member </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>Members are stored in no particular order with numbers 0 through N-1, where N is the value returned by the member function <code><a class="el" href="classH5_1_1CompType.html#a16">CompType::getNmembers</a></code>. </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>Members are stored in no particular order with numbers 0 through N-1, where N is the value returned by the member function <code><a class="el" href="classH5_1_1CompType.html#a15">CompType::getNmembers</a></code>. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::CompType::getMemberIndex"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::CompType::getMemberIndex"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">int H5::CompType::getMemberIndex           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -771,8 +741,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::CompType::getMemberOffset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::CompType::getMemberOffset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -798,16 +768,16 @@
 <p>
 Returns the byte offset of the beginning of a member with respect to the beginning of the compound data type datum. 
 <p>
-Members are stored in no particular order with numbers 0 through N-1, where N is the value returned by the member function <code><a class="el" href="classH5_1_1CompType.html#a16">CompType::getNmembers</a></code>.     </td>
+Members are stored in no particular order with numbers 0 through N-1, where N is the value returned by the member function <code><a class="el" href="classH5_1_1CompType.html#a15">CompType::getNmembers</a></code>.     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::CompType::getMemberName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::CompType::getMemberName"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::CompType::getMemberName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::CompType::getMemberName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">unsigned&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>member_num</em>          </td>
@@ -836,14 +806,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Name of member </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::CompType::getMemberDataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::CompType::getMemberDataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -877,14 +847,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataType.html">DataType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::CompType::getMemberArrayType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::CompType::getMemberArrayType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -918,14 +888,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::CompType::getMemberCompType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::CompType::getMemberCompType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -959,14 +929,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1CompType.html">CompType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::CompType::getMemberEnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::CompType::getMemberEnumType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1000,14 +970,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1EnumType.html">EnumType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::CompType::getMemberIntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::CompType::getMemberIntType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1041,14 +1011,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1IntType.html">IntType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::CompType::getMemberFloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::CompType::getMemberFloatType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1082,14 +1052,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1FloatType.html">FloatType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::CompType::getMemberStrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::CompType::getMemberStrType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1123,14 +1093,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1StrType.html">StrType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::CompType::getMemberVarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::CompType::getMemberVarLenType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1164,14 +1134,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::CompType::getNmembers"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::CompType::getNmembers"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1199,21 +1169,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of members </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::CompType::insertMember"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::CompType::insertMember"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::CompType::insertMember           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1256,14 +1226,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a18" doxytag="H5::CompType::pack"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::CompType::pack"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1290,19 +1260,19 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a19" doxytag="H5::CompType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::CompType::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::CompType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::CompType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1322,11 +1292,11 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1DataType.html#a31">H5::DataType</a>.    </td>
+Reimplemented from <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,87 +337,92 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DSetCreatPropList Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a0">allFiltersAvail</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a1">allFiltersAvail</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a4">closeClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a5">copy</a>(const PropList &amp;like_plist)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a6">copyProp</a>(PropList &amp;dest, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a8">copyProp</a>(PropList &amp;dest, PropList &amp;src, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#s0">DEFAULT</a></td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a25">DSetCreatPropList</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a26">DSetCreatPropList</a>(const DSetCreatPropList &amp;orig)</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a27">DSetCreatPropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a24">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a1">getAllocTime</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a3">getChunk</a>(int max_ndims, hsize_t *dim) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a0">DSetCreatPropList</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a27">DSetCreatPropList</a>(const DSetCreatPropList &amp;orig)</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a28">DSetCreatPropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a26">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a2">getAllocTime</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a4">getChunk</a>(int max_ndims, hsize_t *dim) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a10">getClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a12">getClassParent</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a5">getExternal</a>(unsigned idx, size_t name_size, char *name, off_t &amp;offset, hsize_t &amp;size) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a6">getExternalCount</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a7">getFillTime</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a9">getFillValue</a>(const DataType &amp;fvalue_type, void *value) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a11">getFilter</a>(int filter_number, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a12">getFilterById</a>(H5Z_filter_t filter_id, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a13">getLayout</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a15">getNfilters</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a6">getExternal</a>(unsigned idx, size_t name_size, char *name, off_t &amp;offset, hsize_t &amp;size) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a7">getExternalCount</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a8">getFillTime</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a10">getFillValue</a>(const DataType &amp;fvalue_type, void *value) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a12">getFilter</a>(int filter_number, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a13">getFilterById</a>(H5Z_filter_t filter_id, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a14">getLayout</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a16">getNfilters</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a13">getNumProps</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a14">getProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a23">getPropSize</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a25">isAClass</a>(const PropList &amp;prop_class) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a16">isFillValueDefined</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a17">modifyFilter</a>(H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a17">isFillValueDefined</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a18">modifyFilter</a>(H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a1">operator=</a>(const PropList &amp;rhs)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a2">operator==</a>(const PropList &amp;rhs) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a26">propExist</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a0">PropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a31">PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a32">PropList</a>(const PropList &amp;original)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a18">removeFilter</a>(H5Z_filter_t filter_id) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a19">removeFilter</a>(H5Z_filter_t filter_id) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a28">removeProp</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a2">setAllocTime</a>(H5D_alloc_time_t alloc_time)</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a4">setChunk</a>(int ndims, const hsize_t *dim) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a19">setDeflate</a>(int level) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a20">setExternal</a>(const char *name, off_t offset, hsize_t size) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a8">setFillTime</a>(H5D_fill_time_t fill_time)</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a10">setFillValue</a>(const DataType &amp;fvalue_type, const void *value) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a21">setFilter</a>(H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a22">setFletcher32</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a14">setLayout</a>(H5D_layout_t layout) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a3">setAllocTime</a>(H5D_alloc_time_t alloc_time) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a5">setChunk</a>(int ndims, const hsize_t *dim) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a20">setDeflate</a>(int level) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a21">setExternal</a>(const char *name, off_t offset, hsize_t size) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a9">setFillTime</a>(H5D_fill_time_t fill_time) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a11">setFillValue</a>(const DataType &amp;fvalue_type, const void *value) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a22">setFilter</a>(H5Z_filter_t filter, unsigned int flags=0, size_t cd_nelmts=0, const unsigned int cd_values[]=NULL) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a23">setFletcher32</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a15">setLayout</a>(H5D_layout_t layout) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a18">setProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a19">setProperty</a>(const char *name, const char *charptr) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const string &amp;name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a23">setShuffle</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a28">~DSetCreatPropList</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const H5std_string &amp;name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a24">setShuffle</a>() const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a25">setSzip</a>(unsigned int options_mask, unsigned int pixels_per_block) const </td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetCreatPropList.html#a29">~DSetCreatPropList</a>()</td><td><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a33">~PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetCreatPropList.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DSetCreatPropList Class Reference</h1><code>#include &lt;<a class="el" href="H5DcreatProp_8h-source.html">H5DcreatProp.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DSetCreatPropList:
@@ -335,100 +350,103 @@
 <a href="classH5_1_1DSetCreatPropList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a0">allFiltersAvail</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a0">DSetCreatPropList</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries whether all the filters set in this property list are available currently.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_alloc_time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a1">getAllocTime</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub dataset creation property list.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a1">allFiltersAvail</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get space allocation time for this property.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a2">setAllocTime</a> (H5D_alloc_time_t alloc_time)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries whether all the filters set in this property list are available currently.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_alloc_time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a2">getAllocTime</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets space allocation time for dataset during creation.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a3">getChunk</a> (int max_ndims, hsize_t *dim) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get space allocation time for this property.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a3">setAllocTime</a> (H5D_alloc_time_t alloc_time) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the chunks used to store a chunked layout dataset.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a4">setChunk</a> (int ndims, const hsize_t *dim) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets space allocation time for dataset during creation.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a4">getChunk</a> (int max_ndims, hsize_t *dim) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the chunks used to store a chunked layout dataset.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a5">getExternal</a> (unsigned idx, size_t name_size, char *name, off_t &amp;offset, hsize_t &amp;size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the chunks used to store a chunked layout dataset.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a5">setChunk</a> (int ndims, const hsize_t *dim) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about an external file.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a6">getExternalCount</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the chunks used to store a chunked layout dataset.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a6">getExternal</a> (unsigned idx, size_t name_size, char *name, off_t &amp;offset, hsize_t &amp;size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of external files for a dataset.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_fill_time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a7">getFillTime</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about an external file.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a7">getExternalCount</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets fill value writing time.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a8">setFillTime</a> (H5D_fill_time_t fill_time)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of external files for a dataset.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_fill_time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a8">getFillTime</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets fill value writing time for dataset.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a9">getFillValue</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;fvalue_type, void *value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets fill value writing time.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a9">setFillTime</a> (H5D_fill_time_t fill_time) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataset fill value.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a10">setFillValue</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;fvalue_type, const void *value) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets fill value writing time for dataset.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a10">getFillValue</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;fvalue_type, void *value) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a dataset fill value.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5Z_filter_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a11">getFilter</a> (int filter_number, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataset fill value.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a11">setFillValue</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;fvalue_type, const void *value) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about a filter in a pipeline.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a12">getFilterById</a> (H5Z_filter_t filter_id, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a dataset fill value.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5Z_filter_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a12">getFilter</a> (int filter_number, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about a filter in a pipeline given the filter id.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_layout_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a13">getLayout</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about a filter in a pipeline.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a13">getFilterById</a> (H5Z_filter_t filter_id, unsigned int &amp;flags, size_t &amp;cd_nelmts, unsigned int *cd_values, size_t namelen, char name[]) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the layout type of this property list.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a14">setLayout</a> (H5D_layout_t layout) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about a filter in a pipeline given the filter id.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_layout_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a14">getLayout</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the type of storage used store the raw data for a dataset.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a15">getNfilters</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the layout type of this property list.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a15">setLayout</a> (H5D_layout_t layout) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of filters in the pipeline.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_fill_value_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a16">isFillValueDefined</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the type of storage used store the raw data for a dataset.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a16">getNfilters</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if fill value has been defined for this property.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a17">modifyFilter</a> (H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of filters in the pipeline.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5D_fill_value_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a17">isFillValueDefined</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies the specified filter.  <a href="#a17"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a18">removeFilter</a> (H5Z_filter_t filter_id) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if fill value has been defined for this property.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a18">modifyFilter</a> (H5Z_filter_t filter_id, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes one or more filters.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a19">setDeflate</a> (int level) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies the specified filter.  <a href="#a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a19">removeFilter</a> (H5Z_filter_t filter_id) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets compression method and compression level.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a20">setExternal</a> (const char *name, off_t offset, hsize_t size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes one or more filters.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a20">setDeflate</a> (int level) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds an external file to the list of external files.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a21">setFilter</a> (H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[]) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets compression method and compression level.  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a21">setExternal</a> (const char *name, off_t offset, hsize_t size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a filter to the filter pipeline.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a22">setFletcher32</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds an external file to the list of external files.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a22">setFilter</a> (H5Z_filter_t filter, unsigned int flags=0, size_t cd_nelmts=0, const unsigned int cd_values[]=NULL) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets Fletcher32 checksum of EDC for this property list.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a23">setShuffle</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a filter to the filter pipeline.  <a href="#a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a23">setFletcher32</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets method of the shuffle filter.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a24">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets Fletcher32 checksum of EDC for this property list.  <a href="#a23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a24">setShuffle</a> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a25">DSetCreatPropList</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets method of the shuffle filter.  <a href="#a24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a25">setSzip</a> (unsigned int options_mask, unsigned int pixels_per_block) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub dataset creation property list.  <a href="#a25"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a26">DSetCreatPropList</a> (const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> &amp;orig)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets up for the use of the SZIP compression filter.  <a href="#a25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a26">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> object.  <a href="#a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a27">DSetCreatPropList</a> (const hid_t plist_id)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a27">DSetCreatPropList</a> (const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> &amp;orig)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> object using the id of an existing dataset creation property list.  <a href="#a27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a28">~DSetCreatPropList</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> object.  <a href="#a27"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a28">DSetCreatPropList</a> (const hid_t plist_id)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a28"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> object using the id of an existing dataset creation property list.  <a href="#a28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#a29">~DSetCreatPropList</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a29"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#s0">DEFAULT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html#s0">DEFAULT</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for dataset creation default property.  <a href="#s0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a25" doxytag="H5::DSetCreatPropList::DSetCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::DSetCreatPropList::DSetCreatPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -456,8 +474,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a26" doxytag="H5::DSetCreatPropList::DSetCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a27" doxytag="H5::DSetCreatPropList::DSetCreatPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -486,8 +504,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a27" doxytag="H5::DSetCreatPropList::DSetCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a28" doxytag="H5::DSetCreatPropList::DSetCreatPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -516,13 +534,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a28" doxytag="H5::DSetCreatPropList::~DSetCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a29" doxytag="H5::DSetCreatPropList::~DSetCreatPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DSetCreatPropList::~DSetCreatPropList           </td>
+          <td class="md" nowrap valign="top">H5::DSetCreatPropList::~<a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -546,8 +564,8 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::DSetCreatPropList::allFiltersAvail"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a1" doxytag="H5::DSetCreatPropList::allFiltersAvail"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -556,7 +574,7 @@
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -575,14 +593,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if all filters available, and false if one or more filters not currently available </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a1" doxytag="H5::DSetCreatPropList::getAllocTime"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::DSetCreatPropList::getAllocTime"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -591,7 +609,7 @@
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -610,7 +628,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Space allocation time. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The values of space allocation time can be one of the followings: <ul>
@@ -623,8 +641,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a2" doxytag="H5::DSetCreatPropList::setAllocTime"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::DSetCreatPropList::setAllocTime"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -634,7 +652,7 @@
           <td class="md" nowrap valign="top">H5D_alloc_time_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>alloc_time</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -657,7 +675,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Valid values for space allocation time include: <ul>
@@ -670,8 +688,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::DSetCreatPropList::getChunk"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::DSetCreatPropList::getChunk"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -714,14 +732,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::DSetCreatPropList::setChunk"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::DSetCreatPropList::setChunk"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -764,15 +782,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The <em>ndims</em> parameter currently must have the same value as the rank of the dataset. The values of the <em>dim</em> array define the size of the chunks to store the dataset's raw data. As a side-effect, the layout of the dataset will be changed to <code>H5D_CHUNKED</code>, if it is not so already. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::DSetCreatPropList::getExternal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::DSetCreatPropList::getExternal"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -827,7 +845,7 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>- IN: Index of the external file, ranges [0-(N-1)] and returned by <a class="el" href="classH5_1_1DSetCreatPropList.html#a6">getExternalCount()</a> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>- IN: Index of the external file, ranges [0-(N-1)] and returned by <a class="el" href="classH5_1_1DSetCreatPropList.html#a7">getExternalCount()</a> </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>name_size</em>&nbsp;</td><td>- IN: Maximum length of <em>name</em> </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the external file </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>- IN: Location to return an offset value </td></tr>
@@ -836,15 +854,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>The parameter <em>idx</em> ranges [0..N-1] where N is returned by <a class="el" href="classH5_1_1DSetCreatPropList.html#a6">getExternalCount()</a>. At most <em>name_size</em> characters are copied into the name array. If the external file name is longer than name_size with the null terminator, the return value is not null terminated (similar to strncpy()). If <em>name_size</em> is zero or <em>name</em> is a null pointer, the external file name will not be returned. If <em>offset</em> or <em>size</em> are null pointers then the corresponding information will not be returned. </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>The parameter <em>idx</em> ranges [0..N-1] where N is returned by <a class="el" href="classH5_1_1DSetCreatPropList.html#a7">getExternalCount()</a>. At most <em>name_size</em> characters are copied into the name array. If the external file name is longer than name_size with the null terminator, the return value is not null terminated (similar to strncpy()). If <em>name_size</em> is zero or <em>name</em> is a null pointer, the external file name will not be returned. If <em>offset</em> or <em>size</em> are null pointers then the corresponding information will not be returned. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::DSetCreatPropList::getExternalCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::DSetCreatPropList::getExternalCount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -872,14 +890,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of external files </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::DSetCreatPropList::getFillTime"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::DSetCreatPropList::getFillTime"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -888,7 +906,7 @@
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -907,7 +925,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Fill value writing time </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Valid values for fill value writing time include <ul>
@@ -918,8 +936,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::DSetCreatPropList::setFillTime"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::DSetCreatPropList::setFillTime"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -929,7 +947,7 @@
           <td class="md" nowrap valign="top">H5D_fill_time_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>fill_time</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -948,7 +966,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Fill value writing time </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Valid values for fill value writing time include <ul>
@@ -959,8 +977,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::DSetCreatPropList::getFillValue"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::DSetCreatPropList::getFillValue"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1003,15 +1021,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The fill value is returned through <em>value</em> pointer and the memory is allocated by the caller. The fill value will be converted from its current data type to the specified by <em>fvalue_type</em>. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::DSetCreatPropList::setFillValue"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::DSetCreatPropList::setFillValue"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1054,16 +1072,16 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The datatype may differ from that of the dataset, but it must be one that the HDF5 library is able to convert <em>value</em> to the dataset datatype when the dataset is created. The default fill value is 0 (zero,) which is interpreted according to the actual dataset datatype. </dd></dl>
-<dl compact><dt><b></b></dt><dd>For information on setting fill value, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFillValue">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFillValue</a> </dd></dl>
+<dl compact><dt><b></b></dt><dd>For information on setting fill value, please refer to the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetFillValue">../RM_H5P.html#Property-SetFillValue</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::DSetCreatPropList::getFilter"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::DSetCreatPropList::getFilter"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1135,15 +1153,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Filter id </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Failure occurs when <em>filter_number</em> is out of range. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::DSetCreatPropList::getFilterById"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::DSetCreatPropList::getFilterById"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1214,14 +1232,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::DSetCreatPropList::getLayout"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::DSetCreatPropList::getLayout"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1254,15 +1272,15 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd></dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::DSetCreatPropList::setLayout"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::DSetCreatPropList::setLayout"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1295,15 +1313,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information on setting layout type, please refer to <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetLayout">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetLayout</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information on setting layout type, please refer to <a href="../RM_H5P.html#Property-SetLayout">../RM_H5P.html#Property-SetLayout</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::DSetCreatPropList::getNfilters"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::DSetCreatPropList::getNfilters"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1331,14 +1349,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of filters </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::DSetCreatPropList::isFillValueDefined"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::DSetCreatPropList::isFillValueDefined"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1347,7 +1365,7 @@
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -1371,14 +1389,14 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::DSetCreatPropList::modifyFilter"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::DSetCreatPropList::modifyFilter"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1436,7 +1454,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The <em>flags</em> argument is a bit vector of the field: <code>H5Z_FLAG_OPTIONAL(0x0001)</code> </dd></dl>
@@ -1444,8 +1462,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a18" doxytag="H5::DSetCreatPropList::removeFilter"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a19" doxytag="H5::DSetCreatPropList::removeFilter"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1478,15 +1496,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Deletes a filter from the dataset creation property list; deletes all filters if <em>filter_id</em> is <code>H5Z_FILTER_NONE</code>. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a19" doxytag="H5::DSetCreatPropList::setDeflate"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::DSetCreatPropList::setDeflate"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1519,15 +1537,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The function sets the compression method for this property list to <code>H5D_COMPRESS_DEFLATE</code> and the compression level to <em>level</em>. Lower compression levels are faster but result in less compression. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::DSetCreatPropList::setExternal"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a21" doxytag="H5::DSetCreatPropList::setExternal"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1577,15 +1595,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>If a dataset is splitted across multiple files then the files should be defined in order. The total size of the dataset is the sum of the <em>size</em> arguments for all the external files. If the total size is larger than the size of a dataset then the dataset can be extended (provided the data space also allows the extending). </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::DSetCreatPropList::setFilter"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::DSetCreatPropList::setFilter"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1599,19 +1617,19 @@
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>unsigned int&nbsp;</td>
-          <td class="mdname" nowrap> <em>flags</em>, </td>
+          <td class="mdname" nowrap> <em>flags</em> = <code>0</code>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>size_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>cd_nelmts</em>, </td>
+          <td class="mdname" nowrap> <em>cd_nelmts</em> = <code>0</code>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>const unsigned int&nbsp;</td>
-          <td class="mdname" nowrap> <em>cd_values</em>[]</td>
+          <td class="mdname" nowrap> <em>cd_values</em>[] = <code>NULL</code></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -1642,7 +1660,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The <em>flags</em> argument is a bit vector of the field: <code>H5Z_FLAG_OPTIONAL(0x0001)</code> </dd></dl>
@@ -1650,8 +1668,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::DSetCreatPropList::setFletcher32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::DSetCreatPropList::setFletcher32"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1660,7 +1678,7 @@
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -1678,14 +1696,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::DSetCreatPropList::setShuffle"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a24" doxytag="H5::DSetCreatPropList::setShuffle"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1694,7 +1712,7 @@
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap> const</td>
         </tr>
       </table>
     </td>
@@ -1712,21 +1730,72 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>Please refer to the Reference Manual of <code>H5Pset_shuffle</code> for details. <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetShuffle">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetShuffle</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>Please refer to the Reference Manual of <code>H5Pset_shuffle</code> for details. <a href="../RM_H5P.html#Property-SetShuffle">../RM_H5P.html#Property-SetShuffle</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::DSetCreatPropList::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a25" doxytag="H5::DSetCreatPropList::setSzip"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::DSetCreatPropList::fromClass           </td>
+          <td class="md" nowrap valign="top">void H5::DSetCreatPropList::setSzip           </td>
           <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>
+          <td class="mdname" nowrap> <em>options_mask</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>unsigned int&nbsp;</td>
+          <td class="mdname" nowrap> <em>pixels_per_block</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Sets up for the use of the SZIP compression filter. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>options_mask</em>&nbsp;</td><td>- IN: A bit-mask conveying the desired SZIP options. Valid values are H5_SZIP_EC_OPTION_MASK and H5_SZIP_NN_OPTION_MASK. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pixels_per_block</em>&nbsp;</td><td>- IN: Number of pixels or data elements in each data block. </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Description</b></dt><dd>The associate C function sets an SZIP compression filter, H5Z_FILTER_SZIP, for a dataset. For more information about SZIP and usage, please refer to the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetSzip">../RM_H5P.html#Property-SetSzip</a> </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a26" doxytag="H5::DSetCreatPropList::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::DSetCreatPropList::fromClass           </td>
+          <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const<code> [inline, virtual]</code></td>
@@ -1750,7 +1819,7 @@
 </table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::DSetCreatPropList::DEFAULT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1776,8 +1845,8 @@
 Reimplemented from <a class="el" href="classH5_1_1PropList.html#s0">H5::PropList</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,80 +337,84 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DSetMemXferPropList Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a4">closeClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a5">copy</a>(const PropList &amp;like_plist)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a6">copyProp</a>(PropList &amp;dest, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a8">copyProp</a>(PropList &amp;dest, PropList &amp;src, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DEFAULT</a></td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">DSetMemXferPropList</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a0">DSetMemXferPropList</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a19">DSetMemXferPropList</a>(const DSetMemXferPropList &amp;orig)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a20">DSetMemXferPropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a3">getBtreeRatios</a>(double &amp;left, double &amp;middle, double &amp;right) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a1">getBuffer</a>(void **tconv, void **bkg) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a4">getBtreeRatios</a>(double &amp;left, double &amp;middle, double &amp;right) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a2">getBuffer</a>(void **tconv, void **bkg) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a10">getClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a12">getClassParent</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a16">getEDCCheck</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a14">getHyperVectorSize</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a10">getMulti</a>(hid_t *memb_dxpl)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">getEDCCheck</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a15">getHyperVectorSize</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a11">getMulti</a>(hid_t *memb_dxpl)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a13">getNumProps</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a5">getPreserve</a>() const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a6">getPreserve</a>() const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a14">getProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a23">getPropSize</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a12">getSmallDataBlockSize</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a8">getVlenMemManager</a>(H5MM_allocate_t &amp;alloc, void **alloc_info, H5MM_free_t &amp;free, void **free_info) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a13">getSmallDataBlockSize</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a9">getVlenMemManager</a>(H5MM_allocate_t &amp;alloc, void **alloc_info, H5MM_free_t &amp;free, void **free_info) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a25">isAClass</a>(const PropList &amp;prop_class) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a1">operator=</a>(const PropList &amp;rhs)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a2">operator==</a>(const PropList &amp;rhs) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a26">propExist</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a0">PropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a31">PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a32">PropList</a>(const PropList &amp;original)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a28">removeProp</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a2">setBtreeRatios</a>(double left, double middle, double right) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a0">setBuffer</a>(size_t size, void *tconv, void *bkg) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a15">setEDCCheck</a>(H5Z_EDC_t check)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a13">setHyperVectorSize</a>(size_t vector_size)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a9">setMulti</a>(const hid_t *memb_dxpl)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a4">setPreserve</a>(bool status) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a3">setBtreeRatios</a>(double left, double middle, double right) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a1">setBuffer</a>(size_t size, void *tconv, void *bkg) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a16">setEDCCheck</a>(H5Z_EDC_t check)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a14">setHyperVectorSize</a>(size_t vector_size)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a10">setMulti</a>(const hid_t *memb_dxpl)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a5">setPreserve</a>(bool status) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a18">setProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a19">setProperty</a>(const char *name, const char *charptr) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const string &amp;name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a11">setSmallDataBlockSize</a>(hsize_t size)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a6">setVlenMemManager</a>(H5MM_allocate_t alloc, void *alloc_info, H5MM_free_t free, void *free_info) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a7">setVlenMemManager</a>() const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const H5std_string &amp;name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a12">setSmallDataBlockSize</a>(hsize_t size)</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a7">setVlenMemManager</a>(H5MM_allocate_t alloc, void *alloc_info, H5MM_free_t free, void *free_info) const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a8">setVlenMemManager</a>() const </td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DSetMemXferPropList.html#a21">~DSetMemXferPropList</a>()</td><td><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a33">~PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DSetMemXferPropList.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DSetMemXferPropList Class Reference</h1><code>#include &lt;<a class="el" href="H5DxferProp_8h-source.html">H5DxferProp.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DSetMemXferPropList:
@@ -335,62 +350,62 @@
 <a href="classH5_1_1DSetMemXferPropList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a0">setBuffer</a> (size_t size, void *tconv, void *bkg) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a0">DSetMemXferPropList</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets type conversion and background buffers.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a1">getBuffer</a> (void **tconv, void **bkg) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub dataset memory and transfer property list object.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a1">setBuffer</a> (size_t size, void *tconv, void *bkg) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads buffer settings.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a2">setBtreeRatios</a> (double left, double middle, double right) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets type conversion and background buffers.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a2">getBuffer</a> (void **tconv, void **bkg) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets B-tree split ratios for a dataset transfer property list.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a3">getBtreeRatios</a> (double &amp;left, double &amp;middle, double &amp;right) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads buffer settings.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a3">setBtreeRatios</a> (double left, double middle, double right) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets B-tree split ratios for a dataset transfer property list.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a4">setPreserve</a> (bool status) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets B-tree split ratios for a dataset transfer property list.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a4">getBtreeRatios</a> (double &amp;left, double &amp;middle, double &amp;right) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the dataset transfer property list status to true or false.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a5">getPreserve</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets B-tree split ratios for a dataset transfer property list.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a5">setPreserve</a> (bool status) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks status of the dataset transfer property list.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a6">setVlenMemManager</a> (H5MM_allocate_t alloc, void *alloc_info, H5MM_free_t free, void *free_info) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the dataset transfer property list status to true or false.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a6">getPreserve</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the memory manager for variable-length datatype allocation.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a7">setVlenMemManager</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks status of the dataset transfer property list.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a7">setVlenMemManager</a> (H5MM_allocate_t alloc, void *alloc_info, H5MM_free_t free, void *free_info) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the memory manager for variable-length datatype allocation - system <code>malloc</code> and <code>free</code> will be used.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a8">getVlenMemManager</a> (H5MM_allocate_t &amp;alloc, void **alloc_info, H5MM_free_t &amp;free, void **free_info) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the memory manager for variable-length datatype allocation.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a8">setVlenMemManager</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the memory manager for variable-length datatype allocation.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a9">setMulti</a> (const hid_t *memb_dxpl)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the memory manager for variable-length datatype allocation - system <code>malloc</code> and <code>free</code> will be used.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a9">getVlenMemManager</a> (H5MM_allocate_t &amp;alloc, void **alloc_info, H5MM_free_t &amp;free, void **free_info) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the data transfer property list for the multi-file driver.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a10">getMulti</a> (hid_t *memb_dxpl)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the memory manager for variable-length datatype allocation.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a10">setMulti</a> (const hid_t *memb_dxpl)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns multi-file data transfer property list information.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a11">setSmallDataBlockSize</a> (hsize_t size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the data transfer property list for the multi-file driver.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a11">getMulti</a> (hid_t *memb_dxpl)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of a contiguous block reserved for small data.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a12">getSmallDataBlockSize</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns multi-file data transfer property list information.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a12">setSmallDataBlockSize</a> (hsize_t size)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current small data block size setting.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a13">setHyperVectorSize</a> (size_t vector_size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of a contiguous block reserved for small data.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a13">getSmallDataBlockSize</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets number of I/O vectors to be read/written in hyperslab I/O.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a14">getHyperVectorSize</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current small data block size setting.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a14">setHyperVectorSize</a> (size_t vector_size)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of I/O vectors to be read/written in hyperslab I/O.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a15">setEDCCheck</a> (H5Z_EDC_t check)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets number of I/O vectors to be read/written in hyperslab I/O.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a15">getHyperVectorSize</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables or disables error-detecting for a dataset reading process.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5Z_EDC_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a16">getEDCCheck</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of I/O vectors to be read/written in hyperslab I/O.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a16">setEDCCheck</a> (H5Z_EDC_t check)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether error-detection is enabled for dataset reads.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables or disables error-detecting for a dataset reading process.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5Z_EDC_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">getEDCCheck</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">DSetMemXferPropList</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether error-detection is enabled for dataset reads.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub dataset memory and transfer property list object.  <a href="#a18"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#a19">DSetMemXferPropList</a> (const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;orig)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> object.  <a href="#a19"></a><br></td></tr>
@@ -401,13 +416,13 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a21"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DEFAULT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DEFAULT</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for default dataset memory and transfer property list.  <a href="#s0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a18" doxytag="H5::DSetMemXferPropList::DSetMemXferPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::DSetMemXferPropList::DSetMemXferPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -436,7 +451,7 @@
   </tr>
 </table>
 <a class="anchor" name="a19" doxytag="H5::DSetMemXferPropList::DSetMemXferPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -471,7 +486,7 @@
   </tr>
 </table>
 <a class="anchor" name="a20" doxytag="H5::DSetMemXferPropList::DSetMemXferPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -506,12 +521,12 @@
   </tr>
 </table>
 <a class="anchor" name="a21" doxytag="H5::DSetMemXferPropList::~DSetMemXferPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DSetMemXferPropList::~DSetMemXferPropList           </td>
+          <td class="md" nowrap valign="top">H5::DSetMemXferPropList::~<a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -535,8 +550,8 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::DSetMemXferPropList::setBuffer"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a1" doxytag="H5::DSetMemXferPropList::setBuffer"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -586,14 +601,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a1" doxytag="H5::DSetMemXferPropList::getBuffer"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::DSetMemXferPropList::getBuffer"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -637,14 +652,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Buffer size, in bytes </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a2" doxytag="H5::DSetMemXferPropList::setBtreeRatios"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::DSetMemXferPropList::setBtreeRatios"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -694,14 +709,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::DSetMemXferPropList::getBtreeRatios"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::DSetMemXferPropList::getBtreeRatios"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -751,14 +766,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::DSetMemXferPropList::setPreserve"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::DSetMemXferPropList::setPreserve"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -791,14 +806,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::DSetMemXferPropList::getPreserve"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::DSetMemXferPropList::getPreserve"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -826,14 +841,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Status of the dataset transfer property list </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::DSetMemXferPropList::setVlenMemManager"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::DSetMemXferPropList::setVlenMemManager"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -890,14 +905,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::DSetMemXferPropList::setVlenMemManager"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::DSetMemXferPropList::setVlenMemManager"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -924,14 +939,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::DSetMemXferPropList::getVlenMemManager"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::DSetMemXferPropList::getVlenMemManager"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -988,14 +1003,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::DSetMemXferPropList::setMulti"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::DSetMemXferPropList::setMulti"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1028,15 +1043,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This function can only be used after the member map has been set with FileAccPropList::setMulti (not done - BMR.) </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::DSetMemXferPropList::getMulti"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::DSetMemXferPropList::getMulti"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1069,14 +1084,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::DSetMemXferPropList::setSmallDataBlockSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::DSetMemXferPropList::setSmallDataBlockSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1109,15 +1124,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For detail, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSmallData">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSmallData</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For detail, please refer to the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetSmallData">../RM_H5P.html#Property-SetSmallData</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::DSetMemXferPropList::getSmallDataBlockSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::DSetMemXferPropList::getSmallDataBlockSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1145,14 +1160,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Size of the small data block, in bytes </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::DSetMemXferPropList::setHyperVectorSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::DSetMemXferPropList::setHyperVectorSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1180,15 +1195,15 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetHyperVectorSize">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetHyperVectorSize</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please refer to the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetHyperVectorSize">../RM_H5P.html#Property-SetHyperVectorSize</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::DSetMemXferPropList::getHyperVectorSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::DSetMemXferPropList::getHyperVectorSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1216,14 +1231,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of I/O vectors </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::DSetMemXferPropList::setEDCCheck"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::DSetMemXferPropList::setEDCCheck"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1256,7 +1271,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The error detection algorithm used is the algorithm previously specified in the corresponding dataset creation property list. This function does not affect the use of error detection in the writing process. </dd></dl>
@@ -1268,8 +1283,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::DSetMemXferPropList::getEDCCheck"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::DSetMemXferPropList::getEDCCheck"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1297,19 +1312,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd><code>H5Z_ENABLE_EDC</code> or <code>H5Z_DISABLE_EDC</code> </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::DSetMemXferPropList::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::DSetMemXferPropList::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::DSetMemXferPropList::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::DSetMemXferPropList::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1334,7 +1349,7 @@
 </table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::DSetMemXferPropList::DEFAULT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1360,8 +1375,8 @@
 Reimplemented from <a class="el" href="classH5_1_1PropList.html#s0">H5::PropList</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,78 +337,84 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSet Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a11">AbstractDs</a>(const AbstractDs &amp;original)</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#b0">AbstractDs</a>()</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [protected]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#b1">AbstractDs</a>(const hid_t ds_id)</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a22">close</a>()</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a0">close</a>()</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a21">DataSet</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a23">DataSet</a>()</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a24">DataSet</a>(const DataSet &amp;original)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a21">DataSet</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a22">DataSet</a>()</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a23">DataSet</a>(const DataSet &amp;original)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a24">DataSet</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a0">extend</a>(const hsize_t *size) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a1">fillMemBuf</a>(const void *fill, DataType &amp;fill_type, void *buf, DataType &amp;buf_type, DataSpace &amp;space)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a2">fillMemBuf</a>(void *buf, DataType &amp;buf_type, DataSpace &amp;space)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a1">extend</a>(const hsize_t *size) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a2">fillMemBuf</a>(const void *fill, DataType &amp;fill_type, void *buf, DataType &amp;buf_type, DataSpace &amp;space)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a3">fillMemBuf</a>(void *buf, DataType &amp;buf_type, DataSpace &amp;space)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a20">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a1">getArrayType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a2">getCompType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a3">getCreatePlist</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a4">getCreatePlist</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a0">getDataType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a3">getEnumType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a4">getFloatType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a5">getIntType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a5">getFloatType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a4">getIntType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a15">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a4">getOffset</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a15">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a5">getOffset</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a16">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a5">getSpace</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a6">getSpaceStatus</a>(H5D_space_status_t &amp;status) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a7">getStorageSize</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a6">getSpace</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a7">getSpaceStatus</a>(H5D_space_status_t &amp;status) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a8">getStorageSize</a>() const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a6">getStrType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a9">getTypeClass</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a7">getVarLenType</a>() const </td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a8">getVlenBufSize</a>(DataType &amp;type, DataSpace &amp;space) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a9">getVlenBufSize</a>(DataType &amp;type, DataSpace &amp;space) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a14">iterateElems</a>(void *buf, const DataType &amp;type, const DataSpace &amp;space, H5D_operator_t op, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a10">read</a>(void *buf, const DataType &amp;mem_type, const DataSpace &amp;mem_space=DataSpace::ALL, const DataSpace &amp;file_space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a11">read</a>(string &amp;buf, const DataType &amp;mem_type, const DataSpace &amp;mem_space=DataSpace::ALL, const DataSpace &amp;file_space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a11">read</a>(H5std_string &amp;buf, const DataType &amp;mem_type, const DataSpace &amp;mem_space=DataSpace::ALL, const DataSpace &amp;file_space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a17">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a18">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a19">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a19">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a9">vlenReclaim</a>(DataType &amp;type, DataSpace &amp;space, DSetMemXferPropList &amp;xfer_plist, void *buf) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#e0">vlenReclaim</a>(const DataType &amp;type, const DataSpace &amp;space, const DSetMemXferPropList &amp;xfer_plist, void *buf)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#e1">vlenReclaim</a>(void *buf, const DataType &amp;type, const DataSpace &amp;space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT)</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a12">write</a>(const void *buf, const DataType &amp;mem_type, const DataSpace &amp;mem_space=DataSpace::ALL, const DataSpace &amp;file_space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a13">write</a>(const string &amp;buf, const DataType &amp;mem_type, const DataSpace &amp;mem_space=DataSpace::ALL, const DataSpace &amp;file_space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a13">write</a>(const H5std_string &amp;buf, const DataType &amp;mem_type, const DataSpace &amp;mem_space=DataSpace::ALL, const DataSpace &amp;file_space=DataSpace::ALL, const DSetMemXferPropList &amp;xfer_plist=DSetMemXferPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AbstractDs.html#a12">~AbstractDs</a>()</td><td><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSet.html#a25">~DataSet</a>()</td><td><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSet.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DataSet.html">DataSet</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSet Class Reference</h1><code>#include &lt;<a class="el" href="H5DataSet_8h-source.html">H5DataSet.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DataSet:
@@ -336,52 +351,52 @@
 <a href="classH5_1_1DataSet-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a0">extend</a> (const hsize_t *size) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a0">close</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extends a dataset with unlimited dimension.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a1">fillMemBuf</a> (const void *fill, <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;fill_type, void *buf, <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;buf_type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this dataset.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a1">extend</a> (const hsize_t *size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills a selection in memory with a value.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a2">fillMemBuf</a> (void *buf, <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;buf_type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extends a dataset with unlimited dimension.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a2">fillMemBuf</a> (const void *fill, <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;fill_type, void *buf, <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;buf_type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it only takes the the last three arguments.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a3">getCreatePlist</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills a selection in memory with a value.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a3">fillMemBuf</a> (void *buf, <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;buf_type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the dataset creation property list.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">haddr_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a4">getOffset</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it only takes the the last three arguments.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a4">getCreatePlist</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the address of this dataset in the file.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a5">getSpace</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the dataset creation property list.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">haddr_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a5">getOffset</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a copy of the dataspace of this dataset.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a6">getSpaceStatus</a> (H5D_space_status_t &amp;status) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the address of this dataset in the file.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a6">getSpace</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether space has been allocated for a dataset.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a7">getStorageSize</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a copy of the dataspace of this dataset.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a7">getSpaceStatus</a> (H5D_space_status_t &amp;status) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of storage required for a dataset.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a8">getVlenBufSize</a> (<a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether space has been allocated for a dataset.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a8">getStorageSize</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of bytes required to store VL data.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a9">vlenReclaim</a> (<a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space, <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist, void *buf) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of storage required for a dataset.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a9">getVlenBufSize</a> (<a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reclaims VL datatype memory buffers.  <a href="#a9"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of bytes required to store VL data.  <a href="#a9"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a10">read</a> (void *buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;mem_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;file_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads raw data from the specified dataset.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a11">read</a> (string &amp;buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;mem_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;file_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a11">read</a> (H5std_string &amp;buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;mem_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;file_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes a reference to a <code>std::string</code> for the buffer.  <a href="#a11"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes a reference to a <code>H5std_string</code> for the buffer.  <a href="#a11"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a12">write</a> (const void *buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;mem_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;file_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes raw data from an application buffer to a dataset.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a13">write</a> (const string &amp;buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;mem_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;file_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a13">write</a> (const H5std_string &amp;buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;mem_type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;mem_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;file_space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes a reference to a <code>std::string</code> for the buffer.  <a href="#a13"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes a reference to a <code>H5std_string</code> for the buffer.  <a href="#a13"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a14">iterateElems</a> (void *buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space, H5D_operator_t op, void *op_data=NULL)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterates over all selected elements in a dataspace.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a15">getObjType</a> (void *ref, H5R_type_t ref_type) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a15">getObjType</a> (void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the type of object that an object reference points to.  <a href="#a15"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a16">getRegion</a> (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
@@ -389,45 +404,61 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataspace with the region pointed to selected.  <a href="#a16"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a17">Reference</a> (const char *name, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a reference to an HDF5 object or a dataset region.  <a href="#a17"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use <a class="el" href="classH5_1_1IdComponent.html#a7">DataSet::reference</a> instead!  <a href="#a17"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a18">Reference</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a19">Reference</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataSet::reference</a> instead!  <a href="#a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a19">Reference</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a20">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataSet::reference</a> instead!  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a20">fromClass</a> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a21">DataSet</a> (const hid_t existing_id)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a21">DataSet</a> (<a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;obj, void *ref)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1DataSet.html">DataSet</a> object using the id of an existing dataset.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a22">close</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a reference to some object, returns that dataset.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a22">DataSet</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this dataset.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a23">DataSet</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub <a class="el" href="classH5_1_1DataSet.html">DataSet</a>.  <a href="#a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a23">DataSet</a> (const <a class="el" href="classH5_1_1DataSet.html">DataSet</a> &amp;original)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub <a class="el" href="classH5_1_1DataSet.html">DataSet</a>.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a24">DataSet</a> (const <a class="el" href="classH5_1_1DataSet.html">DataSet</a> &amp;original)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DataSet.html">DataSet</a> object.  <a href="#a23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a24">DataSet</a> (const hid_t existing_id)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DataSet.html">DataSet</a> object.  <a href="#a24"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1DataSet.html">DataSet</a> object using the id of an existing dataset.  <a href="#a24"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#a25">~DataSet</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this dataset.  <a href="#a25"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#e0">vlenReclaim</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist, void *buf)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reclaims VL datatype memory buffers.  <a href="#e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html#e1">vlenReclaim</a> (void *buf, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space=<a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a>, const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;xfer_plist=<a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reclaims VL datatype memory buffers.  <a href="#e1"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a21" doxytag="H5::DataSet::DataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::DataSet::DataSet           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>existing_id</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>obj</em>, </td>
         </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
       </table>
     </td>
   </tr>
@@ -440,18 +471,25 @@
     <td>
 
 <p>
-Creates an <a class="el" href="classH5_1_1DataSet.html">DataSet</a> object using the id of an existing dataset. 
+Given a reference to some object, returns that dataset. 
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>existing_id</em>&nbsp;</td><td>- IN: Id of an existing dataset </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>- IN: Dataset reference object is in or location of object that the dataset is located within. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>- IN: Reference pointer </td></tr>
   </table>
 </dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Description</b></dt><dd><code>obj</code> can be <a class="el" href="classH5_1_1DataSet.html">DataSet</a>, <a class="el" href="classH5_1_1Group.html">Group</a>, <a class="el" href="classH5_1_1H5File.html">H5File</a>, or named <a class="el" href="classH5_1_1DataType.html">DataType</a>, that is a datatype that has been named by <a class="el" href="classH5_1_1DataType.html#a7">DataType::commit</a>. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::DataSet::DataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::DataSet::DataSet"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -479,8 +517,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::DataSet::DataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::DataSet::DataSet"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -514,13 +552,48 @@
     </td>
   </tr>
 </table>
+<a class="anchor" name="a24" doxytag="H5::DataSet::DataSet"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">H5::DataSet::DataSet           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>existing_id</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Creates an <a class="el" href="classH5_1_1DataSet.html">DataSet</a> object using the id of an existing dataset. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>existing_id</em>&nbsp;</td><td>- IN: Id of an existing dataset </td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
 <a class="anchor" name="a25" doxytag="H5::DataSet::~DataSet"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DataSet::~DataSet           </td>
+          <td class="md" nowrap valign="top">H5::DataSet::~<a class="el" href="classH5_1_1DataSet.html">DataSet</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -544,12 +617,46 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::DataSet::extend"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::DataSet::close"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::DataSet::close           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap><code> [virtual]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Closes this dataset. 
+<p>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a1" doxytag="H5::DataSet::extend"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">void H5::DataSet::extend           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const hsize_t *&nbsp;</td>
@@ -578,15 +685,16 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more information, please see the Description section in C layer Reference Manual at: http: </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please see the Description section in C layer Reference Manual at: </dd></dl>
+<dl compact><dt><b></b></dt><dd><a href="../RM_H5D.html#Dataset-Extend">../RM_H5D.html#Dataset-Extend</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a1" doxytag="H5::DataSet::fillMemBuf"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::DataSet::fillMemBuf"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -650,14 +758,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a2" doxytag="H5::DataSet::fillMemBuf"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::DataSet::fillMemBuf"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -707,14 +815,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::DataSet::getCreatePlist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::DataSet::getCreatePlist"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -742,14 +850,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::DataSet::getOffset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::DataSet::getOffset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -777,14 +885,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Address of dataset </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::DataSet::getSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::DataSet::getSpace"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -812,7 +920,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 
@@ -820,8 +928,8 @@
 Implements <a class="el" href="classH5_1_1AbstractDs.html#a8">H5::AbstractDs</a>.    </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::DataSet::getSpaceStatus"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::DataSet::getSpaceStatus"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -854,14 +962,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::DataSet::getStorageSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::DataSet::getStorageSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -889,7 +997,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Size of the storage or 0, for no data </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 
@@ -897,8 +1005,8 @@
 Implements <a class="el" href="classH5_1_1AbstractDs.html#a10">H5::AbstractDs</a>.    </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::DataSet::getVlenBufSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::DataSet::getVlenBufSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -936,33 +1044,33 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Amount of storage </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::DataSet::vlenReclaim"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="e0" doxytag="H5::DataSet::vlenReclaim"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::DataSet::vlenReclaim           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>type</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>space</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap><a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;&nbsp;</td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>xfer_plist</em>, </td>
         </tr>
         <tr>
@@ -974,7 +1082,7 @@
         <tr>
           <td class="md"></td>
           <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"> const</td>
+          <td class="md" colspan="2"><code> [static]</code></td>
         </tr>
       </table>
     </td>
@@ -1000,14 +1108,78 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
+<a class="anchor" name="e1" doxytag="H5::DataSet::vlenReclaim"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">void H5::DataSet::vlenReclaim           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>space</em> = <code><a class="el" href="classH5_1_1DataSpace.html#s0">DataSpace::ALL</a></code>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>xfer_plist</em> = <code><a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">DSetMemXferPropList::DEFAULT</a></code></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"><code> [static]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Reclaims VL datatype memory buffers. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>- IN: Datatype, which is the datatype stored in the buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>space</em>&nbsp;</td><td>- IN: Selection for the memory buffer to free the VL datatypes within </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>xfer_plist</em>&nbsp;</td><td>- IN: Property list used to create the buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>- IN: Pointer to the buffer to be reclaimed </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
 <a class="anchor" name="a10" doxytag="H5::DataSet::read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1071,7 +1243,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This function reads raw data from this dataset into the buffer <em>buf</em>, converting from file datatype and dataspace to memory datatype <em>mem_type</em> and dataspace <em>mem_space</em>. </dd></dl>
@@ -1079,15 +1251,15 @@
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::DataSet::read"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::DataSet::read           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">string &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>buf</em>, </td>
+          <td class="md" nowrap valign="top">H5std_string &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>strg</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
@@ -1130,13 +1302,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It takes a reference to a <code>std::string</code> for the buffer. 
+This is an overloaded member function, provided for convenience. It takes a reference to a <code>H5std_string</code> for the buffer. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::DataSet::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1200,7 +1372,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This function writes raw data from an application buffer <em>buf</em> to a dataset, converting from memory datatype <em>mem_type</em> and dataspace <em>mem_space</em> to file datatype and dataspace. </dd></dl>
@@ -1208,15 +1380,15 @@
   </tr>
 </table>
 <a class="anchor" name="a13" doxytag="H5::DataSet::write"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::DataSet::write           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>buf</em>, </td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>strg</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
@@ -1259,13 +1431,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It takes a reference to a <code>std::string</code> for the buffer. 
+This is an overloaded member function, provided for convenience. It takes a reference to a <code>H5std_string</code> for the buffer. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::DataSet::iterateElems"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1329,7 +1501,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Note:</b></dt><dd>This function may not work correctly yet - it's still under development. </dd></dl>
@@ -1337,7 +1509,7 @@
   </tr>
 </table>
 <a class="anchor" name="a15" doxytag="H5::DataSet::getObjType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1351,7 +1523,7 @@
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>H5R_type_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>ref_type</em></td>
+          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_OBJECT</code></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -1374,15 +1546,31 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference to query </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>- IN: Reference to query </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference to query, valid values are: <ul>
+<li><code>H5R_OBJECT</code> - Reference is an object reference. </li>
+<li><code>H5R_DATASET_REGION</code> - Reference is a dataset region reference. </li>
+</ul>
+</td></tr>
   </table>
 </dl>
+<dl compact><dt><b>Returns:</b></dt><dd>An object type, which can be one of the following: <ul>
+<li><code>H5G_LINK</code> (0) - Object is a symbolic link. </li>
+<li><code>H5G_GROUP</code> (1) - Object is a group. </li>
+<li><code>H5G_DATASET</code> (2) - Object is a dataset. </li>
+<li><code>H5G_TYPE</code> Object (3) - is a named datatype </li>
+</ul>
+</dd></dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a16" doxytag="H5::DataSet::getRegion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1426,14 +1614,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSetIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a17" doxytag="H5::DataSet::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1472,26 +1660,13 @@
     <td>
 
 <p>
-Creates a reference to an HDF5 object or a dataset region. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use <a class="el" href="classH5_1_1IdComponent.html#a7">DataSet::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>dataspace</em>&nbsp;</td><td>- IN: Dataspace with selection </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference; default to <code>H5R_DATASET_REGION</code> </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a18" doxytag="H5::DataSet::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1515,32 +1690,20 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataSet::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced - <code>char</code> pointer </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Description</b></dt><dd></dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a19" doxytag="H5::DataSet::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void * H5::DataSet::Reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1557,23 +1720,18 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataSet::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced - <code>std::string</code> </td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a20" doxytag="H5::DataSet::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::DataSet::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::DataSet::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1591,47 +1749,11 @@
     <td>
 
 <p>
-
-<p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.    </td>
-  </tr>
-</table>
-<a class="anchor" name="a22" doxytag="H5::DataSet::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">void H5::DataSet::close           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [virtual]</code></td>
-        </tr>
-      </table>
     </td>
   </tr>
 </table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Closes this dataset. 
-<p>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,15 +337,15 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSetIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSetIException.html#a0">DataSetIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSetIException.html#a0">DataSetIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSetIException.html#a1">DataSetIException</a>()</td><td><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -343,8 +360,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSetIException.html#a2">~DataSetIException</a>()</td><td><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSetIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DataSetIException.html">DataSetIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSetIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DataSetIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1DataSetIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSetIException.html#a0">DataSetIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSetIException.html#a0">DataSetIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DataSetIException.html">DataSetIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSetIException.html#a1">DataSetIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::DataSetIException::DataSetIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::DataSetIException::DataSetIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::DataSetIException::DataSetIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::DataSetIException::~DataSetIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DataSetIException::~DataSetIException           </td>
+          <td class="md" nowrap valign="top">H5::DataSetIException::~<a class="el" href="classH5_1_1DataSetIException.html">DataSetIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,54 +337,58 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSpace Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#s0">ALL</a></td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a27">close</a>()</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a3">copy</a>(const DataSpace &amp;like_space)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a4">copy</a>(const DataSpace &amp;like_space)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a0">DataSpace</a>(H5S_class_t type=H5S_SCALAR)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a1">DataSpace</a>(int rank, const hsize_t *dims, const hsize_t *maxdims=NULL)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a25">DataSpace</a>(const hid_t space_id)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a26">DataSpace</a>(const DataSpace &amp;original)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a26">DataSpace</a>(const hid_t space_id)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a27">DataSpace</a>(const DataSpace &amp;original)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a4">extentCopy</a>(DataSpace &amp;dest_space) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a24">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a5">extentCopy</a>(DataSpace &amp;dest_space) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a25">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a5">getSelectBounds</a>(hsize_t *start, hsize_t *end) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a6">getSelectElemNpoints</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a7">getSelectElemPointlist</a>(hsize_t startpoint, hsize_t numpoints, hsize_t *buf) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a8">getSelectHyperBlocklist</a>(hsize_t startblock, hsize_t numblocks, hsize_t *buf) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a9">getSelectHyperNblocks</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a10">getSelectNpoints</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a11">getSimpleExtentDims</a>(hsize_t *dims, hsize_t *maxdims=NULL) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a12">getSimpleExtentNdims</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a13">getSimpleExtentNpoints</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a14">getSimpleExtentType</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a6">getSelectBounds</a>(hsize_t *start, hsize_t *end) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a7">getSelectElemNpoints</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a8">getSelectElemPointlist</a>(hsize_t startpoint, hsize_t numpoints, hsize_t *buf) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a9">getSelectHyperBlocklist</a>(hsize_t startblock, hsize_t numblocks, hsize_t *buf) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a10">getSelectHyperNblocks</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a11">getSelectNpoints</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a12">getSimpleExtentDims</a>(hsize_t *dims, hsize_t *maxdims=NULL) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a13">getSimpleExtentNdims</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a14">getSimpleExtentNpoints</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a15">getSimpleExtentType</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a15">isSimple</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a16">offsetSimple</a>(const hssize_t *offset) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a16">isSimple</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a17">offsetSimple</a>(const hssize_t *offset) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a2">operator=</a>(const DataSpace &amp;rhs)</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a17">selectAll</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a18">selectElements</a>(H5S_seloper_t op, const size_t num_elements, const hsize_t *coord[]) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a19">selectHyperslab</a>(H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride=NULL, const hsize_t *block=NULL) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a20">selectNone</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a21">selectValid</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a22">setExtentNone</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a23">setExtentSimple</a>(int rank, const hsize_t *current_size, const hsize_t *maximum_size=NULL) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a18">selectAll</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a19">selectElements</a>(H5S_seloper_t op, const size_t num_elements, const hsize_t *coord[]) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a20">selectHyperslab</a>(H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride=NULL, const hsize_t *block=NULL) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a21">selectNone</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a22">selectValid</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a23">setExtentNone</a>() const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a24">setExtentSimple</a>(int rank, const hsize_t *current_size, const hsize_t *maximum_size=NULL) const </td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpace.html#a28">~DataSpace</a>()</td><td><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpace.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DataSpace.html">DataSpace</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSpace Class Reference</h1><code>#include &lt;<a class="el" href="H5DataSpace_8h-source.html">H5DataSpace.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DataSpace:
@@ -343,91 +358,91 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a2">operator=</a> (const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;rhs)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a3">copy</a> (const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;like_space)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a3">close</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a copy of an existing dataspace.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a4">extentCopy</a> (<a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dest_space) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this dataspace.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a4">copy</a> (const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;like_space)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies the extent of a dataspace.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a5">getSelectBounds</a> (hsize_t *start, hsize_t *end) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a copy of an existing dataspace.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a5">extentCopy</a> (<a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dest_space) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the bounding box containing the current selection.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a6">getSelectElemNpoints</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies the extent of a dataspace.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a6">getSelectBounds</a> (hsize_t *start, hsize_t *end) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of element points in the current selection.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a7">getSelectElemPointlist</a> (hsize_t startpoint, hsize_t numpoints, hsize_t *buf) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the bounding box containing the current selection.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a7">getSelectElemNpoints</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of element points currently selected.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a8">getSelectHyperBlocklist</a> (hsize_t startblock, hsize_t numblocks, hsize_t *buf) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of element points in the current selection.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a8">getSelectElemPointlist</a> (hsize_t startpoint, hsize_t numpoints, hsize_t *buf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of hyperslab blocks currently selected.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a9">getSelectHyperNblocks</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of element points currently selected.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a9">getSelectHyperBlocklist</a> (hsize_t startblock, hsize_t numblocks, hsize_t *buf) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns number of hyperslab blocks.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a10">getSelectNpoints</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of hyperslab blocks currently selected.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a10">getSelectHyperNblocks</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of elements in a dataspace selection.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a11">getSimpleExtentDims</a> (hsize_t *dims, hsize_t *maxdims=NULL) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns number of hyperslab blocks.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a11">getSelectNpoints</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves dataspace dimension size and maximum size.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a12">getSimpleExtentNdims</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of elements in a dataspace selection.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a12">getSimpleExtentDims</a> (hsize_t *dims, hsize_t *maxdims=NULL) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the dimensionality of a dataspace.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a13">getSimpleExtentNpoints</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves dataspace dimension size and maximum size.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a13">getSimpleExtentNdims</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of elements in a dataspace.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5S_class_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a14">getSimpleExtentType</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the dimensionality of a dataspace.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a14">getSimpleExtentNpoints</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current class of a dataspace.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a15">isSimple</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of elements in a dataspace.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5S_class_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a15">getSimpleExtentType</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether this dataspace is a simple dataspace.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a16">offsetSimple</a> (const hssize_t *offset) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current class of a dataspace.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a16">isSimple</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the offset of this simple dataspace.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a17">selectAll</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether this dataspace is a simple dataspace.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a17">offsetSimple</a> (const hssize_t *offset) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Selects the entire dataspace.  <a href="#a17"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a18">selectElements</a> (H5S_seloper_t op, const size_t num_elements, const hsize_t *coord[]) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the offset of this simple dataspace.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a18">selectAll</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Selects array elements to be included in the selection for this dataspace.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a19">selectHyperslab</a> (H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride=NULL, const hsize_t *block=NULL) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Selects the entire dataspace.  <a href="#a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a19">selectElements</a> (H5S_seloper_t op, const size_t num_elements, const hsize_t *coord[]) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Selects a hyperslab region to add to the current selected region.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a20">selectNone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Selects array elements to be included in the selection for this dataspace.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a20">selectHyperslab</a> (H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride=NULL, const hsize_t *block=NULL) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the selection region to include no elements.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a21">selectValid</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Selects a hyperslab region to add to the current selected region.  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a21">selectNone</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifies that the selection is within the extent of the dataspace.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a22">setExtentNone</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets the selection region to include no elements.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a22">selectValid</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the extent from a dataspace.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a23">setExtentSimple</a> (int rank, const hsize_t *current_size, const hsize_t *maximum_size=NULL) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifies that the selection is within the extent of the dataspace.  <a href="#a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a23">setExtentNone</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets or resets the size of an existing dataspace.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a24">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the extent from a dataspace.  <a href="#a23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a24">setExtentSimple</a> (int rank, const hsize_t *current_size, const hsize_t *maximum_size=NULL) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a25">DataSpace</a> (const hid_t space_id)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets or resets the size of an existing dataspace.  <a href="#a24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a25">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> object using the id of an existing dataspace.  <a href="#a25"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a26">DataSpace</a> (const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;original)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a26">DataSpace</a> (const hid_t space_id)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> object.  <a href="#a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a27">close</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> object using the id of an existing dataspace.  <a href="#a26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a27">DataSpace</a> (const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;original)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this dataspace.  <a href="#a27"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> object.  <a href="#a27"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#a28">~DataSpace</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this dataspace.  <a href="#a28"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#s0">ALL</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html#s0">ALL</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for default dataspace.  <a href="#s0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::DataSpace::DataSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -460,14 +475,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::DataSpace::DataSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -517,14 +532,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a25" doxytag="H5::DataSpace::DataSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a26" doxytag="H5::DataSpace::DataSpace"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -557,14 +572,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a26" doxytag="H5::DataSpace::DataSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a27" doxytag="H5::DataSpace::DataSpace"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -599,12 +614,12 @@
   </tr>
 </table>
 <a class="anchor" name="a28" doxytag="H5::DataSpace::~DataSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DataSpace::~DataSpace           </td>
+          <td class="md" nowrap valign="top">H5::DataSpace::~<a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -629,7 +644,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a2" doxytag="H5::DataSpace::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -663,18 +678,52 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Reference to <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::DataSpace::copy"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::DataSpace::close"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::DataSpace::close           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap><code> [virtual]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Closes this dataspace. 
+<p>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a4" doxytag="H5::DataSpace::copy"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">void H5::DataSpace::copy           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
@@ -703,14 +752,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::DataSpace::extentCopy"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::DataSpace::extentCopy"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -743,14 +792,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::DataSpace::getSelectBounds"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::DataSpace::getSelectBounds"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -793,15 +842,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectBounds">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectBounds</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="../RM_H5S.html#Dataspace-SelectBounds">../RM_H5S.html#Dataspace-SelectBounds</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::DataSpace::getSelectElemNpoints"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::DataSpace::getSelectElemNpoints"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -829,14 +878,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of element points </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::DataSpace::getSelectElemPointlist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::DataSpace::getSelectElemPointlist"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -886,15 +935,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElemPointList">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElemPointList</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="../RM_H5S.html#Dataspace-SelectElemPointList">../RM_H5S.html#Dataspace-SelectElemPointList</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::DataSpace::getSelectHyperBlocklist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::DataSpace::getSelectHyperBlocklist"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -944,14 +993,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::DataSpace::getSelectHyperNblocks"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::DataSpace::getSelectHyperNblocks"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -979,14 +1028,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of hyperslab blocks </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::DataSpace::getSelectNpoints"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::DataSpace::getSelectNpoints"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1014,14 +1063,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of elements </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::DataSpace::getSimpleExtentDims"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::DataSpace::getSimpleExtentDims"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1062,17 +1111,17 @@
     <tr><td valign="top"></td><td valign="top"><em>maxdims</em>&nbsp;</td><td>- IN: Pointer to the value of the new member </td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Returns:</b></dt><dd>Number of dimensions, the same value as returned by <code><a class="el" href="classH5_1_1DataSpace.html#a12">DataSpace::getSimpleExtentNdims()</a></code> </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Number of dimensions, the same value as returned by <code><a class="el" href="classH5_1_1DataSpace.html#a13">DataSpace::getSimpleExtentNdims()</a></code> </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::DataSpace::getSimpleExtentNdims"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::DataSpace::getSimpleExtentNdims"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1100,14 +1149,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of dimensions </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::DataSpace::getSimpleExtentNpoints"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::DataSpace::getSimpleExtentNpoints"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1135,14 +1184,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of elements </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::DataSpace::getSimpleExtentType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::DataSpace::getSimpleExtentType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1170,14 +1219,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Class of the dataspace </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::DataSpace::isSimple"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::DataSpace::isSimple"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1205,14 +1254,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><code>true</code> if the dataspace is a simple dataspace, and <code>false</code>, otherwise </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::DataSpace::offsetSimple"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::DataSpace::offsetSimple"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1245,15 +1294,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This function creates an offset for the selection within an extent, allowing the same shaped selection to be moved to different locations within a dataspace without requiring it to be re-defined. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::DataSpace::selectAll"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::DataSpace::selectAll"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1280,14 +1329,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a18" doxytag="H5::DataSpace::selectElements"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a19" doxytag="H5::DataSpace::selectElements"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1337,15 +1386,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElements">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElements</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="../RM_H5S.html#Dataspace-SelectElements">../RM_H5S.html#Dataspace-SelectElements</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a19" doxytag="H5::DataSpace::selectHyperslab"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::DataSpace::selectHyperslab"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1409,15 +1458,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectHyperslab">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectHyperslab</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please refer to the C layer Reference Manual at: <a href="../RM_H5S.html#Dataspace-SelectHyperslab">../RM_H5S.html#Dataspace-SelectHyperslab</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::DataSpace::selectNone"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a21" doxytag="H5::DataSpace::selectNone"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1444,14 +1493,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::DataSpace::selectValid"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::DataSpace::selectValid"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1479,14 +1528,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><code>true</code> if the selection is within the extent of the dataspace, and <code>false</code>, otherwise </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::DataSpace::setExtentNone"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::DataSpace::setExtentNone"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1513,14 +1562,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::DataSpace::setExtentSimple"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a24" doxytag="H5::DataSpace::setExtentSimple"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1570,19 +1619,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataSpaceIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::DataSpace::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a25" doxytag="H5::DataSpace::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::DataSpace::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::DataSpace::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1600,48 +1649,12 @@
     <td>
 
 <p>
-
-<p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.    </td>
-  </tr>
-</table>
-<a class="anchor" name="a27" doxytag="H5::DataSpace::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">void H5::DataSpace::close           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap><code> [virtual]</code></td>
-        </tr>
-      </table>
     </td>
   </tr>
 </table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Closes this dataspace. 
-<p>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-    </td>
-  </tr>
-</table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::DataSpace::ALL"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1665,8 +1678,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,15 +337,15 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSpaceIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpaceIException.html#a0">DataSpaceIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpaceIException.html#a0">DataSpaceIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpaceIException.html#a1">DataSpaceIException</a>()</td><td><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -343,8 +360,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataSpaceIException.html#a2">~DataSpaceIException</a>()</td><td><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataSpaceIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DataSpaceIException.html">DataSpaceIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataSpaceIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DataSpaceIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1DataSpaceIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpaceIException.html#a0">DataSpaceIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpaceIException.html#a0">DataSpaceIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DataSpaceIException.html">DataSpaceIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpaceIException.html#a1">DataSpaceIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::DataSpaceIException::DataSpaceIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::DataSpaceIException::DataSpaceIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::DataSpaceIException::DataSpaceIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::DataSpaceIException::~DataSpaceIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DataSpaceIException::~DataSpaceIException           </td>
+          <td class="md" nowrap valign="top">H5::DataSpaceIException::~<a class="el" href="classH5_1_1DataSpaceIException.html">DataSpaceIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,75 +337,82 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DataType.html">H5::DataType</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a35">fromClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DataType.html">DataType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataType Class Reference</h1><code>#include &lt;<a class="el" href="H5DataType_8h-source.html">H5DataType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DataType:
@@ -350,111 +365,120 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a1">DataType</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;original)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1DataType.html">DataType</a> object.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a2">close</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a2">DataType</a> (<a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;obj, void *ref)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the datatype if it is not a predefined type.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a3">copy</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;like_type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a reference to some object, returns that datatype.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a3">close</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies an existing datatype to this datatype object.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_class_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a4">getClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the datatype if it is not a predefined type.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a4">copy</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;like_type)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the datatype class identifier.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a5">commit</a> (<a class="el" href="classH5_1_1CommonFG.html">CommonFG</a> &amp;loc, const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies an existing datatype to this datatype object.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a5">copy</a> (const <a class="el" href="classH5_1_1DataSet.html">DataSet</a> &amp;dset)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Commits a transient datatype to a file, creating a new named datatype.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a6">commit</a> (<a class="el" href="classH5_1_1CommonFG.html">CommonFG</a> &amp;loc, const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies the datatype of the given dataset to this datatype object.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_class_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a6">getClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a7">committed</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the datatype class identifier.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a7">commit</a> (<a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;loc, const char *name)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether a datatype is a named type or a transient type.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_conv_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a8">find</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_cdata_t **pcdata) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Commits a transient datatype to a file, creating a new named datatype.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a8">commit</a> (<a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;loc, const H5std_string &amp;name)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a conversion function that can handle a conversion from this datatype to the specified datatype, <em>dest</em>.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a9">convert</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, size_t nelmts, void *buf, void *background, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;plist) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a9">commit</a> (<a class="el" href="classH5_1_1H5Object.html">H5Object</a> &amp;loc, const char *name)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts data from this datatype to the specified datatypes.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a10">operator=</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;rhs)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Commits a transient datatype to a file, creating a new named datatype.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a10">commit</a> (<a class="el" href="classH5_1_1H5Object.html">H5Object</a> &amp;loc, const H5std_string &amp;name)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a11">operator==</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;compared_type) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a11">committed</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compares this <a class="el" href="classH5_1_1DataType.html">DataType</a> against the given one to determines whether the two objects refer to the same actual datatype.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a12">lock</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether a datatype is a named type or a transient type.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_conv_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a12">find</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_cdata_t **pcdata) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locks a datatype, making it read-only and non-destructible.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_overflow_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a> (void) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds a conversion function that can handle a conversion from this datatype to the specified datatype, <em>dest</em>.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a13">convert</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, size_t nelmts, void *buf, void *background, const <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;plist=<a class="el" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a>) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the current global overflow function.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a> (H5T_overflow_t func) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts data from this datatype to the specified datatypes.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a14">operator=</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;rhs)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the overflow handler to a specified function.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a15">getSize</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a15">operator==</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;compared_type) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size of a datatype.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compares this <a class="el" href="classH5_1_1DataType.html">DataType</a> against the given one to determines whether the two objects refer to the same actual datatype.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a16">lock</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the base datatype from which a datatype is derived.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a> (H5T_pers_t pers, const char *name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locks a datatype, making it read-only and non-destructible.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_overflow_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a> (void) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers the specified conversion function.  <a href="#a17"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a> (H5T_pers_t pers, const string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the current global overflow function.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a> (H5T_overflow_t func) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a19">unregister</a> (H5T_pers_t pers, const char *name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the overflow handler to a specified function.  <a href="#a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a19">getSize</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a conversion function from all conversion paths.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a20">unregister</a> (H5T_pers_t pers, const string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size of a datatype.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataType.html">DataType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a21">setTag</a> (const char *tag) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the base datatype from which a datatype is derived.  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a> (H5T_pers_t pers, const char *name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tags an opaque datatype.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a22">setTag</a> (const string &amp;tag) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers the specified conversion function.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a> (H5T_pers_t pers, const H5std_string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a23">getTag</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a23">unregister</a> (H5T_pers_t pers, const char *name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the tag associated with an opaque datatype.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a> (H5T_class_t cls) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a conversion function from all conversion paths.  <a href="#a23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a24">unregister</a> (H5T_pers_t pers, const H5std_string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;dest, H5T_conv_t func) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether a datatype contains (or is) a certain type of datatype.  <a href="#a24"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a25">setTag</a> (const char *tag) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether this datatype is a variable-length string.  <a href="#a25"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a26">Reference</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tags an opaque datatype.  <a href="#a25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a26">setTag</a> (const H5std_string &amp;tag) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region.  <a href="#a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a27">Reference</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>.  <a href="#a26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a27">getTag</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name.  <a href="#a27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a28">Reference</a> (const char *name, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the tag associated with an opaque datatype.  <a href="#a27"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a> (H5T_class_t cls) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a reference to an HDF5 object or a dataset region.  <a href="#a28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a> (void *ref, H5R_type_t ref_type) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether a datatype contains (or is) a certain type of datatype.  <a href="#a28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the type of object that an object reference points to.  <a href="#a29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a> (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check whether this datatype is a variable-length string.  <a href="#a29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a30">Reference</a> (const char *name, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataspace with the region pointed to selected.  <a href="#a30"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a31">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataType::reference</a> instead!  <a href="#a30"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a31">Reference</a> (const char *name) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a32">DataType</a> (const hid_t type_id, bool predtype=false)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataType::reference</a> instead!  <a href="#a31"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a32">Reference</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a datatype using an existing datatype's id.  <a href="#a32"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a33">DataType</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataType::reference</a> instead!  <a href="#a32"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a> (void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub datatype.  <a href="#a33"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the type of object that an object reference points to.  <a href="#a33"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a> (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this datatype.  <a href="#a34"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataspace with the region pointed to selected.  <a href="#a34"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a35">fromClass</a> () const </td></tr>
 
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a36">DataType</a> (const hid_t type_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a datatype using an existing datatype's id.  <a href="#a36"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a37">DataType</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub datatype.  <a href="#a37"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this datatype.  <a href="#a38"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::DataType::DataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -497,14 +521,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::DataType::DataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -533,22 +557,22 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a32" doxytag="H5::DataType::DataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::DataType::DataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::DataType::DataType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>existing_id</em>, </td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>obj</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>bool&nbsp;</td>
-          <td class="mdname" nowrap> <em>predefined</em> = <code>false</code></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -567,19 +591,55 @@
     <td>
 
 <p>
+Given a reference to some object, returns that datatype. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>- IN: Location reference object is in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>- IN: Reference pointer </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Description</b></dt><dd><code>obj</code> can be <a class="el" href="classH5_1_1DataSet.html">DataSet</a>, <a class="el" href="classH5_1_1Group.html">Group</a>, <a class="el" href="classH5_1_1H5File.html">H5File</a>, or named <a class="el" href="classH5_1_1DataType.html">DataType</a>, that is a datatype that has been named by <a class="el" href="classH5_1_1DataType.html#a7">DataType::commit</a>. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a36" doxytag="H5::DataType::DataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">H5::DataType::DataType           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>existing_id</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
 Creates a datatype using an existing datatype's id. 
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>existing_id</em>&nbsp;</td><td>- IN: Id of the existing datatype </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>predefined</em>&nbsp;</td><td>- IN: Indicates whether or not this datatype is a predefined datatype; default to <code>false</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a33" doxytag="H5::DataType::DataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a37" doxytag="H5::DataType::DataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -607,13 +667,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a34" doxytag="H5::DataType::~DataType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a38" doxytag="H5::DataType::~DataType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DataType::~DataType           </td>
+          <td class="md" nowrap valign="top">H5::DataType::~<a class="el" href="classH5_1_1DataType.html">DataType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -637,8 +697,8 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a2" doxytag="H5::DataType::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::DataType::close"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -665,14 +725,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::DataType::copy"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::DataType::copy"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -705,18 +765,49 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::DataType::getClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::DataType::copy"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::DataType::copy           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1DataSet.html">DataSet</a> &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>dset</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Copies the datatype of the given dataset to this datatype object. 
+<p>
+<dl compact><dt><b>Description</b></dt><dd>The resulted dataset will be transient and modifiable. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a6" doxytag="H5::DataType::getClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">H5T_class_t H5::DataType::getClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
@@ -740,21 +831,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Datatype class identifier </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::DataType::commit"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::DataType::commit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::DataType::commit           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1CommonFG.html">CommonFG</a> &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>loc</em>, </td>
         </tr>
         <tr>
@@ -766,7 +857,7 @@
         <tr>
           <td class="md"></td>
           <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"> const</td>
+          <td class="md" colspan="2"></td>
         </tr>
       </table>
     </td>
@@ -784,39 +875,39 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>loc</em>&nbsp;</td><td>- IN: Either a file or a group </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>loc</em>&nbsp;</td><td>- IN: A file </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the datatype </td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::DataType::commit"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::DataType::commit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::DataType::commit           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1CommonFG.html">CommonFG</a> &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>loc</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em></td>
         </tr>
         <tr>
           <td class="md"></td>
           <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"> const</td>
+          <td class="md" colspan="2"></td>
         </tr>
       </table>
     </td>
@@ -835,12 +926,101 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::DataType::committed"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::DataType::commit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::DataType::commit           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1H5Object.html">H5Object</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>loc</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Commits a transient datatype to a file, creating a new named datatype. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>loc</em>&nbsp;</td><td>- IN: Either a group, dataset, named datatype, or attribute. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the datatype </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a10" doxytag="H5::DataType::commit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">void H5::DataType::commit           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1H5Object.html">H5Object</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>loc</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+This is an overloaded member function, provided for convenience. It differs from the above function only in the type of the argument <em>name</em>. 
+<p>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a11" doxytag="H5::DataType::committed"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">bool H5::DataType::committed           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
@@ -864,14 +1044,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><code>true</code> if the datatype is a named type, and <code>false</code>, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::DataType::find"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::DataType::find"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -915,14 +1095,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Pointer to a suitable conversion function </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::DataType::convert"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::DataType::convert"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -953,8 +1133,8 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap><a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>plist</em></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>plist</em> = <code><a class="el" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a></code></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -987,14 +1167,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Pointer to a suitable conversion function </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::DataType::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::DataType::operator="></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1028,14 +1208,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Reference to <a class="el" href="classH5_1_1DataType.html">DataType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::DataType::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::DataType::operator=="></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1069,14 +1249,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if the datatypes are equal, and false, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::DataType::lock"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::DataType::lock"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1103,15 +1283,15 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Descrition</b></dt><dd>This is normally done by the library for predefined data types so the application doesn't inadvertently change or delete a predefined type.</dd></dl>
 Once a data type is locked it can never be unlocked unless the entire library is closed.     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::DataType::getOverflow"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::DataType::getOverflow"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1140,14 +1320,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Pointer to an application-defined function if successful; otherwise returns NULL; this can happen if no overflow handling function is registered. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::DataType::setOverflow"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::DataType::setOverflow"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1181,15 +1361,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Pointer to a suitable conversion function </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>The function specified by <em>func</em> will be called for all data type conversions that result in an overflow. For more information, please see: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOverflow">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOverflow</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>The function specified by <em>func</em> will be called for all data type conversions that result in an overflow. For more information, please see: <a href="../RM_H5T.html#Datatype-SetOverflow">../RM_H5T.html#Datatype-SetOverflow</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::DataType::getSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a19" doxytag="H5::DataType::getSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1217,14 +1397,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Datatype size in bytes </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::DataType::getSuper"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::DataType::getSuper"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1252,14 +1432,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataType.html">DataType</a> object </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::DataType::registerFunc"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a21" doxytag="H5::DataType::registerFunc"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1320,15 +1500,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more information, please see: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-Register">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-Register</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more information, please see: <a href="../RM_H5T.html#Datatype-Register">../RM_H5T.html#Datatype-Register</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a18" doxytag="H5::DataType::registerFunc"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::DataType::registerFunc"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1341,7 +1521,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1378,8 +1558,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a19" doxytag="H5::DataType::unregister"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::DataType::unregister"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1440,14 +1620,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::DataType::unregister"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a24" doxytag="H5::DataType::unregister"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1460,7 +1640,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1497,8 +1677,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::DataType::setTag"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a25" doxytag="H5::DataType::setTag"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1531,21 +1711,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::DataType::setTag"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a26" doxytag="H5::DataType::setTag"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::DataType::setTag           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>tag</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1567,13 +1747,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::DataType::getTag"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a27" doxytag="H5::DataType::getTag"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::DataType::getTag           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::DataType::getTag           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1596,14 +1776,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Tag associated with the opaque datatype </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::DataType::detectClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a28" doxytag="H5::DataType::detectClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1632,14 +1812,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if this datatype contains or is the specified type, and false, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a25" doxytag="H5::DataType::isVariableStr"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a29" doxytag="H5::DataType::isVariableStr"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1667,14 +1847,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if this datatype is a variable-length string, and false, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a26" doxytag="H5::DataType::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a30" doxytag="H5::DataType::Reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1682,10 +1862,25 @@
           <td class="md" nowrap valign="top">void * H5::DataType::Reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const char *&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap> const</td>
+          <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>dataspace</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>H5R_type_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_DATASET_REGION</code></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
       </table>
     </td>
   </tr>
@@ -1698,32 +1893,20 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataType::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Description</b></dt><dd></dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a27" doxytag="H5::DataType::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a31" doxytag="H5::DataType::Reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void * H5::DataType::Reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const char *&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1740,44 +1923,24 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataType::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced - <code>std::string</code> </td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a28" doxytag="H5::DataType::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a32" doxytag="H5::DataType::Reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void * H5::DataType::Reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const char *&nbsp;</td>
-          <td class="mdname" nowrap> <em>name</em>, </td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap> const</td>
         </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>dataspace</em>, </td>
-        </tr>
-        <tr>
-          <td class="md" nowrap align="right"></td>
-          <td class="md"></td>
-          <td class="md" nowrap>H5R_type_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_DATASET_REGION</code></td>
-        </tr>
-        <tr>
-          <td class="md"></td>
-          <td class="md">)&nbsp;</td>
-          <td class="md" colspan="2"> const</td>
-        </tr>
       </table>
     </td>
   </tr>
@@ -1790,26 +1953,13 @@
     <td>
 
 <p>
-Creates a reference to an HDF5 object or a dataset region. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">DataType::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>dataspace</em>&nbsp;</td><td>- IN: Dataspace with selection </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference; default to <code>H5R_DATASET_REGION</code> </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a29" doxytag="H5::DataType::getObjType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a33" doxytag="H5::DataType::getObjType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1823,7 +1973,7 @@
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>H5R_type_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>ref_type</em></td>
+          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_OBJECT</code></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -1859,14 +2009,14 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a30" doxytag="H5::DataType::getRegion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a34" doxytag="H5::DataType::getRegion"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1910,19 +2060,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a31" doxytag="H5::DataType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a35" doxytag="H5::DataType::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::DataType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::DataType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1942,37 +2092,11 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.
-<p>
-Reimplemented in <a class="el" href="classH5_1_1ArrayType.html#a3">H5::ArrayType</a>, <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>, <a class="el" href="classH5_1_1CompType.html#a19">H5::CompType</a>, <a class="el" href="classH5_1_1EnumType.html#a12">H5::EnumType</a>, <a class="el" href="classH5_1_1FloatType.html#a10">H5::FloatType</a>, <a class="el" href="classH5_1_1IntType.html#a4">H5::IntType</a>, <a class="el" href="classH5_1_1PredType.html#a0">H5::PredType</a>, <a class="el" href="classH5_1_1StrType.html#a8">H5::StrType</a>, and <a class="el" href="classH5_1_1VarLenType.html#a0">H5::VarLenType</a>.    </td>
+Reimplemented in <a class="el" href="classH5_1_1ArrayType.html#a3">H5::ArrayType</a>, <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>, <a class="el" href="classH5_1_1CompType.html#a18">H5::CompType</a>, <a class="el" href="classH5_1_1EnumType.html#a12">H5::EnumType</a>, <a class="el" href="classH5_1_1FloatType.html#a10">H5::FloatType</a>, <a class="el" href="classH5_1_1IntType.html#a4">H5::IntType</a>, <a class="el" href="classH5_1_1PredType.html#a0">H5::PredType</a>, <a class="el" href="classH5_1_1StrType.html#a8">H5::StrType</a>, and <a class="el" href="classH5_1_1VarLenType.html#a1">H5::VarLenType</a>.    </td>
   </tr>
 </table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="p0" doxytag="H5::DataType::is_predtype"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">bool <a class="el" href="classH5_1_1DataType.html#p0">H5::DataType::is_predtype</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,15 +337,15 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataTypeIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataTypeIException.html#a0">DataTypeIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataTypeIException.html#a0">DataTypeIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataTypeIException.html#a1">DataTypeIException</a>()</td><td><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -343,8 +360,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataTypeIException.html#a2">~DataTypeIException</a>()</td><td><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1DataTypeIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1DataTypeIException.html">DataTypeIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::DataTypeIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::DataTypeIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1DataTypeIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataTypeIException.html#a0">DataTypeIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataTypeIException.html#a0">DataTypeIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1DataTypeIException.html">DataTypeIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataTypeIException.html#a1">DataTypeIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::DataTypeIException::DataTypeIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::DataTypeIException::DataTypeIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::DataTypeIException::DataTypeIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::DataTypeIException::~DataTypeIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::DataTypeIException::~DataTypeIException           </td>
+          <td class="md" nowrap valign="top">H5::DataTypeIException::~<a class="el" href="classH5_1_1DataTypeIException.html">DataTypeIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,91 +337,98 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::EnumType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a0">EnumType</a>(size_t size)</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a1">EnumType</a>(const DataSet &amp;dataset)</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a2">EnumType</a>(const IntType &amp;data_type)</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a13">EnumType</a>()</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a14">EnumType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a15">EnumType</a>(const EnumType &amp;original)</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a12">fromClass</a>() const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a4">getMemberIndex</a>(const char *name) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a5">getMemberIndex</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a5">getMemberIndex</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a6">getMemberValue</a>(unsigned memb_no, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a3">getNmembers</a>() const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a7">insert</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a8">insert</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a8">insert</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a9">nameOf</a>(void *value, size_t size) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a10">valueOf</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a11">valueOf</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a11">valueOf</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1EnumType.html#a16">~EnumType</a>()</td><td><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1EnumType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1EnumType.html">EnumType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::EnumType Class Reference</h1><code>#include &lt;<a class="el" href="H5EnumType_8h-source.html">H5EnumType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::EnumType:
@@ -351,7 +366,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a4">getMemberIndex</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the index of a member in this enumeration datatype.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a5">getMemberIndex</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a5">getMemberIndex</a> (const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of argument <em>name</em>.  <a href="#a5"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a6">getMemberValue</a> (unsigned memb_no, void *value) const </td></tr>
@@ -360,19 +375,19 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a7">insert</a> (const char *name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts a new member to this enumeration datatype.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a8">insert</a> (const string &amp;name, void *value) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a8">insert</a> (const H5std_string &amp;name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of argument <em>name</em>.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a9">nameOf</a> (void *value, size_t size) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a9">nameOf</a> (void *value, size_t size) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the symbol name corresponding to a specified member of this enumeration datatype.  <a href="#a9"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a10">valueOf</a> (const char *name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the value corresponding to a member of this enumeration datatype, given the member's name.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a11">valueOf</a> (const string &amp;name, void *value) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a11">valueOf</a> (const H5std_string &amp;name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in the type of argument <em>name</em>.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a12">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a12">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html#a13">EnumType</a> ()</td></tr>
 
@@ -389,7 +404,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::EnumType::EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -422,14 +437,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::EnumType::EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -462,14 +477,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::EnumType::EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -502,14 +517,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a13" doxytag="H5::EnumType::EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -538,7 +553,7 @@
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::EnumType::EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -571,14 +586,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a15" doxytag="H5::EnumType::EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -608,12 +623,12 @@
   </tr>
 </table>
 <a class="anchor" name="a16" doxytag="H5::EnumType::~EnumType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::EnumType::~EnumType           </td>
+          <td class="md" nowrap valign="top">H5::EnumType::~<a class="el" href="classH5_1_1EnumType.html">EnumType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -638,7 +653,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a3" doxytag="H5::EnumType::getNmembers"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -666,14 +681,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of members </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::EnumType::getMemberIndex"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -707,21 +722,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Index of the member if it exists. Index will have the value between 0 and <code>N-1</code>, where <code>N</code> is the value returned by the member function <code><a class="el" href="classH5_1_1EnumType.html#a3">EnumType::getNmembers</a></code>. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::EnumType::getMemberIndex"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">int H5::EnumType::getMemberIndex           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -744,7 +759,7 @@
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::EnumType::getMemberValue"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -787,14 +802,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::EnumType::insert"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -837,21 +852,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::EnumType::insert"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::EnumType::insert           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -883,12 +898,12 @@
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::EnumType::nameOf"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::EnumType::nameOf           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::EnumType::nameOf           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">void *&nbsp;</td>
           <td class="mdname" nowrap> <em>value</em>, </td>
@@ -926,14 +941,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::EnumType::valueOf"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -976,21 +991,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::EnumType::valueOf"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::EnumType::valueOf           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1022,12 +1037,12 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::EnumType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::EnumType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::EnumType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1047,11 +1062,11 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1DataType.html#a31">H5::DataType</a>.    </td>
+Reimplemented from <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,13 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::Exception Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1Exception.html">H5::Exception</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -340,8 +357,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a>(H5E_auto_t &amp;func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Exception.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1Exception.html">Exception</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::Exception Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::Exception:
@@ -343,22 +358,22 @@
 <a href="classH5_1_1Exception-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a0">Exception</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a0">Exception</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an exception with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a> (H5E_major_t major_num) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a> (H5E_major_t major_num) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a text string that describes the error specified by a major error number.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a> (H5E_minor_t minor_num) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a> (H5E_minor_t minor_num) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a text string that describes the error specified by a minor error number.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a3">getDetailMsg</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a3">getDetailMsg</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the detailed message set at the time the exception is thrown.  <a href="#a3"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a4">getCDetailMsg</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the detailed message set at the time the exception is thrown.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a5">getFuncName</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a5">getFuncName</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the function, where the exception is thrown.  <a href="#a5"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#a6">getCFuncName</a> () const </td></tr>
@@ -377,41 +392,41 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a10"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a> (H5E_auto_t &amp;func, void *client_data)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a> (H5E_auto_t &amp;func, void *client_data)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turns on the automatic error printing.  <a href="#e0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turns off the automatic error printing from the C library.  <a href="#e1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a> (H5E_auto_t &amp;func, void **client_data)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a> (H5E_auto_t &amp;func, void **client_data)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current settings for the automatic error stack traversal function and its data.  <a href="#e2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the error stack for the current thread.  <a href="#e3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a> (H5E_direction_t direction, H5E_walk_t func, void *client_data)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a> (H5E_direction_t direction, H5E_walk_t func, void *client_data)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks the error stack for the current thread, calling the specified function.  <a href="#e4"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td></tr>
 
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::Exception::Exception"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::Exception::Exception           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -443,7 +458,7 @@
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::Exception::Exception"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -472,7 +487,7 @@
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::Exception::Exception"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -507,12 +522,12 @@
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::Exception::~Exception"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::Exception::~Exception           </td>
+          <td class="md" nowrap valign="top">H5::Exception::~<a class="el" href="classH5_1_1Exception.html">Exception</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -537,12 +552,12 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a1" doxytag="H5::Exception::getMajorString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::Exception::getMajorString           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::Exception::getMajorString           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">H5E_major_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>err_major</em>          </td>
@@ -574,12 +589,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::Exception::getMinorString"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::Exception::getMinorString           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::Exception::getMinorString           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">H5E_minor_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>err_minor</em>          </td>
@@ -611,12 +626,12 @@
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::Exception::getDetailMsg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::Exception::getDetailMsg           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::Exception::getDetailMsg           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -636,12 +651,12 @@
 <p>
 Returns the detailed message set at the time the exception is thrown. 
 <p>
-<dl compact><dt><b>Returns:</b></dt><dd>Text message - <code>std::string</code> </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Text message - <code>H5std_string</code> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::Exception::getCDetailMsg"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -671,12 +686,12 @@
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::Exception::getFuncName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::Exception::getFuncName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::Exception::getFuncName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -696,12 +711,12 @@
 <p>
 Returns the name of the function, where the exception is thrown. 
 <p>
-<dl compact><dt><b>Returns:</b></dt><dd>Text message - <code>std::string</code> </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Text message - <code>H5std_string</code> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::Exception::getCFuncName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -731,7 +746,7 @@
   </tr>
 </table>
 <a class="anchor" name="e0" doxytag="H5::Exception::setAutoPrint"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -778,7 +793,7 @@
   </tr>
 </table>
 <a class="anchor" name="e1" doxytag="H5::Exception::dontPrint"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -804,11 +819,11 @@
 Turns off the automatic error printing from the C library. 
 <p>
 <dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="chunks_8cpp-example.html#a0">chunks.cpp</a>, <a class="el" href="create_8cpp-example.html#a2">create.cpp</a>, <a class="el" href="extend__ds_8cpp-example.html#a4">extend_ds.cpp</a>, <a class="el" href="h5group_8cpp-example.html#a6">h5group.cpp</a>, <a class="el" href="readdata_8cpp-example.html#a7">readdata.cpp</a>, and <a class="el" href="writedata_8cpp-example.html#a8">writedata.cpp</a>.</dl>    </td>
+<a class="el" href="chunks_8cpp-example.html#a0">chunks.cpp</a>, <a class="el" href="create_8cpp-example.html#a2">create.cpp</a>, <a class="el" href="extend__ds_8cpp-example.html#a3">extend_ds.cpp</a>, <a class="el" href="h5group_8cpp-example.html#a4">h5group.cpp</a>, <a class="el" href="readdata_8cpp-example.html#a5">readdata.cpp</a>, and <a class="el" href="writedata_8cpp-example.html#a6">writedata.cpp</a>.</dl>    </td>
   </tr>
 </table>
 <a class="anchor" name="e2" doxytag="H5::Exception::getAutoPrint"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -853,7 +868,7 @@
   </tr>
 </table>
 <a class="anchor" name="e3" doxytag="H5::Exception::clearErrorStack"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -883,7 +898,7 @@
   </tr>
 </table>
 <a class="anchor" name="e4" doxytag="H5::Exception::walkErrorStack"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -943,7 +958,7 @@
                 error.  This structure is listed below.
         <span class="keywordtype">void</span> *client_data - Pointer to client data in the format expected by
                 the user-defined function.
-</pre></div> </dd></dl>
+</pre></div></dd></dl>
 <dl compact><dt><b></b></dt><dd>Data structure to describe the error: <div class="fragment"><pre class="fragment">    <span class="keyword">typedef</span> <span class="keyword">struct </span>H5E_error_t {
         hid_t       cls_id;         <span class="comment">//class ID</span>
         hid_t       maj_num;        <span class="comment">//major error ID</span>
@@ -953,12 +968,12 @@
         <span class="keywordtype">unsigned</span>    line;           <span class="comment">//line in file where error occurs</span>
         <span class="keyword">const</span> <span class="keywordtype">char</span>  *desc;          <span class="comment">//optional supplied description</span>
     } H5E_error_t;
-</pre></div> </dd></dl>
+</pre></div></dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::Exception::printError"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -994,12 +1009,12 @@
 </table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="t0" doxytag="H5::Exception::DEFAULT_MSG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const string <a class="el" href="classH5_1_1Exception.html#t0">H5::Exception::DEFAULT_MSG</a><code> [static, protected]</code>          </td>
+          <td class="md" nowrap valign="top">const H5std_string <a class="el" href="classH5_1_1Exception.html#t0">H5::Exception::DEFAULT_MSG</a><code> [static, protected]</code>          </td>
         </tr>
       </table>
     </td>
@@ -1016,8 +1031,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,92 +337,96 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FileAccPropList Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a4">closeClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a5">copy</a>(const PropList &amp;like_plist)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a6">copyProp</a>(PropList &amp;dest, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a8">copyProp</a>(PropList &amp;dest, PropList &amp;src, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#s0">DEFAULT</a></td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a30">FileAccPropList</a>()</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a0">FileAccPropList</a>()</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a31">FileAccPropList</a>(const FileAccPropList &amp;original)</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a32">FileAccPropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a29">fromClass</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a20">getAlignment</a>(hsize_t &amp;threshold, hsize_t &amp;alignment) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a24">getCache</a>(int &amp;mdc_nelmts, size_t &amp;rdcc_nelmts, size_t &amp;rdcc_nbytes, double &amp;rdcc_w0) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a30">fromClass</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a21">getAlignment</a>(hsize_t &amp;threshold, hsize_t &amp;alignment) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a25">getCache</a>(int &amp;mdc_nelmts, size_t &amp;rdcc_nelmts, size_t &amp;rdcc_nbytes, double &amp;rdcc_w0) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a10">getClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a12">getClassParent</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a7">getCore</a>(size_t &amp;increment, hbool_t &amp;backing_store) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a8">getCore</a>(size_t &amp;increment, hbool_t &amp;backing_store) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a2">getDriver</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a9">getFamily</a>(hsize_t &amp;memb_size, FileAccPropList &amp;memb_plist) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a10">getFamily</a>(hsize_t &amp;memb_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a4">getFamilyOffset</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a26">getFcloseDegree</a>()</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a28">getGcReferences</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a16">getMetaBlockSize</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a22">getMultiType</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a3">getDriver</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a10">getFamily</a>(hsize_t &amp;memb_size, FileAccPropList &amp;memb_plist) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a11">getFamily</a>(hsize_t &amp;memb_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a5">getFamilyOffset</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a27">getFcloseDegree</a>()</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a29">getGcReferences</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a17">getMetaBlockSize</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a23">getMultiType</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a13">getNumProps</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a14">getProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a23">getPropSize</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a14">getSieveBufSize</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a15">getSieveBufSize</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a25">isAClass</a>(const PropList &amp;prop_class) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a1">operator=</a>(const PropList &amp;rhs)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a2">operator==</a>(const PropList &amp;rhs) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a26">propExist</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a0">PropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a31">PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a32">PropList</a>(const PropList &amp;original)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a28">removeProp</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a19">setAlignment</a>(hsize_t threshold=1, hsize_t alignment=1) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a23">setCache</a>(int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a6">setCore</a>(size_t increment, hbool_t backing_store) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a1">setDriver</a>(hid_t new_driver_id, const void *new_driver_info) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a8">setFamily</a>(hsize_t memb_size, const FileAccPropList &amp;memb_plist) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a3">setFamilyOffset</a>(hsize_t offset) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a25">setFcloseDegree</a>(H5F_close_degree_t degree)</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a27">setGcReferences</a>(unsigned gc_ref=0) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a17">setLog</a>(const char *logfile, unsigned flags, size_t buf_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a18">setLog</a>(const string &amp;logfile, unsigned flags, size_t buf_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a15">setMetaBlockSize</a>(hsize_t &amp;block_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a21">setMultiType</a>(H5FD_mem_t dtype) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a20">setAlignment</a>(hsize_t threshold=1, hsize_t alignment=1) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a24">setCache</a>(int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a7">setCore</a>(size_t increment, hbool_t backing_store) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a2">setDriver</a>(hid_t new_driver_id, const void *new_driver_info) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a9">setFamily</a>(hsize_t memb_size, const FileAccPropList &amp;memb_plist) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a4">setFamilyOffset</a>(hsize_t offset) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a26">setFcloseDegree</a>(H5F_close_degree_t degree)</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a28">setGcReferences</a>(unsigned gc_ref=0) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a18">setLog</a>(const char *logfile, unsigned flags, size_t buf_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a19">setLog</a>(const H5std_string &amp;logfile, unsigned flags, size_t buf_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a16">setMetaBlockSize</a>(hsize_t &amp;block_size) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a22">setMultiType</a>(H5FD_mem_t dtype) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a18">setProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a19">setProperty</a>(const char *name, const char *charptr) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const string &amp;name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a5">setSec2</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a13">setSieveBufSize</a>(size_t bufsize) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a11">setSplit</a>(FileAccPropList &amp;meta_plist, FileAccPropList &amp;raw_plist, const char *meta_ext=".meta", const char *raw_ext=".raw") const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a12">setSplit</a>(FileAccPropList &amp;meta_plist, FileAccPropList &amp;raw_plist, const string &amp;meta_ext, const string &amp;raw_ext) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a0">setStdio</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const H5std_string &amp;name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a6">setSec2</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a14">setSieveBufSize</a>(size_t bufsize) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a12">setSplit</a>(FileAccPropList &amp;meta_plist, FileAccPropList &amp;raw_plist, const char *meta_ext=".meta", const char *raw_ext=".raw") const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a13">setSplit</a>(FileAccPropList &amp;meta_plist, FileAccPropList &amp;raw_plist, const H5std_string &amp;meta_ext, const H5std_string &amp;raw_ext) const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a1">setStdio</a>() const </td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileAccPropList.html#a33">~FileAccPropList</a>()</td><td><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a33">~PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileAccPropList.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FileAccPropList Class Reference</h1><code>#include &lt;<a class="el" href="H5FaccProp_8h-source.html">H5FaccProp.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::FileAccPropList:
@@ -335,98 +350,98 @@
 <a href="classH5_1_1FileAccPropList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a0">setStdio</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a0">FileAccPropList</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this property list to use the <code>H5FD_STDIO</code> driver.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a1">setDriver</a> (hid_t new_driver_id, const void *new_driver_info) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a file access property list.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a1">setStdio</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set file driver for this property list.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a2">getDriver</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this property list to use the <code>H5FD_STDIO</code> driver.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a2">setDriver</a> (hid_t new_driver_id, const void *new_driver_info) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the ID of the low-level file driver.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a3">setFamilyOffset</a> (hsize_t offset) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set file driver for this property list.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a3">getDriver</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets offset for family driver.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a4">getFamilyOffset</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the ID of the low-level file driver.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a4">setFamilyOffset</a> (hsize_t offset) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get offset for family driver.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a5">setSec2</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets offset for family driver.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a5">getFamilyOffset</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this file access property list to use the sec2 driver.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a6">setCore</a> (size_t increment, hbool_t backing_store) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get offset for family driver.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a6">setSec2</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this file access property list to use the <code>H5FD_CORE</code> driver.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a7">getCore</a> (size_t &amp;increment, hbool_t &amp;backing_store) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this file access property list to use the sec2 driver.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a7">setCore</a> (size_t increment, hbool_t backing_store) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries core file driver properties.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a8">setFamily</a> (hsize_t memb_size, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;memb_plist) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this file access property list to use the <code>H5FD_CORE</code> driver.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a8">getCore</a> (size_t &amp;increment, hbool_t &amp;backing_store) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets this file access property list to use the family driver.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a9">getFamily</a> (hsize_t &amp;memb_size, <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;memb_plist) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries core file driver properties.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a9">setFamily</a> (hsize_t memb_size, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;memb_plist) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about the family file access property list.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a10">getFamily</a> (hsize_t &amp;memb_size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets this file access property list to use the family driver.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a10">getFamily</a> (hsize_t &amp;memb_size, <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;memb_plist) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts and its return value.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a11">setSplit</a> (<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;meta_plist, <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;raw_plist, const char *meta_ext=".meta", const char *raw_ext=".raw") const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns information about the family file access property list.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a11">getFamily</a> (hsize_t &amp;memb_size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emulates the old split file driver, which stored meta data in one file and raw data in another file.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a12">setSplit</a> (<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;meta_plist, <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;raw_plist, const string &amp;meta_ext, const string &amp;raw_ext) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts and its return value.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a12">setSplit</a> (<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;meta_plist, <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;raw_plist, const char *meta_ext=".meta", const char *raw_ext=".raw") const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a13">setSieveBufSize</a> (size_t bufsize) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emulates the old split file driver, which stored meta data in one file and raw data in another file.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a13">setSplit</a> (<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;meta_plist, <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;raw_plist, const H5std_string &amp;meta_ext, const H5std_string &amp;raw_ext) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the maximum size of the data sieve buffer.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a14">getSieveBufSize</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a14">setSieveBufSize</a> (size_t bufsize) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current settings for the data sieve buffer size property from this property list.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a15">setMetaBlockSize</a> (hsize_t &amp;block_size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the maximum size of the data sieve buffer.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a15">getSieveBufSize</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the minimum size of metadata block allocations.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a16">getMetaBlockSize</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current settings for the data sieve buffer size property from this property list.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a16">setMetaBlockSize</a> (hsize_t &amp;block_size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current metadata block size setting.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a17">setLog</a> (const char *logfile, unsigned flags, size_t buf_size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the minimum size of metadata block allocations.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a17">getMetaBlockSize</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this file access property list to use the logging driver.  <a href="#a17"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a18">setLog</a> (const string &amp;logfile, unsigned flags, size_t buf_size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current metadata block size setting.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a18">setLog</a> (const char *logfile, unsigned flags, size_t buf_size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a19">setAlignment</a> (hsize_t threshold=1, hsize_t alignment=1) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modifies this file access property list to use the logging driver.  <a href="#a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a19">setLog</a> (const H5std_string &amp;logfile, unsigned flags, size_t buf_size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the alignment properties of this property list.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a20">getAlignment</a> (hsize_t &amp;threshold, hsize_t &amp;alignment) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a20">setAlignment</a> (hsize_t threshold=1, hsize_t alignment=1) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current settings for alignment properties from this property list.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a21">setMultiType</a> (H5FD_mem_t dtype) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the alignment properties of this property list.  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a21">getAlignment</a> (hsize_t &amp;threshold, hsize_t &amp;alignment) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets data type for <code>MULTI</code> driver.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5FD_mem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a22">getMultiType</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current settings for alignment properties from this property list.  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a22">setMultiType</a> (H5FD_mem_t dtype) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the data type property for <code>MULTI</code> driver.  <a href="#a22"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a23">setCache</a> (int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets data type for <code>MULTI</code> driver.  <a href="#a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5FD_mem_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a23">getMultiType</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the meta data cache and raw data chunk cache parameters. Sets the meta data cache and raw data chunk cache parameters.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a24">getCache</a> (int &amp;mdc_nelmts, size_t &amp;rdcc_nelmts, size_t &amp;rdcc_nbytes, double &amp;rdcc_w0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the data type property for <code>MULTI</code> driver.  <a href="#a23"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a24">setCache</a> (int mdc_nelmts, size_t rdcc_nelmts, size_t rdcc_nbytes, double rdcc_w0) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the meta data cache and raw data chunk cache parameters.  <a href="#a24"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a25">setFcloseDegree</a> (H5F_close_degree_t degree)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the meta data cache and raw data chunk cache parameters. Sets the meta data cache and raw data chunk cache parameters.  <a href="#a24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a25">getCache</a> (int &amp;mdc_nelmts, size_t &amp;rdcc_nelmts, size_t &amp;rdcc_nbytes, double &amp;rdcc_w0) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the degree for the file close behavior.  <a href="#a25"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5F_close_degree_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a26">getFcloseDegree</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Queries the meta data cache and raw data chunk cache parameters.  <a href="#a25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a26">setFcloseDegree</a> (H5F_close_degree_t degree)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the degree for the file close behavior.  <a href="#a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a27">setGcReferences</a> (unsigned gc_ref=0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the degree for the file close behavior.  <a href="#a26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5F_close_degree_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a27">getFcloseDegree</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets garbage collecting references flag.  <a href="#a27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a28">getGcReferences</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the degree for the file close behavior.  <a href="#a27"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a28">setGcReferences</a> (unsigned gc_ref=0) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the garbage collecting references setting.  <a href="#a28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a29">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets garbage collecting references flag.  <a href="#a28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a29">getGcReferences</a> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a30">FileAccPropList</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the garbage collecting references setting.  <a href="#a29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a30">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a file access property list.  <a href="#a30"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#a31">FileAccPropList</a> (const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;original)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy Constructor: makes a copy of the original <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> object.  <a href="#a31"></a><br></td></tr>
@@ -437,13 +452,13 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a33"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#s0">DEFAULT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html#s0">DEFAULT</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for default property.  <a href="#s0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a30" doxytag="H5::FileAccPropList::FileAccPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::FileAccPropList::FileAccPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -466,13 +481,13 @@
     <td>
 
 <p>
-Default constructor: creates a file access property list. 
+Creates a file access property list. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a31" doxytag="H5::FileAccPropList::FileAccPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -480,7 +495,7 @@
           <td class="md" nowrap valign="top">H5::FileAccPropList::FileAccPropList           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>original</em>          </td>
+          <td class="mdname1" valign="top" nowrap> <em>orig</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap></td>
         </tr>
@@ -502,7 +517,7 @@
   </tr>
 </table>
 <a class="anchor" name="a32" doxytag="H5::FileAccPropList::FileAccPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -532,12 +547,12 @@
   </tr>
 </table>
 <a class="anchor" name="a33" doxytag="H5::FileAccPropList::~FileAccPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::FileAccPropList::~FileAccPropList           </td>
+          <td class="md" nowrap valign="top">H5::FileAccPropList::~<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -561,8 +576,8 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::FileAccPropList::setStdio"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a1" doxytag="H5::FileAccPropList::setStdio"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -589,14 +604,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a1" doxytag="H5::FileAccPropList::setDriver"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::FileAccPropList::setDriver"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -639,15 +654,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For a list of valid driver identifiers, please see the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For a list of valid driver identifiers, please see the C layer Reference Manual at: <a href="../RM_H5P.html#Property-GetDriver">../RM_H5P.html#Property-GetDriver</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a2" doxytag="H5::FileAccPropList::getDriver"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::FileAccPropList::getDriver"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -672,17 +687,17 @@
 <p>
 Return the ID of the low-level file driver. 
 <p>
-<dl compact><dt><b>Returns:</b></dt><dd>A low-level driver ID which is the same ID used when the driver was set for the property list. The driver ID is only valid as long as the file driver remains registered. Valid driver identifiers can be found at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver</a> </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>A low-level driver ID which is the same ID used when the driver was set for the property list. The driver ID is only valid as long as the file driver remains registered. Valid driver identifiers can be found at: <a href="../RM_H5P.html#Property-GetDriver">../RM_H5P.html#Property-GetDriver</a> </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::FileAccPropList::setFamilyOffset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::FileAccPropList::setFamilyOffset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -715,14 +730,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::FileAccPropList::getFamilyOffset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::FileAccPropList::getFamilyOffset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -750,14 +765,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Offset for family driver </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::FileAccPropList::setSec2"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::FileAccPropList::setSec2"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -784,14 +799,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::FileAccPropList::setCore"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::FileAccPropList::setCore"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -834,15 +849,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more details on the use of <code>H5FD_CORE</code> driver, please refer to <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplCore">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplCore</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more details on the use of <code>H5FD_CORE</code> driver, please refer to <a href="../RM_H5P.html#Property-SetFaplCore">../RM_H5P.html#Property-SetFaplCore</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::FileAccPropList::getCore"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::FileAccPropList::getCore"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -885,14 +900,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::FileAccPropList::setFamily"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::FileAccPropList::setFamily"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -935,15 +950,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Note that <em>memb_size</em> is used only when creating a new file. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::FileAccPropList::getFamily"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::FileAccPropList::getFamily"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -986,14 +1001,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::FileAccPropList::getFamily"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::FileAccPropList::getFamily"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1027,14 +1042,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>The file access property list for each file member </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::FileAccPropList::setSplit"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::FileAccPropList::setSplit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1091,15 +1106,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>Temporary - For information, please refer to: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplSplit">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplSplit</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>Temporary - For information, please refer to: <a href="../RM_H5P.html#Property-SetFaplSplit">../RM_H5P.html#Property-SetFaplSplit</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::FileAccPropList::setSplit"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::FileAccPropList::setSplit"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1118,13 +1133,13 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>meta_ext</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>raw_ext</em></td>
         </tr>
         <tr>
@@ -1156,14 +1171,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::FileAccPropList::setSieveBufSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::FileAccPropList::setSieveBufSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1196,15 +1211,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For detail on data sieving, please refer to <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSieveBufSize">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSieveBufSize</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For detail on data sieving, please refer to <a href="../RM_H5P.html#Property-SetSieveBufSize">../RM_H5P.html#Property-SetFaplStream../RM_H5P.html#Property-SetFaplStream</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::FileAccPropList::getSieveBufSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::FileAccPropList::getSieveBufSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1232,14 +1247,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Data sieve buffer size, in bytes </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::FileAccPropList::setMetaBlockSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::FileAccPropList::setMetaBlockSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1272,15 +1287,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For more detail, please see the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMetaBlockSize">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMetaBlockSize</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For more detail, please see the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetMetaBlockSize">../RM_H5P.html#Property-SetMetaBlockSize</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::FileAccPropList::getMetaBlockSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::FileAccPropList::getMetaBlockSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1308,14 +1323,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Metadata block size </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::FileAccPropList::setLog"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::FileAccPropList::setLog"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1365,22 +1380,22 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For detail on <em>flags</em>, please refer to <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For detail on <em>flags</em>, please refer to <a href="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a18" doxytag="H5::FileAccPropList::setLog"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a19" doxytag="H5::FileAccPropList::setLog"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::FileAccPropList::setLog           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>logfile</em>, </td>
         </tr>
         <tr>
@@ -1424,8 +1439,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a19" doxytag="H5::FileAccPropList::setAlignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::FileAccPropList::setAlignment"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1468,15 +1483,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The parameter <em>threshold</em> must have a non-negative value. Note that setting the threshold value to 0 (zero) has the effect of a special case, forcing everything to be aligned. The parameter <em>alignment</em> must have a positive value.</dd></dl>
-For detail on <em>setting</em> alignment, please refer to <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetAlignment">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetAlignment</a>     </td>
+For detail on <em>setting</em> alignment, please refer to <a href="../RM_H5P.html#Property-SetAlignment">../RM_H5P.html#Property-SetAlignment</a>     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::FileAccPropList::getAlignment"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a21" doxytag="H5::FileAccPropList::getAlignment"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1519,14 +1534,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::FileAccPropList::setMultiType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::FileAccPropList::setMultiType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1559,15 +1574,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>More details and valid values for <em>dtype</em> can be found at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMultiType">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMultiType</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>More details and valid values for <em>dtype</em> can be found at: <a href="../RM_H5P.html#Property-SetMultiType">../RM_H5P.html#Property-SetMultiType</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::FileAccPropList::getMultiType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::FileAccPropList::getMultiType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1595,15 +1610,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>The data type property </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>More details and possible returned values can be found at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetMultiType">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetMultiType</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>More details and possible returned values can be found at: <a href="../RM_H5P.html#Property-GetMultiType">../RM_H5P.html#Property-GetMultiType</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::FileAccPropList::setCache"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a24" doxytag="H5::FileAccPropList::setCache"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1660,15 +1675,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The argument <em>rdcc_w0</em> should hold a value between 0 and 1 inclusive. This value indicates how much chunks that have been fully read are favored for preemption. A value of zero means fully read chunks are treated no differently than other chunks (the preemption is strictly LRU) while a value of one means fully read chunks are always preempted before other chunks. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::FileAccPropList::getCache"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a25" doxytag="H5::FileAccPropList::getCache"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1725,14 +1740,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a25" doxytag="H5::FileAccPropList::setFcloseDegree"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a26" doxytag="H5::FileAccPropList::setFcloseDegree"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1765,14 +1780,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a26" doxytag="H5::FileAccPropList::getFcloseDegree"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a27" doxytag="H5::FileAccPropList::getFcloseDegree"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1800,14 +1815,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>The degree for the file close behavior </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a27" doxytag="H5::FileAccPropList::setGcReferences"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a28" doxytag="H5::FileAccPropList::setGcReferences"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1840,15 +1855,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For detail on <em>fapl</em>, please refer to <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For detail on <em>fapl</em>, please refer to <a href="../RM_H5P.html#Property-SetFaplStream">../RM_H5P.html#Property-SetFaplStream</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a28" doxytag="H5::FileAccPropList::getGcReferences"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a29" doxytag="H5::FileAccPropList::getGcReferences"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1876,19 +1891,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Garbage collecting references setting, 0 (off) or 1 (on) </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a29" doxytag="H5::FileAccPropList::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a30" doxytag="H5::FileAccPropList::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::FileAccPropList::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::FileAccPropList::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1913,7 +1928,7 @@
 </table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::FileAccPropList::DEFAULT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1939,8 +1954,8 @@
 Reimplemented from <a class="el" href="classH5_1_1PropList.html#s0">H5::PropList</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,72 +337,76 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FileCreatPropList Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a4">closeClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a5">copy</a>(const PropList &amp;like_plist)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a6">copyProp</a>(PropList &amp;dest, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a8">copyProp</a>(PropList &amp;dest, PropList &amp;src, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#s0">DEFAULT</a></td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a10">FileCreatPropList</a>()</td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a0">FileCreatPropList</a>()</td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a11">FileCreatPropList</a>(const FileCreatPropList &amp;orig)</td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a12">FileCreatPropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a9">fromClass</a>() const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a10">fromClass</a>() const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a10">getClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a12">getClassParent</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a7">getIstorek</a>() const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a8">getIstorek</a>() const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a13">getNumProps</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a14">getProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a23">getPropSize</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a3">getSizes</a>(size_t &amp;sizeof_addr, size_t &amp;sizeof_size) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a5">getSymk</a>(unsigned &amp;int_nodes_k, unsigned &amp;leaf_nodes_k) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a2">getUserblock</a>() const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a0">getVersion</a>(unsigned &amp;super, unsigned &amp;freelist, unsigned &amp;stab, unsigned &amp;shhdr) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a4">getSizes</a>(size_t &amp;sizeof_addr, size_t &amp;sizeof_size) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a6">getSymk</a>(unsigned &amp;int_nodes_k, unsigned &amp;leaf_nodes_k) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a3">getUserblock</a>() const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a1">getVersion</a>(unsigned &amp;super, unsigned &amp;freelist, unsigned &amp;stab, unsigned &amp;shhdr) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a25">isAClass</a>(const PropList &amp;prop_class) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a1">operator=</a>(const PropList &amp;rhs)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a2">operator==</a>(const PropList &amp;rhs) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a26">propExist</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a0">PropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a31">PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a32">PropList</a>(const PropList &amp;original)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a28">removeProp</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a8">setIstorek</a>(unsigned ik) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a9">setIstorek</a>(unsigned ik) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a18">setProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a19">setProperty</a>(const char *name, const char *charptr) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const string &amp;name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a4">setSizes</a>(size_t sizeof_addr=4, size_t sizeof_size=4) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a6">setSymk</a>(unsigned int_nodes_k, unsigned leaf_nodes_k) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a1">setUserblock</a>(hsize_t size) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const H5std_string &amp;name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a5">setSizes</a>(size_t sizeof_addr=4, size_t sizeof_size=4) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a7">setSymk</a>(unsigned int_nodes_k, unsigned leaf_nodes_k) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a2">setUserblock</a>(hsize_t size) const </td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileCreatPropList.html#a13">~FileCreatPropList</a>()</td><td><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a33">~PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileCreatPropList.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FileCreatPropList Class Reference</h1><code>#include &lt;<a class="el" href="H5FcreatProp_8h-source.html">H5FcreatProp.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::FileCreatPropList:
@@ -335,43 +350,38 @@
 <a href="classH5_1_1FileCreatPropList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a0">getVersion</a> (unsigned &amp;super, unsigned &amp;freelist, unsigned &amp;stab, unsigned &amp;shhdr) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a0">FileCreatPropList</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves version information for various parts of a file.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a1">setUserblock</a> (hsize_t size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a file create property list.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a1">getVersion</a> (unsigned &amp;super, unsigned &amp;freelist, unsigned &amp;stab, unsigned &amp;shhdr) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the user block size field of this file creation property list.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a2">getUserblock</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves version information for various parts of a file.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a2">setUserblock</a> (hsize_t size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the user block size of this file creation property list.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a3">getSizes</a> (size_t &amp;sizeof_addr, size_t &amp;sizeof_size) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the user block size field of this file creation property list.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a3">getUserblock</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the offsets and lengths used in an HDF5 file.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a4">setSizes</a> (size_t sizeof_addr=4, size_t sizeof_size=4) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the user block size of this file creation property list.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a4">getSizes</a> (size_t &amp;sizeof_addr, size_t &amp;sizeof_size) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the byte size of the offsets and lengths used to address objects in an HDF5 file.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a5">getSymk</a> (unsigned &amp;int_nodes_k, unsigned &amp;leaf_nodes_k) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the offsets and lengths used in an HDF5 file.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a5">setSizes</a> (size_t sizeof_addr=4, size_t sizeof_size=4) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the symbol table B-tree 1/2 rank and the symbol table leaf node 1/2 size. <dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException.</em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
- <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a6">setSymk</a> (unsigned int_nodes_k, unsigned leaf_nodes_k) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the byte size of the offsets and lengths used to address objects in an HDF5 file.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a6">getSymk</a> (unsigned &amp;int_nodes_k, unsigned &amp;leaf_nodes_k) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of parameters used to control the symbol table nodes.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a7">getIstorek</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the symbol table B-tree 1/2 rank and the symbol table leaf node 1/2 size.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a7">setSymk</a> (unsigned int_nodes_k, unsigned leaf_nodes_k) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the 1/2 rank of an indexed storage B-tree.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a8">setIstorek</a> (unsigned ik) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of parameters used to control the symbol table nodes.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a8">getIstorek</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the parameter used to control the B-trees for indexing chunked datasets.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a9">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the 1/2 rank of an indexed storage B-tree.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a9">setIstorek</a> (unsigned ik) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a10">FileCreatPropList</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the parameter used to control the B-trees for indexing chunked datasets.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a10">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a file create property list.  <a href="#a10"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#a11">FileCreatPropList</a> (const <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> &amp;orig)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> object.  <a href="#a11"></a><br></td></tr>
@@ -382,13 +392,13 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a13"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#s0">DEFAULT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html#s0">DEFAULT</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for default property.  <a href="#s0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a10" doxytag="H5::FileCreatPropList::FileCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::FileCreatPropList::FileCreatPropList"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -417,7 +427,7 @@
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::FileCreatPropList::FileCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -452,7 +462,7 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::FileCreatPropList::FileCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -487,12 +497,12 @@
   </tr>
 </table>
 <a class="anchor" name="a13" doxytag="H5::FileCreatPropList::~FileCreatPropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::FileCreatPropList::~FileCreatPropList           </td>
+          <td class="md" nowrap valign="top">H5::FileCreatPropList::~<a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -516,8 +526,8 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::FileCreatPropList::getVersion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a1" doxytag="H5::FileCreatPropList::getVersion"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -574,15 +584,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Any (or even all) of the output arguments can be null pointers. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a1" doxytag="H5::FileCreatPropList::setUserblock"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::FileCreatPropList::setUserblock"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -615,15 +625,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The default user block size is 0; it may be set to any power of 2 equal to 512 or greater (512, 1024, 2048, etc.) </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a2" doxytag="H5::FileCreatPropList::getUserblock"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::FileCreatPropList::getUserblock"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -651,14 +661,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>User block size </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::FileCreatPropList::getSizes"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a4" doxytag="H5::FileCreatPropList::getSizes"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -695,14 +705,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::FileCreatPropList::setSizes"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::FileCreatPropList::setSizes"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -745,15 +755,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information on setting sizes, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSizes">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSizes</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information on setting sizes, please refer to the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetSizes">../RM_H5P.html#Property-SetSizes</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::FileCreatPropList::getSymk"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a6" doxytag="H5::FileCreatPropList::getSymk"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -786,19 +796,19 @@
     <td>
 
 <p>
-Retrieves the size of the symbol table B-tree 1/2 rank and the symbol table leaf node 1/2 size. <dl compact><dt><b>Exceptions:</b></dt><dd>
+Retrieves the size of the symbol table B-tree 1/2 rank and the symbol table leaf node 1/2 size. 
+<p>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException.</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-
-<p>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see <a href="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::FileCreatPropList::setSymk"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::FileCreatPropList::setSymk"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -841,15 +851,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetSymK">../RM_H5P.html#Property-SetSymK</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::FileCreatPropList::getIstorek"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::FileCreatPropList::getIstorek"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -877,15 +887,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>1/2 rank of chunked storage B-tree </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see <a href="../RM_H5P.html#Property-SetIstoreK">../RM_H5P.html#Property-SetIstoreK</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::FileCreatPropList::setIstorek"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::FileCreatPropList::setIstorek"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -918,20 +928,20 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please see the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please see the C layer Reference Manual at: <a href="../RM_H5P.html#Property-SetIstoreK">../RM_H5P.html#Property-SetIstoreK</a> </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::FileCreatPropList::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::FileCreatPropList::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::FileCreatPropList::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::FileCreatPropList::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -956,7 +966,7 @@
 </table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::FileCreatPropList::DEFAULT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -982,8 +992,8 @@
 Reimplemented from <a class="el" href="classH5_1_1PropList.html#s0">H5::PropList</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,16 +337,16 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FileIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FileIException.html#a0">FileIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FileIException.html#a0">FileIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileIException.html#a1">FileIException</a>()</td><td><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a4">getCDetailMsg</a>() const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
@@ -343,8 +360,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FileIException.html#a2">~FileIException</a>()</td><td><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FileIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1FileIException.html">FileIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FileIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::FileIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1FileIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileIException.html#a0">FileIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileIException.html#a0">FileIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1FileIException.html">FileIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileIException.html#a1">FileIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::FileIException::FileIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::FileIException::FileIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::FileIException::FileIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::FileIException::~FileIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::FileIException::~FileIException           </td>
+          <td class="md" nowrap valign="top">H5::FileIException::~<a class="el" href="classH5_1_1FileIException.html">FileIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,26 +337,31 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FloatType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a11">AtomType</a>(const AtomType &amp;original)</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a0">FloatType</a>(const PredType &amp;pred_type)</td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a1">FloatType</a>(const DataSet &amp;dataset)</td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a11">FloatType</a>()</td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
@@ -347,74 +369,76 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a13">FloatType</a>(const FloatType &amp;original)</td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a10">fromClass</a>() const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a2">getEbias</a>() const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a4">getFields</a>(size_t &amp;spos, size_t &amp;epos, size_t &amp;esize, size_t &amp;mpos, size_t &amp;msize) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a6">getInpad</a>(string &amp;pad_string) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a8">getNorm</a>(string &amp;norm_string) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a6">getInpad</a>(H5std_string &amp;pad_string) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a8">getNorm</a>(H5std_string &amp;norm_string) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a3">getOffset</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a0">getOrder</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(H5std_string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a5">getPad</a>(H5T_pad_t &amp;lsb, H5T_pad_t &amp;msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a7">getPrecision</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a3">setEbias</a>(size_t ebias) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a5">setFields</a>(size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a7">setInpad</a>(H5T_pad_t inpad) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a9">setNorm</a>(H5T_norm_t norm) const </td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a4">setOffset</a>(size_t offset) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a2">setOrder</a>(H5T_order_t order) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a6">setPad</a>(H5T_pad_t lsb, H5T_pad_t msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a8">setPrecision</a>(size_t precision) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a9">setSize</a>(size_t size) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a12">~AtomType</a>()</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1FloatType.html#a14">~FloatType</a>()</td><td><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1FloatType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1FloatType.html">FloatType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::FloatType Class Reference</h1><code>#include &lt;<a class="el" href="H5FloatType_8h-source.html">H5FloatType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::FloatType:
@@ -355,19 +370,19 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a5">setFields</a> (size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets locations and sizes of floating point bit fields.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_pad_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a6">getInpad</a> (string &amp;pad_string) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_pad_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a6">getInpad</a> (H5std_string &amp;pad_string) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the internal padding type for unused bits in this floating-point datatypes.  <a href="#a6"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a7">setInpad</a> (H5T_pad_t inpad) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills unused internal floating point bits.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_norm_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a8">getNorm</a> (string &amp;norm_string) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5T_norm_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a8">getNorm</a> (H5std_string &amp;norm_string) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves mantissa normalization of a floating-point datatype.  <a href="#a8"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a9">setNorm</a> (H5T_norm_t norm) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the mantissa normalization of a floating-point datatype.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a10">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a10">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html#a11">FloatType</a> ()</td></tr>
 
@@ -384,7 +399,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::FloatType::FloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -417,14 +432,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::FloatType::FloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -457,14 +472,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::FloatType::FloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -493,7 +508,7 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::FloatType::FloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -526,14 +541,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a13" doxytag="H5::FloatType::FloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -563,12 +578,12 @@
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::FloatType::~FloatType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::FloatType::~FloatType           </td>
+          <td class="md" nowrap valign="top">H5::FloatType::~<a class="el" href="classH5_1_1FloatType.html">FloatType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -593,7 +608,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a2" doxytag="H5::FloatType::getEbias"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -621,14 +636,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Exponent bias </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::FloatType::setEbias"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -661,14 +676,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::FloatType::getFields"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -732,14 +747,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::FloatType::setFields"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -803,21 +818,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::FloatType::getInpad"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5T_pad_t H5::FloatType::getInpad           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>pad_string</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -844,7 +859,7 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>For your convenience, this function also provides the text string of the returned internal padding type, via parameter <em>pad_string</em>. </dd></dl>
@@ -852,7 +867,7 @@
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::FloatType::setInpad"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -885,7 +900,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>If any internal bits of a floating point type are unused (that is, those significant bits which are not part of the sign, exponent, or mantissa), then they will be filled according to the padding value provided by <em>inpad</em>. </dd></dl>
@@ -899,14 +914,14 @@
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::FloatType::getNorm"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5T_norm_t H5::FloatType::getNorm           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>norm_string</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -938,7 +953,7 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>For your convenience, this function also provides the text string of the returned normalization type, via parameter <em>norm_string</em>. </dd></dl>
@@ -946,7 +961,7 @@
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::FloatType::setNorm"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -979,7 +994,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Valid values for normalization type include: <ul>
@@ -992,12 +1007,12 @@
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::FloatType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::FloatType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::FloatType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1020,8 +1035,8 @@
 Reimplemented from <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,106 +337,113 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::Group Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1Group.html">H5::Group</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a0">close</a>()</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a54">CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a55">CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a4">createDataSet</a>(const char *name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a>(const string &amp;name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a>(const H5std_string &amp;name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a0">createGroup</a>(const char *name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a>(const string &amp;name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a>(const H5std_string &amp;name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a6">fromClass</a>() const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a9">getComment</a>(const char *name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a>(const string &amp;name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a>(const H5std_string &amp;name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a15">getLinkval</a>(const char *name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a>(const string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a>(const H5std_string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a8">getLocId</a>() const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a17">getNumObjs</a>() const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a18">getObjinfo</a>(const char *name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a>(const string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a20">getObjnameByIdx</a>(hsize_t idx, string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a21">getObjnameByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a1">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a22">getObjTypeByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a23">getObjTypeByIdx</a>(hsize_t idx, string &amp;type_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a>(const H5std_string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a20">getObjinfo</a>(const char *name, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a21">getObjinfo</a>(const H5std_string &amp;name, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a22">getObjnameByIdx</a>(hsize_t idx, H5std_string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a23">getObjnameByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a1">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a24">getObjTypeByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a25">getObjTypeByIdx</a>(hsize_t idx, H5std_string &amp;type_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a2">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a9">Group</a>()</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a10">Group</a>(const Group &amp;original)</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a12">Group</a>(const hid_t group_id)</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a9">Group</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a10">Group</a>()</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a11">Group</a>(const Group &amp;original)</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a13">Group</a>(const hid_t group_id)</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a24">iterateElems</a>(const char *name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a25">iterateElems</a>(const string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a26">link</a>(H5G_link_t link_type, const char *curr_name, const char *new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a27">link</a>(H5G_link_t link_type, const string &amp;curr_name, const string &amp;new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a30">mount</a>(const char *name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a31">mount</a>(const string &amp;name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a34">move</a>(const char *src, const char *dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a35">move</a>(const string &amp;src, const string &amp;dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a38">openArrayType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a39">openArrayType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a26">iterateElems</a>(const char *name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a27">iterateElems</a>(const H5std_string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a28">link</a>(H5G_link_t link_type, const char *curr_name, const char *new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a29">link</a>(H5G_link_t link_type, const H5std_string &amp;curr_name, const H5std_string &amp;new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a32">mount</a>(const char *name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a33">mount</a>(const H5std_string &amp;name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a36">move</a>(const char *src, const char *dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a37">move</a>(const H5std_string &amp;src, const H5std_string &amp;dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a40">openArrayType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a41">openArrayType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a40">openCompType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a41">openCompType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a42">openCompType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a43">openCompType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a6">openDataSet</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a36">openDataType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a37">openDataType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a42">openEnumType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a43">openEnumType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a46">openFloatType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a47">openFloatType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a38">openDataType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a39">openDataType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a44">openEnumType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a45">openEnumType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a48">openFloatType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a49">openFloatType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a2">openGroup</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a44">openIntType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a45">openIntType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a48">openStrType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a49">openStrType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a50">openVarLenType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a51">openVarLenType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a46">openIntType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a47">openIntType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a50">openStrType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a51">openStrType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a52">openVarLenType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a53">openVarLenType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a3">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a4">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a5">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a5">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a11">removeComment</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a13">setComment</a>(const char *name, const char *comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a>(const string &amp;name, const string &amp;comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a7">throwException</a>(const string func_name, const string msg) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a28">unlink</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a29">unlink</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a32">unmount</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a33">unmount</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a55">~CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a11">~Group</a>()</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a>(const H5std_string &amp;name, const H5std_string &amp;comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a7">throwException</a>(const H5std_string &amp;func_name, const H5std_string &amp;msg) const </td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a30">unlink</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a31">unlink</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a34">unmount</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a35">unmount</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a56">~CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Group.html#a12">~Group</a>()</td><td><a class="el" href="classH5_1_1Group.html">H5::Group</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1Group.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1Group.html">Group</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::Group Class Reference</h1><code>#include &lt;<a class="el" href="H5Group_8h-source.html">H5Group.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::Group:
@@ -339,7 +354,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a0">close</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this group.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a1">getObjType</a> (void *ref, H5R_type_t ref_type) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a1">getObjType</a> (void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the type of object that an object reference points to.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a2">getRegion</a> (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
@@ -347,43 +362,92 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataspace with the region pointed to selected.  <a href="#a2"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a3">Reference</a> (const char *name, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a reference to an HDF5 object or a dataset region.  <a href="#a3"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">Group::reference</a> instead!  <a href="#a3"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a4">Reference</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a5">Reference</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">Group::reference</a> instead!  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a5">Reference</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a6">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">Group::reference</a> instead!  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a6">fromClass</a> () const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a7">throwException</a> (const string func_name, const string msg) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a7">throwException</a> (const H5std_string &amp;func_name, const H5std_string &amp;msg) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Throws <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a>.  <a href="#a7"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a8">getLocId</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the id of this group.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a9">Group</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a9">Group</a> (<a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;obj, void *ref)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub <a class="el" href="classH5_1_1Group.html">Group</a>.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a10">Group</a> (const <a class="el" href="classH5_1_1Group.html">Group</a> &amp;original)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a reference to some object, returns that group.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a10">Group</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1Group.html">Group</a> object.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a11">~Group</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub <a class="el" href="classH5_1_1Group.html">Group</a>.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a11">Group</a> (const <a class="el" href="classH5_1_1Group.html">Group</a> &amp;original)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this group.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a12">Group</a> (const hid_t group_id)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1Group.html">Group</a> object.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a12">~Group</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1Group.html">Group</a> object using the id of an existing group.  <a href="#a12"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this group.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html#a13">Group</a> (const hid_t group_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1Group.html">Group</a> object using the id of an existing group.  <a href="#a13"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a9" doxytag="H5::Group::Group"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::Group::Group           </td>
           <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Given a reference to some object, returns that group. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>- IN: Location reference object is in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>- IN: Reference pointer </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Description</b></dt><dd><code>obj</code> can be <a class="el" href="classH5_1_1DataSet.html">DataSet</a>, <a class="el" href="classH5_1_1Group.html">Group</a>, <a class="el" href="classH5_1_1H5File.html">H5File</a>, or named <a class="el" href="classH5_1_1DataType.html">DataType</a>, that is a datatype that has been named by <a class="el" href="classH5_1_1DataType.html#a7">DataType::commit</a>. </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a10" doxytag="H5::Group::Group"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">H5::Group::Group           </td>
+          <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap></td>
@@ -405,8 +469,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::Group::Group"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::Group::Group"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -440,13 +504,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::Group::~Group"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::Group::~Group"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::Group::~Group           </td>
+          <td class="md" nowrap valign="top">H5::Group::~<a class="el" href="classH5_1_1Group.html">Group</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -469,8 +533,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::Group::Group"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::Group::Group"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -506,7 +570,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::Group::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -533,14 +597,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::GroupIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::Group::getObjType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -554,7 +618,7 @@
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>H5R_type_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>ref_type</em></td>
+          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_OBJECT</code></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -578,14 +642,24 @@
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>- IN: Reference to query </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference to query </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference to query, valid values are: <ul>
+<li><code>H5R_OBJECT</code> - Reference is an object reference. </li>
+<li><code>H5R_DATASET_REGION</code> - Reference is a dataset region reference. </li>
+</ul>
+</td></tr>
   </table>
 </dl>
+<dl compact><dt><b>Returns:</b></dt><dd>An object type, which can be one of the following: H5G_LINK Object is a symbolic link. H5G_GROUP Object is a group. H5G_DATASET Object is a dataset. H5G_TYPE Object is a named datatype </dd></dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::GroupIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::Group::getRegion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -629,14 +703,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::GroupIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::Group::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -675,26 +749,13 @@
     <td>
 
 <p>
-Creates a reference to an HDF5 object or a dataset region. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">Group::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>dataspace</em>&nbsp;</td><td>- IN: Dataspace with selection </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference; default to <code>H5R_DATASET_REGION</code> </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::Group::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -718,32 +779,20 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">Group::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Description</b></dt><dd></dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::Group::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void * H5::Group::Reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -760,23 +809,18 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name. 
+Important!!! - This functions may not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">Group::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::Group::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::Group::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::Group::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -794,26 +838,24 @@
     <td>
 
 <p>
-
-<p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.    </td>
+    </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::Group::throwException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::Group::throwException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>msg</em></td>
         </tr>
         <tr>
@@ -843,16 +885,16 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::GroupIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 
 <p>
-Implements <a class="el" href="classH5_1_1CommonFG.html#a53">H5::CommonFG</a>.    </td>
+Implements <a class="el" href="classH5_1_1CommonFG.html#a54">H5::CommonFG</a>.    </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::Group::getLocId"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -878,13 +920,11 @@
 Returns the id of this group. 
 <p>
 <dl compact><dt><b>Returns:</b></dt><dd>Id of this group </dd></dl>
-
-<p>
-Implements <a class="el" href="classH5_1_1CommonFG.html#a52">H5::CommonFG</a>.    </td>
+    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,13 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::GroupIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -336,15 +353,15 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a5">getFuncName</a>() const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a>(H5E_major_t major_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a>(H5E_minor_t minor_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1GroupIException.html#a0">GroupIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1GroupIException.html#a0">GroupIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1GroupIException.html#a1">GroupIException</a>()</td><td><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a7">printError</a>(FILE *stream=NULL) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a>(H5E_auto_t &amp;func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1GroupIException.html#a2">~GroupIException</a>()</td><td><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1GroupIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1GroupIException.html">GroupIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::GroupIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::GroupIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1GroupIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1GroupIException.html#a0">GroupIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1GroupIException.html#a0">GroupIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1GroupIException.html">GroupIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1GroupIException.html#a1">GroupIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::GroupIException::GroupIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::GroupIException::GroupIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::GroupIException::GroupIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::GroupIException::~GroupIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::GroupIException::~GroupIException           </td>
+          <td class="md" nowrap valign="top">H5::GroupIException::~<a class="el" href="classH5_1_1GroupIException.html">GroupIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,106 +337,115 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::H5File Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1H5File.html">H5::H5File</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a54">CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a4">close</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a55">CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a4">createDataSet</a>(const char *name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a>(const string &amp;name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a5">createDataSet</a>(const H5std_string &amp;name, const DataType &amp;data_type, const DataSpace &amp;data_space, const DSetCreatPropList &amp;create_plist=DSetCreatPropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a0">createGroup</a>(const char *name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a>(const string &amp;name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a1">createGroup</a>(const H5std_string &amp;name, size_t size_hint=0) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a20">fromClass</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a3">getAccessPlist</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a23">fromClass</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a6">getAccessPlist</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a8">getComment</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a9">getComment</a>(const char *name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a>(const string &amp;name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a10">getComment</a>(const H5std_string &amp;name, size_t bufsize) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a4">getCreatePlist</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a5">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a6">getFileSize</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a7">getFreeSpace</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a7">getCreatePlist</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a8">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a9">getFileSize</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a10">getFreeSpace</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a15">getLinkval</a>(const char *name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a>(const string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a22">getLocId</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a16">getLinkval</a>(const H5std_string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a25">getLocId</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a17">getNumObjs</a>() const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a8">getObjCount</a>(unsigned types) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a9">getObjCount</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a10">getObjIDs</a>(unsigned types, int max_objs, hid_t *oid_list) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a11">getObjCount</a>(unsigned types) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a12">getObjCount</a>() const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a13">getObjIDs</a>(unsigned types, int max_objs, hid_t *oid_list) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a18">getObjinfo</a>(const char *name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a>(const string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a20">getObjnameByIdx</a>(hsize_t idx, string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a21">getObjnameByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a11">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a22">getObjTypeByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a23">getObjTypeByIdx</a>(hsize_t idx, string &amp;type_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a12">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a13">getVFDHandle</a>(FileAccPropList &amp;fapl, void **file_handle) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a14">getVFDHandle</a>(void **file_handle) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a19">getObjinfo</a>(const H5std_string &amp;name, hbool_t follow_link, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a20">getObjinfo</a>(const char *name, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a21">getObjinfo</a>(const H5std_string &amp;name, H5G_stat_t &amp;statbuf) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a22">getObjnameByIdx</a>(hsize_t idx, H5std_string &amp;name, size_t size) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a23">getObjnameByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a14">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a24">getObjTypeByIdx</a>(hsize_t idx) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a25">getObjTypeByIdx</a>(hsize_t idx, H5std_string &amp;type_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a15">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a16">getVFDHandle</a>(FileAccPropList &amp;fapl, void **file_handle) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a17">getVFDHandle</a>(void **file_handle) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a0">H5File</a>(const char *name, unsigned int flags, const FileCreatPropList &amp;create_plist=FileCreatPropList::DEFAULT, const FileAccPropList &amp;access_plist=FileAccPropList::DEFAULT)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a1">H5File</a>(const string &amp;name, unsigned int flags, const FileCreatPropList &amp;create_plist=FileCreatPropList::DEFAULT, const FileAccPropList &amp;access_plist=FileAccPropList::DEFAULT)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a23">H5File</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a24">H5File</a>(const H5File &amp;original)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a1">H5File</a>(const H5std_string &amp;name, unsigned int flags, const FileCreatPropList &amp;create_plist=FileCreatPropList::DEFAULT, const FileAccPropList &amp;access_plist=FileAccPropList::DEFAULT)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a26">H5File</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a27">H5File</a>(const H5File &amp;original)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#e0">isHdf5</a>(const char *name)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#e1">isHdf5</a>(const string &amp;name)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a24">iterateElems</a>(const char *name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a25">iterateElems</a>(const string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a26">link</a>(H5G_link_t link_type, const char *curr_name, const char *new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a27">link</a>(H5G_link_t link_type, const string &amp;curr_name, const string &amp;new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a30">mount</a>(const char *name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a31">mount</a>(const string &amp;name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a34">move</a>(const char *src, const char *dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a35">move</a>(const string &amp;src, const string &amp;dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a38">openArrayType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a39">openArrayType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a40">openCompType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a41">openCompType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#e1">isHdf5</a>(const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a26">iterateElems</a>(const char *name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a27">iterateElems</a>(const H5std_string &amp;name, int *idx, H5G_iterate_t op, void *op_data)</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a28">link</a>(H5G_link_t link_type, const char *curr_name, const char *new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a29">link</a>(H5G_link_t link_type, const H5std_string &amp;curr_name, const H5std_string &amp;new_name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a32">mount</a>(const char *name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a33">mount</a>(const H5std_string &amp;name, H5File &amp;child, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a36">move</a>(const char *src, const char *dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a37">move</a>(const H5std_string &amp;src, const H5std_string &amp;dst) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a40">openArrayType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a41">openArrayType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a42">openCompType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a43">openCompType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a6">openDataSet</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a36">openDataType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a37">openDataType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a42">openEnumType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a43">openEnumType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a46">openFloatType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a47">openFloatType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a7">openDataSet</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a38">openDataType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a39">openDataType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a44">openEnumType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a45">openEnumType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a2">openFile</a>(const H5std_string &amp;name, unsigned int flags, const FileAccPropList &amp;access_plist=FileAccPropList::DEFAULT)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a3">openFile</a>(const char *name, unsigned int flags, const FileAccPropList &amp;access_plist=FileAccPropList::DEFAULT)</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a48">openFloatType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a49">openFloatType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a2">openGroup</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a44">openIntType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a45">openIntType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a48">openStrType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a49">openStrType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a50">openVarLenType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a51">openVarLenType</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a3">openGroup</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a46">openIntType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a47">openIntType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a50">openStrType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a51">openStrType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a52">openVarLenType</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a53">openVarLenType</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a17">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a18">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a19">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a20">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a21">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a22">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a11">removeComment</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a16">reopen</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a15">reOpen</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a12">removeComment</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a18">reOpen</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a19">reopen</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a13">setComment</a>(const char *name, const char *comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a>(const string &amp;name, const string &amp;comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a21">throwException</a>(const string func_name, const string msg) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a28">unlink</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a29">unlink</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a32">unmount</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a33">unmount</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a55">~CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a25">~H5File</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a14">setComment</a>(const H5std_string &amp;name, const H5std_string &amp;comment) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a24">throwException</a>(const H5std_string &amp;func_name, const H5std_string &amp;msg) const </td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a30">unlink</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a31">unlink</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a34">unmount</a>(const char *name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a35">unmount</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1CommonFG.html#a56">~CommonFG</a>()</td><td><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5File.html#a28">~H5File</a>()</td><td><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5File.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1H5File.html">H5File</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::H5File Class Reference</h1><code>#include &lt;<a class="el" href="H5File_8h-source.html">H5File.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::H5File:
@@ -338,91 +353,99 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a0">H5File</a> (const char *name, unsigned int flags, const <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> &amp;create_plist=<a class="el" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a>, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;access_plist=<a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates or opens an HDF5 file depending on the parameter flags.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a1">H5File</a> (const string &amp;name, unsigned int flags, const <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> &amp;create_plist=<a class="el" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a>, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;access_plist=<a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a1">H5File</a> (const H5std_string &amp;name, unsigned int flags, const <a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> &amp;create_plist=<a class="el" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a>, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;access_plist=<a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is another overloaded constructor. It differs from the above constructor only in the type of the <em>name</em> argument.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a2">close</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a2">openFile</a> (const H5std_string &amp;name, unsigned int flags, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;access_plist=<a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a>)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this HDF5 file.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a3">getAccessPlist</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes an <code>H5std_string</code> for <em>name</em>.  <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a3">openFile</a> (const char *name, unsigned int flags, const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;access_plist=<a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a>)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the access property list of this file.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a4">getCreatePlist</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an HDF5 file.  <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a4">close</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the creation property list of this file.  <a href="#a4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a5">getFileName</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes this HDF5 file.  <a href="#a4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a5">flush</a> (H5F_scope_t scope) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the name of this file.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a6">getFileSize</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all buffers associated with a file to disk.  <a href="#a5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a6">getAccessPlist</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file size of the HDF5 file.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a7">getFreeSpace</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the access property list of this file.  <a href="#a6"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a7">getCreatePlist</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of free space in the file.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a8">getObjCount</a> (unsigned types) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the creation property list of this file.  <a href="#a7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a8">getFileName</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of opened object IDs (files, datasets, groups and datatypes) in the same file.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a9">getObjCount</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the name of this file.  <a href="#a8"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hsize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a9">getFileSize</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes no parameter and returns the object count of all object types.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a10">getObjIDs</a> (unsigned types, int max_objs, hid_t *oid_list) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file size of the HDF5 file.  <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">hssize_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a10">getFreeSpace</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a list of opened object IDs (files, datasets, groups and datatypes) in the same file.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a11">getObjType</a> (void *ref, H5R_type_t ref_type) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the amount of free space in the file.  <a href="#a10"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a11">getObjCount</a> (unsigned types) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the type of object that an object reference points to.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a12">getRegion</a> (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of opened object IDs (files, datasets, groups and datatypes) in the same file.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a12">getObjCount</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataspace with the region pointed to selected.  <a href="#a12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a13">getVFDHandle</a> (<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;fapl, void **file_handle) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes no parameter and returns the object count of all object types.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a13">getObjIDs</a> (unsigned types, int max_objs, hid_t *oid_list) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer to the file handle of the low-level file driver.  <a href="#a13"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a14">getVFDHandle</a> (void **file_handle) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a list of opened object IDs (files, datasets, groups and datatypes) in the same file.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5G_obj_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a14">getObjType</a> (void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a15">reOpen</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the type of object that an object reference points to.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a15">getRegion</a> (void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reopens this file.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a16">reopen</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a dataspace with the region pointed to selected.  <a href="#a15"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a16">getVFDHandle</a> (<a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;fapl, void **file_handle) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reopens this file.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a17">Reference</a> (const char *name, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer to the file handle of the low-level file driver.  <a href="#a16"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a17">getVFDHandle</a> (void **file_handle) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a reference to an Hdf5 object or a dataset region.  <a href="#a17"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a18">Reference</a> (const char *name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a17"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a18">reOpen</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region.  <a href="#a18"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a19">Reference</a> (const string &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reopens this file.  <a href="#a18"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a19">reopen</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a20">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reopens this file.  <a href="#a19"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a20">Reference</a> (const char *name, <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns this class name.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a21">throwException</a> (const string func_name, const string msg) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions does not work correctly, it will be removed in the near future. Please use <a class="el" href="classH5_1_1IdComponent.html#a7">H5File::reference</a> instead!  <a href="#a20"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a21">Reference</a> (const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Throws file exception - initially implemented for <a class="el" href="classH5_1_1CommonFG.html">CommonFG</a>.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a22">getLocId</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions does not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">H5File::reference</a> instead!  <a href="#a21"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a22">Reference</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a23">H5File</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Important!!! - This functions does not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">H5File::reference</a> instead!  <a href="#a22"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a23">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub <a class="el" href="classH5_1_1H5File.html">H5File</a> object.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a24">H5File</a> (const <a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;original)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a24">throwException</a> (const H5std_string &amp;func_name, const H5std_string &amp;msg) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1H5File.html">H5File</a> object.  <a href="#a24"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a25">~H5File</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Throws file exception - initially implemented for <a class="el" href="classH5_1_1CommonFG.html">CommonFG</a>.  <a href="#a24"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a25">getLocId</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this file.  <a href="#a25"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a26">H5File</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: creates a stub <a class="el" href="classH5_1_1H5File.html">H5File</a> object.  <a href="#a26"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a27">H5File</a> (const <a class="el" href="classH5_1_1H5File.html">H5File</a> &amp;original)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1H5File.html">H5File</a> object.  <a href="#a27"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#a28">~H5File</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this file.  <a href="#a28"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#e0">isHdf5</a> (const char *name)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#e0">isHdf5</a> (const char *name)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines whether a file in HDF5 format.  <a href="#e0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#e1">isHdf5</a> (const string &amp;name)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html#e1">isHdf5</a> (const H5std_string &amp;name)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes an <code>std::string</code> for <em>name</em>.  <a href="#e1"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It takes an <code>H5std_string</code> for <em>name</em>.  <a href="#e1"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::H5File::H5File"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -483,19 +506,19 @@
 <li><code>H5F_ACC_DEBUG</code> - print debug information. This flag is used only by HDF5 library developers; it is neither tested nor supported for use in applications. </li>
 </ul>
 </dd></dl>
-<dl compact><dt><b></b></dt><dd>For info on file creation in the case of an already-open file, please refer to the <b>Special</b> <b>case</b> section in the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5F.html#File-Create">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5F.html#File-Create</a> </dd></dl>
+<dl compact><dt><b></b></dt><dd>For info on file creation in the case of an already-open file, please refer to the <b>Special</b> <b>case</b> section in the C layer Reference Manual at: <a href="../RM_H5F.html#File-Create">../RM_H5F.html#File-Create</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::H5File::H5File"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::H5File::H5File           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -537,7 +560,7 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the file - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the file - <code>H5std_string</code> </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>- IN: File access flags </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>create_plist</em>&nbsp;</td><td>- IN: File creation property list, used when modifying default file meta-data. Default to <a class="el" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a> </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>access_plist</em>&nbsp;</td><td>- IN: File access property list. Default to <a class="el" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a> </td></tr>
@@ -546,8 +569,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a23" doxytag="H5::H5File::H5File"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a26" doxytag="H5::H5File::H5File"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -575,8 +598,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a24" doxytag="H5::H5File::H5File"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a27" doxytag="H5::H5File::H5File"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -610,13 +633,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a25" doxytag="H5::H5File::~H5File"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a28" doxytag="H5::H5File::~H5File"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::H5File::~H5File           </td>
+          <td class="md" nowrap valign="top">H5::H5File::~<a class="el" href="classH5_1_1H5File.html">H5File</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -640,12 +663,117 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a2" doxytag="H5::H5File::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a2" doxytag="H5::H5File::openFile"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::H5File::openFile           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>unsigned int&nbsp;</td>
+          <td class="mdname" nowrap> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>access_plist</em> = <code><a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a></code></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+This is an overloaded member function, provided for convenience. It takes an <code>H5std_string</code> for <em>name</em>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the file - <code>H5std_string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>- IN: File access flags </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>access_plist</em>&nbsp;</td><td>- IN: File access property list. Default to <a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a> </td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a3" doxytag="H5::H5File::openFile"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">void H5::H5File::openFile           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>unsigned int&nbsp;</td>
+          <td class="mdname" nowrap> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>access_plist</em> = <code><a class="el" href="classH5_1_1FileAccPropList.html#s0">FileAccPropList::DEFAULT</a></code></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Opens an HDF5 file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the file </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>- IN: File access flags </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>access_plist</em>&nbsp;</td><td>- IN: File access property list. Default to <a class="el" href="classH5_1_1FileCreatPropList.html#s0">FileCreatPropList::DEFAULT</a> </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Description</b></dt><dd>Valid values of <em>flags</em> include: H5F_ACC_RDWR: Open with read/write access. If the file is currently open for read-only access then it will be reopened. Absence of this flag implies read-only access.</dd></dl>
+H5F_ACC_RDONLY: Open with read only access. - default     </td>
+  </tr>
+</table>
+<a class="anchor" name="a4" doxytag="H5::H5File::close"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top">void H5::H5File::close           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
@@ -668,18 +796,62 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::H5File::getAccessPlist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a5" doxytag="H5::H5File::flush"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
+          <td class="md" nowrap valign="top">void H5::H5File::flush           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">H5F_scope_t&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>scope</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap> const</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Flushes all buffers associated with a file to disk. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>scope</em>&nbsp;</td><td>- IN: Specifies the scope of the flushing action, which can be either of these values: <ul>
+<li><code>H5F_SCOPE_GLOBAL</code> - Flushes the entire virtual file </li>
+<li><code>H5F_SCOPE_LOCAL</code> - Flushes only the specified file </li>
+</ul>
+</td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a6" doxytag="H5::H5File::getAccessPlist"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> H5::H5File::getAccessPlist           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
@@ -703,14 +875,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a> object </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::H5File::getCreatePlist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::H5File::getCreatePlist"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -738,19 +910,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a> object </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a5" doxytag="H5::H5File::getFileName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a8" doxytag="H5::H5File::getFileName"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::H5File::getFileName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::H5File::getFileName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -773,14 +945,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>File name </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a6" doxytag="H5::H5File::getFileSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::H5File::getFileSize"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -808,15 +980,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>File size </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This function is called after an existing file is opened in order to learn the true size of the underlying file. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::H5File::getFreeSpace"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a10" doxytag="H5::H5File::getFreeSpace"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -844,14 +1016,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Amount of free space </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a8" doxytag="H5::H5File::getObjCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::H5File::getObjCount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -885,7 +1057,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of opened object IDs </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The valid values for <em>types</em> include: <ul>
@@ -901,8 +1073,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::H5File::getObjCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::H5File::getObjCount"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -930,14 +1102,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of opened object IDs </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::H5File::getObjIDs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::H5File::getObjIDs"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -987,7 +1159,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The valid values for <em>types</em> include: <ul>
@@ -1003,8 +1175,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::H5File::getObjType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::H5File::getObjType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1018,7 +1190,7 @@
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>H5R_type_t&nbsp;</td>
-          <td class="mdname" nowrap> <em>ref_type</em></td>
+          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_OBJECT</code></td>
         </tr>
         <tr>
           <td class="md"></td>
@@ -1042,7 +1214,11 @@
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>ref</em>&nbsp;</td><td>- IN: Reference to query </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference to query </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference, valid values are: <ul>
+<li><code>H5R_OBJECT</code> - Reference is an object reference. </li>
+<li><code>H5R_DATASET_REGION</code> - Reference is a dataset region reference. </li>
+</ul>
+</td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Returns:</b></dt><dd>Object type, which can be one of the following: <ul>
@@ -1054,14 +1230,14 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::H5File::getRegion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::H5File::getRegion"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1105,14 +1281,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::H5File::getVFDHandle"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a16" doxytag="H5::H5File::getVFDHandle"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1155,15 +1331,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For the <code>FAMILY</code> or <code>MULTI</code> drivers, <em>fapl</em> should be defined through the property list functions: <code><a class="el" href="classH5_1_1FileAccPropList.html#a3">FileAccPropList::setFamilyOffset</a></code> for the <code>FAMILY</code> driver and <code><a class="el" href="classH5_1_1FileAccPropList.html#a21">FileAccPropList::setMultiType</a></code> for the <code>MULTI</code> driver.</dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For the <code>FAMILY</code> or <code>MULTI</code> drivers, <em>fapl</em> should be defined through the property list functions: <code><a class="el" href="classH5_1_1FileAccPropList.html#a4">FileAccPropList::setFamilyOffset</a></code> for the <code>FAMILY</code> driver and <code><a class="el" href="classH5_1_1FileAccPropList.html#a22">FileAccPropList::setMultiType</a></code> for the <code>MULTI</code> driver.</dd></dl>
 The obtained file handle is dynamic and is valid only while the file remains open; it will be invalid if the file is closed and reopened or opened during a subsequent session.     </td>
   </tr>
 </table>
-<a class="anchor" name="a14" doxytag="H5::H5File::getVFDHandle"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a17" doxytag="H5::H5File::getVFDHandle"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1196,14 +1372,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e0" doxytag="H5::H5File::isHdf5"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1237,21 +1413,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if the file is in HDF5 format, and false, otherwise </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e1" doxytag="H5::H5File::isHdf5"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">bool H5::H5File::isHdf5           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap><code> [static]</code></td>
@@ -1268,18 +1444,18 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It takes an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It takes an <code>H5std_string</code> for <em>name</em>. 
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the file - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the file - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a15" doxytag="H5::H5File::reOpen"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a18" doxytag="H5::H5File::reOpen"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1306,14 +1482,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a16" doxytag="H5::H5File::reopen"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a19" doxytag="H5::H5File::reopen"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1340,15 +1516,15 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This function will be replaced by the above function <code>reOpen</code> in future releases. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a17" doxytag="H5::H5File::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a20" doxytag="H5::H5File::Reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1387,27 +1563,13 @@
     <td>
 
 <p>
-Creates a reference to an Hdf5 object or a dataset region. 
+Important!!! - This functions does not work correctly, it will be removed in the near future. Please use <a class="el" href="classH5_1_1IdComponent.html#a7">H5File::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>dataspace</em>&nbsp;</td><td>- IN: Dataspace with selection </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ref_type</em>&nbsp;</td><td>- IN: Type of reference; default to <code>H5R_DATASET_REGION</code> </td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>A reference </dd></dl>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-<dl compact><dt><b>Description</b></dt><dd>Note that name must be an absolute path to the object in the file. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a18" doxytag="H5::H5File::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a21" doxytag="H5::H5File::Reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1431,21 +1593,20 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it only creates a reference to an HDF5 object, not to a dataset region. 
+Important!!! - This functions does not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">H5File::reference</a> instead! 
 <p>
-<dl compact><dt><b></b></dt><dd>Note that, for <a class="el" href="classH5_1_1H5File.html">H5File</a>, name must be an absolute path to the object in the file. </dd></dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a19" doxytag="H5::H5File::Reference"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a22" doxytag="H5::H5File::Reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void * H5::H5File::Reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1462,23 +1623,18 @@
     <td>
 
 <p>
-This is an overloaded function, provided for your convenience. It differs from the above function in that it takes an <code>std::string</code> for the object's name. 
+Important!!! - This functions does not work correctly, it will be removed in the near future. Please use similar <a class="el" href="classH5_1_1IdComponent.html#a7">H5File::reference</a> instead! 
 <p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the object to be referenced - <code>std::string</code> </td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a20" doxytag="H5::H5File::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a23" doxytag="H5::H5File::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::H5File::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::H5File::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1496,28 +1652,24 @@
     <td>
 
 <p>
-Returns this class name. 
-<p>
-
-<p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.    </td>
+    </td>
   </tr>
 </table>
-<a class="anchor" name="a21" doxytag="H5::H5File::throwException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a24" doxytag="H5::H5File::throwException"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::H5File::throwException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>msg</em></td>
         </tr>
         <tr>
@@ -1547,16 +1699,16 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::FileIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 
 <p>
-Implements <a class="el" href="classH5_1_1CommonFG.html#a53">H5::CommonFG</a>.    </td>
+Implements <a class="el" href="classH5_1_1CommonFG.html#a54">H5::CommonFG</a>.    </td>
   </tr>
 </table>
-<a class="anchor" name="a22" doxytag="H5::H5File::getLocId"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a25" doxytag="H5::H5File::getLocId"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1579,13 +1731,11 @@
     <td>
 
 <p>
-For subclasses, <a class="el" href="classH5_1_1H5File.html">H5File</a> and <a class="el" href="classH5_1_1Group.html">Group</a>, to return the correct object id, i.e. file or group id. 
-<p>
-Implements <a class="el" href="classH5_1_1CommonFG.html#a52">H5::CommonFG</a>.    </td>
+    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::H5Library Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Library.html#e4">checkVersion</a>(unsigned majnum, unsigned minnum, unsigned relnum)</td><td><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Library.html#e1">close</a>()</td><td><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td><td><code> [static]</code></td></tr>
@@ -330,8 +347,8 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Library.html#e3">getLibVersion</a>(unsigned &amp;majnum, unsigned &amp;minnum, unsigned &amp;relnum)</td><td><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Library.html#e0">open</a>()</td><td><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Library.html#e6">setFreeListLimits</a>(int reg_global_lim, int reg_list_lim, int arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim)</td><td><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td><td><code> [static]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Library.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,40 +337,38 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1H5Library.html">H5Library</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::H5Library Class Reference</h1><code>#include &lt;<a class="el" href="H5Library_8h-source.html">H5Library.h</a>&gt;</code>
 <p>
 <a href="classH5_1_1H5Library-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e0">open</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e0">open</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the HDF5 library.  <a href="#e0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e1">close</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e1">close</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all data to disk, closes files, and cleans up memory.  <a href="#e1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e2">dontAtExit</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e2">dontAtExit</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instructs library not to install <code>atexit</code> cleanup routine.  <a href="#e2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e3">getLibVersion</a> (unsigned &amp;majnum, unsigned &amp;minnum, unsigned &amp;relnum)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e3">getLibVersion</a> (unsigned &amp;majnum, unsigned &amp;minnum, unsigned &amp;relnum)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the HDF library release number.  <a href="#e3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e4">checkVersion</a> (unsigned majnum, unsigned minnum, unsigned relnum)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e4">checkVersion</a> (unsigned majnum, unsigned minnum, unsigned relnum)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verifies that the arguments match the version numbers compiled into the library.  <a href="#e4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e5">garbageCollect</a> ()</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e5">garbageCollect</a> ()</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Walks through all the garbage collection routines for the library, which are supposed to free any unused memory they have allocated.  <a href="#e5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e6">setFreeListLimits</a> (int reg_global_lim, int reg_list_lim, int arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html#e6">setFreeListLimits</a> (int reg_global_lim, int reg_list_lim, int arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets limits on the different kinds of free lists.  <a href="#e6"></a><br></td></tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="e0" doxytag="H5::H5Library::open"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -380,14 +395,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e1" doxytag="H5::H5Library::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -414,14 +429,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e2" doxytag="H5::H5Library::dontAtExit"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -448,14 +463,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e3" doxytag="H5::H5Library::getLibVersion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -505,14 +520,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e4" doxytag="H5::H5Library::checkVersion"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -562,15 +577,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information about library version, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-VersCheck">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-VersCheck</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information about library version, please refer to the C layer Reference Manual at: <a href="../RM_H5.html#Library-VersCheck">../RM_H5.html#Library-VersCheck</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="e5" doxytag="H5::H5Library::garbageCollect"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -597,7 +612,7 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>It is not required that <a class="el" href="classH5_1_1H5Library.html#e5">H5Library::garbageCollect</a> be called at any particular time; it is only necessary in certain situations, such as when the application has performed actions that cause the library to allocate many objects. The application should call <a class="el" href="classH5_1_1H5Library.html#e5">H5Library::garbageCollect</a> if it eventually releases those objects and wants to reduce the memory used by the library from the peak usage required. </dd></dl>
@@ -606,7 +621,7 @@
   </tr>
 </table>
 <a class="anchor" name="e6" doxytag="H5::H5Library::setFreeListLimits"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -677,15 +692,15 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::LibraryIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>Setting a value of -1 for a limit means no limit of that type. For more information on free list limits, please refer to C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-SetFreeListLimits">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-SetFreeListLimits</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>Setting a value of -1 for a limit means no limit of that type. For more information on free list limits, please refer to C layer Reference Manual at: <a href="../RM_H5.html#Library-SetFreeListLimits">../RM_H5.html#Library-SetFreeListLimits</a> </dd></dl>
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,40 +337,43 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::H5Object Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">fromClass</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1H5Object.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1H5Object.html">H5Object</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::H5Object Class Reference</h1><code>#include &lt;<a class="el" href="H5Object_8h-source.html">H5Object.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::H5Object:
@@ -351,22 +366,22 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a> (const char *name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space, const <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;create_plist=<a class="el" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a>) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an attribute for a group, dataset, or named datatype.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a> (const string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space, const <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;create_plist=<a class="el" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a>) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a> (const H5std_string &amp;name, const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;type, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;space, const <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;create_plist=<a class="el" href="classH5_1_1PropList.html#s0">PropList::DEFAULT</a>) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for <em>name</em>.  <a href="#a1"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for <em>name</em>.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an attribute given its name.  <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for <em>name</em>.  <a href="#a3"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for <em>name</em>.  <a href="#a3"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a> (const unsigned int idx) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens an attribute given its index.  <a href="#a4"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a5">flush</a> (H5F_scope_t scope) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes all buffers associated with a file to disk.  <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the name of the file, in which this HDF5 object belongs.  <a href="#a6"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a> () const </td></tr>
@@ -378,15 +393,15 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the named attribute from this object.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a> (const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for <em>name</em>.  <a href="#a10"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for <em>name</em>.  <a href="#a10"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a> (const char *oldname, const char *newname) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames the named attribute from this object.  <a href="#a11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a> (const string &amp;oldname, const string &amp;newname) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a> (const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for the names.  <a href="#a12"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for the names.  <a href="#a12"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a> (const <a class="el" href="classH5_1_1H5Object.html">H5Object</a> &amp;original)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1H5Object.html">H5Object</a> instance.  <a href="#a13"></a><br></td></tr>
@@ -396,7 +411,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a13" doxytag="H5::H5Object::H5Object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -431,12 +446,12 @@
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::H5Object::~H5Object"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::H5Object::~H5Object           </td>
+          <td class="md" nowrap valign="top">H5::H5Object::~<a class="el" href="classH5_1_1H5Object.html">H5Object</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -461,7 +476,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::H5Object::createAttribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -519,7 +534,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1Attribute.html">Attribute</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>The attribute name specified in <em>name</em> must be unique. Attempting to create an attribute with the same name as an existing attribute will raise an exception, leaving the pre-existing attribute intact. To overwrite an existing attribute with a new attribute of the same name, first delete the existing one with <code><a class="el" href="classH5_1_1H5Object.html#a9">H5Object::removeAttr</a></code>, then recreate it with this function. </dd></dl>
@@ -527,27 +542,27 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::H5Object::createAttribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a> H5::H5Object::createAttribute           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>const <a class="el" href="classH5_1_1DataType.html">DataType</a> &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>type</em>, </td>
+          <td class="mdname" nowrap> <em>data_type</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
           <td class="md" nowrap>const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>space</em>, </td>
+          <td class="mdname" nowrap> <em>data_space</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
@@ -572,13 +587,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::H5Object::openAttribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -612,21 +627,21 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1Attribute.html">Attribute</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::H5Object::openAttribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1Attribute.html">Attribute</a> H5::H5Object::openAttribute           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -643,13 +658,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::H5Object::openAttribute"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -683,14 +698,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classH5_1_1Attribute.html">Attribute</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::H5Object::flush"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -727,7 +742,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This object is used to identify the file to be flushed. </dd></dl>
@@ -735,12 +750,12 @@
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::H5Object::getFileName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::H5Object::getFileName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::H5Object::getFileName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -763,14 +778,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>File name </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::IdComponentException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::H5Object::getNumAttrs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -798,14 +813,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Number of attributes </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::H5Object::iterateAttrs"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -856,15 +871,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Returned value of the last operator if it was non-zero, or zero if all attributes were processed </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For information, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5A.html#Annot-Iterate">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5A.html#Annot-Iterate</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For information, please refer to the C layer Reference Manual at: <a href="../RM_H5A.html#Annot-Iterate">../RM_H5A.html#Annot-Iterate</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::H5Object::removeAttr"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -897,21 +912,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::H5Object::removeAttr"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::H5Object::removeAttr           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -928,13 +943,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for <em>name</em>. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for <em>name</em>. 
 <p>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::H5Object::renameAttr"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -977,27 +992,27 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::AttributeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::H5Object::renameAttr"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::H5Object::renameAttr           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>oldname</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>newname</em></td>
         </tr>
         <tr>
@@ -1017,13 +1032,13 @@
     <td>
 
 <p>
-This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>std::string</code> for the names. 
+This is an overloaded member function, provided for convenience. It differs from the above function in that it takes a reference to an <code>H5std_string</code> for the names. 
 <p>
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,25 +337,28 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::IdComponent Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">fromClass</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponent.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1IdComponent.html">IdComponent</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::IdComponent Class Reference</h1><code>#include &lt;<a class="el" href="H5IdComponent_8h-source.html">H5IdComponent.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::IdComponent:
@@ -355,19 +370,19 @@
 <a href="classH5_1_1IdComponent-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a> (hid_t obj_id) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a> (const hid_t obj_id) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increment reference counter for a given id.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increment reference counter for the id of this object.  <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a> (hid_t obj_id) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a> (const hid_t obj_id) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrement reference counter for a given id.  <a href="#a2"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrement reference counter for the id of this object.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a> (hid_t obj_id) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a> (const hid_t obj_id) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the reference counter for a given id.  <a href="#a4"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a> () const </td></tr>
@@ -376,29 +391,46 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a6">operator=</a> (const <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;rhs)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a> (hid_t new_id)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a> (void *ref, const char *name, const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the identifier of this object to a new value.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a> (const hid_t h5_id)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a> (void *ref, const char *name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> object using the id of an existing object.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a> (const <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;original)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a> (void *ref, const H5std_string &amp;name) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> object.  <a href="#a9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a> (<a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;obj, void *ref)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the id of this object.  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a> (const char *func_name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a> (const hid_t new_id)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a12">fromClass</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the identifier of this object to a new value.  <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a> (const hid_t h5_id)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> object using the id of an existing object.  <a href="#a12"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a> (const <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;original)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a13"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> object.  <a href="#a13"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the id of this object.  <a href="#a14"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a15"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5I_type_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a> (const hid_t obj_id)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given an id, returns the type of the object. return a valid HDF object type, which may be one of the following: <ul>
+<li><code>H5I_FILE</code> </li>
+<li><code>H5I_GROUP</code> </li>
+<li><code>H5I_DATATYPE</code> </li>
+<li><code>H5I_DATASPACE</code> </li>
+<li><code>H5I_DATASET</code> </li>
+<li><code>H5I_ATTR</code> </li>
+<li>or <code>H5I_BADID</code>, if no valid type can be determined or the input object id is invalid. </li>
+</ul>
+ <a href="#e0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a8" doxytag="H5::IdComponent::IdComponent"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a12" doxytag="H5::IdComponent::IdComponent"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -431,14 +463,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a9" doxytag="H5::IdComponent::IdComponent"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a13" doxytag="H5::IdComponent::IdComponent"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -472,13 +504,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a13" doxytag="H5::IdComponent::~IdComponent"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a15" doxytag="H5::IdComponent::~IdComponent"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::IdComponent::~IdComponent           </td>
+          <td class="md" nowrap valign="top">H5::IdComponent::~<a class="el" href="classH5_1_1IdComponent.html">IdComponent</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -503,14 +535,14 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::IdComponent::incRefCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::IdComponent::incRefCount           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">hid_t&nbsp;</td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>obj_id</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -533,7 +565,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::IdComponent::incRefCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -562,14 +594,14 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::IdComponent::decRefCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::IdComponent::decRefCount           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">hid_t&nbsp;</td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>obj_id</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -592,7 +624,7 @@
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::IdComponent::decRefCount"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -621,14 +653,14 @@
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::IdComponent::getCounter"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">int H5::IdComponent::getCounter           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">hid_t&nbsp;</td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>obj_id</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -652,7 +684,7 @@
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::IdComponent::getCounter"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -681,8 +713,47 @@
     </td>
   </tr>
 </table>
+<a class="anchor" name="e0" doxytag="H5::IdComponent::getHDFObjType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">H5I_type_t H5::IdComponent::getHDFObjType           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>obj_id</em>          </td>
+          <td class="md" valign="top">&nbsp;)&nbsp;</td>
+          <td class="md" nowrap><code> [static]</code></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
+<p>
+Given an id, returns the type of the object. return a valid HDF object type, which may be one of the following: <ul>
+<li><code>H5I_FILE</code> </li>
+<li><code>H5I_GROUP</code> </li>
+<li><code>H5I_DATATYPE</code> </li>
+<li><code>H5I_DATASPACE</code> </li>
+<li><code>H5I_DATASET</code> </li>
+<li><code>H5I_ATTR</code> </li>
+<li>or <code>H5I_BADID</code>, if no valid type can be determined or the input object id is invalid. </li>
+</ul>
+
+<p>
+    </td>
+  </tr>
+</table>
 <a class="anchor" name="a6" doxytag="H5::IdComponent::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -716,25 +787,46 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Reference to <a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td>when attempt to close the HDF5 object fails </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::IdComponentException</em>&nbsp;</td><td>when attempt to close the HDF5 object fails </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a7" doxytag="H5::IdComponent::setId"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a7" doxytag="H5::IdComponent::reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">void H5::IdComponent::setId           </td>
+          <td class="md" nowrap valign="top">void H5::IdComponent::reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">hid_t&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>new_id</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap valign="top">void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em>, </td>
         </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const <a class="el" href="classH5_1_1DataSpace.html">DataSpace</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>dataspace</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>H5R_type_t&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref_type</em> = <code>H5R_DATASET_REGION</code></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
       </table>
     </td>
   </tr>
@@ -747,28 +839,68 @@
     <td>
 
 <p>
-Sets the identifier of this object to a new value. 
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a8" doxytag="H5::IdComponent::reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">void H5::IdComponent::reference           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top">void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const char *&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
+
 <p>
-<dl compact><dt><b>Exceptions:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></em>&nbsp;</td><td>when the attempt to close the HDF5 object fails </td></tr>
-  </table>
-</dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a10" doxytag="H5::IdComponent::getId"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a9" doxytag="H5::IdComponent::reference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">hid_t H5::IdComponent::getId           </td>
+          <td class="md" nowrap valign="top">void H5::IdComponent::reference           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap> const<code> [virtual]</code></td>
+          <td class="md" nowrap valign="top">void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em>, </td>
         </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>name</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"> const</td>
+        </tr>
       </table>
     </td>
   </tr>
@@ -781,26 +913,58 @@
     <td>
 
 <p>
-Returns the id of this object. 
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>HDF5 id </dd></dl>
+    </td>
+  </tr>
+</table>
+<a class="anchor" name="a10" doxytag="H5::IdComponent::dereference"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+  <tr>
+    <td class="mdRow">
+      <table cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td class="md" nowrap valign="top">void H5::IdComponent::dereference           </td>
+          <td class="md" valign="top">(&nbsp;</td>
+          <td class="md" nowrap valign="top"><a class="el" href="classH5_1_1IdComponent.html">IdComponent</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>void *&nbsp;</td>
+          <td class="mdname" nowrap> <em>ref</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+  <tr>
+    <td>
+      &nbsp;
+    </td>
+    <td>
 
 <p>
-Reimplemented in <a class="el" href="classH5_1_1PredType.html#a3">H5::PredType</a>.    </td>
+    </td>
   </tr>
 </table>
-<a class="anchor" name="a11" doxytag="H5::IdComponent::inMemFunc"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a11" doxytag="H5::IdComponent::setId"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::IdComponent::inMemFunc           </td>
+          <td class="md" nowrap valign="top">void H5::IdComponent::setId           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const char *&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>func_name</em>          </td>
+          <td class="md" nowrap valign="top">const hid_t&nbsp;</td>
+          <td class="mdname1" valign="top" nowrap> <em>new_id</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap> const</td>
+          <td class="md" nowrap></td>
         </tr>
       </table>
     </td>
@@ -814,20 +978,27 @@
     <td>
 
 <p>
+Sets the identifier of this object to a new value. 
+<p>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::IdComponentException</em>&nbsp;</td><td>when the attempt to close the HDF5 object fails </td></tr>
+  </table>
+</dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a12" doxytag="H5::IdComponent::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a14" doxytag="H5::IdComponent::getId"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::IdComponent::fromClass           </td>
+          <td class="md" nowrap valign="top">hid_t H5::IdComponent::getId           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap> const<code> [inline, virtual]</code></td>
+          <td class="md" nowrap> const<code> [virtual]</code></td>
         </tr>
       </table>
     </td>
@@ -841,13 +1012,14 @@
     <td>
 
 <p>
-
+Returns the id of this object. 
 <p>
-Reimplemented in <a class="el" href="classH5_1_1ArrayType.html#a3">H5::ArrayType</a>, <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>, <a class="el" href="classH5_1_1Attribute.html#a9">H5::Attribute</a>, <a class="el" href="classH5_1_1CompType.html#a19">H5::CompType</a>, <a class="el" href="classH5_1_1DataSet.html#a20">H5::DataSet</a>, <a class="el" href="classH5_1_1DataSpace.html#a24">H5::DataSpace</a>, <a class="el" href="classH5_1_1DataType.html#a31">H5::DataType</a>, <a class="el" href="classH5_1_1DSetCreatPropList.html#a24">H5::DSetCreatPropList</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1EnumType.html#a12">H5::EnumType</a>, <a class="el" href="classH5_1_1FileAccPropList.html#a29">H5::FileAccPropList</a>, <a class="el" href="classH5_1_1FileCreatPropList.html#a9">H5::FileCreatPropList</a>, <a class="el" href="classH5_1_1H5File.html#a20">H5::H5File</a>, <a class="el" href="classH5_1_1FloatType.html#a10">H5::FloatType</a>, <a class="el" href="classH5_1_1Group.html#a6">H5::Group</a>, <a class="el" href="classH5_1_1IntType.html#a4">H5::IntType</a>, <a class="el" href="classH5_1_1PredType.html#a0">H5::PredType</a>, <a class="el" href="classH5_1_1PropList.html#a30">H5::PropList</a>, <a class="el" href="classH5_1_1StrType.html#a8">H5::StrType</a>, and <a class="el" href="classH5_1_1VarLenType.html#a0">H5::VarLenType</a>.    </td>
+<dl compact><dt><b>Returns:</b></dt><dd>HDF5 id </dd></dl>
+    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,13 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::IdComponentException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -336,15 +353,15 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a5">getFuncName</a>() const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a>(H5E_major_t major_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a>(H5E_minor_t minor_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponentException.html#a0">IdComponentException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponentException.html#a0">IdComponentException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponentException.html#a1">IdComponentException</a>()</td><td><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a7">printError</a>(FILE *stream=NULL) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a>(H5E_auto_t &amp;func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponentException.html#a2">~IdComponentException</a>()</td><td><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IdComponentException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1IdComponentException.html">IdComponentException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::IdComponentException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::IdComponentException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1IdComponentException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponentException.html#a0">IdComponentException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponentException.html#a0">IdComponentException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1IdComponentException.html">IdComponentException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponentException.html#a1">IdComponentException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::IdComponentException::IdComponentException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::IdComponentException::IdComponentException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::IdComponentException::IdComponentException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::IdComponentException::~IdComponentException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::IdComponentException::~IdComponentException           </td>
+          <td class="md" nowrap valign="top">H5::IdComponentException::~<a class="el" href="classH5_1_1IdComponentException.html">IdComponentException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,95 +337,102 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::IntType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1IntType.html">H5::IntType</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a11">AtomType</a>(const AtomType &amp;original)</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a4">fromClass</a>() const </td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a3">getOffset</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a0">getOrder</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(H5std_string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a5">getPad</a>(H5T_pad_t &amp;lsb, H5T_pad_t &amp;msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a7">getPrecision</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a2">getSign</a>() const </td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a0">IntType</a>(const PredType &amp;pred_type)</td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a1">IntType</a>(const DataSet &amp;dataset)</td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a5">IntType</a>()</td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a6">IntType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a7">IntType</a>(const IntType &amp;original)</td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a4">setOffset</a>(size_t offset) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a2">setOrder</a>(H5T_order_t order) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a6">setPad</a>(H5T_pad_t lsb, H5T_pad_t msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a8">setPrecision</a>(size_t precision) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a3">setSign</a>(H5T_sign_t sign) const </td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a9">setSize</a>(size_t size) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a12">~AtomType</a>()</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IntType.html#a8">~IntType</a>()</td><td><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1IntType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1IntType.html">IntType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::IntType Class Reference</h1><code>#include &lt;<a class="el" href="H5IntType_8h-source.html">H5IntType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::IntType:
@@ -349,7 +364,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html#a3">setSign</a> (H5T_sign_t sign) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the sign property for an integer type.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html#a4">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html#a4">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html#a5">IntType</a> ()</td></tr>
 
@@ -366,7 +381,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::IntType::IntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -399,14 +414,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::IntType::IntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -439,14 +454,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::IntType::IntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -475,7 +490,7 @@
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::IntType::IntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -508,14 +523,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::IntType::IntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -545,12 +560,12 @@
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::IntType::~IntType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::IntType::~IntType           </td>
+          <td class="md" nowrap valign="top">H5::IntType::~<a class="el" href="classH5_1_1IntType.html">IntType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -575,7 +590,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a2" doxytag="H5::IntType::getSign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -603,14 +618,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Valid sign type </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::IntType::setSign"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -643,19 +658,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::IntType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::IntType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::IntType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -678,8 +693,8 @@
 Reimplemented from <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,13 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::LibraryIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -336,15 +353,15 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a5">getFuncName</a>() const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a>(H5E_major_t major_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a>(H5E_minor_t minor_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1LibraryIException.html#a0">LibraryIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1LibraryIException.html#a0">LibraryIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1LibraryIException.html#a1">LibraryIException</a>()</td><td><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a7">printError</a>(FILE *stream=NULL) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a>(H5E_auto_t &amp;func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1LibraryIException.html#a2">~LibraryIException</a>()</td><td><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1LibraryIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1LibraryIException.html">LibraryIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::LibraryIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::LibraryIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1LibraryIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1LibraryIException.html#a0">LibraryIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1LibraryIException.html#a0">LibraryIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1LibraryIException.html">LibraryIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1LibraryIException.html#a1">LibraryIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::LibraryIException::LibraryIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::LibraryIException::LibraryIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::LibraryIException::LibraryIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::LibraryIException::~LibraryIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::LibraryIException::~LibraryIException           </td>
+          <td class="md" nowrap valign="top">H5::LibraryIException::~<a class="el" href="classH5_1_1LibraryIException.html">LibraryIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::PredType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1PredType.html">H5::PredType</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s59">ALPHA_B16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s60">ALPHA_B32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
@@ -339,52 +356,57 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s54">ALPHA_U8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a11">AtomType</a>(const AtomType &amp;original)</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s26">C_S1</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s27">FORTRAN_S1</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#a0">fromClass</a>() const </td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#a3">getId</a>() const </td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a3">getOffset</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a0">getOrder</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(H5std_string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a5">getPad</a>(H5T_pad_t &amp;lsb, H5T_pad_t &amp;msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a7">getPrecision</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s28">IEEE_F32BE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s29">IEEE_F32LE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s30">IEEE_F64BE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s31">IEEE_F64LE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s45">INTEL_B16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s46">INTEL_B32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s47">INTEL_B64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
@@ -399,10 +421,9 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s42">INTEL_U32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s43">INTEL_U64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s40">INTEL_U8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s73">MIPS_B16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s74">MIPS_B32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s75">MIPS_B64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
@@ -429,18 +450,10 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s97">NATIVE_HSIZE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s98">NATIVE_HSSIZE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s83">NATIVE_INT</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s107">NATIVE_INT16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s113">NATIVE_INT32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s119">NATIVE_INT64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s103">NATIVE_INT16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s105">NATIVE_INT32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s107">NATIVE_INT64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s101">NATIVE_INT8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s111">NATIVE_INT_FAST16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s117">NATIVE_INT_FAST32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s123">NATIVE_INT_FAST64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s105">NATIVE_INT_FAST8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s109">NATIVE_INT_LEAST16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s115">NATIVE_INT_LEAST32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s121">NATIVE_INT_LEAST64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s103">NATIVE_INT_LEAST8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s91">NATIVE_LDOUBLE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s87">NATIVE_LLONG</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s85">NATIVE_LONG</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
@@ -449,47 +462,42 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s81">NATIVE_SHORT</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s80">NATIVE_UCHAR</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s84">NATIVE_UINT</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s108">NATIVE_UINT16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s114">NATIVE_UINT32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s120">NATIVE_UINT64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s104">NATIVE_UINT16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s106">NATIVE_UINT32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s108">NATIVE_UINT64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s102">NATIVE_UINT8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s112">NATIVE_UINT_FAST16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s118">NATIVE_UINT_FAST32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s124">NATIVE_UINT_FAST64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s106">NATIVE_UINT_FAST8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s110">NATIVE_UINT_LEAST16</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s116">NATIVE_UINT_LEAST32</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s122">NATIVE_UINT_LEAST64</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s104">NATIVE_UINT_LEAST8</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s88">NATIVE_ULLONG</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s86">NATIVE_ULONG</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s82">NATIVE_USHORT</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#a1">operator=</a>(const PredType &amp;rhs)</td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">H5::AtomType::operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">H5::AtomType::operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#a2">PredType</a>(const PredType &amp;original)</td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a4">setOffset</a>(size_t offset) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a2">setOrder</a>(H5T_order_t order) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a6">setPad</a>(H5T_pad_t lsb, H5T_pad_t msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a8">setPrecision</a>(size_t precision) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a9">setSize</a>(size_t size) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s18">STD_B16BE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s19">STD_B16LE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s20">STD_B32BE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
@@ -520,15 +528,15 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s33">UNIX_D32LE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s34">UNIX_D64BE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#s35">UNIX_D64LE</a></td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a12">~AtomType</a>()</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#a4">~PredType</a>()</td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PredType.html#a3">~PredType</a>()</td><td><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td><td><code> [virtual]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PredType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1PredType.html">PredType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::PredType Class Reference</h1><code>#include &lt;<a class="el" href="H5PredType_8h-source.html">H5PredType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::PredType:
@@ -337,274 +352,239 @@
 <a href="classH5_1_1PredType-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a0">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a0">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a1">operator=</a> (const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;rhs)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a2">PredType</a> (const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;original)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a3">getId</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a3">~PredType</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the HDF5 predefined type id.  <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#a4">~PredType</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a4"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Noop destructor.  <a href="#a3"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s0">STD_I8BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s0">STD_I8BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s1">STD_I8LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s1">STD_I8LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s2">STD_I16BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s2">STD_I16BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s3">STD_I16LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s3">STD_I16LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s4">STD_I32BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s4">STD_I32BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s5">STD_I32LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s5">STD_I32LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s6">STD_I64BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s6">STD_I64BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s7">STD_I64LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s7">STD_I64LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s8">STD_U8BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s8">STD_U8BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s9">STD_U8LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s9">STD_U8LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s10">STD_U16BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s10">STD_U16BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s11">STD_U16LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s11">STD_U16LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s12">STD_U32BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s12">STD_U32BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s13">STD_U32LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s13">STD_U32LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s14">STD_U64BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s14">STD_U64BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s15">STD_U64LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s15">STD_U64LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s16">STD_B8BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s16">STD_B8BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s17">STD_B8LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s17">STD_B8LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s18">STD_B16BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s18">STD_B16BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s19">STD_B16LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s19">STD_B16LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s20">STD_B32BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s20">STD_B32BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s21">STD_B32LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s21">STD_B32LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s22">STD_B64BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s22">STD_B64BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s23">STD_B64LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s23">STD_B64LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s24">STD_REF_OBJ</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s24">STD_REF_OBJ</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s25">STD_REF_DSETREG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s25">STD_REF_DSETREG</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s26">C_S1</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s26">C_S1</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s27">FORTRAN_S1</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s27">FORTRAN_S1</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s28">IEEE_F32BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s28">IEEE_F32BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s29">IEEE_F32LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s29">IEEE_F32LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s30">IEEE_F64BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s30">IEEE_F64BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s31">IEEE_F64LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s31">IEEE_F64LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s32">UNIX_D32BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s32">UNIX_D32BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s33">UNIX_D32LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s33">UNIX_D32LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s34">UNIX_D64BE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s34">UNIX_D64BE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s35">UNIX_D64LE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s35">UNIX_D64LE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s36">INTEL_I8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s36">INTEL_I8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s37">INTEL_I16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s37">INTEL_I16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s38">INTEL_I32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s38">INTEL_I32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s39">INTEL_I64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s39">INTEL_I64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s40">INTEL_U8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s40">INTEL_U8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s41">INTEL_U16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s41">INTEL_U16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s42">INTEL_U32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s42">INTEL_U32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s43">INTEL_U64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s43">INTEL_U64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s44">INTEL_B8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s44">INTEL_B8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s45">INTEL_B16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s45">INTEL_B16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s46">INTEL_B32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s46">INTEL_B32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s47">INTEL_B64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s47">INTEL_B64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s48">INTEL_F32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s48">INTEL_F32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s49">INTEL_F64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s49">INTEL_F64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s50">ALPHA_I8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s50">ALPHA_I8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s51">ALPHA_I16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s51">ALPHA_I16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s52">ALPHA_I32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s52">ALPHA_I32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s53">ALPHA_I64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s53">ALPHA_I64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s54">ALPHA_U8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s54">ALPHA_U8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s55">ALPHA_U16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s55">ALPHA_U16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s56">ALPHA_U32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s56">ALPHA_U32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s57">ALPHA_U64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s57">ALPHA_U64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s58">ALPHA_B8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s58">ALPHA_B8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s59">ALPHA_B16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s59">ALPHA_B16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s60">ALPHA_B32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s60">ALPHA_B32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s61">ALPHA_B64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s61">ALPHA_B64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s62">ALPHA_F32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s62">ALPHA_F32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s63">ALPHA_F64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s63">ALPHA_F64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s64">MIPS_I8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s64">MIPS_I8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s65">MIPS_I16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s65">MIPS_I16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s66">MIPS_I32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s66">MIPS_I32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s67">MIPS_I64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s67">MIPS_I64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s68">MIPS_U8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s68">MIPS_U8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s69">MIPS_U16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s69">MIPS_U16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s70">MIPS_U32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s70">MIPS_U32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s71">MIPS_U64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s71">MIPS_U64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s72">MIPS_B8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s72">MIPS_B8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s73">MIPS_B16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s73">MIPS_B16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s74">MIPS_B32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s74">MIPS_B32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s75">MIPS_B64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s75">MIPS_B64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s76">MIPS_F32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s76">MIPS_F32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s77">MIPS_F64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s77">MIPS_F64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s78">NATIVE_CHAR</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s78">NATIVE_CHAR</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s79">NATIVE_SCHAR</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s79">NATIVE_SCHAR</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s80">NATIVE_UCHAR</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s80">NATIVE_UCHAR</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s81">NATIVE_SHORT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s81">NATIVE_SHORT</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s82">NATIVE_USHORT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s82">NATIVE_USHORT</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s83">NATIVE_INT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s83">NATIVE_INT</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s84">NATIVE_UINT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s84">NATIVE_UINT</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s85">NATIVE_LONG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s85">NATIVE_LONG</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s86">NATIVE_ULONG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s86">NATIVE_ULONG</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s87">NATIVE_LLONG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s87">NATIVE_LLONG</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s88">NATIVE_ULLONG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s88">NATIVE_ULLONG</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s89">NATIVE_FLOAT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s89">NATIVE_FLOAT</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s90">NATIVE_DOUBLE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s90">NATIVE_DOUBLE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s91">NATIVE_LDOUBLE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s91">NATIVE_LDOUBLE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s92">NATIVE_B8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s92">NATIVE_B8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s93">NATIVE_B16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s93">NATIVE_B16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s94">NATIVE_B32</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s94">NATIVE_B32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s95">NATIVE_B64</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s95">NATIVE_B64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s96">NATIVE_OPAQUE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s96">NATIVE_OPAQUE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s97">NATIVE_HSIZE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s97">NATIVE_HSIZE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s98">NATIVE_HSSIZE</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s98">NATIVE_HSSIZE</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s99">NATIVE_HERR</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s99">NATIVE_HERR</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s100">NATIVE_HBOOL</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s100">NATIVE_HBOOL</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s101">NATIVE_INT8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s101">NATIVE_INT8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s102">NATIVE_UINT8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s102">NATIVE_UINT8</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s103">NATIVE_INT_LEAST8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s103">NATIVE_INT16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s104">NATIVE_UINT_LEAST8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s104">NATIVE_UINT16</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s105">NATIVE_INT_FAST8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s105">NATIVE_INT32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s106">NATIVE_UINT_FAST8</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s106">NATIVE_UINT32</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s107">NATIVE_INT16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s107">NATIVE_INT64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s108">NATIVE_UINT16</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s108">NATIVE_UINT64</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s109">NATIVE_INT_LEAST16</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s110">NATIVE_UINT_LEAST16</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s111">NATIVE_INT_FAST16</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s112">NATIVE_UINT_FAST16</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s113">NATIVE_INT32</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s114">NATIVE_UINT32</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s115">NATIVE_INT_LEAST32</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s116">NATIVE_UINT_LEAST32</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s117">NATIVE_INT_FAST32</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s118">NATIVE_UINT_FAST32</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s119">NATIVE_INT64</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s120">NATIVE_UINT64</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s121">NATIVE_INT_LEAST64</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s122">NATIVE_UINT_LEAST64</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s123">NATIVE_INT_FAST64</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PredType.html">PredType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html#s124">NATIVE_UINT_FAST64</a></td></tr>
-
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a2" doxytag="H5::PredType::PredType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -631,13 +611,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="a4" doxytag="H5::PredType::~PredType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a3" doxytag="H5::PredType::~PredType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::PredType::~PredType           </td>
+          <td class="md" nowrap valign="top">H5::PredType::~<a class="el" href="classH5_1_1PredType.html">PredType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -662,12 +642,12 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::PredType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::PredType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::PredType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -691,7 +671,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::PredType::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -725,47 +705,15 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Reference to <a class="el" href="classH5_1_1PredType.html">PredType</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
-<a class="anchor" name="a3" doxytag="H5::PredType::getId"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">hid_t H5::PredType::getId           </td>
-          <td class="md" valign="top">(&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap> const<code> [virtual]</code></td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-Returns the HDF5 predefined type id. 
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>HDF5 predefined type id or INVALID </dd></dl>
-
-<p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a10">H5::IdComponent</a>.    </td>
-  </tr>
-</table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::PredType::STD_I8BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -788,7 +736,7 @@
   </tr>
 </table>
 <a class="anchor" name="s1" doxytag="H5::PredType::STD_I8LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -811,7 +759,7 @@
   </tr>
 </table>
 <a class="anchor" name="s2" doxytag="H5::PredType::STD_I16BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -834,7 +782,7 @@
   </tr>
 </table>
 <a class="anchor" name="s3" doxytag="H5::PredType::STD_I16LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -857,7 +805,7 @@
   </tr>
 </table>
 <a class="anchor" name="s4" doxytag="H5::PredType::STD_I32BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -880,7 +828,7 @@
   </tr>
 </table>
 <a class="anchor" name="s5" doxytag="H5::PredType::STD_I32LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -903,7 +851,7 @@
   </tr>
 </table>
 <a class="anchor" name="s6" doxytag="H5::PredType::STD_I64BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -926,7 +874,7 @@
   </tr>
 </table>
 <a class="anchor" name="s7" doxytag="H5::PredType::STD_I64LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -949,7 +897,7 @@
   </tr>
 </table>
 <a class="anchor" name="s8" doxytag="H5::PredType::STD_U8BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -972,7 +920,7 @@
   </tr>
 </table>
 <a class="anchor" name="s9" doxytag="H5::PredType::STD_U8LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -995,7 +943,7 @@
   </tr>
 </table>
 <a class="anchor" name="s10" doxytag="H5::PredType::STD_U16BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1018,7 +966,7 @@
   </tr>
 </table>
 <a class="anchor" name="s11" doxytag="H5::PredType::STD_U16LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1041,7 +989,7 @@
   </tr>
 </table>
 <a class="anchor" name="s12" doxytag="H5::PredType::STD_U32BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1064,7 +1012,7 @@
   </tr>
 </table>
 <a class="anchor" name="s13" doxytag="H5::PredType::STD_U32LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1087,7 +1035,7 @@
   </tr>
 </table>
 <a class="anchor" name="s14" doxytag="H5::PredType::STD_U64BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1110,7 +1058,7 @@
   </tr>
 </table>
 <a class="anchor" name="s15" doxytag="H5::PredType::STD_U64LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1133,7 +1081,7 @@
   </tr>
 </table>
 <a class="anchor" name="s16" doxytag="H5::PredType::STD_B8BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1156,7 +1104,7 @@
   </tr>
 </table>
 <a class="anchor" name="s17" doxytag="H5::PredType::STD_B8LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1179,7 +1127,7 @@
   </tr>
 </table>
 <a class="anchor" name="s18" doxytag="H5::PredType::STD_B16BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1202,7 +1150,7 @@
   </tr>
 </table>
 <a class="anchor" name="s19" doxytag="H5::PredType::STD_B16LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1225,7 +1173,7 @@
   </tr>
 </table>
 <a class="anchor" name="s20" doxytag="H5::PredType::STD_B32BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1248,7 +1196,7 @@
   </tr>
 </table>
 <a class="anchor" name="s21" doxytag="H5::PredType::STD_B32LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1271,7 +1219,7 @@
   </tr>
 </table>
 <a class="anchor" name="s22" doxytag="H5::PredType::STD_B64BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1294,7 +1242,7 @@
   </tr>
 </table>
 <a class="anchor" name="s23" doxytag="H5::PredType::STD_B64LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1317,7 +1265,7 @@
   </tr>
 </table>
 <a class="anchor" name="s24" doxytag="H5::PredType::STD_REF_OBJ"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1340,7 +1288,7 @@
   </tr>
 </table>
 <a class="anchor" name="s25" doxytag="H5::PredType::STD_REF_DSETREG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1363,7 +1311,7 @@
   </tr>
 </table>
 <a class="anchor" name="s26" doxytag="H5::PredType::C_S1"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1386,7 +1334,7 @@
   </tr>
 </table>
 <a class="anchor" name="s27" doxytag="H5::PredType::FORTRAN_S1"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1409,7 +1357,7 @@
   </tr>
 </table>
 <a class="anchor" name="s28" doxytag="H5::PredType::IEEE_F32BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1432,7 +1380,7 @@
   </tr>
 </table>
 <a class="anchor" name="s29" doxytag="H5::PredType::IEEE_F32LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1455,7 +1403,7 @@
   </tr>
 </table>
 <a class="anchor" name="s30" doxytag="H5::PredType::IEEE_F64BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1478,7 +1426,7 @@
   </tr>
 </table>
 <a class="anchor" name="s31" doxytag="H5::PredType::IEEE_F64LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1501,7 +1449,7 @@
   </tr>
 </table>
 <a class="anchor" name="s32" doxytag="H5::PredType::UNIX_D32BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1524,7 +1472,7 @@
   </tr>
 </table>
 <a class="anchor" name="s33" doxytag="H5::PredType::UNIX_D32LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1547,7 +1495,7 @@
   </tr>
 </table>
 <a class="anchor" name="s34" doxytag="H5::PredType::UNIX_D64BE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1570,7 +1518,7 @@
   </tr>
 </table>
 <a class="anchor" name="s35" doxytag="H5::PredType::UNIX_D64LE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1593,7 +1541,7 @@
   </tr>
 </table>
 <a class="anchor" name="s36" doxytag="H5::PredType::INTEL_I8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1616,7 +1564,7 @@
   </tr>
 </table>
 <a class="anchor" name="s37" doxytag="H5::PredType::INTEL_I16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1639,7 +1587,7 @@
   </tr>
 </table>
 <a class="anchor" name="s38" doxytag="H5::PredType::INTEL_I32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1662,7 +1610,7 @@
   </tr>
 </table>
 <a class="anchor" name="s39" doxytag="H5::PredType::INTEL_I64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1685,7 +1633,7 @@
   </tr>
 </table>
 <a class="anchor" name="s40" doxytag="H5::PredType::INTEL_U8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1708,7 +1656,7 @@
   </tr>
 </table>
 <a class="anchor" name="s41" doxytag="H5::PredType::INTEL_U16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1731,7 +1679,7 @@
   </tr>
 </table>
 <a class="anchor" name="s42" doxytag="H5::PredType::INTEL_U32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1754,7 +1702,7 @@
   </tr>
 </table>
 <a class="anchor" name="s43" doxytag="H5::PredType::INTEL_U64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1777,7 +1725,7 @@
   </tr>
 </table>
 <a class="anchor" name="s44" doxytag="H5::PredType::INTEL_B8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1800,7 +1748,7 @@
   </tr>
 </table>
 <a class="anchor" name="s45" doxytag="H5::PredType::INTEL_B16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1823,7 +1771,7 @@
   </tr>
 </table>
 <a class="anchor" name="s46" doxytag="H5::PredType::INTEL_B32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1846,7 +1794,7 @@
   </tr>
 </table>
 <a class="anchor" name="s47" doxytag="H5::PredType::INTEL_B64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1869,7 +1817,7 @@
   </tr>
 </table>
 <a class="anchor" name="s48" doxytag="H5::PredType::INTEL_F32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1892,7 +1840,7 @@
   </tr>
 </table>
 <a class="anchor" name="s49" doxytag="H5::PredType::INTEL_F64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1915,7 +1863,7 @@
   </tr>
 </table>
 <a class="anchor" name="s50" doxytag="H5::PredType::ALPHA_I8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1938,7 +1886,7 @@
   </tr>
 </table>
 <a class="anchor" name="s51" doxytag="H5::PredType::ALPHA_I16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1961,7 +1909,7 @@
   </tr>
 </table>
 <a class="anchor" name="s52" doxytag="H5::PredType::ALPHA_I32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1984,7 +1932,7 @@
   </tr>
 </table>
 <a class="anchor" name="s53" doxytag="H5::PredType::ALPHA_I64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2007,7 +1955,7 @@
   </tr>
 </table>
 <a class="anchor" name="s54" doxytag="H5::PredType::ALPHA_U8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2030,7 +1978,7 @@
   </tr>
 </table>
 <a class="anchor" name="s55" doxytag="H5::PredType::ALPHA_U16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2053,7 +2001,7 @@
   </tr>
 </table>
 <a class="anchor" name="s56" doxytag="H5::PredType::ALPHA_U32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2076,7 +2024,7 @@
   </tr>
 </table>
 <a class="anchor" name="s57" doxytag="H5::PredType::ALPHA_U64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2099,7 +2047,7 @@
   </tr>
 </table>
 <a class="anchor" name="s58" doxytag="H5::PredType::ALPHA_B8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2122,7 +2070,7 @@
   </tr>
 </table>
 <a class="anchor" name="s59" doxytag="H5::PredType::ALPHA_B16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2145,7 +2093,7 @@
   </tr>
 </table>
 <a class="anchor" name="s60" doxytag="H5::PredType::ALPHA_B32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2168,7 +2116,7 @@
   </tr>
 </table>
 <a class="anchor" name="s61" doxytag="H5::PredType::ALPHA_B64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2191,7 +2139,7 @@
   </tr>
 </table>
 <a class="anchor" name="s62" doxytag="H5::PredType::ALPHA_F32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2214,7 +2162,7 @@
   </tr>
 </table>
 <a class="anchor" name="s63" doxytag="H5::PredType::ALPHA_F64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2237,7 +2185,7 @@
   </tr>
 </table>
 <a class="anchor" name="s64" doxytag="H5::PredType::MIPS_I8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2260,7 +2208,7 @@
   </tr>
 </table>
 <a class="anchor" name="s65" doxytag="H5::PredType::MIPS_I16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2283,7 +2231,7 @@
   </tr>
 </table>
 <a class="anchor" name="s66" doxytag="H5::PredType::MIPS_I32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2306,7 +2254,7 @@
   </tr>
 </table>
 <a class="anchor" name="s67" doxytag="H5::PredType::MIPS_I64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2329,7 +2277,7 @@
   </tr>
 </table>
 <a class="anchor" name="s68" doxytag="H5::PredType::MIPS_U8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2352,7 +2300,7 @@
   </tr>
 </table>
 <a class="anchor" name="s69" doxytag="H5::PredType::MIPS_U16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2375,7 +2323,7 @@
   </tr>
 </table>
 <a class="anchor" name="s70" doxytag="H5::PredType::MIPS_U32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2398,7 +2346,7 @@
   </tr>
 </table>
 <a class="anchor" name="s71" doxytag="H5::PredType::MIPS_U64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2421,7 +2369,7 @@
   </tr>
 </table>
 <a class="anchor" name="s72" doxytag="H5::PredType::MIPS_B8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2444,7 +2392,7 @@
   </tr>
 </table>
 <a class="anchor" name="s73" doxytag="H5::PredType::MIPS_B16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2467,7 +2415,7 @@
   </tr>
 </table>
 <a class="anchor" name="s74" doxytag="H5::PredType::MIPS_B32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2490,7 +2438,7 @@
   </tr>
 </table>
 <a class="anchor" name="s75" doxytag="H5::PredType::MIPS_B64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2513,7 +2461,7 @@
   </tr>
 </table>
 <a class="anchor" name="s76" doxytag="H5::PredType::MIPS_F32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2536,7 +2484,7 @@
   </tr>
 </table>
 <a class="anchor" name="s77" doxytag="H5::PredType::MIPS_F64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2559,7 +2507,7 @@
   </tr>
 </table>
 <a class="anchor" name="s78" doxytag="H5::PredType::NATIVE_CHAR"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2582,7 +2530,7 @@
   </tr>
 </table>
 <a class="anchor" name="s79" doxytag="H5::PredType::NATIVE_SCHAR"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2605,7 +2553,7 @@
   </tr>
 </table>
 <a class="anchor" name="s80" doxytag="H5::PredType::NATIVE_UCHAR"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2628,7 +2576,7 @@
   </tr>
 </table>
 <a class="anchor" name="s81" doxytag="H5::PredType::NATIVE_SHORT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2651,7 +2599,7 @@
   </tr>
 </table>
 <a class="anchor" name="s82" doxytag="H5::PredType::NATIVE_USHORT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2674,7 +2622,7 @@
   </tr>
 </table>
 <a class="anchor" name="s83" doxytag="H5::PredType::NATIVE_INT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2693,12 +2641,11 @@
     <td>
 
 <p>
-<dl compact><dt><b>Examples: </b></dt><dd>
-<a class="el" href="chunks_8cpp-example.html#a1">chunks.cpp</a>, <a class="el" href="create_8cpp-example.html#a3">create.cpp</a>, and <a class="el" href="extend__ds_8cpp-example.html#a5">extend_ds.cpp</a>.</dl>    </td>
+    </td>
   </tr>
 </table>
 <a class="anchor" name="s84" doxytag="H5::PredType::NATIVE_UINT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2721,7 +2668,7 @@
   </tr>
 </table>
 <a class="anchor" name="s85" doxytag="H5::PredType::NATIVE_LONG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2744,7 +2691,7 @@
   </tr>
 </table>
 <a class="anchor" name="s86" doxytag="H5::PredType::NATIVE_ULONG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2767,7 +2714,7 @@
   </tr>
 </table>
 <a class="anchor" name="s87" doxytag="H5::PredType::NATIVE_LLONG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2790,7 +2737,7 @@
   </tr>
 </table>
 <a class="anchor" name="s88" doxytag="H5::PredType::NATIVE_ULLONG"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2813,7 +2760,7 @@
   </tr>
 </table>
 <a class="anchor" name="s89" doxytag="H5::PredType::NATIVE_FLOAT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2836,7 +2783,7 @@
   </tr>
 </table>
 <a class="anchor" name="s90" doxytag="H5::PredType::NATIVE_DOUBLE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2859,7 +2806,7 @@
   </tr>
 </table>
 <a class="anchor" name="s91" doxytag="H5::PredType::NATIVE_LDOUBLE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2882,7 +2829,7 @@
   </tr>
 </table>
 <a class="anchor" name="s92" doxytag="H5::PredType::NATIVE_B8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2905,7 +2852,7 @@
   </tr>
 </table>
 <a class="anchor" name="s93" doxytag="H5::PredType::NATIVE_B16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2928,7 +2875,7 @@
   </tr>
 </table>
 <a class="anchor" name="s94" doxytag="H5::PredType::NATIVE_B32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2951,7 +2898,7 @@
   </tr>
 </table>
 <a class="anchor" name="s95" doxytag="H5::PredType::NATIVE_B64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2974,7 +2921,7 @@
   </tr>
 </table>
 <a class="anchor" name="s96" doxytag="H5::PredType::NATIVE_OPAQUE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -2997,7 +2944,7 @@
   </tr>
 </table>
 <a class="anchor" name="s97" doxytag="H5::PredType::NATIVE_HSIZE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -3020,7 +2967,7 @@
   </tr>
 </table>
 <a class="anchor" name="s98" doxytag="H5::PredType::NATIVE_HSSIZE"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -3043,7 +2990,7 @@
   </tr>
 </table>
 <a class="anchor" name="s99" doxytag="H5::PredType::NATIVE_HERR"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -3066,7 +3013,7 @@
   </tr>
 </table>
 <a class="anchor" name="s100" doxytag="H5::PredType::NATIVE_HBOOL"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -3089,7 +3036,7 @@
   </tr>
 </table>
 <a class="anchor" name="s101" doxytag="H5::PredType::NATIVE_INT8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -3112,7 +3059,7 @@
   </tr>
 </table>
 <a class="anchor" name="s102" doxytag="H5::PredType::NATIVE_UINT8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -3134,13 +3081,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s103" doxytag="H5::PredType::NATIVE_INT_LEAST8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="s103" doxytag="H5::PredType::NATIVE_INT16"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s103">H5::PredType::NATIVE_INT_LEAST8</a><code> [static]</code>          </td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s103">H5::PredType::NATIVE_INT16</a><code> [static]</code>          </td>
         </tr>
       </table>
     </td>
@@ -3157,13 +3104,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s104" doxytag="H5::PredType::NATIVE_UINT_LEAST8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="s104" doxytag="H5::PredType::NATIVE_UINT16"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s104">H5::PredType::NATIVE_UINT_LEAST8</a><code> [static]</code>          </td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s104">H5::PredType::NATIVE_UINT16</a><code> [static]</code>          </td>
         </tr>
       </table>
     </td>
@@ -3180,13 +3127,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s105" doxytag="H5::PredType::NATIVE_INT_FAST8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="s105" doxytag="H5::PredType::NATIVE_INT32"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s105">H5::PredType::NATIVE_INT_FAST8</a><code> [static]</code>          </td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s105">H5::PredType::NATIVE_INT32</a><code> [static]</code>          </td>
         </tr>
       </table>
     </td>
@@ -3203,13 +3150,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s106" doxytag="H5::PredType::NATIVE_UINT_FAST8"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="s106" doxytag="H5::PredType::NATIVE_UINT32"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s106">H5::PredType::NATIVE_UINT_FAST8</a><code> [static]</code>          </td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s106">H5::PredType::NATIVE_UINT32</a><code> [static]</code>          </td>
         </tr>
       </table>
     </td>
@@ -3226,13 +3173,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s107" doxytag="H5::PredType::NATIVE_INT16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="s107" doxytag="H5::PredType::NATIVE_INT64"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s107">H5::PredType::NATIVE_INT16</a><code> [static]</code>          </td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s107">H5::PredType::NATIVE_INT64</a><code> [static]</code>          </td>
         </tr>
       </table>
     </td>
@@ -3249,13 +3196,13 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s108" doxytag="H5::PredType::NATIVE_UINT16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="s108" doxytag="H5::PredType::NATIVE_UINT64"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s108">H5::PredType::NATIVE_UINT16</a><code> [static]</code>          </td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s108">H5::PredType::NATIVE_UINT64</a><code> [static]</code>          </td>
         </tr>
       </table>
     </td>
@@ -3272,376 +3219,8 @@
     </td>
   </tr>
 </table>
-<a class="anchor" name="s109" doxytag="H5::PredType::NATIVE_INT_LEAST16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s109">H5::PredType::NATIVE_INT_LEAST16</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s110" doxytag="H5::PredType::NATIVE_UINT_LEAST16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s110">H5::PredType::NATIVE_UINT_LEAST16</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s111" doxytag="H5::PredType::NATIVE_INT_FAST16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s111">H5::PredType::NATIVE_INT_FAST16</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s112" doxytag="H5::PredType::NATIVE_UINT_FAST16"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s112">H5::PredType::NATIVE_UINT_FAST16</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s113" doxytag="H5::PredType::NATIVE_INT32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s113">H5::PredType::NATIVE_INT32</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s114" doxytag="H5::PredType::NATIVE_UINT32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s114">H5::PredType::NATIVE_UINT32</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s115" doxytag="H5::PredType::NATIVE_INT_LEAST32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s115">H5::PredType::NATIVE_INT_LEAST32</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s116" doxytag="H5::PredType::NATIVE_UINT_LEAST32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s116">H5::PredType::NATIVE_UINT_LEAST32</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s117" doxytag="H5::PredType::NATIVE_INT_FAST32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s117">H5::PredType::NATIVE_INT_FAST32</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s118" doxytag="H5::PredType::NATIVE_UINT_FAST32"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s118">H5::PredType::NATIVE_UINT_FAST32</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s119" doxytag="H5::PredType::NATIVE_INT64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s119">H5::PredType::NATIVE_INT64</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s120" doxytag="H5::PredType::NATIVE_UINT64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s120">H5::PredType::NATIVE_UINT64</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s121" doxytag="H5::PredType::NATIVE_INT_LEAST64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s121">H5::PredType::NATIVE_INT_LEAST64</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s122" doxytag="H5::PredType::NATIVE_UINT_LEAST64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s122">H5::PredType::NATIVE_UINT_LEAST64</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s123" doxytag="H5::PredType::NATIVE_INT_FAST64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s123">H5::PredType::NATIVE_INT_FAST64</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<a class="anchor" name="s124" doxytag="H5::PredType::NATIVE_UINT_FAST64"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
-  <tr>
-    <td class="mdRow">
-      <table cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> <a class="el" href="classH5_1_1PredType.html#s124">H5::PredType::NATIVE_UINT_FAST64</a><code> [static]</code>          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
-  <tr>
-    <td>
-      &nbsp;
-    </td>
-    <td>
-
-<p>
-    </td>
-  </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,59 +337,63 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::PropList Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1PropList.html">H5::PropList</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a4">closeClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a5">copy</a>(const PropList &amp;like_plist)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a6">copyProp</a>(PropList &amp;dest, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a>(PropList &amp;dest, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a8">copyProp</a>(PropList &amp;dest, PropList &amp;src, const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a>(PropList &amp;dest, PropList &amp;src, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#s0">DEFAULT</a></td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a30">fromClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [inline, virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a10">getClass</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a12">getClassParent</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a13">getNumProps</a>() const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a14">getProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a23">getPropSize</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a25">isAClass</a>(const PropList &amp;prop_class) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a1">operator=</a>(const PropList &amp;rhs)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a2">operator==</a>(const PropList &amp;rhs) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a26">propExist</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a27">propExist</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a0">PropList</a>(const hid_t plist_id)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a31">PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a32">PropList</a>(const PropList &amp;original)</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a28">removeProp</a>(const char *name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a18">setProperty</a>(const char *name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a19">setProperty</a>(const char *name, const char *charptr) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const string &amp;name, string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a>(const char *name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a>(const H5std_string &amp;name, void *value) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a>(const H5std_string &amp;name, H5std_string &amp;strg) const </td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropList.html#a33">~PropList</a>()</td><td><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:51 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropList.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1PropList.html">PropList</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::PropList Class Reference</h1><code>#include &lt;<a class="el" href="H5PropList_8h-source.html">H5PropList.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::PropList:
@@ -359,19 +374,19 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a6">copyProp</a> (<a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;dest, const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies a property from this property list or class to another.  <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a> (<a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;dest, const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a7">copyProp</a> (<a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;dest, const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a7"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a8">copyProp</a> (<a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;dest, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;src, const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies a property from one list or class to another - Obsolete.  <a href="#a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a> (<a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;dest, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;src, const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a9">copyProp</a> (<a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;dest, <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;src, const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts. - Obsolete.  <a href="#a9"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">hid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a10">getClass</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the class of this property list, i.e. <code>H5P_FILE_CREATE</code>...  <a href="#a10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a11">getClassName</a> () const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of a generic property list class.  <a href="#a11"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classH5_1_1PropList.html">PropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a12">getClassParent</a> () const </td></tr>
@@ -383,13 +398,13 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a14">getProperty</a> (const char *name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the value of a property in a property list.  <a href="#a14"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a> (const string &amp;name, void *value) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a15">getProperty</a> (const H5std_string &amp;name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a> (const char *name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a16">getProperty</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a16"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a17">getProperty</a> (const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a17"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a18">setProperty</a> (const char *name, void *value) const </td></tr>
@@ -398,19 +413,19 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a19">setProperty</a> (const char *name, const char *charptr) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a19"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a> (const char *name, string &amp;strg) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a20">setProperty</a> (const char *name, H5std_string &amp;strg) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a20"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a> (const string &amp;name, void *value) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a21">setProperty</a> (const H5std_string &amp;name, void *value) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a> (const string &amp;name, string &amp;strg) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a22">setProperty</a> (const H5std_string &amp;name, H5std_string &amp;strg) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a22"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a23">getPropSize</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the size of a property in a property list or class.  <a href="#a23"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a24">getPropSize</a> (const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a24"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a25">isAClass</a> (const <a class="el" href="classH5_1_1PropList.html">PropList</a> &amp;prop_class) const </td></tr>
@@ -419,16 +434,16 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a26">propExist</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the existance of a property in a property object.  <a href="#a26"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a27">propExist</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a27">propExist</a> (const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a27"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a28">removeProp</a> (const char *name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a property from a property list.  <a href="#a28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a> (const string &amp;name) const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a29">removeProp</a> (const H5std_string &amp;name) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an overloaded member function, provided for convenience. It differs from the above function only in what arguments it accepts.  <a href="#a29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a30">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a30">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#a31">PropList</a> ()</td></tr>
 
@@ -440,13 +455,13 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properly terminates access to this property list.  <a href="#a33"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="classH5_1_1PropList.html">PropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#s0">DEFAULT</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classH5_1_1PropList.html">PropList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html#s0">DEFAULT</a></td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant for default property.  <a href="#s0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::PropList::PropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -479,14 +494,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a31" doxytag="H5::PropList::PropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -515,7 +530,7 @@
   </tr>
 </table>
 <a class="anchor" name="a32" doxytag="H5::PropList::PropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -550,12 +565,12 @@
   </tr>
 </table>
 <a class="anchor" name="a33" doxytag="H5::PropList::~PropList"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::PropList::~PropList           </td>
+          <td class="md" nowrap valign="top">H5::PropList::~<a class="el" href="classH5_1_1PropList.html">PropList</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -580,7 +595,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a1" doxytag="H5::PropList::operator="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -614,14 +629,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Reference to <a class="el" href="classH5_1_1PropList.html">PropList</a> instance </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::PropList::operator=="></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -655,14 +670,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if the property lists or classes are equal, and false, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::PropList::close"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -689,14 +704,14 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::PropList::closeClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -723,7 +738,7 @@
 <p>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Releases memory and detaches a class from the property list class hierarchy. </dd></dl>
@@ -731,7 +746,7 @@
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::PropList::copy"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -764,14 +779,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::PropList::copyProp"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -814,14 +829,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::PropList::copyProp"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -834,7 +849,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em></td>
         </tr>
         <tr>
@@ -859,14 +874,14 @@
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- IN: Destination property list or class </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the property to copy - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the property to copy - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::PropList::copyProp"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -917,14 +932,14 @@
 <dl compact><dt><b>Note:</b></dt><dd>This member function will be removed in the next release </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::PropList::copyProp"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -943,7 +958,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string &amp;&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em></td>
         </tr>
         <tr>
@@ -969,14 +984,14 @@
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>- IN: Destination property list or class </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>- IN: Source property list or class </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the property to copy - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of the property to copy - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::PropList::getClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1004,19 +1019,19 @@
 <dl compact><dt><b>Returns:</b></dt><dd>The property list class if it is not equal to <code>H5P_NO_CLASS</code> </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::PropList::getClassName"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::PropList::getClassName           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::PropList::getClassName           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1041,7 +1056,7 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::PropList::getClassParent"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1069,14 +1084,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>The parent class of a property class </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a13" doxytag="H5::PropList::getNumProps"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1104,14 +1119,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Size of the property. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a14" doxytag="H5::PropList::getProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1154,7 +1169,7 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>Retrieves a copy of the value for a property in a property list. The property name must exist or this routine will throw an exception. </dd></dl>
@@ -1162,14 +1177,14 @@
   </tr>
 </table>
 <a class="anchor" name="a15" doxytag="H5::PropList::getProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::PropList::getProperty           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1199,7 +1214,7 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>str::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>H5std_string</code> </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>- OUT: Pointer to the buffer for the property value </td></tr>
   </table>
 </dl>
@@ -1207,12 +1222,12 @@
   </tr>
 </table>
 <a class="anchor" name="a16" doxytag="H5::PropList::getProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::PropList::getProperty           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::PropList::getProperty           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="md" nowrap valign="top">const char *&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
@@ -1238,24 +1253,24 @@
     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>char</code> pointer </td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Returns:</b></dt><dd>The property that is a <code>std::string</code>. </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>The property that is a <code>H5std_string</code>. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a17" doxytag="H5::PropList::getProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">string H5::PropList::getProperty           </td>
+          <td class="md" nowrap valign="top">H5std_string H5::PropList::getProperty           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1276,15 +1291,15 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Returns:</b></dt><dd>The property that is a <code>std::string</code>. </dd></dl>
+<dl compact><dt><b>Returns:</b></dt><dd>The property that is a <code>H5std_string</code>. </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a18" doxytag="H5::PropList::setProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1327,14 +1342,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a19" doxytag="H5::PropList::setProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1379,7 +1394,7 @@
   </tr>
 </table>
 <a class="anchor" name="a20" doxytag="H5::PropList::setProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1392,7 +1407,7 @@
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>string &amp;&nbsp;</td>
+          <td class="md" nowrap>H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>strg</em></td>
         </tr>
         <tr>
@@ -1417,21 +1432,21 @@
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to set - <code>char</code> pointer </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>strg</em>&nbsp;</td><td>- IN: Value for the property is a <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>strg</em>&nbsp;</td><td>- IN: Value for the property is a <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a21" doxytag="H5::PropList::setProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::PropList::setProperty           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
@@ -1461,7 +1476,7 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to set - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to set - <code>H5std_string</code> </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>- IN: Void pointer to the value for the property </td></tr>
   </table>
 </dl>
@@ -1469,20 +1484,20 @@
   </tr>
 </table>
 <a class="anchor" name="a22" doxytag="H5::PropList::setProperty"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::PropList::setProperty           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>string &amp;&nbsp;</td>
+          <td class="md" nowrap>H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>strg</em></td>
         </tr>
         <tr>
@@ -1506,15 +1521,15 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to set - <code>std::string</code> </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>strg</em>&nbsp;</td><td>- IN: Value for the property is a <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to set - <code>H5std_string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>strg</em>&nbsp;</td><td>- IN: Value for the property is a <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a23" doxytag="H5::PropList::getPropSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1548,7 +1563,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>Size of the property </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This routine retrieves the size of a property's value in bytes. Zero-sized properties are allowed and the return value will be of 0. This function works for both property lists and classes. </dd></dl>
@@ -1556,14 +1571,14 @@
   </tr>
 </table>
 <a class="anchor" name="a24" doxytag="H5::PropList::getPropSize"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">size_t H5::PropList::getPropSize           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1584,14 +1599,14 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to query - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a25" doxytag="H5::PropList::isAClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1625,14 +1640,14 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if the property list is a member of the property list class, and false, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a26" doxytag="H5::PropList::propExist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1666,7 +1681,7 @@
 <dl compact><dt><b>Returns:</b></dt><dd>true if the property exists in the property object, and false, otherwise. </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Description</b></dt><dd>This routine checks if a property exists within a property list or class. </dd></dl>
@@ -1674,14 +1689,14 @@
   </tr>
 </table>
 <a class="anchor" name="a27" doxytag="H5::PropList::propExist"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">bool H5::PropList::propExist           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1702,14 +1717,14 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to check for - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to check for - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a28" doxytag="H5::PropList::removeProp"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1742,21 +1757,21 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::PropListIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a29" doxytag="H5::PropList::removeProp"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">void H5::PropList::removeProp           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
           <td class="md" nowrap> const</td>
@@ -1777,19 +1792,19 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to remove - <code>std::string</code> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>- IN: Name of property to remove - <code>H5std_string</code> </td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a30" doxytag="H5::PropList::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::PropList::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::PropList::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -1809,14 +1824,12 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1IdComponent.html#a12">H5::IdComponent</a>.
-<p>
-Reimplemented in <a class="el" href="classH5_1_1DSetCreatPropList.html#a24">H5::DSetCreatPropList</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1FileAccPropList.html#a29">H5::FileAccPropList</a>, and <a class="el" href="classH5_1_1FileCreatPropList.html#a9">H5::FileCreatPropList</a>.    </td>
+Reimplemented in <a class="el" href="classH5_1_1DSetCreatPropList.html#a26">H5::DSetCreatPropList</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1FileAccPropList.html#a30">H5::FileAccPropList</a>, and <a class="el" href="classH5_1_1FileCreatPropList.html#a10">H5::FileCreatPropList</a>.    </td>
   </tr>
 </table>
 <hr><h2>Member Data Documentation</h2>
 <a class="anchor" name="s0" doxytag="H5::PropList::DEFAULT"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -1842,8 +1855,8 @@
 Reimplemented in <a class="el" href="classH5_1_1DSetCreatPropList.html#s0">H5::DSetCreatPropList</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1FileAccPropList.html#s0">H5::FileAccPropList</a>, and <a class="el" href="classH5_1_1FileCreatPropList.html#s0">H5::FileCreatPropList</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:50 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,13 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::PropListIException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -337,14 +354,14 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a>(H5E_major_t major_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a>(H5E_minor_t minor_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a7">printError</a>(FILE *stream=NULL) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1PropListIException.html#a0">PropListIException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1PropListIException.html#a0">PropListIException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropListIException.html#a1">PropListIException</a>()</td><td><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a>(H5E_auto_t &amp;func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1PropListIException.html#a2">~PropListIException</a>()</td><td><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1PropListIException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1PropListIException.html">PropListIException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::PropListIException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::PropListIException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1PropListIException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropListIException.html#a0">PropListIException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropListIException.html#a0">PropListIException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1PropListIException.html">PropListIException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropListIException.html#a1">PropListIException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::PropListIException::PropListIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::PropListIException::PropListIException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::PropListIException::PropListIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::PropListIException::~PropListIException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::PropListIException::~PropListIException           </td>
+          <td class="md" nowrap valign="top">H5::PropListIException::~<a class="el" href="classH5_1_1PropListIException.html">PropListIException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,13 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::ReferenceException Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e3">clearErrorStack</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [protected, static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e1">dontPrint</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a0">Exception</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a8">Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a9">Exception</a>(const Exception &amp;orig)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e2">getAutoPrint</a>(H5E_auto_t &amp;func, void **client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
@@ -337,14 +354,14 @@
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a1">getMajorString</a>(H5E_major_t major_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a2">getMinorString</a>(H5E_minor_t minor_num) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a7">printError</a>(FILE *stream=NULL) const </td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1ReferenceException.html#a0">ReferenceException</a>(const string func_name, const string message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1ReferenceException.html#a0">ReferenceException</a>(const H5std_string &amp;func_name, const H5std_string &amp;message=DEFAULT_MSG)</td><td><a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ReferenceException.html#a1">ReferenceException</a>()</td><td><a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e0">setAutoPrint</a>(H5E_auto_t &amp;func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#e4">walkErrorStack</a>(H5E_direction_t direction, H5E_walk_t func, void *client_data)</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [static]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1Exception.html#a10">~Exception</a>()</td><td><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1ReferenceException.html#a2">~ReferenceException</a>()</td><td><a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1ReferenceException.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1ReferenceException.html">ReferenceException</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::ReferenceException Class Reference</h1><code>#include &lt;<a class="el" href="H5Exception_8h-source.html">H5Exception.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::ReferenceException:
@@ -334,7 +349,7 @@
 <a href="classH5_1_1ReferenceException-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ReferenceException.html#a0">ReferenceException</a> (const string func_name, const string message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ReferenceException.html#a0">ReferenceException</a> (const H5std_string &amp;func_name, const H5std_string &amp;message=<a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a>)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a <a class="el" href="classH5_1_1ReferenceException.html">ReferenceException</a> with the name of the function, in which the failure occurs, and an optional detailed message.  <a href="#a0"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ReferenceException.html#a1">ReferenceException</a> ()</td></tr>
@@ -346,20 +361,20 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::ReferenceException::ReferenceException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::ReferenceException::ReferenceException           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const string&nbsp;</td>
+          <td class="md" nowrap valign="top">const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>func_name</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const string&nbsp;</td>
+          <td class="md" nowrap>const H5std_string &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>message</em> = <code><a class="el" href="classH5_1_1Exception.html#t0">DEFAULT_MSG</a></code></td>
         </tr>
         <tr>
@@ -391,7 +406,7 @@
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::ReferenceException::ReferenceException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -420,12 +435,12 @@
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::ReferenceException::~ReferenceException"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::ReferenceException::~ReferenceException           </td>
+          <td class="md" nowrap valign="top">H5::ReferenceException::~<a class="el" href="classH5_1_1ReferenceException.html">ReferenceException</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -448,8 +463,8 @@
     </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:49 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,99 +337,106 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::StrType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1StrType.html">H5::StrType</a>, including all inherited members.<p><table>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a11">AtomType</a>(const AtomType &amp;original)</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a8">fromClass</a>() const </td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a4">getCset</a>() const </td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a3">getOffset</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a0">getOrder</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a1">getOrder</a>(H5std_string &amp;order_string) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a5">getPad</a>(H5T_pad_t &amp;lsb, H5T_pad_t &amp;msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a7">getPrecision</a>() const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a6">getStrpad</a>() const </td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a5">setCset</a>(H5T_cset_t cset) const </td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a4">setOffset</a>(size_t offset) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a2">setOrder</a>(H5T_order_t order) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a6">setPad</a>(H5T_pad_t lsb, H5T_pad_t msb) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a8">setPrecision</a>(size_t precision) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a9">setSize</a>(size_t size) const </td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a7">setStrpad</a>(H5T_str_t strpad) const </td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a0">StrType</a>(const PredType &amp;pred_type)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a1">StrType</a>(const size_t &amp;size)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a2">StrType</a>(const PredType &amp;pred_type, const size_t size)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a1">StrType</a>(const PredType &amp;pred_type, const size_t &amp;size)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a2">StrType</a>(const int dummy, const size_t &amp;size)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a3">StrType</a>(const DataSet &amp;dataset)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a9">StrType</a>()</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a10">StrType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a11">StrType</a>(const StrType &amp;original)</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1AtomType.html#a12">~AtomType</a>()</td><td><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1StrType.html#a12">~StrType</a>()</td><td><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:51 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1StrType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1StrType.html">StrType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::StrType Class Reference</h1><code>#include &lt;<a class="el" href="H5StrType_8h-source.html">H5StrType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::StrType:
@@ -340,9 +355,10 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a0">StrType</a> (const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;pred_type)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string datatype using a predefined type.  <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a1">StrType</a> (const size_t &amp;size)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a1">StrType</a> (const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;pred_type, const size_t &amp;size)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a2">StrType</a> (const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;pred_type, const size_t size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string datatype with a specified length.  <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a2">StrType</a> (const int dummy, const size_t &amp;size)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a string datatype with a specified length.  <a href="#a2"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a3">StrType</a> (const <a class="el" href="classH5_1_1DataSet.html">DataSet</a> &amp;dataset)</td></tr>
@@ -360,7 +376,7 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a7">setStrpad</a> (H5T_str_t strpad) const </td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines the storage mechanism for this string datatype.  <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a8">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a8">fromClass</a> () const </td></tr>
 
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html#a9">StrType</a> ()</td></tr>
 
@@ -377,7 +393,7 @@
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
 <a class="anchor" name="a0" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -410,25 +426,34 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a1" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::StrType::StrType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const size_t &amp;&nbsp;</td>
-          <td class="mdname1" valign="top" nowrap> <em>size</em>          </td>
-          <td class="md" valign="top">&nbsp;)&nbsp;</td>
-          <td class="md" nowrap></td>
+          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>pred_type</em>, </td>
         </tr>
+        <tr>
+          <td class="md" nowrap align="right"></td>
+          <td class="md"></td>
+          <td class="md" nowrap>const size_t &amp;&nbsp;</td>
+          <td class="mdname" nowrap> <em>size</em></td>
+        </tr>
+        <tr>
+          <td class="md"></td>
+          <td class="md">)&nbsp;</td>
+          <td class="md" colspan="2"></td>
+        </tr>
       </table>
     </td>
   </tr>
@@ -441,24 +466,27 @@
     <td>
 
 <p>
+Creates a string datatype with a specified length. 
+<p>
+<dl compact><dt><b>Note:</b></dt><dd>The use of this constructor can be shortened by using its overloaded below as StrType(0, size). </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
           <td class="md" nowrap valign="top">H5::StrType::StrType           </td>
           <td class="md" valign="top">(&nbsp;</td>
-          <td class="md" nowrap valign="top">const <a class="el" href="classH5_1_1PredType.html">PredType</a> &amp;&nbsp;</td>
-          <td class="mdname" nowrap> <em>pred_type</em>, </td>
+          <td class="md" nowrap valign="top">const int&nbsp;</td>
+          <td class="mdname" nowrap> <em>dummy</em>, </td>
         </tr>
         <tr>
           <td class="md" nowrap align="right"></td>
           <td class="md"></td>
-          <td class="md" nowrap>const size_t&nbsp;</td>
+          <td class="md" nowrap>const size_t &amp;&nbsp;</td>
           <td class="mdname" nowrap> <em>size</em></td>
         </tr>
         <tr>
@@ -480,12 +508,24 @@
 <p>
 Creates a string datatype with a specified length. 
 <p>
-<dl compact><dt><b>Note:</b></dt><dd>This constructor will be obsolete in later releases, please use <a class="el" href="classH5_1_1StrType.html#a1">StrType( const size_t&amp; size )</a> instead. </dd></dl>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>dummy</em>&nbsp;</td><td>- IN: To simplify calling the previous constructor and avoid prototype clash with another constructor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>- IN: Length of the new string type </td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Exceptions:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+<dl compact><dt><b>Description</b></dt><dd>The 1st argument is just a dummy to simplify calling the previous constructor, such as: <a class="el" href="classH5_1_1StrType.html">StrType</a> atype(0, size) instead of <a class="el" href="classH5_1_1StrType.html">StrType</a> atype(PredType::C_S1, size) </dd></dl>
+<dl compact><dt><b>Note:</b></dt><dd>This constructor may replace the previous one in the future. </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -518,14 +558,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a9" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -554,7 +594,7 @@
   </tr>
 </table>
 <a class="anchor" name="a10" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -587,14 +627,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a11" doxytag="H5::StrType::StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -624,12 +664,12 @@
   </tr>
 </table>
 <a class="anchor" name="a12" doxytag="H5::StrType::~StrType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::StrType::~StrType           </td>
+          <td class="md" nowrap valign="top">H5::StrType::~<a class="el" href="classH5_1_1StrType.html">StrType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -654,7 +694,7 @@
 </table>
 <hr><h2>Member Function Documentation</h2>
 <a class="anchor" name="a4" doxytag="H5::StrType::getCset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -685,14 +725,14 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a5" doxytag="H5::StrType::setCset"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -720,22 +760,22 @@
 <p>
 <dl compact><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cset</em>&nbsp;</td><td>- IN: character set type </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cset</em>&nbsp;</td><td>- IN: character set type, which can be: <ul>
+<li><code>H5T_CSET_ASCII</code> (0) - Character set is US ASCII. </li>
+</ul>
+</td></tr>
   </table>
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td><ul>
-<li><code>H5T_CSET_ASCII</code> (0) - Character set is US ASCII. </li>
-</ul>
-</td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a6" doxytag="H5::StrType::getStrpad"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -768,14 +808,14 @@
 </dd></dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a7" doxytag="H5::StrType::setStrpad"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -808,20 +848,20 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
-<dl compact><dt><b>Description</b></dt><dd>For detail, please refer to the C layer Reference Manual at: <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetStrpad">http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetStrpad</a> </dd></dl>
+<dl compact><dt><b>Description</b></dt><dd>For detail, please refer to the C layer Reference Manual at: <a href="../RM_H5T.html#Datatype-SetStrpad">../RM_H5T.html#Datatype-SetStrpad</a> </dd></dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a8" doxytag="H5::StrType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::StrType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::StrType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -844,8 +884,8 @@
 Reimplemented from <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:51 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType-members.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType-members.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType-members.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,80 +337,87 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::VarLenType Member List</h1>This is the complete list of members for <a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">commit</a>(CommonFG &amp;loc, const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">commit</a>(CommonFG &amp;loc, const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, PropList &amp;plist) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a3">close</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a7">commit</a>(H5File &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">commit</a>(H5File &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a9">commit</a>(H5Object &amp;loc, const char *name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">commit</a>(H5Object &amp;loc, const H5std_string &amp;name)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">committed</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">convert</a>(const DataType &amp;dest, size_t nelmts, void *buf, void *background, const PropList &amp;plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">copy</a>(const DataType &amp;like_type)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a5">copy</a>(const DataSet &amp;dset)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a0">createAttribute</a>(const char *name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a1">createAttribute</a>(const H5std_string &amp;name, const DataType &amp;type, const DataSpace &amp;space, const PropList &amp;create_plist=PropList::DEFAULT) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a0">DataType</a>(const H5T_class_t type_class, size_t size)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a1">DataType</a>(const DataType &amp;original)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">DataType</a>(const hid_t type_id, bool predtype=false)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a2">DataType</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a36">DataType</a>(const hid_t type_id)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a37">DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a2">decRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a3">decRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a8">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">dereference</a>(IdComponent &amp;obj, void *ref)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">detectClass</a>(H5T_class_t cls) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">find</a>(const DataType &amp;dest, H5T_cdata_t **pcdata) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a5">flush</a>(H5F_scope_t scope) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a0">fromClass</a>() const </td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a4">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a1">fromClass</a>() const </td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td><code> [inline, virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a6">getClass</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a4">getCounter</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a5">getCounter</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a6">getFileName</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a10">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#e0">getHDFObjType</a>(const hid_t obj_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [static]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a14">getId</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a7">getNumAttrs</a>() const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">getObjType</a>(void *ref, H5R_type_t ref_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a13">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a33">getObjType</a>(void *ref, H5R_type_t ref_type=H5R_OBJECT) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">getOverflow</a>(void) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">getRegion</a>(void *ref, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">getSize</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">getSuper</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">getTag</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a13">H5Object</a>(const H5Object &amp;original)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a12">IdComponent</a>(const hid_t h5_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">IdComponent</a>(const IdComponent &amp;original)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a0">incRefCount</a>(const hid_t obj_id) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a1">incRefCount</a>() const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">inMemFunc</a>(const char *func_name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#p0">is_predtype</a></td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a29">isVariableStr</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a8">iterateAttrs</a>(attr_operator_t user_op, unsigned *idx=NULL, void *op_data=NULL)</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a12">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a16">lock</a>() const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a2">openAttribute</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a3">openAttribute</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a4">openAttribute</a>(const unsigned int idx) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a10">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">operator=</a>(const DataType &amp;rhs)</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a6">H5::H5Object::operator=</a>(const IdComponent &amp;rhs)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a11">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a27">Reference</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a28">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a17">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">registerFunc</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a15">operator==</a>(const DataType &amp;compared_type) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">reference</a>(void *ref, const char *name, const DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a8">reference</a>(void *ref, const char *name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a9">reference</a>(void *ref, const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a30">Reference</a>(const char *name, DataSpace &amp;dataspace, H5R_type_t ref_type=H5R_DATASET_REGION) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a31">Reference</a>(const char *name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a32">Reference</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">registerFunc</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">registerFunc</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a9">removeAttr</a>(const char *name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a10">removeAttr</a>(const H5std_string &amp;name) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a11">renameAttr</a>(const char *oldname, const char *newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const string &amp;oldname, const string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a7">setId</a>(hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a14">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a21">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a22">setTag</a>(const string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a19">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a20">unregister</a>(H5T_pers_t pers, const string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a1">VarLenType</a>(const DataType *base_type)</td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a12">renameAttr</a>(const H5std_string &amp;oldname, const H5std_string &amp;newname) const </td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a11">setId</a>(const hid_t new_id)</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a18">setOverflow</a>(H5T_overflow_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a25">setTag</a>(const char *tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a26">setTag</a>(const H5std_string &amp;tag) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a23">unregister</a>(H5T_pers_t pers, const char *name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a24">unregister</a>(H5T_pers_t pers, const H5std_string &amp;name, const DataType &amp;dest, H5T_conv_t func) const </td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a0">VarLenType</a>(const DataType *base_type)</td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a2">VarLenType</a>(const VarLenType &amp;original)</td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a3">VarLenType</a>(const hid_t existing_id)</td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#b0">VarLenType</a>()</td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a34">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1DataType.html#a38">~DataType</a>()</td><td><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1H5Object.html#a14">~H5Object</a>()</td><td><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a13">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
+  <tr class="memlist"><td><a class="el" href="classH5_1_1IdComponent.html#a15">~IdComponent</a>()</td><td><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td><td><code> [virtual]</code></td></tr>
   <tr class="memlist"><td><a class="el" href="classH5_1_1VarLenType.html#a4">~VarLenType</a>()</td><td><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:51 2005 by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/classH5_1_1VarLenType.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
-<div class="nav">
-<a class="el" href="namespaceH5.html">H5</a>::<a class="el" href="classH5_1_1VarLenType.html">VarLenType</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5::VarLenType Class Reference</h1><code>#include &lt;<a class="el" href="H5VarLenType_8h-source.html">H5VarLenType.h</a>&gt;</code>
 <p>
 <p>Inheritance diagram for H5::VarLenType:
@@ -336,11 +351,11 @@
 <a href="classH5_1_1VarLenType-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html#a0">fromClass</a> () const </td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html#a0">VarLenType</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> *base_type)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html#a1">VarLenType</a> (const <a class="el" href="classH5_1_1DataType.html">DataType</a> *base_type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new variable-length datatype based on the specified <em>base_type</em>.  <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual H5std_string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html#a1">fromClass</a> () const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new variable-length datatype based on the specified <em>base_type</em>.  <a href="#a1"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html#a2">VarLenType</a> (const <a class="el" href="classH5_1_1VarLenType.html">VarLenType</a> &amp;original)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor: makes a copy of the original <a class="el" href="classH5_1_1VarLenType.html">VarLenType</a> object.  <a href="#a2"></a><br></td></tr>
@@ -356,8 +371,8 @@
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor: Creates a stub variable-length datatype.  <a href="#b0"></a><br></td></tr>
 </table>
 <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a1" doxytag="H5::VarLenType::VarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a0" doxytag="H5::VarLenType::VarLenType"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -390,14 +405,14 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a2" doxytag="H5::VarLenType::VarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -427,7 +442,7 @@
   </tr>
 </table>
 <a class="anchor" name="a3" doxytag="H5::VarLenType::VarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -460,19 +475,19 @@
 </dl>
 <dl compact><dt><b>Exceptions:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>H5::DataTypeIException</em>&nbsp;</td><td></td></tr>
   </table>
 </dl>
     </td>
   </tr>
 </table>
 <a class="anchor" name="a4" doxytag="H5::VarLenType::~VarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">H5::VarLenType::~VarLenType           </td>
+          <td class="md" nowrap valign="top">H5::VarLenType::~<a class="el" href="classH5_1_1VarLenType.html">VarLenType</a>           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -496,7 +511,7 @@
   </tr>
 </table>
 <a class="anchor" name="b0" doxytag="H5::VarLenType::VarLenType"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
@@ -525,13 +540,13 @@
   </tr>
 </table>
 <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0" doxytag="H5::VarLenType::fromClass"></a><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
+<a class="anchor" name="a1" doxytag="H5::VarLenType::fromClass"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
   <tr>
     <td class="mdRow">
       <table cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td class="md" nowrap valign="top">virtual string H5::VarLenType::fromClass           </td>
+          <td class="md" nowrap valign="top">virtual H5std_string H5::VarLenType::fromClass           </td>
           <td class="md" valign="top">(&nbsp;</td>
           <td class="mdname1" valign="top" nowrap>          </td>
           <td class="md" valign="top">&nbsp;)&nbsp;</td>
@@ -551,11 +566,11 @@
 <p>
 
 <p>
-Reimplemented from <a class="el" href="classH5_1_1DataType.html#a31">H5::DataType</a>.    </td>
+Reimplemented from <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>.    </td>
   </tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:51 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/compound_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/compound_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/compound_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>compound.cpp</h1><dl compact><dt><b></b></dt><dd>This example shows how to create a compound datatype, write an array which has the compound datatype to the file, and read back fields' subsets.</dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">/*</span>
@@ -343,24 +361,31 @@
 <span class="comment"> * and read back fields' subsets.</span>
 <span class="comment"> */</span>
 
-<span class="preprocessor">#include &lt;string&gt;</span>
-
 <span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+<span class="preprocessor"></span><span class="preprocessor">#ifndef H5_NO_STD</span>
+<span class="preprocessor"></span>    <span class="keyword">using</span> std::cout;
+    <span class="keyword">using</span> std::endl;
+<span class="preprocessor">#endif  // H5_NO_STD</span>
+<span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+
+<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string FILE_NAME( <span class="stringliteral">"SDScompound.h5"</span> );
-<span class="keyword">const</span> string DATASET_NAME( <span class="stringliteral">"ArrayOfStructures"</span> );
-<span class="keyword">const</span> string MEMBER1( <span class="stringliteral">"a_name"</span> );
-<span class="keyword">const</span> string MEMBER2( <span class="stringliteral">"b_name"</span> );
-<span class="keyword">const</span> string MEMBER3( <span class="stringliteral">"c_name"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> FILE_NAME( <span class="stringliteral">"SDScompound.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> DATASET_NAME( <span class="stringliteral">"ArrayOfStructures"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> MEMBER1( <span class="stringliteral">"a_name"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> MEMBER2( <span class="stringliteral">"b_name"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> MEMBER3( <span class="stringliteral">"c_name"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>   LENGTH = 10;
 <span class="keyword">const</span> <span class="keywordtype">int</span>   RANK = 1;
 
@@ -415,9 +440,9 @@
 <span class="comment">       * Create the memory datatype.</span>
 <span class="comment">       */</span>
       CompType mtype1( <span class="keyword">sizeof</span>(s1_t) );
-      mtype1.insertMember( MEMBER1, HOFFSET(s1_t, a), PredType::NATIVE_INT);
-      mtype1.insertMember( MEMBER3, HOFFSET(s1_t, c), PredType::NATIVE_DOUBLE);
-      mtype1.insertMember( MEMBER2, HOFFSET(s1_t, b), PredType::NATIVE_FLOAT);
+      mtype1.insertMember( MEMBER1, <a name="a1"></a><a class="code" href="H5Cpp_8h.html#a0">HOFFSET</a>(s1_t, a), PredType::NATIVE_INT);
+      mtype1.insertMember( MEMBER3, <a class="code" href="H5Cpp_8h.html#a0">HOFFSET</a>(s1_t, c), PredType::NATIVE_DOUBLE);
+      mtype1.insertMember( MEMBER2, <a class="code" href="H5Cpp_8h.html#a0">HOFFSET</a>(s1_t, b), PredType::NATIVE_FLOAT);
 
       <span class="comment">/*</span>
 <span class="comment">       * Create the dataset.</span>
@@ -441,7 +466,7 @@
       <span class="keywordflow">if</span>( member1_class == H5T_FLOAT )
       {
          FloatType member2 = mtype1.getMemberFloatType( 2 );
-         string norm_string;
+         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> norm_string;
          H5T_norm_t norm = member2.getNorm( norm_string );
          cout &lt;&lt; <span class="stringliteral">"Normalization type is "</span> &lt;&lt; norm_string &lt;&lt; endl;
       }
@@ -457,8 +482,8 @@
 <span class="comment">       */</span>
       CompType mtype2( <span class="keyword">sizeof</span>(s2_t) );
 
-      mtype2.insertMember( MEMBER3, HOFFSET(s2_t, c), PredType::NATIVE_DOUBLE);
-      mtype2.insertMember( MEMBER1, HOFFSET(s2_t, a), PredType::NATIVE_INT);
+      mtype2.insertMember( MEMBER3, <a class="code" href="H5Cpp_8h.html#a0">HOFFSET</a>(s2_t, c), PredType::NATIVE_DOUBLE);
+      mtype2.insertMember( MEMBER1, <a class="code" href="H5Cpp_8h.html#a0">HOFFSET</a>(s2_t, a), PredType::NATIVE_INT);
 
       <span class="comment">/*</span>
 <span class="comment">       * Read two fields c and a from s1 dataset. Fields in the file</span>
@@ -538,8 +563,8 @@
 
    <span class="keywordflow">return</span> 0;
 }
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/create_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/create_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/create_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>create.cpp</h1>This example shows how to create datasets. <dl compact><dt><b></b></dt><dd></dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">/*</span>
@@ -348,14 +366,15 @@
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string    FILE_NAME( <span class="stringliteral">"SDS.h5"</span> );
-<span class="keyword">const</span> string    DATASET_NAME( <span class="stringliteral">"IntArray"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>      FILE_NAME( <span class="stringliteral">"SDS.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>      DATASET_NAME( <span class="stringliteral">"IntArray"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>       NX = 5;                    <span class="comment">// dataset dimensions</span>
 <span class="keyword">const</span> <span class="keywordtype">int</span>       NY = 6;
 <span class="keyword">const</span> <span class="keywordtype">int</span>       RANK = 2;
@@ -409,7 +428,7 @@
 <span class="comment">       * Define datatype for the data in the file.</span>
 <span class="comment">       * We will store little endian INT numbers.</span>
 <span class="comment">       */</span>
-      IntType datatype( <a name="a3"></a><a class="code" href="classH5_1_1PredType.html#s83">PredType::NATIVE_INT</a> );
+      IntType datatype( PredType::NATIVE_INT );
       datatype.setOrder( H5T_ORDER_LE );
 
       <span class="comment">/*</span>
@@ -422,7 +441,7 @@
 <span class="comment">       * Write the data to the dataset using default memory space, file</span>
 <span class="comment">       * space, and transfer properties.</span>
 <span class="comment">       */</span>
-      dataset.write( data, <a class="code" href="classH5_1_1PredType.html#s83">PredType::NATIVE_INT</a> );
+      dataset.write( data, PredType::NATIVE_INT );
    }  <span class="comment">// end of try block</span>
 
    <span class="comment">// catch failure caused by the H5File operations</span>
@@ -456,8 +475,8 @@
    <span class="keywordflow">return</span> 0;  <span class="comment">// successfully terminated</span>
 }
 
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/examples.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/examples.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/examples.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindexHL" href="examples.html">Examples</a></div>
 <h1>Examples</h1>Here is a list of all examples:<ul>
 <li><a class="el" href="chunks_8cpp-example.html">chunks.cpp</a>
 <li><a class="el" href="compound_8cpp-example.html">compound.cpp</a>
@@ -331,8 +348,8 @@
 <li><a class="el" href="readdata_8cpp-example.html">readdata.cpp</a>
 <li><a class="el" href="writedata_8cpp-example.html">writedata.cpp</a>
 </ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:51 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/extend__ds_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/extend__ds_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/extend__ds_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>extend_ds.cpp</h1><dl compact><dt><b></b></dt><dd>This example shows how to work with extendible datasets.</dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">/*</span>
@@ -344,21 +362,28 @@
 <span class="comment"> *</span>
 <span class="comment"> */</span>
 
-<span class="preprocessor">#include &lt;string&gt;</span>
-
 <span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+<span class="preprocessor"></span><span class="preprocessor">#ifndef H5_NO_STD</span>
+<span class="preprocessor"></span>    <span class="keyword">using</span> std::cout;
+    <span class="keyword">using</span> std::endl;
+<span class="preprocessor">#endif  // H5_NO_STD</span>
+<span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+
+<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string FILE_NAME( <span class="stringliteral">"SDSextendible.h5"</span> );
-<span class="keyword">const</span> string DATASET_NAME( <span class="stringliteral">"ExtendibleArray"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> FILE_NAME( <span class="stringliteral">"SDSextendible.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> DATASET_NAME( <span class="stringliteral">"ExtendibleArray"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>      NX = 10;
 <span class="keyword">const</span> <span class="keywordtype">int</span>      NY = 5;
 <span class="keyword">const</span> <span class="keywordtype">int</span>      RANK = 2;
@@ -374,7 +399,7 @@
 <span class="comment">       * Turn off the auto-printing when failure occurs so that we can</span>
 <span class="comment">       * handle the errors appropriately</span>
 <span class="comment">       */</span>
-      <a name="a4"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
+      <a name="a3"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
 
       <span class="comment">/*</span>
 <span class="comment">       * Create the data space with unlimited dimensions.</span>
@@ -400,7 +425,7 @@
 <span class="comment">       * Set fill value for the dataset</span>
 <span class="comment">       */</span>
       <span class="keywordtype">int</span> fill_val = 0;
-      cparms.setFillValue( <a name="a5"></a><a class="code" href="classH5_1_1PredType.html#s83">PredType::NATIVE_INT</a>, &amp;fill_val);
+      cparms.setFillValue( PredType::NATIVE_INT, &amp;fill_val);
 
       <span class="comment">/*</span>
 <span class="comment">       * Create a new dataset within the file using cparms</span>
@@ -555,8 +580,8 @@
    }
    <span class="keywordflow">return</span> 0;
 }
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/files.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/files.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/files.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindexHL" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindexHL" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>File List</h1>Here is a list of all files with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="H5AbstractDs_8cpp.html">H5AbstractDs.cpp</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="H5AbstractDs_8h.html">H5AbstractDs.h</a> <a href="H5AbstractDs_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@@ -381,8 +398,8 @@
   <tr><td class="indexkey"><a class="el" href="H5VarLenType_8cpp.html">H5VarLenType.cpp</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey"><a class="el" href="H5VarLenType_8h.html">H5VarLenType.h</a> <a href="H5VarLenType_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:58 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/functions.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/functions.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/functions.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,19 +337,19 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a></div>
-<div class="qindex"><a class="qindexHL" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
+<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_g">g</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_~">~</a></div>
 
 <p>
-Here is a list of all class members with links to the classes they belong to:
+
 <p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+Here is a list of all class members with links to the classes they belong to:<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
 <li>AbstractDs()
 : <a class="el" href="classH5_1_1AbstractDs.html#b1">H5::AbstractDs</a><li>ALL
 : <a class="el" href="classH5_1_1DataSpace.html#s0">H5::DataSpace</a><li>allFiltersAvail()
-: <a class="el" href="classH5_1_1DSetCreatPropList.html#a0">H5::DSetCreatPropList</a><li>ALPHA_B16
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a1">H5::DSetCreatPropList</a><li>ALPHA_B16
 : <a class="el" href="classH5_1_1PredType.html#s59">H5::PredType</a><li>ALPHA_B32
 : <a class="el" href="classH5_1_1PredType.html#s60">H5::PredType</a><li>ALPHA_B64
 : <a class="el" href="classH5_1_1PredType.html#s61">H5::PredType</a><li>ALPHA_B8
@@ -349,10 +366,476 @@
 : <a class="el" href="classH5_1_1PredType.html#s54">H5::PredType</a><li>ArrayType()
 : <a class="el" href="classH5_1_1ArrayType.html#b0">H5::ArrayType</a><li>AtomType()
 : <a class="el" href="classH5_1_1AtomType.html#a11">H5::AtomType</a><li>Attribute()
-: <a class="el" href="classH5_1_1Attribute.html#a12">H5::Attribute</a><li>AttributeIException()
+: <a class="el" href="classH5_1_1Attribute.html#a13">H5::Attribute</a><li>AttributeIException()
 : <a class="el" href="classH5_1_1AttributeIException.html#a1">H5::AttributeIException</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>C_S1
+: <a class="el" href="classH5_1_1PredType.html#s26">H5::PredType</a><li>checkVersion()
+: <a class="el" href="classH5_1_1H5Library.html#e4">H5::H5Library</a><li>clearErrorStack()
+: <a class="el" href="classH5_1_1Exception.html#e3">H5::Exception</a><li>close()
+: <a class="el" href="classH5_1_1PropList.html#a3">H5::PropList</a>, <a class="el" href="classH5_1_1H5Library.html#e1">H5::H5Library</a>, <a class="el" href="classH5_1_1Group.html#a0">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a4">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a3">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a3">H5::DataSpace</a>, <a class="el" href="classH5_1_1DataSet.html#a0">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a0">H5::Attribute</a><li>closeClass()
+: <a class="el" href="classH5_1_1PropList.html#a4">H5::PropList</a><li>commit()
+: <a class="el" href="classH5_1_1DataType.html#a10">H5::DataType</a><li>committed()
+: <a class="el" href="classH5_1_1DataType.html#a11">H5::DataType</a><li>CommonFG()
+: <a class="el" href="classH5_1_1CommonFG.html#a55">H5::CommonFG</a><li>CompType()
+: <a class="el" href="classH5_1_1CompType.html#a21">H5::CompType</a><li>convert()
+: <a class="el" href="classH5_1_1DataType.html#a13">H5::DataType</a><li>copy()
+: <a class="el" href="classH5_1_1PropList.html#a5">H5::PropList</a>, <a class="el" href="classH5_1_1DataType.html#a5">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a4">H5::DataSpace</a><li>copyProp()
+: <a class="el" href="classH5_1_1PropList.html#a9">H5::PropList</a><li>createAttribute()
+: <a class="el" href="classH5_1_1H5Object.html#a1">H5::H5Object</a><li>createDataSet()
+: <a class="el" href="classH5_1_1CommonFG.html#a5">H5::CommonFG</a><li>createGroup()
+: <a class="el" href="classH5_1_1CommonFG.html#a1">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>DataSet()
+: <a class="el" href="classH5_1_1DataSet.html#a24">H5::DataSet</a><li>DataSetIException()
+: <a class="el" href="classH5_1_1DataSetIException.html#a1">H5::DataSetIException</a><li>DataSpace()
+: <a class="el" href="classH5_1_1DataSpace.html#a27">H5::DataSpace</a><li>DataSpaceIException()
+: <a class="el" href="classH5_1_1DataSpaceIException.html#a1">H5::DataSpaceIException</a><li>DataType()
+: <a class="el" href="classH5_1_1DataType.html#a37">H5::DataType</a><li>DataTypeIException()
+: <a class="el" href="classH5_1_1DataTypeIException.html#a1">H5::DataTypeIException</a><li>decRefCount()
+: <a class="el" href="classH5_1_1IdComponent.html#a3">H5::IdComponent</a><li>DEFAULT
+: <a class="el" href="classH5_1_1PropList.html#s0">H5::PropList</a>, <a class="el" href="classH5_1_1FileCreatPropList.html#s0">H5::FileCreatPropList</a>, <a class="el" href="classH5_1_1FileAccPropList.html#s0">H5::FileAccPropList</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#s0">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1DSetCreatPropList.html#s0">H5::DSetCreatPropList</a><li>DEFAULT_MSG
+: <a class="el" href="classH5_1_1Exception.html#t0">H5::Exception</a><li>dereference()
+: <a class="el" href="classH5_1_1IdComponent.html#a10">H5::IdComponent</a><li>detectClass()
+: <a class="el" href="classH5_1_1DataType.html#a28">H5::DataType</a><li>dontAtExit()
+: <a class="el" href="classH5_1_1H5Library.html#e2">H5::H5Library</a><li>dontPrint()
+: <a class="el" href="classH5_1_1Exception.html#e1">H5::Exception</a><li>DSetCreatPropList()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a28">H5::DSetCreatPropList</a><li>DSetMemXferPropList()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a20">H5::DSetMemXferPropList</a></ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>EnumType()
+: <a class="el" href="classH5_1_1EnumType.html#a15">H5::EnumType</a><li>Exception()
+: <a class="el" href="classH5_1_1Exception.html#a9">H5::Exception</a><li>extend()
+: <a class="el" href="classH5_1_1DataSet.html#a1">H5::DataSet</a><li>extentCopy()
+: <a class="el" href="classH5_1_1DataSpace.html#a5">H5::DataSpace</a></ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>FileAccPropList()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a32">H5::FileAccPropList</a><li>FileCreatPropList()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a12">H5::FileCreatPropList</a><li>FileIException()
+: <a class="el" href="classH5_1_1FileIException.html#a1">H5::FileIException</a><li>fillMemBuf()
+: <a class="el" href="classH5_1_1DataSet.html#a3">H5::DataSet</a><li>find()
+: <a class="el" href="classH5_1_1DataType.html#a12">H5::DataType</a><li>FloatType()
+: <a class="el" href="classH5_1_1FloatType.html#a13">H5::FloatType</a><li>flush()
+: <a class="el" href="classH5_1_1H5Object.html#a5">H5::H5Object</a>, <a class="el" href="classH5_1_1H5File.html#a5">H5::H5File</a><li>FORTRAN_S1
+: <a class="el" href="classH5_1_1PredType.html#s27">H5::PredType</a><li>fromClass()
+: <a class="el" href="classH5_1_1VarLenType.html#a1">H5::VarLenType</a>, <a class="el" href="classH5_1_1StrType.html#a8">H5::StrType</a>, <a class="el" href="classH5_1_1PropList.html#a30">H5::PropList</a>, <a class="el" href="classH5_1_1PredType.html#a0">H5::PredType</a>, <a class="el" href="classH5_1_1IntType.html#a4">H5::IntType</a>, <a class="el" href="classH5_1_1Group.html#a6">H5::Group</a>, <a class="el" href="classH5_1_1FloatType.html#a10">H5::FloatType</a>, <a class="el" href="classH5_1_1H5File.html#a23">H5::H5File</a>, <a class="el" href="classH5_1_1FileCreatPropList.html#a10">H5::FileCreatPropList</a>, <a class="el" href="classH5_1_1FileAccPropList.html#a30">H5::FileAccPropList</a>, <a class="el" href="classH5_1_1EnumType.html#a12">H5::EnumType</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1DSetCreatPropList.html#a26">H5::DSetCreatPropList</a>, <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a25">H5::DataSpace</a>, <a class="el" href="classH5_1_1DataSet.html#a20">H5::DataSet</a>, <a class="el" href="classH5_1_1CompType.html#a18">H5::CompType</a>, <a class="el" href="classH5_1_1Attribute.html#a10">H5::Attribute</a>, <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>, <a class="el" href="classH5_1_1ArrayType.html#a3">H5::ArrayType</a></ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>garbageCollect()
+: <a class="el" href="classH5_1_1H5Library.html#e5">H5::H5Library</a><li>getAccessPlist()
+: <a class="el" href="classH5_1_1H5File.html#a6">H5::H5File</a><li>getAlignment()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a21">H5::FileAccPropList</a><li>getAllocTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a2">H5::DSetCreatPropList</a><li>getArrayDims()
+: <a class="el" href="classH5_1_1ArrayType.html#a2">H5::ArrayType</a><li>getArrayNDims()
+: <a class="el" href="classH5_1_1ArrayType.html#a1">H5::ArrayType</a><li>getArrayType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a1">H5::AbstractDs</a><li>getAutoPrint()
+: <a class="el" href="classH5_1_1Exception.html#e2">H5::Exception</a><li>getBtreeRatios()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a4">H5::DSetMemXferPropList</a><li>getBuffer()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a2">H5::DSetMemXferPropList</a><li>getCache()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a25">H5::FileAccPropList</a><li>getCDetailMsg()
+: <a class="el" href="classH5_1_1Exception.html#a4">H5::Exception</a><li>getCFuncName()
+: <a class="el" href="classH5_1_1Exception.html#a6">H5::Exception</a><li>getChunk()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a4">H5::DSetCreatPropList</a><li>getClass()
+: <a class="el" href="classH5_1_1PropList.html#a10">H5::PropList</a>, <a class="el" href="classH5_1_1DataType.html#a6">H5::DataType</a><li>getClassName()
+: <a class="el" href="classH5_1_1PropList.html#a11">H5::PropList</a><li>getClassParent()
+: <a class="el" href="classH5_1_1PropList.html#a12">H5::PropList</a><li>getComment()
+: <a class="el" href="classH5_1_1CommonFG.html#a10">H5::CommonFG</a><li>getCompType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a2">H5::AbstractDs</a><li>getCore()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a8">H5::FileAccPropList</a><li>getCounter()
+: <a class="el" href="classH5_1_1IdComponent.html#a5">H5::IdComponent</a><li>getCreatePlist()
+: <a class="el" href="classH5_1_1H5File.html#a7">H5::H5File</a>, <a class="el" href="classH5_1_1DataSet.html#a4">H5::DataSet</a><li>getCset()
+: <a class="el" href="classH5_1_1StrType.html#a4">H5::StrType</a><li>getDataType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a0">H5::AbstractDs</a><li>getDetailMsg()
+: <a class="el" href="classH5_1_1Exception.html#a3">H5::Exception</a><li>getDriver()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a3">H5::FileAccPropList</a><li>getEbias()
+: <a class="el" href="classH5_1_1FloatType.html#a2">H5::FloatType</a><li>getEDCCheck()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">H5::DSetMemXferPropList</a><li>getEnumType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a3">H5::AbstractDs</a><li>getExternal()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a6">H5::DSetCreatPropList</a><li>getExternalCount()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a7">H5::DSetCreatPropList</a><li>getFamily()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a11">H5::FileAccPropList</a><li>getFamilyOffset()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a5">H5::FileAccPropList</a><li>getFcloseDegree()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a27">H5::FileAccPropList</a><li>getFields()
+: <a class="el" href="classH5_1_1FloatType.html#a4">H5::FloatType</a><li>getFileName()
+: <a class="el" href="classH5_1_1H5Object.html#a6">H5::H5Object</a>, <a class="el" href="classH5_1_1H5File.html#a8">H5::H5File</a><li>getFileSize()
+: <a class="el" href="classH5_1_1H5File.html#a9">H5::H5File</a><li>getFillTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a8">H5::DSetCreatPropList</a><li>getFillValue()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a10">H5::DSetCreatPropList</a><li>getFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a12">H5::DSetCreatPropList</a><li>getFilterById()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a13">H5::DSetCreatPropList</a><li>getFloatType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a5">H5::AbstractDs</a><li>getFreeSpace()
+: <a class="el" href="classH5_1_1H5File.html#a10">H5::H5File</a><li>getFuncName()
+: <a class="el" href="classH5_1_1Exception.html#a5">H5::Exception</a><li>getGcReferences()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a29">H5::FileAccPropList</a><li>getHDFObjType()
+: <a class="el" href="classH5_1_1IdComponent.html#e0">H5::IdComponent</a><li>getHyperVectorSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a15">H5::DSetMemXferPropList</a><li>getId()
+: <a class="el" href="classH5_1_1IdComponent.html#a14">H5::IdComponent</a><li>getInpad()
+: <a class="el" href="classH5_1_1FloatType.html#a6">H5::FloatType</a><li>getIntType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a4">H5::AbstractDs</a><li>getIstorek()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a8">H5::FileCreatPropList</a><li>getLayout()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a14">H5::DSetCreatPropList</a><li>getLibVersion()
+: <a class="el" href="classH5_1_1H5Library.html#e3">H5::H5Library</a><li>getLinkval()
+: <a class="el" href="classH5_1_1CommonFG.html#a16">H5::CommonFG</a><li>getLocId()
+: <a class="el" href="classH5_1_1Group.html#a8">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a25">H5::H5File</a><li>getMajorString()
+: <a class="el" href="classH5_1_1Exception.html#a1">H5::Exception</a><li>getMemberArrayType()
+: <a class="el" href="classH5_1_1CompType.html#a8">H5::CompType</a><li>getMemberClass()
+: <a class="el" href="classH5_1_1CompType.html#a2">H5::CompType</a><li>getMemberCompType()
+: <a class="el" href="classH5_1_1CompType.html#a9">H5::CompType</a><li>getMemberDataType()
+: <a class="el" href="classH5_1_1CompType.html#a7">H5::CompType</a><li>getMemberEnumType()
+: <a class="el" href="classH5_1_1CompType.html#a10">H5::CompType</a><li>getMemberFloatType()
+: <a class="el" href="classH5_1_1CompType.html#a12">H5::CompType</a><li>getMemberIndex()
+: <a class="el" href="classH5_1_1EnumType.html#a5">H5::EnumType</a>, <a class="el" href="classH5_1_1CompType.html#a4">H5::CompType</a><li>getMemberIntType()
+: <a class="el" href="classH5_1_1CompType.html#a11">H5::CompType</a><li>getMemberName()
+: <a class="el" href="classH5_1_1CompType.html#a6">H5::CompType</a><li>getMemberOffset()
+: <a class="el" href="classH5_1_1CompType.html#a5">H5::CompType</a><li>getMemberStrType()
+: <a class="el" href="classH5_1_1CompType.html#a13">H5::CompType</a><li>getMemberValue()
+: <a class="el" href="classH5_1_1EnumType.html#a6">H5::EnumType</a><li>getMemberVarLenType()
+: <a class="el" href="classH5_1_1CompType.html#a14">H5::CompType</a><li>getMetaBlockSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a17">H5::FileAccPropList</a><li>getMinorString()
+: <a class="el" href="classH5_1_1Exception.html#a2">H5::Exception</a><li>getMulti()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a11">H5::DSetMemXferPropList</a><li>getMultiType()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a23">H5::FileAccPropList</a><li>getName()
+: <a class="el" href="classH5_1_1Attribute.html#a3">H5::Attribute</a><li>getNfilters()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a16">H5::DSetCreatPropList</a><li>getNmembers()
+: <a class="el" href="classH5_1_1EnumType.html#a3">H5::EnumType</a>, <a class="el" href="classH5_1_1CompType.html#a15">H5::CompType</a><li>getNorm()
+: <a class="el" href="classH5_1_1FloatType.html#a8">H5::FloatType</a><li>getNumAttrs()
+: <a class="el" href="classH5_1_1H5Object.html#a7">H5::H5Object</a><li>getNumObjs()
+: <a class="el" href="classH5_1_1CommonFG.html#a17">H5::CommonFG</a><li>getNumProps()
+: <a class="el" href="classH5_1_1PropList.html#a13">H5::PropList</a><li>getObjCount()
+: <a class="el" href="classH5_1_1H5File.html#a12">H5::H5File</a><li>getObjIDs()
+: <a class="el" href="classH5_1_1H5File.html#a13">H5::H5File</a><li>getObjinfo()
+: <a class="el" href="classH5_1_1CommonFG.html#a21">H5::CommonFG</a><li>getObjnameByIdx()
+: <a class="el" href="classH5_1_1CommonFG.html#a23">H5::CommonFG</a><li>getObjType()
+: <a class="el" href="classH5_1_1Group.html#a1">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a14">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a33">H5::DataType</a>, <a class="el" href="classH5_1_1DataSet.html#a15">H5::DataSet</a><li>getObjTypeByIdx()
+: <a class="el" href="classH5_1_1CommonFG.html#a25">H5::CommonFG</a><li>getOffset()
+: <a class="el" href="classH5_1_1DataSet.html#a5">H5::DataSet</a>, <a class="el" href="classH5_1_1AtomType.html#a3">H5::AtomType</a><li>getOrder()
+: <a class="el" href="classH5_1_1AtomType.html#a1">H5::AtomType</a><li>getOverflow()
+: <a class="el" href="classH5_1_1DataType.html#a17">H5::DataType</a><li>getPad()
+: <a class="el" href="classH5_1_1AtomType.html#a5">H5::AtomType</a><li>getPrecision()
+: <a class="el" href="classH5_1_1AtomType.html#a7">H5::AtomType</a><li>getPreserve()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a6">H5::DSetMemXferPropList</a><li>getProperty()
+: <a class="el" href="classH5_1_1PropList.html#a17">H5::PropList</a><li>getPropSize()
+: <a class="el" href="classH5_1_1PropList.html#a24">H5::PropList</a><li>getRegion()
+: <a class="el" href="classH5_1_1Group.html#a2">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a15">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a34">H5::DataType</a>, <a class="el" href="classH5_1_1DataSet.html#a16">H5::DataSet</a><li>getSelectBounds()
+: <a class="el" href="classH5_1_1DataSpace.html#a6">H5::DataSpace</a><li>getSelectElemNpoints()
+: <a class="el" href="classH5_1_1DataSpace.html#a7">H5::DataSpace</a><li>getSelectElemPointlist()
+: <a class="el" href="classH5_1_1DataSpace.html#a8">H5::DataSpace</a><li>getSelectHyperBlocklist()
+: <a class="el" href="classH5_1_1DataSpace.html#a9">H5::DataSpace</a><li>getSelectHyperNblocks()
+: <a class="el" href="classH5_1_1DataSpace.html#a10">H5::DataSpace</a><li>getSelectNpoints()
+: <a class="el" href="classH5_1_1DataSpace.html#a11">H5::DataSpace</a><li>getSieveBufSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a15">H5::FileAccPropList</a><li>getSign()
+: <a class="el" href="classH5_1_1IntType.html#a2">H5::IntType</a><li>getSimpleExtentDims()
+: <a class="el" href="classH5_1_1DataSpace.html#a12">H5::DataSpace</a><li>getSimpleExtentNdims()
+: <a class="el" href="classH5_1_1DataSpace.html#a13">H5::DataSpace</a><li>getSimpleExtentNpoints()
+: <a class="el" href="classH5_1_1DataSpace.html#a14">H5::DataSpace</a><li>getSimpleExtentType()
+: <a class="el" href="classH5_1_1DataSpace.html#a15">H5::DataSpace</a><li>getSize()
+: <a class="el" href="classH5_1_1DataType.html#a19">H5::DataType</a><li>getSizes()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a4">H5::FileCreatPropList</a><li>getSmallDataBlockSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a13">H5::DSetMemXferPropList</a><li>getSpace()
+: <a class="el" href="classH5_1_1DataSet.html#a6">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a4">H5::Attribute</a>, <a class="el" href="classH5_1_1AbstractDs.html#a8">H5::AbstractDs</a><li>getSpaceStatus()
+: <a class="el" href="classH5_1_1DataSet.html#a7">H5::DataSet</a><li>getStorageSize()
+: <a class="el" href="classH5_1_1DataSet.html#a8">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a5">H5::Attribute</a>, <a class="el" href="classH5_1_1AbstractDs.html#a10">H5::AbstractDs</a><li>getStrpad()
+: <a class="el" href="classH5_1_1StrType.html#a6">H5::StrType</a><li>getStrType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a6">H5::AbstractDs</a><li>getSuper()
+: <a class="el" href="classH5_1_1DataType.html#a20">H5::DataType</a><li>getSymk()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a6">H5::FileCreatPropList</a><li>getTag()
+: <a class="el" href="classH5_1_1DataType.html#a27">H5::DataType</a><li>getTypeClass()
+: <a class="el" href="classH5_1_1AbstractDs.html#a9">H5::AbstractDs</a><li>getUserblock()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a3">H5::FileCreatPropList</a><li>getVarLenType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a7">H5::AbstractDs</a><li>getVersion()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a1">H5::FileCreatPropList</a><li>getVFDHandle()
+: <a class="el" href="classH5_1_1H5File.html#a17">H5::H5File</a><li>getVlenBufSize()
+: <a class="el" href="classH5_1_1DataSet.html#a9">H5::DataSet</a><li>getVlenMemManager()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a9">H5::DSetMemXferPropList</a><li>Group()
+: <a class="el" href="classH5_1_1Group.html#a13">H5::Group</a><li>GroupIException()
+: <a class="el" href="classH5_1_1GroupIException.html#a1">H5::GroupIException</a></ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>H5File()
+: <a class="el" href="classH5_1_1H5File.html#a27">H5::H5File</a><li>H5Object()
+: <a class="el" href="classH5_1_1H5Object.html#a13">H5::H5Object</a></ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>IdComponent()
+: <a class="el" href="classH5_1_1IdComponent.html#a13">H5::IdComponent</a><li>IdComponentException()
+: <a class="el" href="classH5_1_1IdComponentException.html#a1">H5::IdComponentException</a><li>IEEE_F32BE
+: <a class="el" href="classH5_1_1PredType.html#s28">H5::PredType</a><li>IEEE_F32LE
+: <a class="el" href="classH5_1_1PredType.html#s29">H5::PredType</a><li>IEEE_F64BE
+: <a class="el" href="classH5_1_1PredType.html#s30">H5::PredType</a><li>IEEE_F64LE
+: <a class="el" href="classH5_1_1PredType.html#s31">H5::PredType</a><li>incRefCount()
+: <a class="el" href="classH5_1_1IdComponent.html#a1">H5::IdComponent</a><li>insert()
+: <a class="el" href="classH5_1_1EnumType.html#a8">H5::EnumType</a><li>insertMember()
+: <a class="el" href="classH5_1_1CompType.html#a16">H5::CompType</a><li>INTEL_B16
+: <a class="el" href="classH5_1_1PredType.html#s45">H5::PredType</a><li>INTEL_B32
+: <a class="el" href="classH5_1_1PredType.html#s46">H5::PredType</a><li>INTEL_B64
+: <a class="el" href="classH5_1_1PredType.html#s47">H5::PredType</a><li>INTEL_B8
+: <a class="el" href="classH5_1_1PredType.html#s44">H5::PredType</a><li>INTEL_F32
+: <a class="el" href="classH5_1_1PredType.html#s48">H5::PredType</a><li>INTEL_F64
+: <a class="el" href="classH5_1_1PredType.html#s49">H5::PredType</a><li>INTEL_I16
+: <a class="el" href="classH5_1_1PredType.html#s37">H5::PredType</a><li>INTEL_I32
+: <a class="el" href="classH5_1_1PredType.html#s38">H5::PredType</a><li>INTEL_I64
+: <a class="el" href="classH5_1_1PredType.html#s39">H5::PredType</a><li>INTEL_I8
+: <a class="el" href="classH5_1_1PredType.html#s36">H5::PredType</a><li>INTEL_U16
+: <a class="el" href="classH5_1_1PredType.html#s41">H5::PredType</a><li>INTEL_U32
+: <a class="el" href="classH5_1_1PredType.html#s42">H5::PredType</a><li>INTEL_U64
+: <a class="el" href="classH5_1_1PredType.html#s43">H5::PredType</a><li>INTEL_U8
+: <a class="el" href="classH5_1_1PredType.html#s40">H5::PredType</a><li>IntType()
+: <a class="el" href="classH5_1_1IntType.html#a7">H5::IntType</a><li>isAClass()
+: <a class="el" href="classH5_1_1PropList.html#a25">H5::PropList</a><li>isFillValueDefined()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a17">H5::DSetCreatPropList</a><li>isHdf5()
+: <a class="el" href="classH5_1_1H5File.html#e1">H5::H5File</a><li>isSimple()
+: <a class="el" href="classH5_1_1DataSpace.html#a16">H5::DataSpace</a><li>isVariableStr()
+: <a class="el" href="classH5_1_1DataType.html#a29">H5::DataType</a><li>iterateAttrs()
+: <a class="el" href="classH5_1_1H5Object.html#a8">H5::H5Object</a><li>iterateElems()
+: <a class="el" href="classH5_1_1DataSet.html#a14">H5::DataSet</a>, <a class="el" href="classH5_1_1CommonFG.html#a27">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>LibraryIException()
+: <a class="el" href="classH5_1_1LibraryIException.html#a1">H5::LibraryIException</a><li>link()
+: <a class="el" href="classH5_1_1CommonFG.html#a29">H5::CommonFG</a><li>lock()
+: <a class="el" href="classH5_1_1DataType.html#a16">H5::DataType</a></ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>MIPS_B16
+: <a class="el" href="classH5_1_1PredType.html#s73">H5::PredType</a><li>MIPS_B32
+: <a class="el" href="classH5_1_1PredType.html#s74">H5::PredType</a><li>MIPS_B64
+: <a class="el" href="classH5_1_1PredType.html#s75">H5::PredType</a><li>MIPS_B8
+: <a class="el" href="classH5_1_1PredType.html#s72">H5::PredType</a><li>MIPS_F32
+: <a class="el" href="classH5_1_1PredType.html#s76">H5::PredType</a><li>MIPS_F64
+: <a class="el" href="classH5_1_1PredType.html#s77">H5::PredType</a><li>MIPS_I16
+: <a class="el" href="classH5_1_1PredType.html#s65">H5::PredType</a><li>MIPS_I32
+: <a class="el" href="classH5_1_1PredType.html#s66">H5::PredType</a><li>MIPS_I64
+: <a class="el" href="classH5_1_1PredType.html#s67">H5::PredType</a><li>MIPS_I8
+: <a class="el" href="classH5_1_1PredType.html#s64">H5::PredType</a><li>MIPS_U16
+: <a class="el" href="classH5_1_1PredType.html#s69">H5::PredType</a><li>MIPS_U32
+: <a class="el" href="classH5_1_1PredType.html#s70">H5::PredType</a><li>MIPS_U64
+: <a class="el" href="classH5_1_1PredType.html#s71">H5::PredType</a><li>MIPS_U8
+: <a class="el" href="classH5_1_1PredType.html#s68">H5::PredType</a><li>modifyFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a18">H5::DSetCreatPropList</a><li>mount()
+: <a class="el" href="classH5_1_1CommonFG.html#a33">H5::CommonFG</a><li>move()
+: <a class="el" href="classH5_1_1CommonFG.html#a37">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>nameOf()
+: <a class="el" href="classH5_1_1EnumType.html#a9">H5::EnumType</a><li>NATIVE_B16
+: <a class="el" href="classH5_1_1PredType.html#s93">H5::PredType</a><li>NATIVE_B32
+: <a class="el" href="classH5_1_1PredType.html#s94">H5::PredType</a><li>NATIVE_B64
+: <a class="el" href="classH5_1_1PredType.html#s95">H5::PredType</a><li>NATIVE_B8
+: <a class="el" href="classH5_1_1PredType.html#s92">H5::PredType</a><li>NATIVE_CHAR
+: <a class="el" href="classH5_1_1PredType.html#s78">H5::PredType</a><li>NATIVE_DOUBLE
+: <a class="el" href="classH5_1_1PredType.html#s90">H5::PredType</a><li>NATIVE_FLOAT
+: <a class="el" href="classH5_1_1PredType.html#s89">H5::PredType</a><li>NATIVE_HBOOL
+: <a class="el" href="classH5_1_1PredType.html#s100">H5::PredType</a><li>NATIVE_HERR
+: <a class="el" href="classH5_1_1PredType.html#s99">H5::PredType</a><li>NATIVE_HSIZE
+: <a class="el" href="classH5_1_1PredType.html#s97">H5::PredType</a><li>NATIVE_HSSIZE
+: <a class="el" href="classH5_1_1PredType.html#s98">H5::PredType</a><li>NATIVE_INT
+: <a class="el" href="classH5_1_1PredType.html#s83">H5::PredType</a><li>NATIVE_INT16
+: <a class="el" href="classH5_1_1PredType.html#s103">H5::PredType</a><li>NATIVE_INT32
+: <a class="el" href="classH5_1_1PredType.html#s105">H5::PredType</a><li>NATIVE_INT64
+: <a class="el" href="classH5_1_1PredType.html#s107">H5::PredType</a><li>NATIVE_INT8
+: <a class="el" href="classH5_1_1PredType.html#s101">H5::PredType</a><li>NATIVE_LDOUBLE
+: <a class="el" href="classH5_1_1PredType.html#s91">H5::PredType</a><li>NATIVE_LLONG
+: <a class="el" href="classH5_1_1PredType.html#s87">H5::PredType</a><li>NATIVE_LONG
+: <a class="el" href="classH5_1_1PredType.html#s85">H5::PredType</a><li>NATIVE_OPAQUE
+: <a class="el" href="classH5_1_1PredType.html#s96">H5::PredType</a><li>NATIVE_SCHAR
+: <a class="el" href="classH5_1_1PredType.html#s79">H5::PredType</a><li>NATIVE_SHORT
+: <a class="el" href="classH5_1_1PredType.html#s81">H5::PredType</a><li>NATIVE_UCHAR
+: <a class="el" href="classH5_1_1PredType.html#s80">H5::PredType</a><li>NATIVE_UINT
+: <a class="el" href="classH5_1_1PredType.html#s84">H5::PredType</a><li>NATIVE_UINT16
+: <a class="el" href="classH5_1_1PredType.html#s104">H5::PredType</a><li>NATIVE_UINT32
+: <a class="el" href="classH5_1_1PredType.html#s106">H5::PredType</a><li>NATIVE_UINT64
+: <a class="el" href="classH5_1_1PredType.html#s108">H5::PredType</a><li>NATIVE_UINT8
+: <a class="el" href="classH5_1_1PredType.html#s102">H5::PredType</a><li>NATIVE_ULLONG
+: <a class="el" href="classH5_1_1PredType.html#s88">H5::PredType</a><li>NATIVE_ULONG
+: <a class="el" href="classH5_1_1PredType.html#s86">H5::PredType</a><li>NATIVE_USHORT
+: <a class="el" href="classH5_1_1PredType.html#s82">H5::PredType</a></ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>offsetSimple()
+: <a class="el" href="classH5_1_1DataSpace.html#a17">H5::DataSpace</a><li>open()
+: <a class="el" href="classH5_1_1H5Library.html#e0">H5::H5Library</a><li>openArrayType()
+: <a class="el" href="classH5_1_1CommonFG.html#a41">H5::CommonFG</a><li>openAttribute()
+: <a class="el" href="classH5_1_1H5Object.html#a4">H5::H5Object</a><li>openCompType()
+: <a class="el" href="classH5_1_1CommonFG.html#a43">H5::CommonFG</a><li>openDataSet()
+: <a class="el" href="classH5_1_1CommonFG.html#a7">H5::CommonFG</a><li>openDataType()
+: <a class="el" href="classH5_1_1CommonFG.html#a39">H5::CommonFG</a><li>openEnumType()
+: <a class="el" href="classH5_1_1CommonFG.html#a45">H5::CommonFG</a><li>openFile()
+: <a class="el" href="classH5_1_1H5File.html#a3">H5::H5File</a><li>openFloatType()
+: <a class="el" href="classH5_1_1CommonFG.html#a49">H5::CommonFG</a><li>openGroup()
+: <a class="el" href="classH5_1_1CommonFG.html#a3">H5::CommonFG</a><li>openIntType()
+: <a class="el" href="classH5_1_1CommonFG.html#a47">H5::CommonFG</a><li>openStrType()
+: <a class="el" href="classH5_1_1CommonFG.html#a51">H5::CommonFG</a><li>openVarLenType()
+: <a class="el" href="classH5_1_1CommonFG.html#a53">H5::CommonFG</a><li>operator=()
+: <a class="el" href="classH5_1_1PropList.html#a1">H5::PropList</a>, <a class="el" href="classH5_1_1PredType.html#a1">H5::PredType</a>, <a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent</a>, <a class="el" href="classH5_1_1DataType.html#a14">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a2">H5::DataSpace</a><li>operator==()
+: <a class="el" href="classH5_1_1PropList.html#a2">H5::PropList</a>, <a class="el" href="classH5_1_1DataType.html#a15">H5::DataType</a></ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>pack()
+: <a class="el" href="classH5_1_1CompType.html#a17">H5::CompType</a><li>PredType()
+: <a class="el" href="classH5_1_1PredType.html#a2">H5::PredType</a><li>printError()
+: <a class="el" href="classH5_1_1Exception.html#a7">H5::Exception</a><li>propExist()
+: <a class="el" href="classH5_1_1PropList.html#a27">H5::PropList</a><li>PropList()
+: <a class="el" href="classH5_1_1PropList.html#a32">H5::PropList</a><li>PropListIException()
+: <a class="el" href="classH5_1_1PropListIException.html#a1">H5::PropListIException</a></ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>read()
+: <a class="el" href="classH5_1_1DataSet.html#a11">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a7">H5::Attribute</a><li>reference()
+: <a class="el" href="classH5_1_1IdComponent.html#a9">H5::IdComponent</a><li>Reference()
+: <a class="el" href="classH5_1_1Group.html#a5">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a22">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a32">H5::DataType</a>, <a class="el" href="classH5_1_1DataSet.html#a19">H5::DataSet</a><li>ReferenceException()
+: <a class="el" href="classH5_1_1ReferenceException.html#a1">H5::ReferenceException</a><li>registerFunc()
+: <a class="el" href="classH5_1_1DataType.html#a22">H5::DataType</a><li>removeAttr()
+: <a class="el" href="classH5_1_1H5Object.html#a10">H5::H5Object</a><li>removeComment()
+: <a class="el" href="classH5_1_1CommonFG.html#a12">H5::CommonFG</a><li>removeFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a19">H5::DSetCreatPropList</a><li>removeProp()
+: <a class="el" href="classH5_1_1PropList.html#a29">H5::PropList</a><li>renameAttr()
+: <a class="el" href="classH5_1_1H5Object.html#a12">H5::H5Object</a><li>reopen()
+: <a class="el" href="classH5_1_1H5File.html#a19">H5::H5File</a><li>reOpen()
+: <a class="el" href="classH5_1_1H5File.html#a18">H5::H5File</a></ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>selectAll()
+: <a class="el" href="classH5_1_1DataSpace.html#a18">H5::DataSpace</a><li>selectElements()
+: <a class="el" href="classH5_1_1DataSpace.html#a19">H5::DataSpace</a><li>selectHyperslab()
+: <a class="el" href="classH5_1_1DataSpace.html#a20">H5::DataSpace</a><li>selectNone()
+: <a class="el" href="classH5_1_1DataSpace.html#a21">H5::DataSpace</a><li>selectValid()
+: <a class="el" href="classH5_1_1DataSpace.html#a22">H5::DataSpace</a><li>setAlignment()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a20">H5::FileAccPropList</a><li>setAllocTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a3">H5::DSetCreatPropList</a><li>setAutoPrint()
+: <a class="el" href="classH5_1_1Exception.html#e0">H5::Exception</a><li>setBtreeRatios()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a3">H5::DSetMemXferPropList</a><li>setBuffer()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a1">H5::DSetMemXferPropList</a><li>setCache()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a24">H5::FileAccPropList</a><li>setChunk()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a5">H5::DSetCreatPropList</a><li>setComment()
+: <a class="el" href="classH5_1_1CommonFG.html#a14">H5::CommonFG</a><li>setCore()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a7">H5::FileAccPropList</a><li>setCset()
+: <a class="el" href="classH5_1_1StrType.html#a5">H5::StrType</a><li>setDeflate()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a20">H5::DSetCreatPropList</a><li>setDriver()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a2">H5::FileAccPropList</a><li>setEbias()
+: <a class="el" href="classH5_1_1FloatType.html#a3">H5::FloatType</a><li>setEDCCheck()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a16">H5::DSetMemXferPropList</a><li>setExtentNone()
+: <a class="el" href="classH5_1_1DataSpace.html#a23">H5::DataSpace</a><li>setExtentSimple()
+: <a class="el" href="classH5_1_1DataSpace.html#a24">H5::DataSpace</a><li>setExternal()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a21">H5::DSetCreatPropList</a><li>setFamily()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a9">H5::FileAccPropList</a><li>setFamilyOffset()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a4">H5::FileAccPropList</a><li>setFcloseDegree()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a26">H5::FileAccPropList</a><li>setFields()
+: <a class="el" href="classH5_1_1FloatType.html#a5">H5::FloatType</a><li>setFillTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a9">H5::DSetCreatPropList</a><li>setFillValue()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a11">H5::DSetCreatPropList</a><li>setFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a22">H5::DSetCreatPropList</a><li>setFletcher32()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a23">H5::DSetCreatPropList</a><li>setFreeListLimits()
+: <a class="el" href="classH5_1_1H5Library.html#e6">H5::H5Library</a><li>setGcReferences()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a28">H5::FileAccPropList</a><li>setHyperVectorSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a14">H5::DSetMemXferPropList</a><li>setId()
+: <a class="el" href="classH5_1_1IdComponent.html#a11">H5::IdComponent</a><li>setInpad()
+: <a class="el" href="classH5_1_1FloatType.html#a7">H5::FloatType</a><li>setIstorek()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a9">H5::FileCreatPropList</a><li>setLayout()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a15">H5::DSetCreatPropList</a><li>setLog()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a19">H5::FileAccPropList</a><li>setMetaBlockSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a16">H5::FileAccPropList</a><li>setMulti()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a10">H5::DSetMemXferPropList</a><li>setMultiType()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a22">H5::FileAccPropList</a><li>setNorm()
+: <a class="el" href="classH5_1_1FloatType.html#a9">H5::FloatType</a><li>setOffset()
+: <a class="el" href="classH5_1_1AtomType.html#a4">H5::AtomType</a><li>setOrder()
+: <a class="el" href="classH5_1_1AtomType.html#a2">H5::AtomType</a><li>setOverflow()
+: <a class="el" href="classH5_1_1DataType.html#a18">H5::DataType</a><li>setPad()
+: <a class="el" href="classH5_1_1AtomType.html#a6">H5::AtomType</a><li>setPrecision()
+: <a class="el" href="classH5_1_1AtomType.html#a8">H5::AtomType</a><li>setPreserve()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a5">H5::DSetMemXferPropList</a><li>setProperty()
+: <a class="el" href="classH5_1_1PropList.html#a22">H5::PropList</a><li>setSec2()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a6">H5::FileAccPropList</a><li>setShuffle()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a24">H5::DSetCreatPropList</a><li>setSieveBufSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a14">H5::FileAccPropList</a><li>setSign()
+: <a class="el" href="classH5_1_1IntType.html#a3">H5::IntType</a><li>setSize()
+: <a class="el" href="classH5_1_1AtomType.html#a9">H5::AtomType</a><li>setSizes()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a5">H5::FileCreatPropList</a><li>setSmallDataBlockSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a12">H5::DSetMemXferPropList</a><li>setSplit()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a13">H5::FileAccPropList</a><li>setStdio()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a1">H5::FileAccPropList</a><li>setStrpad()
+: <a class="el" href="classH5_1_1StrType.html#a7">H5::StrType</a><li>setSymk()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a7">H5::FileCreatPropList</a><li>setSzip()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a25">H5::DSetCreatPropList</a><li>setTag()
+: <a class="el" href="classH5_1_1DataType.html#a26">H5::DataType</a><li>setUserblock()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a2">H5::FileCreatPropList</a><li>setVlenMemManager()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a8">H5::DSetMemXferPropList</a><li>STD_B16BE
+: <a class="el" href="classH5_1_1PredType.html#s18">H5::PredType</a><li>STD_B16LE
+: <a class="el" href="classH5_1_1PredType.html#s19">H5::PredType</a><li>STD_B32BE
+: <a class="el" href="classH5_1_1PredType.html#s20">H5::PredType</a><li>STD_B32LE
+: <a class="el" href="classH5_1_1PredType.html#s21">H5::PredType</a><li>STD_B64BE
+: <a class="el" href="classH5_1_1PredType.html#s22">H5::PredType</a><li>STD_B64LE
+: <a class="el" href="classH5_1_1PredType.html#s23">H5::PredType</a><li>STD_B8BE
+: <a class="el" href="classH5_1_1PredType.html#s16">H5::PredType</a><li>STD_B8LE
+: <a class="el" href="classH5_1_1PredType.html#s17">H5::PredType</a><li>STD_I16BE
+: <a class="el" href="classH5_1_1PredType.html#s2">H5::PredType</a><li>STD_I16LE
+: <a class="el" href="classH5_1_1PredType.html#s3">H5::PredType</a><li>STD_I32BE
+: <a class="el" href="classH5_1_1PredType.html#s4">H5::PredType</a><li>STD_I32LE
+: <a class="el" href="classH5_1_1PredType.html#s5">H5::PredType</a><li>STD_I64BE
+: <a class="el" href="classH5_1_1PredType.html#s6">H5::PredType</a><li>STD_I64LE
+: <a class="el" href="classH5_1_1PredType.html#s7">H5::PredType</a><li>STD_I8BE
+: <a class="el" href="classH5_1_1PredType.html#s0">H5::PredType</a><li>STD_I8LE
+: <a class="el" href="classH5_1_1PredType.html#s1">H5::PredType</a><li>STD_REF_DSETREG
+: <a class="el" href="classH5_1_1PredType.html#s25">H5::PredType</a><li>STD_REF_OBJ
+: <a class="el" href="classH5_1_1PredType.html#s24">H5::PredType</a><li>STD_U16BE
+: <a class="el" href="classH5_1_1PredType.html#s10">H5::PredType</a><li>STD_U16LE
+: <a class="el" href="classH5_1_1PredType.html#s11">H5::PredType</a><li>STD_U32BE
+: <a class="el" href="classH5_1_1PredType.html#s12">H5::PredType</a><li>STD_U32LE
+: <a class="el" href="classH5_1_1PredType.html#s13">H5::PredType</a><li>STD_U64BE
+: <a class="el" href="classH5_1_1PredType.html#s14">H5::PredType</a><li>STD_U64LE
+: <a class="el" href="classH5_1_1PredType.html#s15">H5::PredType</a><li>STD_U8BE
+: <a class="el" href="classH5_1_1PredType.html#s8">H5::PredType</a><li>STD_U8LE
+: <a class="el" href="classH5_1_1PredType.html#s9">H5::PredType</a><li>StrType()
+: <a class="el" href="classH5_1_1StrType.html#a11">H5::StrType</a></ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>throwException()
+: <a class="el" href="classH5_1_1Group.html#a7">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a24">H5::H5File</a>, <a class="el" href="classH5_1_1CommonFG.html#a54">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>UNIX_D32BE
+: <a class="el" href="classH5_1_1PredType.html#s32">H5::PredType</a><li>UNIX_D32LE
+: <a class="el" href="classH5_1_1PredType.html#s33">H5::PredType</a><li>UNIX_D64BE
+: <a class="el" href="classH5_1_1PredType.html#s34">H5::PredType</a><li>UNIX_D64LE
+: <a class="el" href="classH5_1_1PredType.html#s35">H5::PredType</a><li>unlink()
+: <a class="el" href="classH5_1_1CommonFG.html#a31">H5::CommonFG</a><li>unmount()
+: <a class="el" href="classH5_1_1CommonFG.html#a35">H5::CommonFG</a><li>unregister()
+: <a class="el" href="classH5_1_1DataType.html#a24">H5::DataType</a></ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>valueOf()
+: <a class="el" href="classH5_1_1EnumType.html#a11">H5::EnumType</a><li>VarLenType()
+: <a class="el" href="classH5_1_1VarLenType.html#b0">H5::VarLenType</a><li>vlenReclaim()
+: <a class="el" href="classH5_1_1DataSet.html#e1">H5::DataSet</a></ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>walkErrorStack()
+: <a class="el" href="classH5_1_1Exception.html#e4">H5::Exception</a><li>write()
+: <a class="el" href="classH5_1_1DataSet.html#a13">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a9">H5::Attribute</a></ul>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~AbstractDs()
+: <a class="el" href="classH5_1_1AbstractDs.html#a12">H5::AbstractDs</a><li>~ArrayType()
+: <a class="el" href="classH5_1_1ArrayType.html#a6">H5::ArrayType</a><li>~AtomType()
+: <a class="el" href="classH5_1_1AtomType.html#a12">H5::AtomType</a><li>~Attribute()
+: <a class="el" href="classH5_1_1Attribute.html#a14">H5::Attribute</a><li>~AttributeIException()
+: <a class="el" href="classH5_1_1AttributeIException.html#a2">H5::AttributeIException</a><li>~CommonFG()
+: <a class="el" href="classH5_1_1CommonFG.html#a56">H5::CommonFG</a><li>~CompType()
+: <a class="el" href="classH5_1_1CompType.html#a22">H5::CompType</a><li>~DataSet()
+: <a class="el" href="classH5_1_1DataSet.html#a25">H5::DataSet</a><li>~DataSetIException()
+: <a class="el" href="classH5_1_1DataSetIException.html#a2">H5::DataSetIException</a><li>~DataSpace()
+: <a class="el" href="classH5_1_1DataSpace.html#a28">H5::DataSpace</a><li>~DataSpaceIException()
+: <a class="el" href="classH5_1_1DataSpaceIException.html#a2">H5::DataSpaceIException</a><li>~DataType()
+: <a class="el" href="classH5_1_1DataType.html#a38">H5::DataType</a><li>~DataTypeIException()
+: <a class="el" href="classH5_1_1DataTypeIException.html#a2">H5::DataTypeIException</a><li>~DSetCreatPropList()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a29">H5::DSetCreatPropList</a><li>~DSetMemXferPropList()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a21">H5::DSetMemXferPropList</a><li>~EnumType()
+: <a class="el" href="classH5_1_1EnumType.html#a16">H5::EnumType</a><li>~Exception()
+: <a class="el" href="classH5_1_1Exception.html#a10">H5::Exception</a><li>~FileAccPropList()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a33">H5::FileAccPropList</a><li>~FileCreatPropList()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a13">H5::FileCreatPropList</a><li>~FileIException()
+: <a class="el" href="classH5_1_1FileIException.html#a2">H5::FileIException</a><li>~FloatType()
+: <a class="el" href="classH5_1_1FloatType.html#a14">H5::FloatType</a><li>~Group()
+: <a class="el" href="classH5_1_1Group.html#a12">H5::Group</a><li>~GroupIException()
+: <a class="el" href="classH5_1_1GroupIException.html#a2">H5::GroupIException</a><li>~H5File()
+: <a class="el" href="classH5_1_1H5File.html#a28">H5::H5File</a><li>~H5Object()
+: <a class="el" href="classH5_1_1H5Object.html#a14">H5::H5Object</a><li>~IdComponent()
+: <a class="el" href="classH5_1_1IdComponent.html#a15">H5::IdComponent</a><li>~IdComponentException()
+: <a class="el" href="classH5_1_1IdComponentException.html#a2">H5::IdComponentException</a><li>~IntType()
+: <a class="el" href="classH5_1_1IntType.html#a8">H5::IntType</a><li>~LibraryIException()
+: <a class="el" href="classH5_1_1LibraryIException.html#a2">H5::LibraryIException</a><li>~PredType()
+: <a class="el" href="classH5_1_1PredType.html#a3">H5::PredType</a><li>~PropList()
+: <a class="el" href="classH5_1_1PropList.html#a33">H5::PropList</a><li>~PropListIException()
+: <a class="el" href="classH5_1_1PropListIException.html#a2">H5::PropListIException</a><li>~ReferenceException()
+: <a class="el" href="classH5_1_1ReferenceException.html#a2">H5::ReferenceException</a><li>~StrType()
+: <a class="el" href="classH5_1_1StrType.html#a12">H5::StrType</a><li>~VarLenType()
+: <a class="el" href="classH5_1_1VarLenType.html#a4">H5::VarLenType</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/functions_func.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/functions_func.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/functions_func.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,10 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a></div>
-<div class="qindex"><a class="qindexHL" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
+<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_g">g</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_~">~</a></div>
 
 <p>
 
@@ -331,13 +348,382 @@
 <h3><a class="anchor" name="index_a">- a -</a></h3><ul>
 <li>AbstractDs()
 : <a class="el" href="classH5_1_1AbstractDs.html#b1">H5::AbstractDs</a><li>allFiltersAvail()
-: <a class="el" href="classH5_1_1DSetCreatPropList.html#a0">H5::DSetCreatPropList</a><li>ArrayType()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a1">H5::DSetCreatPropList</a><li>ArrayType()
 : <a class="el" href="classH5_1_1ArrayType.html#b0">H5::ArrayType</a><li>AtomType()
 : <a class="el" href="classH5_1_1AtomType.html#a11">H5::AtomType</a><li>Attribute()
-: <a class="el" href="classH5_1_1Attribute.html#a12">H5::Attribute</a><li>AttributeIException()
+: <a class="el" href="classH5_1_1Attribute.html#a13">H5::Attribute</a><li>AttributeIException()
 : <a class="el" href="classH5_1_1AttributeIException.html#a1">H5::AttributeIException</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
+<li>checkVersion()
+: <a class="el" href="classH5_1_1H5Library.html#e4">H5::H5Library</a><li>clearErrorStack()
+: <a class="el" href="classH5_1_1Exception.html#e3">H5::Exception</a><li>close()
+: <a class="el" href="classH5_1_1PropList.html#a3">H5::PropList</a>, <a class="el" href="classH5_1_1H5Library.html#e1">H5::H5Library</a>, <a class="el" href="classH5_1_1Group.html#a0">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a4">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a3">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a3">H5::DataSpace</a>, <a class="el" href="classH5_1_1DataSet.html#a0">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a0">H5::Attribute</a><li>closeClass()
+: <a class="el" href="classH5_1_1PropList.html#a4">H5::PropList</a><li>commit()
+: <a class="el" href="classH5_1_1DataType.html#a10">H5::DataType</a><li>committed()
+: <a class="el" href="classH5_1_1DataType.html#a11">H5::DataType</a><li>CommonFG()
+: <a class="el" href="classH5_1_1CommonFG.html#a55">H5::CommonFG</a><li>CompType()
+: <a class="el" href="classH5_1_1CompType.html#a21">H5::CompType</a><li>convert()
+: <a class="el" href="classH5_1_1DataType.html#a13">H5::DataType</a><li>copy()
+: <a class="el" href="classH5_1_1PropList.html#a5">H5::PropList</a>, <a class="el" href="classH5_1_1DataType.html#a5">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a4">H5::DataSpace</a><li>copyProp()
+: <a class="el" href="classH5_1_1PropList.html#a9">H5::PropList</a><li>createAttribute()
+: <a class="el" href="classH5_1_1H5Object.html#a1">H5::H5Object</a><li>createDataSet()
+: <a class="el" href="classH5_1_1CommonFG.html#a5">H5::CommonFG</a><li>createGroup()
+: <a class="el" href="classH5_1_1CommonFG.html#a1">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<li>DataSet()
+: <a class="el" href="classH5_1_1DataSet.html#a24">H5::DataSet</a><li>DataSetIException()
+: <a class="el" href="classH5_1_1DataSetIException.html#a1">H5::DataSetIException</a><li>DataSpace()
+: <a class="el" href="classH5_1_1DataSpace.html#a27">H5::DataSpace</a><li>DataSpaceIException()
+: <a class="el" href="classH5_1_1DataSpaceIException.html#a1">H5::DataSpaceIException</a><li>DataType()
+: <a class="el" href="classH5_1_1DataType.html#a37">H5::DataType</a><li>DataTypeIException()
+: <a class="el" href="classH5_1_1DataTypeIException.html#a1">H5::DataTypeIException</a><li>decRefCount()
+: <a class="el" href="classH5_1_1IdComponent.html#a3">H5::IdComponent</a><li>dereference()
+: <a class="el" href="classH5_1_1IdComponent.html#a10">H5::IdComponent</a><li>detectClass()
+: <a class="el" href="classH5_1_1DataType.html#a28">H5::DataType</a><li>dontAtExit()
+: <a class="el" href="classH5_1_1H5Library.html#e2">H5::H5Library</a><li>dontPrint()
+: <a class="el" href="classH5_1_1Exception.html#e1">H5::Exception</a><li>DSetCreatPropList()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a28">H5::DSetCreatPropList</a><li>DSetMemXferPropList()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a20">H5::DSetMemXferPropList</a></ul>
+<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<li>EnumType()
+: <a class="el" href="classH5_1_1EnumType.html#a15">H5::EnumType</a><li>Exception()
+: <a class="el" href="classH5_1_1Exception.html#a9">H5::Exception</a><li>extend()
+: <a class="el" href="classH5_1_1DataSet.html#a1">H5::DataSet</a><li>extentCopy()
+: <a class="el" href="classH5_1_1DataSpace.html#a5">H5::DataSpace</a></ul>
+<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<li>FileAccPropList()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a32">H5::FileAccPropList</a><li>FileCreatPropList()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a12">H5::FileCreatPropList</a><li>FileIException()
+: <a class="el" href="classH5_1_1FileIException.html#a1">H5::FileIException</a><li>fillMemBuf()
+: <a class="el" href="classH5_1_1DataSet.html#a3">H5::DataSet</a><li>find()
+: <a class="el" href="classH5_1_1DataType.html#a12">H5::DataType</a><li>FloatType()
+: <a class="el" href="classH5_1_1FloatType.html#a13">H5::FloatType</a><li>flush()
+: <a class="el" href="classH5_1_1H5Object.html#a5">H5::H5Object</a>, <a class="el" href="classH5_1_1H5File.html#a5">H5::H5File</a><li>fromClass()
+: <a class="el" href="classH5_1_1VarLenType.html#a1">H5::VarLenType</a>, <a class="el" href="classH5_1_1StrType.html#a8">H5::StrType</a>, <a class="el" href="classH5_1_1PropList.html#a30">H5::PropList</a>, <a class="el" href="classH5_1_1PredType.html#a0">H5::PredType</a>, <a class="el" href="classH5_1_1IntType.html#a4">H5::IntType</a>, <a class="el" href="classH5_1_1Group.html#a6">H5::Group</a>, <a class="el" href="classH5_1_1FloatType.html#a10">H5::FloatType</a>, <a class="el" href="classH5_1_1H5File.html#a23">H5::H5File</a>, <a class="el" href="classH5_1_1FileCreatPropList.html#a10">H5::FileCreatPropList</a>, <a class="el" href="classH5_1_1FileAccPropList.html#a30">H5::FileAccPropList</a>, <a class="el" href="classH5_1_1EnumType.html#a12">H5::EnumType</a>, <a class="el" href="classH5_1_1DSetMemXferPropList.html#a18">H5::DSetMemXferPropList</a>, <a class="el" href="classH5_1_1DSetCreatPropList.html#a26">H5::DSetCreatPropList</a>, <a class="el" href="classH5_1_1DataType.html#a35">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a25">H5::DataSpace</a>, <a class="el" href="classH5_1_1DataSet.html#a20">H5::DataSet</a>, <a class="el" href="classH5_1_1CompType.html#a18">H5::CompType</a>, <a class="el" href="classH5_1_1Attribute.html#a10">H5::Attribute</a>, <a class="el" href="classH5_1_1AtomType.html#a10">H5::AtomType</a>, <a class="el" href="classH5_1_1ArrayType.html#a3">H5::ArrayType</a></ul>
+<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<li>garbageCollect()
+: <a class="el" href="classH5_1_1H5Library.html#e5">H5::H5Library</a><li>getAccessPlist()
+: <a class="el" href="classH5_1_1H5File.html#a6">H5::H5File</a><li>getAlignment()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a21">H5::FileAccPropList</a><li>getAllocTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a2">H5::DSetCreatPropList</a><li>getArrayDims()
+: <a class="el" href="classH5_1_1ArrayType.html#a2">H5::ArrayType</a><li>getArrayNDims()
+: <a class="el" href="classH5_1_1ArrayType.html#a1">H5::ArrayType</a><li>getArrayType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a1">H5::AbstractDs</a><li>getAutoPrint()
+: <a class="el" href="classH5_1_1Exception.html#e2">H5::Exception</a><li>getBtreeRatios()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a4">H5::DSetMemXferPropList</a><li>getBuffer()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a2">H5::DSetMemXferPropList</a><li>getCache()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a25">H5::FileAccPropList</a><li>getCDetailMsg()
+: <a class="el" href="classH5_1_1Exception.html#a4">H5::Exception</a><li>getCFuncName()
+: <a class="el" href="classH5_1_1Exception.html#a6">H5::Exception</a><li>getChunk()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a4">H5::DSetCreatPropList</a><li>getClass()
+: <a class="el" href="classH5_1_1PropList.html#a10">H5::PropList</a>, <a class="el" href="classH5_1_1DataType.html#a6">H5::DataType</a><li>getClassName()
+: <a class="el" href="classH5_1_1PropList.html#a11">H5::PropList</a><li>getClassParent()
+: <a class="el" href="classH5_1_1PropList.html#a12">H5::PropList</a><li>getComment()
+: <a class="el" href="classH5_1_1CommonFG.html#a10">H5::CommonFG</a><li>getCompType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a2">H5::AbstractDs</a><li>getCore()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a8">H5::FileAccPropList</a><li>getCounter()
+: <a class="el" href="classH5_1_1IdComponent.html#a5">H5::IdComponent</a><li>getCreatePlist()
+: <a class="el" href="classH5_1_1H5File.html#a7">H5::H5File</a>, <a class="el" href="classH5_1_1DataSet.html#a4">H5::DataSet</a><li>getCset()
+: <a class="el" href="classH5_1_1StrType.html#a4">H5::StrType</a><li>getDataType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a0">H5::AbstractDs</a><li>getDetailMsg()
+: <a class="el" href="classH5_1_1Exception.html#a3">H5::Exception</a><li>getDriver()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a3">H5::FileAccPropList</a><li>getEbias()
+: <a class="el" href="classH5_1_1FloatType.html#a2">H5::FloatType</a><li>getEDCCheck()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a17">H5::DSetMemXferPropList</a><li>getEnumType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a3">H5::AbstractDs</a><li>getExternal()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a6">H5::DSetCreatPropList</a><li>getExternalCount()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a7">H5::DSetCreatPropList</a><li>getFamily()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a11">H5::FileAccPropList</a><li>getFamilyOffset()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a5">H5::FileAccPropList</a><li>getFcloseDegree()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a27">H5::FileAccPropList</a><li>getFields()
+: <a class="el" href="classH5_1_1FloatType.html#a4">H5::FloatType</a><li>getFileName()
+: <a class="el" href="classH5_1_1H5Object.html#a6">H5::H5Object</a>, <a class="el" href="classH5_1_1H5File.html#a8">H5::H5File</a><li>getFileSize()
+: <a class="el" href="classH5_1_1H5File.html#a9">H5::H5File</a><li>getFillTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a8">H5::DSetCreatPropList</a><li>getFillValue()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a10">H5::DSetCreatPropList</a><li>getFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a12">H5::DSetCreatPropList</a><li>getFilterById()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a13">H5::DSetCreatPropList</a><li>getFloatType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a5">H5::AbstractDs</a><li>getFreeSpace()
+: <a class="el" href="classH5_1_1H5File.html#a10">H5::H5File</a><li>getFuncName()
+: <a class="el" href="classH5_1_1Exception.html#a5">H5::Exception</a><li>getGcReferences()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a29">H5::FileAccPropList</a><li>getHDFObjType()
+: <a class="el" href="classH5_1_1IdComponent.html#e0">H5::IdComponent</a><li>getHyperVectorSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a15">H5::DSetMemXferPropList</a><li>getId()
+: <a class="el" href="classH5_1_1IdComponent.html#a14">H5::IdComponent</a><li>getInpad()
+: <a class="el" href="classH5_1_1FloatType.html#a6">H5::FloatType</a><li>getIntType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a4">H5::AbstractDs</a><li>getIstorek()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a8">H5::FileCreatPropList</a><li>getLayout()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a14">H5::DSetCreatPropList</a><li>getLibVersion()
+: <a class="el" href="classH5_1_1H5Library.html#e3">H5::H5Library</a><li>getLinkval()
+: <a class="el" href="classH5_1_1CommonFG.html#a16">H5::CommonFG</a><li>getLocId()
+: <a class="el" href="classH5_1_1Group.html#a8">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a25">H5::H5File</a><li>getMajorString()
+: <a class="el" href="classH5_1_1Exception.html#a1">H5::Exception</a><li>getMemberArrayType()
+: <a class="el" href="classH5_1_1CompType.html#a8">H5::CompType</a><li>getMemberClass()
+: <a class="el" href="classH5_1_1CompType.html#a2">H5::CompType</a><li>getMemberCompType()
+: <a class="el" href="classH5_1_1CompType.html#a9">H5::CompType</a><li>getMemberDataType()
+: <a class="el" href="classH5_1_1CompType.html#a7">H5::CompType</a><li>getMemberEnumType()
+: <a class="el" href="classH5_1_1CompType.html#a10">H5::CompType</a><li>getMemberFloatType()
+: <a class="el" href="classH5_1_1CompType.html#a12">H5::CompType</a><li>getMemberIndex()
+: <a class="el" href="classH5_1_1EnumType.html#a5">H5::EnumType</a>, <a class="el" href="classH5_1_1CompType.html#a4">H5::CompType</a><li>getMemberIntType()
+: <a class="el" href="classH5_1_1CompType.html#a11">H5::CompType</a><li>getMemberName()
+: <a class="el" href="classH5_1_1CompType.html#a6">H5::CompType</a><li>getMemberOffset()
+: <a class="el" href="classH5_1_1CompType.html#a5">H5::CompType</a><li>getMemberStrType()
+: <a class="el" href="classH5_1_1CompType.html#a13">H5::CompType</a><li>getMemberValue()
+: <a class="el" href="classH5_1_1EnumType.html#a6">H5::EnumType</a><li>getMemberVarLenType()
+: <a class="el" href="classH5_1_1CompType.html#a14">H5::CompType</a><li>getMetaBlockSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a17">H5::FileAccPropList</a><li>getMinorString()
+: <a class="el" href="classH5_1_1Exception.html#a2">H5::Exception</a><li>getMulti()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a11">H5::DSetMemXferPropList</a><li>getMultiType()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a23">H5::FileAccPropList</a><li>getName()
+: <a class="el" href="classH5_1_1Attribute.html#a3">H5::Attribute</a><li>getNfilters()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a16">H5::DSetCreatPropList</a><li>getNmembers()
+: <a class="el" href="classH5_1_1EnumType.html#a3">H5::EnumType</a>, <a class="el" href="classH5_1_1CompType.html#a15">H5::CompType</a><li>getNorm()
+: <a class="el" href="classH5_1_1FloatType.html#a8">H5::FloatType</a><li>getNumAttrs()
+: <a class="el" href="classH5_1_1H5Object.html#a7">H5::H5Object</a><li>getNumObjs()
+: <a class="el" href="classH5_1_1CommonFG.html#a17">H5::CommonFG</a><li>getNumProps()
+: <a class="el" href="classH5_1_1PropList.html#a13">H5::PropList</a><li>getObjCount()
+: <a class="el" href="classH5_1_1H5File.html#a12">H5::H5File</a><li>getObjIDs()
+: <a class="el" href="classH5_1_1H5File.html#a13">H5::H5File</a><li>getObjinfo()
+: <a class="el" href="classH5_1_1CommonFG.html#a21">H5::CommonFG</a><li>getObjnameByIdx()
+: <a class="el" href="classH5_1_1CommonFG.html#a23">H5::CommonFG</a><li>getObjType()
+: <a class="el" href="classH5_1_1Group.html#a1">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a14">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a33">H5::DataType</a>, <a class="el" href="classH5_1_1DataSet.html#a15">H5::DataSet</a><li>getObjTypeByIdx()
+: <a class="el" href="classH5_1_1CommonFG.html#a25">H5::CommonFG</a><li>getOffset()
+: <a class="el" href="classH5_1_1DataSet.html#a5">H5::DataSet</a>, <a class="el" href="classH5_1_1AtomType.html#a3">H5::AtomType</a><li>getOrder()
+: <a class="el" href="classH5_1_1AtomType.html#a1">H5::AtomType</a><li>getOverflow()
+: <a class="el" href="classH5_1_1DataType.html#a17">H5::DataType</a><li>getPad()
+: <a class="el" href="classH5_1_1AtomType.html#a5">H5::AtomType</a><li>getPrecision()
+: <a class="el" href="classH5_1_1AtomType.html#a7">H5::AtomType</a><li>getPreserve()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a6">H5::DSetMemXferPropList</a><li>getProperty()
+: <a class="el" href="classH5_1_1PropList.html#a17">H5::PropList</a><li>getPropSize()
+: <a class="el" href="classH5_1_1PropList.html#a24">H5::PropList</a><li>getRegion()
+: <a class="el" href="classH5_1_1Group.html#a2">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a15">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a34">H5::DataType</a>, <a class="el" href="classH5_1_1DataSet.html#a16">H5::DataSet</a><li>getSelectBounds()
+: <a class="el" href="classH5_1_1DataSpace.html#a6">H5::DataSpace</a><li>getSelectElemNpoints()
+: <a class="el" href="classH5_1_1DataSpace.html#a7">H5::DataSpace</a><li>getSelectElemPointlist()
+: <a class="el" href="classH5_1_1DataSpace.html#a8">H5::DataSpace</a><li>getSelectHyperBlocklist()
+: <a class="el" href="classH5_1_1DataSpace.html#a9">H5::DataSpace</a><li>getSelectHyperNblocks()
+: <a class="el" href="classH5_1_1DataSpace.html#a10">H5::DataSpace</a><li>getSelectNpoints()
+: <a class="el" href="classH5_1_1DataSpace.html#a11">H5::DataSpace</a><li>getSieveBufSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a15">H5::FileAccPropList</a><li>getSign()
+: <a class="el" href="classH5_1_1IntType.html#a2">H5::IntType</a><li>getSimpleExtentDims()
+: <a class="el" href="classH5_1_1DataSpace.html#a12">H5::DataSpace</a><li>getSimpleExtentNdims()
+: <a class="el" href="classH5_1_1DataSpace.html#a13">H5::DataSpace</a><li>getSimpleExtentNpoints()
+: <a class="el" href="classH5_1_1DataSpace.html#a14">H5::DataSpace</a><li>getSimpleExtentType()
+: <a class="el" href="classH5_1_1DataSpace.html#a15">H5::DataSpace</a><li>getSize()
+: <a class="el" href="classH5_1_1DataType.html#a19">H5::DataType</a><li>getSizes()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a4">H5::FileCreatPropList</a><li>getSmallDataBlockSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a13">H5::DSetMemXferPropList</a><li>getSpace()
+: <a class="el" href="classH5_1_1DataSet.html#a6">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a4">H5::Attribute</a>, <a class="el" href="classH5_1_1AbstractDs.html#a8">H5::AbstractDs</a><li>getSpaceStatus()
+: <a class="el" href="classH5_1_1DataSet.html#a7">H5::DataSet</a><li>getStorageSize()
+: <a class="el" href="classH5_1_1DataSet.html#a8">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a5">H5::Attribute</a>, <a class="el" href="classH5_1_1AbstractDs.html#a10">H5::AbstractDs</a><li>getStrpad()
+: <a class="el" href="classH5_1_1StrType.html#a6">H5::StrType</a><li>getStrType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a6">H5::AbstractDs</a><li>getSuper()
+: <a class="el" href="classH5_1_1DataType.html#a20">H5::DataType</a><li>getSymk()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a6">H5::FileCreatPropList</a><li>getTag()
+: <a class="el" href="classH5_1_1DataType.html#a27">H5::DataType</a><li>getTypeClass()
+: <a class="el" href="classH5_1_1AbstractDs.html#a9">H5::AbstractDs</a><li>getUserblock()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a3">H5::FileCreatPropList</a><li>getVarLenType()
+: <a class="el" href="classH5_1_1AbstractDs.html#a7">H5::AbstractDs</a><li>getVersion()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a1">H5::FileCreatPropList</a><li>getVFDHandle()
+: <a class="el" href="classH5_1_1H5File.html#a17">H5::H5File</a><li>getVlenBufSize()
+: <a class="el" href="classH5_1_1DataSet.html#a9">H5::DataSet</a><li>getVlenMemManager()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a9">H5::DSetMemXferPropList</a><li>Group()
+: <a class="el" href="classH5_1_1Group.html#a13">H5::Group</a><li>GroupIException()
+: <a class="el" href="classH5_1_1GroupIException.html#a1">H5::GroupIException</a></ul>
+<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
+<li>H5File()
+: <a class="el" href="classH5_1_1H5File.html#a27">H5::H5File</a><li>H5Object()
+: <a class="el" href="classH5_1_1H5Object.html#a13">H5::H5Object</a></ul>
+<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
+<li>IdComponent()
+: <a class="el" href="classH5_1_1IdComponent.html#a13">H5::IdComponent</a><li>IdComponentException()
+: <a class="el" href="classH5_1_1IdComponentException.html#a1">H5::IdComponentException</a><li>incRefCount()
+: <a class="el" href="classH5_1_1IdComponent.html#a1">H5::IdComponent</a><li>insert()
+: <a class="el" href="classH5_1_1EnumType.html#a8">H5::EnumType</a><li>insertMember()
+: <a class="el" href="classH5_1_1CompType.html#a16">H5::CompType</a><li>IntType()
+: <a class="el" href="classH5_1_1IntType.html#a7">H5::IntType</a><li>isAClass()
+: <a class="el" href="classH5_1_1PropList.html#a25">H5::PropList</a><li>isFillValueDefined()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a17">H5::DSetCreatPropList</a><li>isHdf5()
+: <a class="el" href="classH5_1_1H5File.html#e1">H5::H5File</a><li>isSimple()
+: <a class="el" href="classH5_1_1DataSpace.html#a16">H5::DataSpace</a><li>isVariableStr()
+: <a class="el" href="classH5_1_1DataType.html#a29">H5::DataType</a><li>iterateAttrs()
+: <a class="el" href="classH5_1_1H5Object.html#a8">H5::H5Object</a><li>iterateElems()
+: <a class="el" href="classH5_1_1DataSet.html#a14">H5::DataSet</a>, <a class="el" href="classH5_1_1CommonFG.html#a27">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<li>LibraryIException()
+: <a class="el" href="classH5_1_1LibraryIException.html#a1">H5::LibraryIException</a><li>link()
+: <a class="el" href="classH5_1_1CommonFG.html#a29">H5::CommonFG</a><li>lock()
+: <a class="el" href="classH5_1_1DataType.html#a16">H5::DataType</a></ul>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>modifyFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a18">H5::DSetCreatPropList</a><li>mount()
+: <a class="el" href="classH5_1_1CommonFG.html#a33">H5::CommonFG</a><li>move()
+: <a class="el" href="classH5_1_1CommonFG.html#a37">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<li>nameOf()
+: <a class="el" href="classH5_1_1EnumType.html#a9">H5::EnumType</a></ul>
+<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
+<li>offsetSimple()
+: <a class="el" href="classH5_1_1DataSpace.html#a17">H5::DataSpace</a><li>open()
+: <a class="el" href="classH5_1_1H5Library.html#e0">H5::H5Library</a><li>openArrayType()
+: <a class="el" href="classH5_1_1CommonFG.html#a41">H5::CommonFG</a><li>openAttribute()
+: <a class="el" href="classH5_1_1H5Object.html#a4">H5::H5Object</a><li>openCompType()
+: <a class="el" href="classH5_1_1CommonFG.html#a43">H5::CommonFG</a><li>openDataSet()
+: <a class="el" href="classH5_1_1CommonFG.html#a7">H5::CommonFG</a><li>openDataType()
+: <a class="el" href="classH5_1_1CommonFG.html#a39">H5::CommonFG</a><li>openEnumType()
+: <a class="el" href="classH5_1_1CommonFG.html#a45">H5::CommonFG</a><li>openFile()
+: <a class="el" href="classH5_1_1H5File.html#a3">H5::H5File</a><li>openFloatType()
+: <a class="el" href="classH5_1_1CommonFG.html#a49">H5::CommonFG</a><li>openGroup()
+: <a class="el" href="classH5_1_1CommonFG.html#a3">H5::CommonFG</a><li>openIntType()
+: <a class="el" href="classH5_1_1CommonFG.html#a47">H5::CommonFG</a><li>openStrType()
+: <a class="el" href="classH5_1_1CommonFG.html#a51">H5::CommonFG</a><li>openVarLenType()
+: <a class="el" href="classH5_1_1CommonFG.html#a53">H5::CommonFG</a><li>operator=()
+: <a class="el" href="classH5_1_1PropList.html#a1">H5::PropList</a>, <a class="el" href="classH5_1_1PredType.html#a1">H5::PredType</a>, <a class="el" href="classH5_1_1IdComponent.html#a6">H5::IdComponent</a>, <a class="el" href="classH5_1_1DataType.html#a14">H5::DataType</a>, <a class="el" href="classH5_1_1DataSpace.html#a2">H5::DataSpace</a><li>operator==()
+: <a class="el" href="classH5_1_1PropList.html#a2">H5::PropList</a>, <a class="el" href="classH5_1_1DataType.html#a15">H5::DataType</a></ul>
+<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<li>pack()
+: <a class="el" href="classH5_1_1CompType.html#a17">H5::CompType</a><li>PredType()
+: <a class="el" href="classH5_1_1PredType.html#a2">H5::PredType</a><li>printError()
+: <a class="el" href="classH5_1_1Exception.html#a7">H5::Exception</a><li>propExist()
+: <a class="el" href="classH5_1_1PropList.html#a27">H5::PropList</a><li>PropList()
+: <a class="el" href="classH5_1_1PropList.html#a32">H5::PropList</a><li>PropListIException()
+: <a class="el" href="classH5_1_1PropListIException.html#a1">H5::PropListIException</a></ul>
+<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<li>read()
+: <a class="el" href="classH5_1_1DataSet.html#a11">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a7">H5::Attribute</a><li>reference()
+: <a class="el" href="classH5_1_1IdComponent.html#a9">H5::IdComponent</a><li>Reference()
+: <a class="el" href="classH5_1_1Group.html#a5">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a22">H5::H5File</a>, <a class="el" href="classH5_1_1DataType.html#a32">H5::DataType</a>, <a class="el" href="classH5_1_1DataSet.html#a19">H5::DataSet</a><li>ReferenceException()
+: <a class="el" href="classH5_1_1ReferenceException.html#a1">H5::ReferenceException</a><li>registerFunc()
+: <a class="el" href="classH5_1_1DataType.html#a22">H5::DataType</a><li>removeAttr()
+: <a class="el" href="classH5_1_1H5Object.html#a10">H5::H5Object</a><li>removeComment()
+: <a class="el" href="classH5_1_1CommonFG.html#a12">H5::CommonFG</a><li>removeFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a19">H5::DSetCreatPropList</a><li>removeProp()
+: <a class="el" href="classH5_1_1PropList.html#a29">H5::PropList</a><li>renameAttr()
+: <a class="el" href="classH5_1_1H5Object.html#a12">H5::H5Object</a><li>reopen()
+: <a class="el" href="classH5_1_1H5File.html#a19">H5::H5File</a><li>reOpen()
+: <a class="el" href="classH5_1_1H5File.html#a18">H5::H5File</a></ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>selectAll()
+: <a class="el" href="classH5_1_1DataSpace.html#a18">H5::DataSpace</a><li>selectElements()
+: <a class="el" href="classH5_1_1DataSpace.html#a19">H5::DataSpace</a><li>selectHyperslab()
+: <a class="el" href="classH5_1_1DataSpace.html#a20">H5::DataSpace</a><li>selectNone()
+: <a class="el" href="classH5_1_1DataSpace.html#a21">H5::DataSpace</a><li>selectValid()
+: <a class="el" href="classH5_1_1DataSpace.html#a22">H5::DataSpace</a><li>setAlignment()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a20">H5::FileAccPropList</a><li>setAllocTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a3">H5::DSetCreatPropList</a><li>setAutoPrint()
+: <a class="el" href="classH5_1_1Exception.html#e0">H5::Exception</a><li>setBtreeRatios()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a3">H5::DSetMemXferPropList</a><li>setBuffer()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a1">H5::DSetMemXferPropList</a><li>setCache()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a24">H5::FileAccPropList</a><li>setChunk()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a5">H5::DSetCreatPropList</a><li>setComment()
+: <a class="el" href="classH5_1_1CommonFG.html#a14">H5::CommonFG</a><li>setCore()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a7">H5::FileAccPropList</a><li>setCset()
+: <a class="el" href="classH5_1_1StrType.html#a5">H5::StrType</a><li>setDeflate()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a20">H5::DSetCreatPropList</a><li>setDriver()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a2">H5::FileAccPropList</a><li>setEbias()
+: <a class="el" href="classH5_1_1FloatType.html#a3">H5::FloatType</a><li>setEDCCheck()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a16">H5::DSetMemXferPropList</a><li>setExtentNone()
+: <a class="el" href="classH5_1_1DataSpace.html#a23">H5::DataSpace</a><li>setExtentSimple()
+: <a class="el" href="classH5_1_1DataSpace.html#a24">H5::DataSpace</a><li>setExternal()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a21">H5::DSetCreatPropList</a><li>setFamily()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a9">H5::FileAccPropList</a><li>setFamilyOffset()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a4">H5::FileAccPropList</a><li>setFcloseDegree()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a26">H5::FileAccPropList</a><li>setFields()
+: <a class="el" href="classH5_1_1FloatType.html#a5">H5::FloatType</a><li>setFillTime()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a9">H5::DSetCreatPropList</a><li>setFillValue()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a11">H5::DSetCreatPropList</a><li>setFilter()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a22">H5::DSetCreatPropList</a><li>setFletcher32()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a23">H5::DSetCreatPropList</a><li>setFreeListLimits()
+: <a class="el" href="classH5_1_1H5Library.html#e6">H5::H5Library</a><li>setGcReferences()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a28">H5::FileAccPropList</a><li>setHyperVectorSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a14">H5::DSetMemXferPropList</a><li>setId()
+: <a class="el" href="classH5_1_1IdComponent.html#a11">H5::IdComponent</a><li>setInpad()
+: <a class="el" href="classH5_1_1FloatType.html#a7">H5::FloatType</a><li>setIstorek()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a9">H5::FileCreatPropList</a><li>setLayout()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a15">H5::DSetCreatPropList</a><li>setLog()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a19">H5::FileAccPropList</a><li>setMetaBlockSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a16">H5::FileAccPropList</a><li>setMulti()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a10">H5::DSetMemXferPropList</a><li>setMultiType()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a22">H5::FileAccPropList</a><li>setNorm()
+: <a class="el" href="classH5_1_1FloatType.html#a9">H5::FloatType</a><li>setOffset()
+: <a class="el" href="classH5_1_1AtomType.html#a4">H5::AtomType</a><li>setOrder()
+: <a class="el" href="classH5_1_1AtomType.html#a2">H5::AtomType</a><li>setOverflow()
+: <a class="el" href="classH5_1_1DataType.html#a18">H5::DataType</a><li>setPad()
+: <a class="el" href="classH5_1_1AtomType.html#a6">H5::AtomType</a><li>setPrecision()
+: <a class="el" href="classH5_1_1AtomType.html#a8">H5::AtomType</a><li>setPreserve()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a5">H5::DSetMemXferPropList</a><li>setProperty()
+: <a class="el" href="classH5_1_1PropList.html#a22">H5::PropList</a><li>setSec2()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a6">H5::FileAccPropList</a><li>setShuffle()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a24">H5::DSetCreatPropList</a><li>setSieveBufSize()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a14">H5::FileAccPropList</a><li>setSign()
+: <a class="el" href="classH5_1_1IntType.html#a3">H5::IntType</a><li>setSize()
+: <a class="el" href="classH5_1_1AtomType.html#a9">H5::AtomType</a><li>setSizes()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a5">H5::FileCreatPropList</a><li>setSmallDataBlockSize()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a12">H5::DSetMemXferPropList</a><li>setSplit()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a13">H5::FileAccPropList</a><li>setStdio()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a1">H5::FileAccPropList</a><li>setStrpad()
+: <a class="el" href="classH5_1_1StrType.html#a7">H5::StrType</a><li>setSymk()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a7">H5::FileCreatPropList</a><li>setSzip()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a25">H5::DSetCreatPropList</a><li>setTag()
+: <a class="el" href="classH5_1_1DataType.html#a26">H5::DataType</a><li>setUserblock()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a2">H5::FileCreatPropList</a><li>setVlenMemManager()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a8">H5::DSetMemXferPropList</a><li>StrType()
+: <a class="el" href="classH5_1_1StrType.html#a11">H5::StrType</a></ul>
+<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
+<li>throwException()
+: <a class="el" href="classH5_1_1Group.html#a7">H5::Group</a>, <a class="el" href="classH5_1_1H5File.html#a24">H5::H5File</a>, <a class="el" href="classH5_1_1CommonFG.html#a54">H5::CommonFG</a></ul>
+<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<li>unlink()
+: <a class="el" href="classH5_1_1CommonFG.html#a31">H5::CommonFG</a><li>unmount()
+: <a class="el" href="classH5_1_1CommonFG.html#a35">H5::CommonFG</a><li>unregister()
+: <a class="el" href="classH5_1_1DataType.html#a24">H5::DataType</a></ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>valueOf()
+: <a class="el" href="classH5_1_1EnumType.html#a11">H5::EnumType</a><li>VarLenType()
+: <a class="el" href="classH5_1_1VarLenType.html#b0">H5::VarLenType</a><li>vlenReclaim()
+: <a class="el" href="classH5_1_1DataSet.html#e1">H5::DataSet</a></ul>
+<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<li>walkErrorStack()
+: <a class="el" href="classH5_1_1Exception.html#e4">H5::Exception</a><li>write()
+: <a class="el" href="classH5_1_1DataSet.html#a13">H5::DataSet</a>, <a class="el" href="classH5_1_1Attribute.html#a9">H5::Attribute</a></ul>
+<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<li>~AbstractDs()
+: <a class="el" href="classH5_1_1AbstractDs.html#a12">H5::AbstractDs</a><li>~ArrayType()
+: <a class="el" href="classH5_1_1ArrayType.html#a6">H5::ArrayType</a><li>~AtomType()
+: <a class="el" href="classH5_1_1AtomType.html#a12">H5::AtomType</a><li>~Attribute()
+: <a class="el" href="classH5_1_1Attribute.html#a14">H5::Attribute</a><li>~AttributeIException()
+: <a class="el" href="classH5_1_1AttributeIException.html#a2">H5::AttributeIException</a><li>~CommonFG()
+: <a class="el" href="classH5_1_1CommonFG.html#a56">H5::CommonFG</a><li>~CompType()
+: <a class="el" href="classH5_1_1CompType.html#a22">H5::CompType</a><li>~DataSet()
+: <a class="el" href="classH5_1_1DataSet.html#a25">H5::DataSet</a><li>~DataSetIException()
+: <a class="el" href="classH5_1_1DataSetIException.html#a2">H5::DataSetIException</a><li>~DataSpace()
+: <a class="el" href="classH5_1_1DataSpace.html#a28">H5::DataSpace</a><li>~DataSpaceIException()
+: <a class="el" href="classH5_1_1DataSpaceIException.html#a2">H5::DataSpaceIException</a><li>~DataType()
+: <a class="el" href="classH5_1_1DataType.html#a38">H5::DataType</a><li>~DataTypeIException()
+: <a class="el" href="classH5_1_1DataTypeIException.html#a2">H5::DataTypeIException</a><li>~DSetCreatPropList()
+: <a class="el" href="classH5_1_1DSetCreatPropList.html#a29">H5::DSetCreatPropList</a><li>~DSetMemXferPropList()
+: <a class="el" href="classH5_1_1DSetMemXferPropList.html#a21">H5::DSetMemXferPropList</a><li>~EnumType()
+: <a class="el" href="classH5_1_1EnumType.html#a16">H5::EnumType</a><li>~Exception()
+: <a class="el" href="classH5_1_1Exception.html#a10">H5::Exception</a><li>~FileAccPropList()
+: <a class="el" href="classH5_1_1FileAccPropList.html#a33">H5::FileAccPropList</a><li>~FileCreatPropList()
+: <a class="el" href="classH5_1_1FileCreatPropList.html#a13">H5::FileCreatPropList</a><li>~FileIException()
+: <a class="el" href="classH5_1_1FileIException.html#a2">H5::FileIException</a><li>~FloatType()
+: <a class="el" href="classH5_1_1FloatType.html#a14">H5::FloatType</a><li>~Group()
+: <a class="el" href="classH5_1_1Group.html#a12">H5::Group</a><li>~GroupIException()
+: <a class="el" href="classH5_1_1GroupIException.html#a2">H5::GroupIException</a><li>~H5File()
+: <a class="el" href="classH5_1_1H5File.html#a28">H5::H5File</a><li>~H5Object()
+: <a class="el" href="classH5_1_1H5Object.html#a14">H5::H5Object</a><li>~IdComponent()
+: <a class="el" href="classH5_1_1IdComponent.html#a15">H5::IdComponent</a><li>~IdComponentException()
+: <a class="el" href="classH5_1_1IdComponentException.html#a2">H5::IdComponentException</a><li>~IntType()
+: <a class="el" href="classH5_1_1IntType.html#a8">H5::IntType</a><li>~LibraryIException()
+: <a class="el" href="classH5_1_1LibraryIException.html#a2">H5::LibraryIException</a><li>~PredType()
+: <a class="el" href="classH5_1_1PredType.html#a3">H5::PredType</a><li>~PropList()
+: <a class="el" href="classH5_1_1PropList.html#a33">H5::PropList</a><li>~PropListIException()
+: <a class="el" href="classH5_1_1PropListIException.html#a2">H5::PropListIException</a><li>~ReferenceException()
+: <a class="el" href="classH5_1_1ReferenceException.html#a2">H5::ReferenceException</a><li>~StrType()
+: <a class="el" href="classH5_1_1StrType.html#a12">H5::StrType</a><li>~VarLenType()
+: <a class="el" href="classH5_1_1VarLenType.html#a4">H5::VarLenType</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/functions_vars.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/functions_vars.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/functions_vars.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindexHL" href="functions_vars.html">Variables</a></div>
 <div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_u">u</a></div>
 
@@ -374,8 +391,7 @@
 : <a class="el" href="classH5_1_1PredType.html#s41">H5::PredType</a><li>INTEL_U32
 : <a class="el" href="classH5_1_1PredType.html#s42">H5::PredType</a><li>INTEL_U64
 : <a class="el" href="classH5_1_1PredType.html#s43">H5::PredType</a><li>INTEL_U8
-: <a class="el" href="classH5_1_1PredType.html#s40">H5::PredType</a><li>is_predtype
-: <a class="el" href="classH5_1_1DataType.html#p0">H5::DataType</a></ul>
+: <a class="el" href="classH5_1_1PredType.html#s40">H5::PredType</a></ul>
 <h3><a class="anchor" name="index_m">- m -</a></h3><ul>
 <li>MIPS_B16
 : <a class="el" href="classH5_1_1PredType.html#s73">H5::PredType</a><li>MIPS_B32
@@ -406,18 +422,10 @@
 : <a class="el" href="classH5_1_1PredType.html#s97">H5::PredType</a><li>NATIVE_HSSIZE
 : <a class="el" href="classH5_1_1PredType.html#s98">H5::PredType</a><li>NATIVE_INT
 : <a class="el" href="classH5_1_1PredType.html#s83">H5::PredType</a><li>NATIVE_INT16
-: <a class="el" href="classH5_1_1PredType.html#s107">H5::PredType</a><li>NATIVE_INT32
-: <a class="el" href="classH5_1_1PredType.html#s113">H5::PredType</a><li>NATIVE_INT64
-: <a class="el" href="classH5_1_1PredType.html#s119">H5::PredType</a><li>NATIVE_INT8
-: <a class="el" href="classH5_1_1PredType.html#s101">H5::PredType</a><li>NATIVE_INT_FAST16
-: <a class="el" href="classH5_1_1PredType.html#s111">H5::PredType</a><li>NATIVE_INT_FAST32
-: <a class="el" href="classH5_1_1PredType.html#s117">H5::PredType</a><li>NATIVE_INT_FAST64
-: <a class="el" href="classH5_1_1PredType.html#s123">H5::PredType</a><li>NATIVE_INT_FAST8
-: <a class="el" href="classH5_1_1PredType.html#s105">H5::PredType</a><li>NATIVE_INT_LEAST16
-: <a class="el" href="classH5_1_1PredType.html#s109">H5::PredType</a><li>NATIVE_INT_LEAST32
-: <a class="el" href="classH5_1_1PredType.html#s115">H5::PredType</a><li>NATIVE_INT_LEAST64
-: <a class="el" href="classH5_1_1PredType.html#s121">H5::PredType</a><li>NATIVE_INT_LEAST8
-: <a class="el" href="classH5_1_1PredType.html#s103">H5::PredType</a><li>NATIVE_LDOUBLE
+: <a class="el" href="classH5_1_1PredType.html#s103">H5::PredType</a><li>NATIVE_INT32
+: <a class="el" href="classH5_1_1PredType.html#s105">H5::PredType</a><li>NATIVE_INT64
+: <a class="el" href="classH5_1_1PredType.html#s107">H5::PredType</a><li>NATIVE_INT8
+: <a class="el" href="classH5_1_1PredType.html#s101">H5::PredType</a><li>NATIVE_LDOUBLE
 : <a class="el" href="classH5_1_1PredType.html#s91">H5::PredType</a><li>NATIVE_LLONG
 : <a class="el" href="classH5_1_1PredType.html#s87">H5::PredType</a><li>NATIVE_LONG
 : <a class="el" href="classH5_1_1PredType.html#s85">H5::PredType</a><li>NATIVE_OPAQUE
@@ -426,18 +434,10 @@
 : <a class="el" href="classH5_1_1PredType.html#s81">H5::PredType</a><li>NATIVE_UCHAR
 : <a class="el" href="classH5_1_1PredType.html#s80">H5::PredType</a><li>NATIVE_UINT
 : <a class="el" href="classH5_1_1PredType.html#s84">H5::PredType</a><li>NATIVE_UINT16
-: <a class="el" href="classH5_1_1PredType.html#s108">H5::PredType</a><li>NATIVE_UINT32
-: <a class="el" href="classH5_1_1PredType.html#s114">H5::PredType</a><li>NATIVE_UINT64
-: <a class="el" href="classH5_1_1PredType.html#s120">H5::PredType</a><li>NATIVE_UINT8
-: <a class="el" href="classH5_1_1PredType.html#s102">H5::PredType</a><li>NATIVE_UINT_FAST16
-: <a class="el" href="classH5_1_1PredType.html#s112">H5::PredType</a><li>NATIVE_UINT_FAST32
-: <a class="el" href="classH5_1_1PredType.html#s118">H5::PredType</a><li>NATIVE_UINT_FAST64
-: <a class="el" href="classH5_1_1PredType.html#s124">H5::PredType</a><li>NATIVE_UINT_FAST8
-: <a class="el" href="classH5_1_1PredType.html#s106">H5::PredType</a><li>NATIVE_UINT_LEAST16
-: <a class="el" href="classH5_1_1PredType.html#s110">H5::PredType</a><li>NATIVE_UINT_LEAST32
-: <a class="el" href="classH5_1_1PredType.html#s116">H5::PredType</a><li>NATIVE_UINT_LEAST64
-: <a class="el" href="classH5_1_1PredType.html#s122">H5::PredType</a><li>NATIVE_UINT_LEAST8
-: <a class="el" href="classH5_1_1PredType.html#s104">H5::PredType</a><li>NATIVE_ULLONG
+: <a class="el" href="classH5_1_1PredType.html#s104">H5::PredType</a><li>NATIVE_UINT32
+: <a class="el" href="classH5_1_1PredType.html#s106">H5::PredType</a><li>NATIVE_UINT64
+: <a class="el" href="classH5_1_1PredType.html#s108">H5::PredType</a><li>NATIVE_UINT8
+: <a class="el" href="classH5_1_1PredType.html#s102">H5::PredType</a><li>NATIVE_ULLONG
 : <a class="el" href="classH5_1_1PredType.html#s88">H5::PredType</a><li>NATIVE_ULONG
 : <a class="el" href="classH5_1_1PredType.html#s86">H5::PredType</a><li>NATIVE_USHORT
 : <a class="el" href="classH5_1_1PredType.html#s82">H5::PredType</a></ul>
@@ -475,8 +475,8 @@
 : <a class="el" href="classH5_1_1PredType.html#s33">H5::PredType</a><li>UNIX_D64BE
 : <a class="el" href="classH5_1_1PredType.html#s34">H5::PredType</a><li>UNIX_D64LE
 : <a class="el" href="classH5_1_1PredType.html#s35">H5::PredType</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Copied: packages/hdf5/trunk/doc/html/cpplus_RM/globals.html (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/globals.html)
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/globals.html	                        (rev 0)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/globals.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml"
+xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 10">
+<meta name=Originator content="Microsoft Word 10">
+<link rel=File-List href="header_files/filelist.xml">
+<link rel=Edit-Time-Data href="header_files/editdata.mso">
+<!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]-->
+<title>Main Page</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>Randy Ribler</o:Author>
+  <o:Template>Normal</o:Template>
+  <o:LastAuthor>Randy Ribler</o:LastAuthor>
+  <o:Revision>6</o:Revision>
+  <o:TotalTime>16</o:TotalTime>
+  <o:Created>2004-07-23T05:34:00Z</o:Created>
+  <o:LastSaved>2004-07-23T06:03:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>5</o:Words>
+  <o:Characters>32</o:Characters>
+  <o:Company>LC</o:Company>
+  <o:Lines>1</o:Lines>
+  <o:Paragraphs>1</o:Paragraphs>
+  <o:CharactersWithSpaces>36</o:CharactersWithSpaces>
+  <o:Version>10.2625</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]-->
+<link rel=Stylesheet type="text/css" media=all href=RM_stylesheet.css>
+<style>
+<!--
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	mso-believe-normal-left:yes;}
+h1
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	mso-outline-level:1;
+	font-size:24.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+h2
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:2;
+	font-size:18.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+a:link, span.MsoHyperlink
+	{color:#252E78;
+	text-decoration:underline;
+	text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:#3D2185;
+	text-decoration:underline;
+	text-underline:single;}
+p
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+address
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	font-style:italic;}
+pre
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+	font-size:10.0pt;
+	font-family:"Courier New";
+	mso-fareast-font-family:"Times New Roman";}
+p.formuladsp, li.formuladsp, div.formuladsp
+	{mso-style-name:formuladsp;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdtable, li.mdtable, div.mdtable
+	{mso-style-name:mdtable;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	background:#F4F4FB;
+	border:none;
+	mso-border-alt:solid #868686 .75pt;
+	padding:0in;
+	mso-padding-alt:0in 0in 0in 0in;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdrow, li.mdrow, div.mdrow
+	{mso-style-name:mdrow;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdescleft, li.mdescleft, div.mdescleft
+	{mso-style-name:mdescleft;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.mdescright, li.mdescright, div.mdescright
+	{mso-style-name:mdescright;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.memitemleft, li.memitemleft, div.memitemleft
+	{mso-style-name:memitemleft;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:9.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.memitemright, li.memitemright, div.memitemright
+	{mso-style-name:memitemright;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.search, li.search, div.search
+	{mso-style-name:search;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-weight:bold;}
+ at page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Table Normal";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+table.MsoTableGrid
+	{mso-style-name:"Table Grid";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	border:solid windowtext 1.0pt;
+	mso-border-alt:solid windowtext .5pt;
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-border-insideh:.5pt solid windowtext;
+	mso-border-insidev:.5pt solid windowtext;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+</style>
+<![endif]--><![if mso 9]>
+<style>
+p.MsoNormal
+	{margin-left:15.0pt;}
+</style>
+<![endif]><!--[if gte mso 9]><xml>
+ <o:shapedefaults v:ext="edit" spidmax="4098">
+  <o:colormru v:ext="edit" colors="#060"/>
+  <o:colormenu v:ext="edit" strokecolor="#060"/>
+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
+ <o:shapelayout v:ext="edit">
+  <o:idmap v:ext="edit" data="1"/>
+ </o:shapelayout></xml><![endif]-->
+</head>
+
+<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
+.5in;margin-left:15.0pt;margin-right:15.0pt'>
+
+<div class=Section1>
+
+<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
+0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
+ path="m at 4@5l at 4@11 at 9@11 at 9@5xe" filled="f" stroked="f">
+ <v:stroke joinstyle="miter"/>
+ <v:formulas>
+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
+  <v:f eqn="sum @0 1 0"/>
+  <v:f eqn="sum 0 0 @1"/>
+  <v:f eqn="prod @2 1 2"/>
+  <v:f eqn="prod @3 21600 pixelWidth"/>
+  <v:f eqn="prod @3 21600 pixelHeight"/>
+  <v:f eqn="sum @0 0 1"/>
+  <v:f eqn="prod @6 1 2"/>
+  <v:f eqn="prod @7 21600 pixelWidth"/>
+  <v:f eqn="sum @8 21600 0"/>
+  <v:f eqn="prod @7 21600 pixelHeight"/>
+  <v:f eqn="sum @10 21600 0"/>
+ </v:formulas>
+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
+ <o:lock v:ext="edit" aspectratio="t"/>
+</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
+ left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
+ z-index:1'>
+ <v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
+</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
+absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
+height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
+style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
+style='font-size:22.0pt'><o:p></o:p></span></b></p>
+
+<div align=center>
+
+<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
+ style='margin-left:103.45pt;border-collapse:collapse;border:none;mso-border-bottom-alt:
+ solid #006600 2.25pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
+  <td width=443 valign=top style='width:332.6pt;border:none;border-bottom:solid #006600 2.25pt;
+  padding:0in 5.4pt 0in 5.4pt;height:29.25pt'>
+  <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
+  style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b></p>
+  </td>
+ </tr>
+</table>
+
+</div>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+</div>
+
+</body>
+
+</html>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<div class="qindex"><a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
+
+<p>
+Here is a list of all file members with links to the files they belong to:<ul>
+<li>H5std_string
+: <a class="el" href="H5Exception_8h.html#a0">H5Exception.h</a><li>HOFFSET
+: <a class="el" href="H5Cpp_8h.html#a0">H5Cpp.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
+</body>
+</html>

Copied: packages/hdf5/trunk/doc/html/cpplus_RM/globals_defs.html (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/cpplus_RM/globals_defs.html)
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/globals_defs.html	                        (rev 0)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/globals_defs.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml"
+xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 10">
+<meta name=Originator content="Microsoft Word 10">
+<link rel=File-List href="header_files/filelist.xml">
+<link rel=Edit-Time-Data href="header_files/editdata.mso">
+<!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]-->
+<title>Main Page</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>Randy Ribler</o:Author>
+  <o:Template>Normal</o:Template>
+  <o:LastAuthor>Randy Ribler</o:LastAuthor>
+  <o:Revision>6</o:Revision>
+  <o:TotalTime>16</o:TotalTime>
+  <o:Created>2004-07-23T05:34:00Z</o:Created>
+  <o:LastSaved>2004-07-23T06:03:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>5</o:Words>
+  <o:Characters>32</o:Characters>
+  <o:Company>LC</o:Company>
+  <o:Lines>1</o:Lines>
+  <o:Paragraphs>1</o:Paragraphs>
+  <o:CharactersWithSpaces>36</o:CharactersWithSpaces>
+  <o:Version>10.2625</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]-->
+<link rel=Stylesheet type="text/css" media=all href=RM_stylesheet.css>
+<style>
+<!--
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	mso-believe-normal-left:yes;}
+h1
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	mso-outline-level:1;
+	font-size:24.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+h2
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:2;
+	font-size:18.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+a:link, span.MsoHyperlink
+	{color:#252E78;
+	text-decoration:underline;
+	text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:#3D2185;
+	text-decoration:underline;
+	text-underline:single;}
+p
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+address
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	font-style:italic;}
+pre
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+	font-size:10.0pt;
+	font-family:"Courier New";
+	mso-fareast-font-family:"Times New Roman";}
+p.formuladsp, li.formuladsp, div.formuladsp
+	{mso-style-name:formuladsp;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdtable, li.mdtable, div.mdtable
+	{mso-style-name:mdtable;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	background:#F4F4FB;
+	border:none;
+	mso-border-alt:solid #868686 .75pt;
+	padding:0in;
+	mso-padding-alt:0in 0in 0in 0in;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdrow, li.mdrow, div.mdrow
+	{mso-style-name:mdrow;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdescleft, li.mdescleft, div.mdescleft
+	{mso-style-name:mdescleft;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.mdescright, li.mdescright, div.mdescright
+	{mso-style-name:mdescright;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.memitemleft, li.memitemleft, div.memitemleft
+	{mso-style-name:memitemleft;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:9.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.memitemright, li.memitemright, div.memitemright
+	{mso-style-name:memitemright;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.search, li.search, div.search
+	{mso-style-name:search;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-weight:bold;}
+ at page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Table Normal";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+table.MsoTableGrid
+	{mso-style-name:"Table Grid";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	border:solid windowtext 1.0pt;
+	mso-border-alt:solid windowtext .5pt;
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-border-insideh:.5pt solid windowtext;
+	mso-border-insidev:.5pt solid windowtext;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+</style>
+<![endif]--><![if mso 9]>
+<style>
+p.MsoNormal
+	{margin-left:15.0pt;}
+</style>
+<![endif]><!--[if gte mso 9]><xml>
+ <o:shapedefaults v:ext="edit" spidmax="4098">
+  <o:colormru v:ext="edit" colors="#060"/>
+  <o:colormenu v:ext="edit" strokecolor="#060"/>
+ </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
+ <o:shapelayout v:ext="edit">
+  <o:idmap v:ext="edit" data="1"/>
+ </o:shapelayout></xml><![endif]-->
+</head>
+
+<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
+.5in;margin-left:15.0pt;margin-right:15.0pt'>
+
+<div class=Section1>
+
+<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
+0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
+ path="m at 4@5l at 4@11 at 9@11 at 9@5xe" filled="f" stroked="f">
+ <v:stroke joinstyle="miter"/>
+ <v:formulas>
+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
+  <v:f eqn="sum @0 1 0"/>
+  <v:f eqn="sum 0 0 @1"/>
+  <v:f eqn="prod @2 1 2"/>
+  <v:f eqn="prod @3 21600 pixelWidth"/>
+  <v:f eqn="prod @3 21600 pixelHeight"/>
+  <v:f eqn="sum @0 0 1"/>
+  <v:f eqn="prod @6 1 2"/>
+  <v:f eqn="prod @7 21600 pixelWidth"/>
+  <v:f eqn="sum @8 21600 0"/>
+  <v:f eqn="prod @7 21600 pixelHeight"/>
+  <v:f eqn="sum @10 21600 0"/>
+ </v:formulas>
+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
+ <o:lock v:ext="edit" aspectratio="t"/>
+</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
+ left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
+ z-index:1'>
+ <v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
+</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
+absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
+height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
+style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
+style='font-size:22.0pt'><o:p></o:p></span></b></p>
+
+<div align=center>
+
+<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
+ style='margin-left:103.45pt;border-collapse:collapse;border:none;mso-border-bottom-alt:
+ solid #006600 2.25pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
+  <td width=443 valign=top style='width:332.6pt;border:none;border-bottom:solid #006600 2.25pt;
+  padding:0in 5.4pt 0in 5.4pt;height:29.25pt'>
+  <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
+  style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b></p>
+  </td>
+ </tr>
+</table>
+
+</div>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+</div>
+
+</body>
+
+</html>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_defs.html">Defines</a></div>
+
+<p>
+<ul>
+<li>H5std_string
+: <a class="el" href="H5Exception_8h.html#a0">H5Exception.h</a><li>HOFFSET
+: <a class="el" href="H5Cpp_8h.html#a0">H5Cpp.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:57:00 2007 by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
+</body>
+</html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/h5group_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/h5group_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/h5group_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>h5group.cpp</h1><dl compact><dt><b></b></dt><dd>This example shows how to work with groups.</dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">/*</span>
@@ -345,20 +363,27 @@
 <span class="comment"> * Note that the C++ API iterator function is not completed yet, thus</span>
 <span class="comment"> * the C version is used in this example.</span>
 <span class="comment"> */</span>
-<span class="preprocessor">#include &lt;string&gt;</span>
-
 <span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+<span class="preprocessor"></span><span class="preprocessor">#ifndef H5_NO_STD</span>
+<span class="preprocessor"></span>    <span class="keyword">using</span> std::cout;
+    <span class="keyword">using</span> std::endl;
+<span class="preprocessor">#endif  // H5_NO_STD</span>
+<span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+
+<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string    FILE_NAME( <span class="stringliteral">"Group.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a>      FILE_NAME( <span class="stringliteral">"Group.h5"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>       RANK = 2;
 
 <span class="comment">// Operator function</span>
@@ -377,7 +402,7 @@
 <span class="comment">       * Turn off the auto-printing when failure occurs so that we can</span>
 <span class="comment">       * handle the errors appropriately</span>
 <span class="comment">       */</span>
-      <a name="a6"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
+      <a name="a4"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
 
       <span class="comment">/*</span>
 <span class="comment">       * Create the named file, truncating the existing one if any,</span>
@@ -546,8 +571,8 @@
     <span class="keywordflow">return</span> 0;
  }
 
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/header.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/header.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/header.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,316 +1,316 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 10">
-<meta name=Originator content="Microsoft Word 10">
-<link rel=File-List href="header_files/filelist.xml">
-<link rel=Edit-Time-Data href="header_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]-->
-<title>Main Page</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>Randy Ribler</o:Author>
-  <o:Template>Normal</o:Template>
-  <o:LastAuthor>Randy Ribler</o:LastAuthor>
-  <o:Revision>3</o:Revision>
-  <o:TotalTime>9</o:TotalTime>
-  <o:Created>2004-07-23T05:34:00Z</o:Created>
-  <o:LastSaved>2004-07-23T05:51:00Z</o:LastSaved>
-  <o:Pages>1</o:Pages>
-  <o:Words>5</o:Words>
-  <o:Characters>30</o:Characters>
-  <o:Company>LC</o:Company>
-  <o:Lines>1</o:Lines>
-  <o:Paragraphs>1</o:Paragraphs>
-  <o:CharactersWithSpaces>34</o:CharactersWithSpaces>
-  <o:Version>10.2625</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:SpellingState>Clean</w:SpellingState>
-  <w:GrammarState>Clean</w:GrammarState>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
-</xml><![endif]-->
-<link rel=Stylesheet type="text/css" media=all href=doxygen.css>
-<style>
-<!--
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	mso-believe-normal-left:yes;}
-h1
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:widow-orphan;
-	mso-outline-level:1;
-	font-size:24.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-h2
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:2;
-	font-size:18.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-a:link, span.MsoHyperlink
-	{color:#252E78;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{color:#3D2185;
-	text-decoration:underline;
-	text-underline:single;}
-p
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-address
-	{margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	font-style:italic;}
-pre
-	{margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
-	font-size:10.0pt;
-	font-family:"Courier New";
-	mso-fareast-font-family:"Times New Roman";}
-p.formuladsp, li.formuladsp, div.formuladsp
-	{mso-style-name:formuladsp;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	text-align:center;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.mdtable, li.mdtable, div.mdtable
-	{mso-style-name:mdtable;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	background:#F4F4FB;
-	border:none;
-	mso-border-alt:solid #868686 .75pt;
-	padding:0in;
-	mso-padding-alt:0in 0in 0in 0in;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.mdrow, li.mdrow, div.mdrow
-	{mso-style-name:mdrow;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.mdescleft, li.mdescleft, div.mdescleft
-	{mso-style-name:mdescleft;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	font-size:10.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	font-style:italic;}
-p.mdescright, li.mdescright, div.mdescright
-	{mso-style-name:mdescright;
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	font-size:10.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	font-style:italic;}
-p.memitemleft, li.memitemleft, div.memitemleft
-	{mso-style-name:memitemleft;
-	margin:3.0pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	border:none;
-	mso-border-top-alt:solid #E0E0E0 .75pt;
-	padding:0in;
-	mso-padding-alt:1.0pt 0in 0in 0in;
-	font-size:9.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.memitemright, li.memitemright, div.memitemright
-	{mso-style-name:memitemright;
-	margin:3.0pt;
-	mso-pagination:widow-orphan;
-	background:#FAFAFA;
-	border:none;
-	mso-border-top-alt:solid #E0E0E0 .75pt;
-	padding:0in;
-	mso-padding-alt:1.0pt 0in 0in 0in;
-	font-size:10.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.search, li.search, div.search
-	{mso-style-name:search;
-	mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";
-	font-weight:bold;}
- at page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Times New Roman";}
-table.MsoTableGrid
-	{mso-style-name:"Table Grid";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	border:solid windowtext 1.0pt;
-	mso-border-alt:solid windowtext .5pt;
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-border-insideh:.5pt solid windowtext;
-	mso-border-insidev:.5pt solid windowtext;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Times New Roman";}
-</style>
-<![endif]--><![if mso 9]>
-<style>
-p.MsoNormal
-	{margin-left:15.0pt;}
-</style>
-<![endif]><!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="3074"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
-  <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
-.5in;margin-left:15.0pt;margin-right:15.0pt'>
-
-<div class=Section1>
-
-<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
-0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
- id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
- path="m at 4@5l at 4@11 at 9@11 at 9@5xe" filled="f" stroked="f">
- <v:stroke joinstyle="miter"/>
- <v:formulas>
-  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
-  <v:f eqn="sum @0 1 0"/>
-  <v:f eqn="sum 0 0 @1"/>
-  <v:f eqn="prod @2 1 2"/>
-  <v:f eqn="prod @3 21600 pixelWidth"/>
-  <v:f eqn="prod @3 21600 pixelHeight"/>
-  <v:f eqn="sum @0 0 1"/>
-  <v:f eqn="prod @6 1 2"/>
-  <v:f eqn="prod @7 21600 pixelWidth"/>
-  <v:f eqn="sum @8 21600 0"/>
-  <v:f eqn="prod @7 21600 pixelHeight"/>
-  <v:f eqn="sum @10 21600 0"/>
- </v:formulas>
- <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
- <o:lock v:ext="edit" aspectratio="t"/>
-</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
- left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
- z-index:1'>
- <v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
-</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
-absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
-height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
-style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
-style='font-size:22.0pt'><o:p></o:p></span></b></p>
-
-<div align=center>
-
-<table class=MsoTableGrid border=0 cellspacing=0 cellpadding=0
- style='margin-left:103.45pt;border-collapse:collapse;mso-yfti-tbllook:480;
- mso-padding-alt:0in 5.4pt 0in 5.4pt'>
- <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
-  <td width=443 valign=top style='width:332.6pt;padding:0in 5.4pt 0in 5.4pt;
-  height:29.25pt'>
-  <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
-  style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b><o:p></o:p></p>
-  </td>
- </tr>
-</table>
-
-</div>
-
-<p class=MsoNormal><o:p>&nbsp;</o:p></p>
-
-</div>
-
-</body>
-
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html xmlns:v="urn:schemas-microsoft-com:vml"
+xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<meta name=ProgId content=Word.Document>
+<meta name=Generator content="Microsoft Word 10">
+<meta name=Originator content="Microsoft Word 10">
+<link rel=File-List href="header_files/filelist.xml">
+<link rel=Edit-Time-Data href="header_files/editdata.mso">
+<!--[if !mso]>
+<style>
+v\:* {behavior:url(#default#VML);}
+o\:* {behavior:url(#default#VML);}
+w\:* {behavior:url(#default#VML);}
+.shape {behavior:url(#default#VML);}
+</style>
+<![endif]-->
+<title>Main Page</title>
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>Randy Ribler</o:Author>
+  <o:Template>Normal</o:Template>
+  <o:LastAuthor>Randy Ribler</o:LastAuthor>
+  <o:Revision>3</o:Revision>
+  <o:TotalTime>9</o:TotalTime>
+  <o:Created>2004-07-23T05:34:00Z</o:Created>
+  <o:LastSaved>2004-07-23T05:51:00Z</o:LastSaved>
+  <o:Pages>1</o:Pages>
+  <o:Words>5</o:Words>
+  <o:Characters>30</o:Characters>
+  <o:Company>LC</o:Company>
+  <o:Lines>1</o:Lines>
+  <o:Paragraphs>1</o:Paragraphs>
+  <o:CharactersWithSpaces>34</o:CharactersWithSpaces>
+  <o:Version>10.2625</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+  <w:SpellingState>Clean</w:SpellingState>
+  <w:GrammarState>Clean</w:GrammarState>
+  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
+ </w:WordDocument>
+</xml><![endif]-->
+<link rel=Stylesheet type="text/css" media=all href=doxygen.css>
+<style>
+<!--
+ /* Style Definitions */
+ p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	mso-believe-normal-left:yes;}
+h1
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	mso-outline-level:1;
+	font-size:24.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+h2
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	mso-outline-level:2;
+	font-size:18.0pt;
+	font-family:"Times New Roman";
+	font-weight:bold;}
+a:link, span.MsoHyperlink
+	{color:#252E78;
+	text-decoration:underline;
+	text-underline:single;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:#3D2185;
+	text-decoration:underline;
+	text-underline:single;}
+p
+	{mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+address
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	font-style:italic;}
+pre
+	{margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+	font-size:10.0pt;
+	font-family:"Courier New";
+	mso-fareast-font-family:"Times New Roman";}
+p.formuladsp, li.formuladsp, div.formuladsp
+	{mso-style-name:formuladsp;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	text-align:center;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdtable, li.mdtable, div.mdtable
+	{mso-style-name:mdtable;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	background:#F4F4FB;
+	border:none;
+	mso-border-alt:solid #868686 .75pt;
+	padding:0in;
+	mso-padding-alt:0in 0in 0in 0in;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdrow, li.mdrow, div.mdrow
+	{mso-style-name:mdrow;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.mdescleft, li.mdescleft, div.mdescleft
+	{mso-style-name:mdescleft;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.mdescright, li.mdescright, div.mdescright
+	{mso-style-name:mdescright;
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-style:italic;}
+p.memitemleft, li.memitemleft, div.memitemleft
+	{mso-style-name:memitemleft;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:9.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.memitemright, li.memitemright, div.memitemright
+	{mso-style-name:memitemright;
+	margin:3.0pt;
+	mso-pagination:widow-orphan;
+	background:#FAFAFA;
+	border:none;
+	mso-border-top-alt:solid #E0E0E0 .75pt;
+	padding:0in;
+	mso-padding-alt:1.0pt 0in 0in 0in;
+	font-size:10.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";}
+p.search, li.search, div.search
+	{mso-style-name:search;
+	mso-margin-top-alt:auto;
+	margin-right:0in;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	mso-fareast-font-family:"Times New Roman";
+	font-weight:bold;}
+ at page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+<!--[if gte mso 10]>
+<style>
+ /* Style Definitions */
+ table.MsoNormalTable
+	{mso-style-name:"Table Normal";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	mso-style-noshow:yes;
+	mso-style-parent:"";
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+table.MsoTableGrid
+	{mso-style-name:"Table Grid";
+	mso-tstyle-rowband-size:0;
+	mso-tstyle-colband-size:0;
+	border:solid windowtext 1.0pt;
+	mso-border-alt:solid windowtext .5pt;
+	mso-padding-alt:0in 5.4pt 0in 5.4pt;
+	mso-border-insideh:.5pt solid windowtext;
+	mso-border-insidev:.5pt solid windowtext;
+	mso-para-margin:0in;
+	mso-para-margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:10.0pt;
+	font-family:"Times New Roman";}
+</style>
+<![endif]--><![if mso 9]>
+<style>
+p.MsoNormal
+	{margin-left:15.0pt;}
+</style>
+<![endif]><!--[if gte mso 9]><xml>
+ <o:shapedefaults v:ext="edit" spidmax="3074"/>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <o:shapelayout v:ext="edit">
+  <o:idmap v:ext="edit" data="1"/>
+ </o:shapelayout></xml><![endif]-->
+</head>
+
+<body bgcolor=white lang=EN-US link="#252E78" vlink="#3D2185" style='tab-interval:
+.5in;margin-left:15.0pt;margin-right:15.0pt'>
+
+<div class=Section1>
+
+<p class=MsoNormal style='margin-top:0in;margin-right:15.0pt;margin-bottom:
+0in;margin-left:15.0pt;margin-bottom:.0001pt'><!--[if gte vml 1]><v:shapetype
+ id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
+ path="m at 4@5l at 4@11 at 9@11 at 9@5xe" filled="f" stroked="f">
+ <v:stroke joinstyle="miter"/>
+ <v:formulas>
+  <v:f eqn="if lineDrawn pixelLineWidth 0"/>
+  <v:f eqn="sum @0 1 0"/>
+  <v:f eqn="sum 0 0 @1"/>
+  <v:f eqn="prod @2 1 2"/>
+  <v:f eqn="prod @3 21600 pixelWidth"/>
+  <v:f eqn="prod @3 21600 pixelHeight"/>
+  <v:f eqn="sum @0 0 1"/>
+  <v:f eqn="prod @6 1 2"/>
+  <v:f eqn="prod @7 21600 pixelWidth"/>
+  <v:f eqn="sum @8 21600 0"/>
+  <v:f eqn="prod @7 21600 pixelHeight"/>
+  <v:f eqn="sum @10 21600 0"/>
+ </v:formulas>
+ <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
+ <o:lock v:ext="edit" aspectratio="t"/>
+</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute;
+ left:0;text-align:left;margin-left:30pt;margin-top:9pt;width:72.75pt;height:57.75pt;
+ z-index:1'>
+ <v:imagedata src="header_files/image001.jpg" o:title="NCSAlogo"/>
+</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position:
+absolute;z-index:1;left:0px;margin-left:40px;margin-top:12px;width:97px;
+height:77px'><img width=97 height=77 src="header_files/image002.jpg" v:shapes="_x0000_s1026"></span><![endif]><span
+style='mso-spacerun:yes'> </span><b style='mso-bidi-font-weight:normal'><span
+style='font-size:22.0pt'><o:p></o:p></span></b></p>
+
+<div align=center>
+
+<table class=MsoTableGrid border=0 cellspacing=0 cellpadding=0
+ style='margin-left:103.45pt;border-collapse:collapse;mso-yfti-tbllook:480;
+ mso-padding-alt:0in 5.4pt 0in 5.4pt'>
+ <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:29.25pt'>
+  <td width=443 valign=top style='width:332.6pt;padding:0in 5.4pt 0in 5.4pt;
+  height:29.25pt'>
+  <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
+  style='font-size:22.0pt'>HDF5 C++ API Reference Manual</span></b><o:p></o:p></p>
+  </td>
+ </tr>
+</table>
+
+</div>
+
+<p class=MsoNormal><o:p>&nbsp;</o:p></p>
+
+</div>
+
+</body>
+
+</html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/header_files/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/header_files/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/header_files/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,18 @@
 # HDF5 Library Makefile(.in)
 #
-# Copyright (C) 2001 National Center for Supercomputing Applications.
-#                    All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
 #
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
 # 
 top_srcdir=@top_srcdir@
 top_builddir=../../..

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/header_files/filelist.xml
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/header_files/filelist.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/header_files/filelist.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,6 @@
-<xml xmlns:o="urn:schemas-microsoft-com:office:office">
- <o:MainFile HRef="../header.html"/>
- <o:File HRef="image001.jpg"/>
- <o:File HRef="image002.jpg"/>
- <o:File HRef="filelist.xml"/>
+<xml xmlns:o="urn:schemas-microsoft-com:office:office">
+ <o:MainFile HRef="../header.html"/>
+ <o:File HRef="image001.jpg"/>
+ <o:File HRef="image002.jpg"/>
+ <o:File HRef="filelist.xml"/>
 </xml>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/hierarchy.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/hierarchy.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/hierarchy.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,8 +337,8 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindexHL" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindexHL" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
 <li><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a>
 <ul>
@@ -378,8 +395,8 @@
 </ul>
 </ul>
 </ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/index.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/index.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/index.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,15 +337,16 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindexHL" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindexHL" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1></h1>
 <p>
 <h2><a class="anchor" name="intro_sec">
 Introduction</a></h2>
-The C++ API provides C++ wrappers for the HDF5 C library. It is assumed that the user has knowledge of the HDF5 file format and its components. If you are not familiar with HDF5 file format, and would like to find out more, please refer to the HDF5 documentation at <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/H5.intro.html">http://hdf.ncsa.uiuc.edu/HDF5/doc/H5.intro.html</a><p>
+The C++ API provides C++ wrappers for the HDF5 C library. It is assumed that the user has knowledge of the HDF5 file format and its components. If you are not familiar with HDF5 file format, and would like to find out more, please refer to the HDF5 documentation at <a href="http://hdfgroup.org/HDF5/doc/index.html">http://hdfgroup.org/HDF5/doc/index.html</a><p>
 Because the HDF5 library maps very well to the object oriented design approach, classes in the C++ API can closely represent the interfaces of the HDF5 APIs, as followed:<p>
-<div class="fragment"><pre class="fragment"> 	HDF5 C APIs				C++ Classes
+<div class="fragment"><pre class="fragment">
+ 	HDF5 C APIs				C++ Classes
  	-----------				-----------
  	Attribute Interface (H5A)		Attribute
  	Datasets Interface (H5D)		DataSet
@@ -339,10 +357,10 @@
  	Property List Interface (H5P)		PropList and subclasses
  	Dataspace Interface (H5S)		DataSpace
  	Datatype Interface (H5T)		DataType and subclasses
-  </pre></div> <h2><a class="anchor" name="install_sec">
+  </pre></div><h2><a class="anchor" name="install_sec">
 Installation</a></h2>
-Please refer to the file release_docs/INSTALL_Windows_withcpp.txt under the top directory for information about installing, building, and testing the C++ API. <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+Please refer to the file release_docs/INSTALL_Windows.txt under the top directory for information about installing, building, and testing the C++ API. <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:58 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/namespaceH5.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/namespaceH5.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/namespaceH5.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,88 +337,88 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>H5 Namespace Reference</h1>
 <p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html">AbstractDs</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AbstractDs.html">H5::AbstractDs</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html">ArrayType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ArrayType.html">H5::ArrayType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html">AtomType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AtomType.html">H5::AtomType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html">Attribute</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Attribute.html">H5::Attribute</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html">CommonFG</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CommonFG.html">H5::CommonFG</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html">CompType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1CompType.html">H5::CompType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html">DataSet</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSet.html">H5::DataSet</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html">DataSpace</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpace.html">H5::DataSpace</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html">DataType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataType.html">H5::DataType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html">DSetCreatPropList</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetCreatPropList.html">H5::DSetCreatPropList</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html">DSetMemXferPropList</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DSetMemXferPropList.html">H5::DSetMemXferPropList</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html">EnumType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1EnumType.html">H5::EnumType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html">Exception</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Exception.html">H5::Exception</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileIException.html">FileIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileIException.html">H5::FileIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1GroupIException.html">GroupIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1GroupIException.html">H5::GroupIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpaceIException.html">DataSpaceIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSpaceIException.html">H5::DataSpaceIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataTypeIException.html">DataTypeIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataTypeIException.html">H5::DataTypeIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropListIException.html">PropListIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropListIException.html">H5::PropListIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSetIException.html">DataSetIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1DataSetIException.html">H5::DataSetIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AttributeIException.html">AttributeIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1AttributeIException.html">H5::AttributeIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ReferenceException.html">ReferenceException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1ReferenceException.html">H5::ReferenceException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1LibraryIException.html">LibraryIException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1LibraryIException.html">H5::LibraryIException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponentException.html">IdComponentException</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponentException.html">H5::IdComponentException</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html">FileAccPropList</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileAccPropList.html">H5::FileAccPropList</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html">FileCreatPropList</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FileCreatPropList.html">H5::FileCreatPropList</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html">H5File</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5File.html">H5::H5File</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html">FloatType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1FloatType.html">H5::FloatType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html">Group</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1Group.html">H5::Group</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html">IdComponent</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IdComponent.html">H5::IdComponent</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html">IntType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1IntType.html">H5::IntType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html">H5Library</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Library.html">H5::H5Library</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html">H5Object</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1H5Object.html">H5::H5Object</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html">PredType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PredType.html">H5::PredType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html">PropList</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1PropList.html">H5::PropList</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html">StrType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1StrType.html">H5::StrType</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html">VarLenType</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classH5_1_1VarLenType.html">H5::VarLenType</a></td></tr>
 
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/namespaces.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/namespaces.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/namespaces.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,14 +337,13 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindexHL" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindexHL" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
   <tr><td class="indexkey"><a class="el" href="namespaceH5.html">H5</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
 </table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:48 2005 by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/readdata_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/readdata_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/readdata_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>readdata.cpp</h1><dl compact><dt><b></b></dt><dd>This example shows how to read datasets.</dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">//</span>
@@ -343,21 +361,28 @@
 <span class="comment">//      information about the dataset in the SDS.h5 file is obtained.</span>
 <span class="comment">//</span>
 
-<span class="preprocessor">#include &lt;string&gt;</span>
-
 <span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+<span class="preprocessor"></span><span class="preprocessor">#ifndef H5_NO_STD</span>
+<span class="preprocessor"></span>    <span class="keyword">using</span> std::cout;
+    <span class="keyword">using</span> std::endl;
+<span class="preprocessor">#endif  // H5_NO_STD</span>
+<span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+
+<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string FILE_NAME( <span class="stringliteral">"SDS.h5"</span> );
-<span class="keyword">const</span> string DATASET_NAME( <span class="stringliteral">"IntArray"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> FILE_NAME( <span class="stringliteral">"SDS.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> DATASET_NAME( <span class="stringliteral">"IntArray"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>    NX_SUB = 3;        <span class="comment">// hyperslab dimensions</span>
 <span class="keyword">const</span> <span class="keywordtype">int</span>    NY_SUB = 4;
 <span class="keyword">const</span> <span class="keywordtype">int</span>    NX = 7;            <span class="comment">// output buffer dimensions</span>
@@ -390,7 +415,7 @@
 <span class="comment">       * Turn off the auto-printing when failure occurs so that we can</span>
 <span class="comment">       * handle the errors appropriately</span>
 <span class="comment">       */</span>
-      <a name="a7"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
+      <a name="a5"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
 
       <span class="comment">/*</span>
 <span class="comment">       * Open the specified file and the specified dataset in the file.</span>
@@ -418,7 +443,7 @@
          <span class="comment">/*</span>
 <span class="comment">          * Get order of datatype and print message if it's a little endian.</span>
 <span class="comment">          */</span>
-         string order_string;
+         <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> order_string;
          H5T_order_t order = intype.getOrder( order_string );
          cout &lt;&lt; order_string &lt;&lt; endl;
 
@@ -537,8 +562,8 @@
    <span class="keywordflow">return</span> 0;  <span class="comment">// successfully terminated</span>
 }
 
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:46 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/cpplus_RM/writedata_8cpp-example.html
===================================================================
--- packages/hdf5/trunk/doc/html/cpplus_RM/writedata_8cpp-example.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/cpplus_RM/writedata_8cpp-example.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,23 @@
 xmlns:w="urn:schemas-microsoft-com:office:word"
 xmlns="http://www.w3.org/TR/REC-html40">
 
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->
+
 <head>
 <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
 <meta name=ProgId content=Word.Document>
@@ -320,10 +337,11 @@
 </body>
 
 </html>
-<!-- Generated by Doxygen 1.4.2 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
 <h1>writedata.cpp</h1><dl compact><dt><b></b></dt><dd>This example shows how to write datasets.</dd></dl>
 <div class="fragment"><pre class="fragment"><span class="comment">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *</span>
+<span class="comment"> * Copyright by The HDF Group.                                               *</span>
 <span class="comment"> * Copyright by the Board of Trustees of the University of Illinois.         *</span>
 <span class="comment"> * All rights reserved.                                                      *</span>
 <span class="comment"> *                                                                           *</span>
@@ -333,8 +351,8 @@
 <span class="comment"> * of the source code distribution tree; Copyright.html can be found at the  *</span>
 <span class="comment"> * root level of an installed copy of the electronic HDF5 document set and   *</span>
 <span class="comment"> * is linked from the top-level documents page.  It can also be found at     *</span>
-<span class="comment"> * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *</span>
-<span class="comment"> * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *</span>
+<span class="comment"> * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *</span>
+<span class="comment"> * access to either file, you may request a copy from help at hdfgroup.org.     *</span>
 <span class="comment"> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span>
 
 <span class="comment">/*</span>
@@ -346,21 +364,28 @@
 <span class="comment"> *  file is closed. Program reopens the file and reads and displays the result.</span>
 <span class="comment"> */</span>
 
-<span class="preprocessor">#include &lt;string&gt;</span>
-
 <span class="preprocessor">#ifdef OLD_HEADER_FILENAME</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream.h&gt;</span>
 <span class="preprocessor">#else</span>
 <span class="preprocessor"></span><span class="preprocessor">#include &lt;iostream&gt;</span>
 <span class="preprocessor">#endif</span>
-<span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+<span class="preprocessor"></span><span class="preprocessor">#include &lt;string&gt;</span>
 
 <span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
+<span class="preprocessor"></span><span class="preprocessor">#ifndef H5_NO_STD</span>
+<span class="preprocessor"></span>    <span class="keyword">using</span> std::cout;
+    <span class="keyword">using</span> std::endl;
+<span class="preprocessor">#endif  // H5_NO_STD</span>
+<span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<span class="preprocessor"></span>
+<span class="preprocessor">#include "<a class="code" href="H5Cpp_8h.html">H5Cpp.h</a>"</span>
+
+<span class="preprocessor">#ifndef H5_NO_NAMESPACE</span>
 <span class="preprocessor"></span><span class="keyword">using</span> <span class="keyword">namespace </span>H5;
 <span class="preprocessor">#endif</span>
 <span class="preprocessor"></span>
-<span class="keyword">const</span> string FILE_NAME( <span class="stringliteral">"Select.h5"</span> );
-<span class="keyword">const</span> string DATASET_NAME( <span class="stringliteral">"Matrix in file"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> FILE_NAME( <span class="stringliteral">"Select.h5"</span> );
+<span class="keyword">const</span> <a class="code" href="H5Exception_8h.html#a0">H5std_string</a> DATASET_NAME( <span class="stringliteral">"Matrix in file"</span> );
 <span class="keyword">const</span> <span class="keywordtype">int</span>   MSPACE1_RANK = 1;   <span class="comment">// Rank of the first dataset in memory</span>
 <span class="keyword">const</span> <span class="keywordtype">int</span>   MSPACE1_DIM = 50;   <span class="comment">// Dataset size in memory</span>
 <span class="keyword">const</span> <span class="keywordtype">int</span>   MSPACE2_RANK = 1;   <span class="comment">// Rank of the second dataset in memory</span>
@@ -399,7 +424,7 @@
 <span class="comment">       * Turn off the auto-printing when failure occurs so that we can</span>
 <span class="comment">       * handle the errors appropriately</span>
 <span class="comment">       */</span>
-      <a name="a8"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
+      <a name="a6"></a><a class="code" href="classH5_1_1Exception.html#e1">Exception::dontPrint</a>();
 
       <span class="comment">/*</span>
 <span class="comment">       * Create a file.</span>
@@ -571,8 +596,8 @@
    <span class="keywordflow">return</span> 0;
 
 }
-</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Mon Oct 31 04:59:47 2005 by&nbsp;
+</pre></div> <hr size="1"><address style="align: right;"><small>Generated on Tue Aug 14 13:56:59 2007 by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
 </body>
 </html>

Modified: packages/hdf5/trunk/doc/html/ddl.html
===================================================================
--- packages/hdf5/trunk/doc/html/ddl.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ddl.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 <!-- #BeginLibraryItem "/ed_libs/styles_UG.lbi" -->
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,27 +16,26 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
 <link href="ed_styles/UGelect.css" rel="stylesheet" type="text/css">
-<!-- #EndLibraryItem -->
+<!-- #EndLibraryItem --></head>
 
-</head>
-
 <body bgcolor="#FFFFFF">
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -528,14 +528,15 @@
 </dir>
 
 
-<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" --><hr>
+<!-- #BeginLibraryItem "/ed_libs/NavBar_UG.lbi" -->
+<hr>
 <center>
 <table border=0 width=98%>
 <tr><td valign=top align=left>
     <a href="index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->
@@ -570,9 +571,9 @@
 <hr>
 <!-- #EndLibraryItem --><!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --> 
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/Footer.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/Footer.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/Footer.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,6 @@
 
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>

Modified: packages/hdf5/trunk/doc/html/ed_libs/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,9 +10,10 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
+#
 top_srcdir=@top_srcdir@
 top_builddir=../../..
 srcdir=@srcdir@
@@ -26,7 +28,7 @@
 PUB_DOCS=Footer.lbi NavBar_ADevG.lbi NavBar_Common.lbi NavBar_Intro.lbi \
          NavBar_RM.lbi NavBar_TechN.lbi NavBar_UG.lbi styles_Format.lbi \
          styles_Gen.lbi styles_Index.lbi styles_Intro.lbi styles_RM.lbi \
-         styles_UG.lbi
+         styles_UG.lbi copyright-html.lbi
 
 # Other doc files (not to be installed)...
 PRIVATE_DOCS=

Modified: packages/hdf5/trunk/doc/html/ed_libs/NavBar_ADevG.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/NavBar_ADevG.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/NavBar_ADevG.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -10,7 +10,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
     <a href="../ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 </td></tr>

Modified: packages/hdf5/trunk/doc/html/ed_libs/NavBar_Common.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/NavBar_Common.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/NavBar_Common.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+
 <hr>
 <center>
 <table border=0 width=98%>
@@ -9,7 +10,7 @@
     -->
 </td>
 <td valign=top align=right>
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
 </td></tr>
 </table>

Modified: packages/hdf5/trunk/doc/html/ed_libs/NavBar_Intro.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/NavBar_Intro.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/NavBar_Intro.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+
 <hr>
 <center>
 <table border=0 width=98%>
@@ -3,5 +4,5 @@
 <tr><td valign=top align=left>
 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;
 <!--
 <a href="Glossary.html">Glossary</a><br>

Modified: packages/hdf5/trunk/doc/html/ed_libs/NavBar_RM.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/NavBar_RM.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/NavBar_RM.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -5,7 +5,7 @@
 <tr><td valign=top align=left>
 <a href="../index.html">HDF5 documents and links</a>&nbsp;<br>
 <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User Guide</a>&nbsp;<br>
 <!--
 <a href="Glossary.html">Glossary</a><br>
 -->
@@ -29,7 +29,7 @@
 <a href="../PredefDTypes.html">Datatypes</a>&nbsp;&nbsp;
 </td></tr>
 <tr><td colspan="2" align="right">
-<i><small>(<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">PDF</a>
+<i><small>(<a href="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">PDF</a>
 of complete manual formatted as print volume)&nbsp;&nbsp;&nbsp;</small></i>
 </td></tr>
 </table>

Modified: packages/hdf5/trunk/doc/html/ed_libs/NavBar_TechN.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/NavBar_TechN.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/NavBar_TechN.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+
 <hr>
 <center>
 <table cellspacing=0 cellpadding=0 border=0 width=98%>
@@ -10,7 +11,7 @@
 </td>
 
 <td valign=top align=right>
-<a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide</a>&nbsp;<br>
+<a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</a>&nbsp;<br>
 <a href="../ADGuide.html">HDF5 Application Developer's Guide</a>&nbsp;<br>
 <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/NavBar_UG.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/NavBar_UG.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/NavBar_UG.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,4 @@
+
 <hr>
 <center>
 <table border=0 width=98%>
@@ -5,7 +6,7 @@
     <a href="../index.html">HDF5 documents and links</a>&nbsp;<br>
     <a href="../H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
     <a href="../RM_H5Front.html">HDF5 Reference Manual</a>&nbsp;<br>   
-    <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/index.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
+    <a href="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide for Release 1.6</a>&nbsp;<br>
     <!--
     <a href="Glossary.html">Glossary</a><br>
     -->

Copied: packages/hdf5/trunk/doc/html/ed_libs/copyright-html.lbi (from rev 1094, packages/hdf5/branches/upstream/current/doc/html/ed_libs/copyright-html.lbi)
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/copyright-html.lbi	                        (rev 0)
+++ packages/hdf5/trunk/doc/html/ed_libs/copyright-html.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,17 @@
+
+<!--
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
+  * Copyright by the Board of Trustees of the University of Illinois.         *
+  * All rights reserved.                                                      *
+  *                                                                           *
+  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+  * terms governing use, modification, and redistribution, is contained in    *
+  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+  * of the source code distribution tree; Copyright.html can be found at the  *
+  * root level of an installed copy of the electronic HDF5 document set and   *
+  * is linked from the top-level documents page.  It can also be found at     *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
+  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ -->

Modified: packages/hdf5/trunk/doc/html/ed_libs/styles_Format.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/styles_Format.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/styles_Format.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -10,8 +11,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/styles_Gen.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/styles_Gen.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/styles_Gen.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -10,8 +11,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/styles_Index.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/styles_Index.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/styles_Index.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -10,8 +11,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/styles_Intro.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/styles_Intro.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/styles_Intro.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -10,8 +11,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/styles_RM.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/styles_RM.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/styles_RM.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,6 +2,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -11,8 +12,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 

Modified: packages/hdf5/trunk/doc/html/ed_libs/styles_UG.lbi
===================================================================
--- packages/hdf5/trunk/doc/html/ed_libs/styles_UG.lbi	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_libs/styles_UG.lbi	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,6 +1,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -10,8 +11,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 

Modified: packages/hdf5/trunk/doc/html/ed_styles/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/ed_styles/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ed_styles/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,9 +10,10 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
+#
 top_srcdir=@top_srcdir@
 top_builddir=../../..
 srcdir=@srcdir@

Modified: packages/hdf5/trunk/doc/html/fortran/F90Flags.html
===================================================================
--- packages/hdf5/trunk/doc/html/fortran/F90Flags.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/fortran/F90Flags.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,6 +7,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -16,8 +17,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -322,9 +323,9 @@
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem --> 
 

Modified: packages/hdf5/trunk/doc/html/fortran/F90UserNotes.html
===================================================================
--- packages/hdf5/trunk/doc/html/fortran/F90UserNotes.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/fortran/F90UserNotes.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -6,6 +6,7 @@
 
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
   *                                                                           *
@@ -15,8 +16,8 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  -->
 
@@ -130,9 +131,9 @@
 
 <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" -->
 <address>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a> 
+THG Help Desk: <img src="../Graphics/help.png" align=top height=16>
 <br>
-Describes HDF5 Release 1.6.5, November 2005
+Describes HDF5 Release 1.6.6, August 2007 
 </address>
 <!-- #EndLibraryItem -->
  

Modified: packages/hdf5/trunk/doc/html/fortran/Makefile.in
===================================================================
--- packages/hdf5/trunk/doc/html/fortran/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/fortran/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # HDF5 Library Makefile(.in)
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/doc/html/index.html
===================================================================
--- packages/hdf5/trunk/doc/html/index.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/index.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,5 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+        "http://www.w3.org/TR/html4/frameset.dtd">
 <html>
   <head>
 
@@ -3,4 +5,5 @@
 <!--
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+  * Copyright by The HDF Group.                                               *
   * Copyright by the Board of Trustees of the University of Illinois.         *
   * All rights reserved.                                                      *
@@ -12,10 +15,10 @@
   * of the source code distribution tree; Copyright.html can be found at the  *
   * root level of an installed copy of the electronic HDF5 document set and   *
   * is linked from the top-level documents page.  It can also be found at     *
-  * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-  * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+  * access to either file, you may request a copy from help at hdfgroup.org.     *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- -->
+-->
 
 <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css">
     <title>
@@ -27,82 +30,86 @@
 
 <!-- BEGIN MAIN BODY -->
 
-<!--
-<img border=0 src="NCSAfooterlogo.gif" width=78 height=27 alt="NCSA">
--->
 
 <center>
-<br>
-<table border=0 width="90%">
-<tr><td width=92>
-<A HREF="http://hdf.ncsa.uiuc.edu"><img src="hdf2.jpg" border=0 alt="HDF Logo" align=left></A> 
-</td><td>
-<h1>HDF5 - A New Generation of HDF <br><font size=-1>The Hierarchical Data Format</font></h1>
-<hr>
-</td></tr>
-<table>
+<table width="100%" cellpadding="10" border="0">
+  <tr valign="middle" align="center"><td width="95">
+      <A HREF="http://www.hdfgroup.org" target="ExtWin">
+      <img src="Graphics/THGnoTextSm.jpg" alt="HDF [Logo]" 
+        align=left border="0" width=150 ></a>
+    </td><td>
+      <h1>HDF5 - A New Generation of HDF  
+      <br><font size=5>The Hierarchical Data Format</font></h1><hr>
+  </td></tr>
+</table>
 </center>
 
+
+
 <CENTER>
 
 <table border=0 width=90%>
 <tr><td rowspan=4 bgcolor="#BBFFFF" valign=top align=left width=35%>
-    <center><h3>HDF Links at NCSA</h3></center>
+    <center><h3>HDF Links at <A HREF="http://www.hdfgroup.org" 
+        target="ExtWin">The HDF Group</a></h3></center>
     <dl>
-    <dt><a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a>
-    <ul>
-    <li>Email to HDF Technical Support 
+    <dt><a href="http://www.hdfgroup.org/support.html">HDF Support</a>
+    <ul>    
+    <li>THG Help Desk: <img src="Graphics/help.png" align=top height=15>
+    <li><a href="http://www.hdfgroup.org/support.html">Other support options</a>
     </ul>
     <p>
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu">HDF Home Page</A>
-    <p>
-   <!--
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/HDF5">The HDF5 Home Page</A>
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/products.html">HDF Products</A>
-   -->
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/newsletters.html">HDF Newsletters</A>
+    <dt><A HREF="http://www.hdfgroup.org/newsletters.html" 
+        target="ExtWin">HDF Newsletters</A>
     <ul>
     <li>News about HDF and HDF5
     </ul>
     <p>
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/register5.html">HDF5 FTP Archives</A>
-    <ul>
-    <li>HDF5 source code archives
+    <dt><A HREF="http://www.hdfgroup.org/HDF5/release/obtain5.html" 
+        target="ExtWin">HDF5 Downloads</A>
+    <ul>    
+    <li>HDF5 download site
     </ul>
     <p>
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/HDF5/papers/index.html">HDF5 Overview, Papers, etc.</A>
-    <ul>
-    <li>Overview of HDF5 library and development effort (slide show)
-    <li>Other HDF5-related papers, presentations, and RFCs
+    <dt>HDF5 Presentations, Papers, Etc.
+    <ul>    
+    <li><A HREF="http://www.hdfgroup.uiuc.edu/papers/presentations/HDF5_overview/"
+        target="ExtWin">Overview</a> of HDF5 library and development effort 
+        (slide show)
+    <li><A HREF="http://www.hdfgroup.uiuc.edu/papers/"
+        target="ExtWin">Other</A> HDF5-related papers and presentations
     </ul>
     <p>
-    <dt><a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/" 
+    <dt><a href="http://hdfgroup.org/HDF5/hdf5_hl/" 
         target="ExtWin">High Level HDF5 APIs</a>
     <ul>
     <li>High level APIs for easier HDF5 application development
     <li>Image, Table, and HDF5 Lite
     </ul>
     <p>
-    <dt><a href="http://hdf.ncsa.uiuc.edu/HDF5/PHDF5/" 
+    <dt><a href="http://www.hdfgroup.org/HDF5/PHDF5/" 
         target="ExtWin">Parallel HDF5</a>
-    <ul>
+    <ul>    
     <li>HDF5 in parallel computing environments
     <li>Installation, tutorial, Q&amp;A, design notes
-    </ul>
+    </ul>   
     <p>
-    <dt><a href="http://hdf.ncsa.uiuc.edu/HDF5/XML/" target="ExtWin">XML and HDF5</a>
-    <ul>
+    <dt><a href="http://www.hdfgroup.org/HDF5/XML/" 
+        target="ExtWin">XML and HDF5</a>
+    <ul>    
     <li>XML tools and standard XML DTD for HDF5 
     </ul>
     <p>
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/">Printer-friendly Docs</A>
+    <dt><A HREF="http://www.hdfgroup.org/HDF5/doc/PSandPDF/">Printer-friendly 
+        and <br>Searchable Docs</A>
     <ul>
     <li>PDF versions of selected HDF5 documents
-        will be available from the HDF5 website 
+        are available from the HDF5 website 
         approximately one week after each release.
     </ul>
     <p>
-    <dt><A HREF="http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/index.html">HDF5 Doc Development</A>
+    <dt><A HREF="http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/index.html" 
+        target="ExtWin">HDF5 Doc Development</A>
     <ul>
     <li>Snapshots of future releases
     <li>Related document sets not part of standard release 
@@ -113,7 +120,7 @@
 </td><td bgcolor="#FFFFFF" width=4%>
 </td><td bgcolor="#BBFFFF" valign=top align=left width=61%>
     <center>
-    <h3>HDF5 User Documentation<br>Release 1.6.5, November 2005</h3>
+    <h3>HDF5 User Documentation<br>Release 1.6.6, August 2007</h3>
     </center>
 <dl>
 <dt><A HREF="H5.intro.html">An Introduction to HDF5</A> 
@@ -122,19 +129,17 @@
     <li>An introduction to HDF5 programming 
     </ul>
 
-<dt><A HREF="http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/index.html" 
+<dt><A HREF="http://www.hdfgroup.org/HDF5/Tutor/index.html" 
              target="ExternalT">HDF5 Tutorial</a> 
     <ul>
     <li>A tutorial introduction to HDF5 
         <br>
-        <i><small>(Served from the HDF5 website at NCSA)</small></i>
+        <i><small>(Served from the HDF5 website)</small></i>
     </ul>
 
-<dt><A HREF="http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/">HDF5 User's Guide</A> 
+<dt><A HREF="http://www.hdfgroup.org/HDF5/doc/UG/UG_frame.html">HDF5 User's Guide</A> 
     <ul>
-    <li>A new user's guide, first published in the HDF5 Release 1.6.x series
-        <br>
-        <i><small>(Served from the HDF5 website at NCSA)</small></i>
+    <li>A new user's guide, first published with HDF5 Release 1.6.0
     <li>The <A HREF="H5.user.html">HDF5 Release 1.4.5 User's Guide</A> 
         remains available, though it has not been updated 
 	for the current release
@@ -144,13 +149,13 @@
     <li>Complete reference manuals for the HDF5 APIs
     <li><A HREF="RM_H5Front.html">C APIs</A>, 
         HDF5&rsquo;s &ldquo;native language&rdquo;
-    <li><a href="http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/index.html" 
+    <li><a href="http://www.hdfgroup.org/HDF5/hdf5_hl/doc/index.html" 
         target="ExtWin">High level C APIs</a>: Image, Table, and HDF5 Lite
         <br>
-        <i><small>(Served from the HDF5 website at NCSA)</small></i>
+        <i><small>(Served from the HDF5 website)</small></i>
     <li><A HREF="RM_H5Front.html#F90andCPPlus">Fortran90 APIs</A>
     <li><A HREF="cpplus_RM/index.html" target="CppExternal">C++ APIs</a>
-    <li><A href="http://hdf.ncsa.uiuc.edu/hdf-java-html/JNI/jhi5/index.html" 
+    <li><A href="http://www.hdfgroup.org/hdf-java-html/JNI/jhi5/index.html" 
         target="ExtWin">JHI5</A>, the Java HDF5 Interface
     </ul>
     </ul>
@@ -161,12 +166,12 @@
         <A HREF="RM_H5Front.html#F90andCPPlus">Reference Manual</A> 
     <li><A HREF="cpplus_RM/index.html" target="CppExternal">
                     C++ Reference Manual</A>
-    <li><A href="http://hdf.ncsa.uiuc.edu/hdf-java-html/" 
+    <li><A href="http://www.hdfgroup.org/hdf-java-html/" 
         target="ExtWin">Java products</A> and the 
-        <A href="http://hdf.ncsa.uiuc.edu/hdf-java-html/JNI/jhi5/index.html" 
+        <A href="http://www.hdfgroup.org/hdf-java-html/JNI/jhi5/index.html" 
         target="ExtWin">Java HDF5 Interface</A>
         <br>
-        <i><small>(Served from the HDF5 website at NCSA)</small></i>
+        <i><small>(Served from the HDF5 website)</small></i>
     </ul>
 
 <dt><A HREF="Glossary.html">HDF5 Glossary</A> 
@@ -191,7 +196,8 @@
 <td bgcolor="#BBFFFF" valign=top align=left>
 <dl>
     <li><i>XML DTD documentation is not yet available with this release.</i>
-    <li><i>New PDF/PS versions of the doc set will be available with Release 1.4.</i>
+    <li><i>New PDF/PS versions of selected user documents are available 
+        shortly after each major release.</i>
 </dl>
 </td>
 </tr>
@@ -233,11 +239,11 @@
     <ul>
     <li>The complete specification of the HDF5 file format
     </ul>
-<dt><A HREF="http:/hdf.ncsa.uiuc.edu/HDF5/doc_resource/cpplus/cpp_Design_040912.pdf">HDF5 C++ API Design Specification</A>
+<dt><A HREF="http://www.hdfgroup.org/HDF5/doc_resource/cpplus/cpp_Design_040912.pdf">HDF5 C++ API Design Specification</A>
     <ul>
     <li>First draft of the design specification for the HDF5 C++ APIs
         <br>
-        <i><small>(Served from the HDF5 website at NCSA)</small></i>
+        <i><small>(Served from the HDF5 website)</small></i>
     </ul>
 <dt><A HREF="TechNotes.html">HDF5 Technical Notes</A>
     <ul>
@@ -258,30 +264,42 @@
 <!-- BEGIN FOOTER INFO -->
 
 <P><hr>
-<font face="arial,helvetica" size="-1">
-  <a href="http://www.ncsa.uiuc.edu/">
-     <img border=0 src="NCSAfooterlogo.gif" width=78 height=27 alt="NCSA Logo"><br>
-  The National Center for Supercomputing Applications</A><br>
-  <a href="http://www.uiuc.edu/">University of Illinois
-    at Urbana-Champaign</a>
+<table border=0 width=100%>
+    <tr><td width=70% align=left valign=bottom>
+        <font face="arial,helvetica" size="-1">
+        THG Help Desk: <img src="Graphics/help.png" align=top height=16>
+        <br>
+        <!-- hhmts start -->
+        Last modified: 13 August 2007
+        <!-- hhmts end -->
 
-<p>
-<a href="mailto:hdfhelp at ncsa.uiuc.edu">HDF Help Desk</a>
-<br>
-<!-- hhmts start -->
-Last modified: 31 October 2005
-<!-- hhmts end -->
+        <br>
+        Describes HDF5 Release 1.6.6, August 2007
 
-<br>
-Describes HDF5 Release 1.6.5, November 2005
+        <br>
+        Copyright by The HDF Group and
+        the Board of Trustees of the University of Illinois. 
+        <br>
+        All rights reserved.
+        See <a href="Copyright.html">full copyright notice</a>.
+        </font>
+    </td><td width=30% align=right valign=top rowspan=2>
+        <a href="http://www.hdfgroup.org/">
+        <img border=0 src="Graphics/THGwTextSm.jpg" width=130 height=78
+            alt="The HDF Group (THG) [Logo]"></a>
+        <!--
+        <a href="http://www.hdfgroup.org/">
+        <img border=0 src="Graphics/THGwTextSm.jpg" width=110 height=65
+            alt="The HDF Group (THG) [Logo]"></a>
+        <a href="http://www.hdfgroup.org/">
+        <img border=0 src="Graphics/THGwTextSm.jpg" width=78 height=48
+            alt="The HDF Group (THG) [Logo]"></a>
+        <a href="http://www.hdfgroup.org/">
+        <img border=0 src="Graphics/THGnoTextSm.jpg" width=78 height=41
+            alt="The HDF Group (THG) [Logo]"></a>
+        -->
+    </td></tr>
+</table>
 
-<p>
-Copyright by the Board of Trustees of the University of Illinois.  
-<br>
-All rights reserved.
-See <a href="Copyright.html">full copyright notice</a>.
-
-</font>
-
 </body>
 </html>

Deleted: packages/hdf5/trunk/doc/html/ph5design.html
===================================================================
--- packages/hdf5/trunk/doc/html/ph5design.html	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ph5design.html	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,77 +0,0 @@
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
-<META NAME="Generator" CONTENT="Microsoft Word 97">
-<TITLE>new</TITLE>
-<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
-</HEAD>
-<BODY LINK="#0000ff" VLINK="#800080">
-
-<B><FONT SIZE=6><P ALIGN="CENTER">Parallel HDF5 Design</P>
-</B></FONT><P ALIGN="CENTER">&nbsp;</P>
-<H1>1. Design Overview</H1>
-<P>In this section, I first describe the function requirements of the Parallel HDF5 (PHDF5) software and the assumed system requirements. Section 2 describes the programming model of the PHDF5 interface. Section 3 shows an example PHDF5 program. </P>
-<H2>1.1. Function requirements</H2>
-
-<UL>
-<LI>An API to support parallel file access for HDF5 files in a message passing environment. </LI>
-<LI>Fast parallel I/O to large datasets through standard parallel I/O interface.</LI>
-<LI>Processes are required to do collective API calls only when structural changes are needed for the HDF5 file. </LI>
-<LI>Each process may do independent I/O requests to different datasets in the same or different HDF5 files. </LI>
-<LI>Supports collective I/O requests for datasets (to be included in next version). </LI>
-<LI>Minimize diviation from HDF5 interface.</LI>
-</UL>
-
-<H2>1.2. System requirements</H2>
-
-<UL>
-<LI>C language interface is the initial requirement. Fortran77 interface will be added later. </LI>
-<LI>Use Message Passing Interface (MPI) for interprocess communication. </LI>
-<LI>Use MPI-IO calls for parallel file accesses. </LI>
-<LI>Initial platforms—IBM SP2, Intel TFLOPS and SGI Origin 2000. </LI></UL>
-
-<H1>2. Programming Model</H1>
-<P>HDF5 uses optional access template object to control the file access
-mechanism.  The general model in accessing an HDF5 file in parallel
-contains the following steps: </P>
-
-<UL>
-<LI>Setup access template</LI>
-<LI>File open </LI>
-<LI>Dataset open </LI>
-<LI>Dataset data access (zero or more) </LI>
-<LI>Dataset close </LI>
-<LI>File close </LI></UL>
-
-<H2>2.1. Setup access template</H2>
-<P>Each processes of the MPI communicator creates an access template and sets
-it up with MPI parallel access information (communicator, info object,
-access-mode).  </P>
-<H2>2.1. File open</H2>
-<P>All processes of the MPI communicator open an HDF5 file by a collective call
-(H5FCreate or H5Fopen) with the access template. </P>
-<H2>2.2. Dataset open</H2>
-<P>All processes of the MPI communicator open a dataset by a collective call (H5Dcreate or H5Dopen).&nbsp; This version supports only collective dataset open.&nbsp; Future version may support datasets open by a subset of the processes that have opened the file. </P>
-<H2>2.3. Dataset access</H2>
-<H3>2.3.1. Independent dataset access</H3>
-<P>Each process may do independent and arbitrary number of data I/O access by independent calls (H5Dread or H5Dwrite) to the dataset with the transfer template set for independent access.&nbsp; (The default transfer mode is independent transfer).&nbsp; If the dataset is an unlimited dimension one and if the H5Dwrite is writing data beyond the current dimension size of the dataset, all processes that have opened the dataset must make a collective call (H5Dallocate) to allocate more space for the dataset BEFORE the independent H5Dwrite call. </P>
-<H3>2.3.2. Collective dataset access</H3>
-<P>All processes that have opened the dataset may do collective data I/O access by collective calls (H5Dread or H5Dwrite) to the dataset with the transfer template set for collective access.&nbsp; Pre-allocation (H5Dallocate) is not needed for unlimited dimension datasets since the H5Dallocate call, if needed, is done internally by the collective data access call. </P>
-<H3>2.3.3. Dataset attributes access</H3>
-<P>Changes to attributes can only occur at the <I>"main process" </I>(process 0).&nbsp; Read only access to attributes can occur independent in each process that has opened the dataset.&nbsp; (API to be defined later.) <BR>
-&nbsp; </P>
-<H2>2.4. Dataset close</H2>
-<P>All processes that have opened the dataset must close the dataset by a collective call (H5Dclose). </P>
-<H2>2.5. File close</H2>
-<P>All processes that have opened the file must close the file by a collective call (H5Fclose). <BR>
-&nbsp; </P>
-<H1>3. Parallel HDF5 Example</H1>
-<PRE>
-<CODE>
-</CODE><A HREF="ph5example.c">Example code</A>
-</PRE>
-<P><HR></P>
-<P>Send comments to <BR>
-<A HREF="mailto:hdfparallel at ncsa.uiuc.edu">hdfparallel at ncsa.uiuc.edu</A> </P>
-<H6>Last Modified: Feb 16, 1998</H6></BODY>
-</HTML>

Deleted: packages/hdf5/trunk/doc/html/ph5example.c
===================================================================
--- packages/hdf5/trunk/doc/html/ph5example.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ph5example.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,1018 +0,0 @@
-/*
- * Example of using the parallel HDF5 library to access datasets.
- * Last revised: April 24, 2001.
- *
- * This program contains two parts.  In the first part, the mpi processes
- * collectively create a new parallel HDF5 file and create two fixed
- * dimension datasets in it.  Then each process writes a hyperslab into
- * each dataset in an independent mode.  All processes collectively
- * close the datasets and the file.
- * In the second part, the processes collectively open the created file
- * and the two datasets in it.  Then each process reads a hyperslab from
- * each dataset in an independent mode and prints them out.
- * All processes collectively close the datasets and the file.
- */
-
-#include <assert.h>
-#include <hdf5.h>
-
-#ifdef H5_HAVE_PARALLEL
-/* Temporary source code */
-#define FAIL -1
-/* temporary code end */
-
-/* Define some handy debugging shorthands, routines, ... */
-/* debugging tools */
-#define MESG(x)\
-	if (verbose) printf("%s\n", x);\
-
-#define MPI_BANNER(mesg)\
-    {printf("--------------------------------\n");\
-    printf("Proc %d: ", mpi_rank); \
-    printf("*** %s\n", mesg);\
-    printf("--------------------------------\n");}
-
-#define SYNC(comm)\
-    {MPI_BANNER("doing a SYNC"); MPI_Barrier(comm); MPI_BANNER("SYNC DONE");}
-/* End of Define some handy debugging shorthands, routines, ... */
-
-/* Constants definitions */
-/* 24 is a multiple of 2, 3, 4, 6, 8, 12.  Neat for parallel tests. */
-#define SPACE1_DIM1	24
-#define SPACE1_DIM2	24
-#define SPACE1_RANK	2
-#define DATASETNAME1	"Data1"
-#define DATASETNAME2	"Data2"
-#define DATASETNAME3	"Data3"
-/* hyperslab layout styles */
-#define BYROW		1	/* divide into slabs of rows */
-#define BYCOL		2	/* divide into blocks of columns */
-
-
-/* dataset data type.  Int's can be easily octo dumped. */
-typedef int DATATYPE;
-
-/* global variables */
-int nerrors = 0;				/* errors count */
-
-int mpi_size, mpi_rank;				/* mpi variables */
-
-/* option flags */
-int verbose = 0;			/* verbose, default as no. */
-int doread=1;				/* read test */
-int dowrite=1;				/* write test */
-
-
-
-/*
- * Setup the dimensions of the hyperslab.
- * Two modes--by rows or by columns.
- * Assume dimension rank is 2.
- */
-void
-slab_set(hsize_t start[], hsize_t count[], hsize_t stride[], int mode)
-{
-    switch (mode){
-    case BYROW:
-	/* Each process takes a slabs of rows. */
-	stride[0] = 1;
-	stride[1] = 1;
-	count[0] = SPACE1_DIM1/mpi_size;
-	count[1] = SPACE1_DIM2;
-	start[0] = mpi_rank*count[0];
-	start[1] = 0;
-	break;
-    case BYCOL:
-	/* Each process takes a block of columns. */
-	stride[0] = 1;
-	stride[1] = 1;
-	count[0] = SPACE1_DIM1;
-	count[1] = SPACE1_DIM2/mpi_size;
-	start[0] = 0;
-	start[1] = mpi_rank*count[1];
-	break;
-    default:
-	/* Unknown mode.  Set it to cover the whole dataset. */
-	printf("unknown slab_set mode (%d)\n", mode);
-	stride[0] = 1;
-	stride[1] = 1;
-	count[0] = SPACE1_DIM1;
-	count[1] = SPACE1_DIM2;
-	start[0] = 0;
-	start[1] = 0;
-	break;
-    }
-}
-
-
-/*
- * Fill the dataset with trivial data for testing.
- * Assume dimension rank is 2 and data is stored contiguous.
- */
-void
-dataset_fill(hsize_t start[], hsize_t count[], hsize_t stride[], DATATYPE * dataset)
-{
-    DATATYPE *dataptr = dataset;
-    int i, j;
-
-    /* put some trivial data in the data_array */
-    for (i=0; i < count[0]; i++){
-	for (j=0; j < count[1]; j++){
-	    *dataptr++ = (i*stride[0]+start[0])*100 + (j*stride[1]+start[1]+1);
-	}
-    }
-}
-
-
-/*
- * Print the content of the dataset.
- */
-void dataset_print(hsize_t start[], hsize_t count[], hsize_t stride[], DATATYPE * dataset)
-{
-    DATATYPE *dataptr = dataset;
-    int i, j;
-
-    /* print the slab read */
-    for (i=0; i < count[0]; i++){
-	printf("Row %d: ", (int)(i*stride[0]+start[0]));
-	for (j=0; j < count[1]; j++){
-	    printf("%03d ", *dataptr++);
-	}
-	printf("\n");
-    }
-}
-
-
-/*
- * Print the content of the dataset.
- */
-int dataset_vrfy(hsize_t start[], hsize_t count[], hsize_t stride[], DATATYPE *dataset, DATATYPE *original)
-{
-#define MAX_ERR_REPORT	10		/* Maximum number of errors reported */
-    DATATYPE *dataptr = dataset;
-    DATATYPE *originptr = original;
-
-    int i, j, nerrors;
-
-    /* print it if verbose */
-    if (verbose)
-	dataset_print(start, count, stride, dataset);
-
-    nerrors = 0;
-    for (i=0; i < count[0]; i++){
-	for (j=0; j < count[1]; j++){
-	    if (*dataset++ != *original++){
-		nerrors++;
-		if (nerrors <= MAX_ERR_REPORT){
-		    printf("Dataset Verify failed at [%d][%d](row %d, col %d): expect %d, got %d\n",
-			i, j,
-			(int)(i*stride[0]+start[0]), (int)(j*stride[1]+start[1]),
-			*(dataset-1), *(original-1));
-		}
-	    }
-	}
-    }
-    if (nerrors > MAX_ERR_REPORT)
-	printf("[more errors ...]\n");
-    if (nerrors)
-	printf("%d errors found in dataset_vrfy\n", nerrors);
-    return(nerrors);
-}
-
-
-/*
- * Example of using the parallel HDF5 library to create two datasets
- * in one HDF5 files with parallel MPIO access support.
- * The Datasets are of sizes (number-of-mpi-processes x DIM1) x DIM2.
- * Each process controls only a slab of size DIM1 x DIM2 within each
- * dataset.
- */
-
-void
-phdf5writeInd(char *filename)
-{
-    hid_t fid1, fid2;		/* HDF5 file IDs */
-    hid_t acc_tpl1;		/* File access templates */
-    hid_t sid1,sid2;   		/* Dataspace ID */
-    hid_t file_dataspace;	/* File dataspace ID */
-    hid_t mem_dataspace;	/* memory dataspace ID */
-    hid_t dataset1, dataset2;	/* Dataset ID */
-    int rank = SPACE1_RANK; 	/* Logical rank of dataspace */
-    hsize_t dims1[SPACE1_RANK] =
-	{SPACE1_DIM1,SPACE1_DIM2};	/* dataspace dim sizes */
-    hsize_t dimslocal1[SPACE1_RANK] =
-	{SPACE1_DIM1,SPACE1_DIM2}; 	/* local dataspace dim sizes */
-    DATATYPE data_array1[SPACE1_DIM1][SPACE1_DIM2];	/* data buffer */
-
-    hsize_t start[SPACE1_RANK];			/* for hyperslab setting */
-    hsize_t count[SPACE1_RANK], stride[SPACE1_RANK];	/* for hyperslab setting */
-
-    herr_t ret;         	/* Generic return value */
-    int   i, j;
-    int mpi_size, mpi_rank;
-    char *fname;
-    int mrc;			/* mpi return code */
-    
-    MPI_Comm comm = MPI_COMM_WORLD;
-    MPI_Info info = MPI_INFO_NULL;
-
-    if (verbose)
-	printf("Independent write test on file %s\n", filename);
-
-    /* set up MPI parameters */
-    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
-    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
-
-    /* -------------------
-     * START AN HDF5 FILE 
-     * -------------------*/
-    /* setup file access template with parallel IO access. */
-    acc_tpl1 = H5Pcreate (H5P_FILE_ACCESS);
-    assert(acc_tpl1 != FAIL);
-    MESG("H5Pcreate access succeed");
-    /* set Parallel access with communicator */
-    ret = H5Pset_fapl_mpio(acc_tpl1, comm, info);     
-    assert(ret != FAIL);
-    MESG("H5Pset_fapl_mpio succeed");
-
-    /* create the file collectively */
-    fid1=H5Fcreate(filename,H5F_ACC_TRUNC,H5P_DEFAULT,acc_tpl1);
-    assert(fid1 != FAIL);
-    MESG("H5Fcreate succeed");
-
-    /* Release file-access template */
-    ret=H5Pclose(acc_tpl1);
-    assert(ret != FAIL);
-
-
-    /* --------------------------
-     * Define the dimensions of the overall datasets
-     * and the slabs local to the MPI process.
-     * ------------------------- */
-    /* setup dimensionality object */
-    sid1 = H5Screate_simple (SPACE1_RANK, dims1, NULL);
-    assert (sid1 != FAIL);
-    MESG("H5Screate_simple succeed");
-
-    
-    /* create a dataset collectively */
-    dataset1 = H5Dcreate(fid1, DATASETNAME1, H5T_NATIVE_INT, sid1,
-			H5P_DEFAULT);
-    assert(dataset1 != FAIL);
-    MESG("H5Dcreate succeed");
-
-    /* create another dataset collectively */
-    dataset2 = H5Dcreate(fid1, DATASETNAME2, H5T_NATIVE_INT, sid1,
-			H5P_DEFAULT);
-    assert(dataset2 != FAIL);
-    MESG("H5Dcreate succeed");
-
-
-
-    /* set up dimensions of the slab this process accesses */
-    start[0] = mpi_rank*SPACE1_DIM1/mpi_size;
-    start[1] = 0;
-    count[0] = SPACE1_DIM1/mpi_size;
-    count[1] = SPACE1_DIM2;
-    stride[0] = 1;
-    stride[1] =1;
-if (verbose)
-    printf("start[]=(%d,%d), count[]=(%d,%d), total datapoints=%d\n",
-	start[0], start[1], count[0], count[1], count[0]*count[1]);
-
-    /* put some trivial data in the data_array */
-    dataset_fill(start, count, stride, &data_array1[0][0]);
-    MESG("data_array initialized");
-
-    /* create a file dataspace independently */
-    file_dataspace = H5Dget_space (dataset1);				    
-    assert(file_dataspace != FAIL);					    
-    MESG("H5Dget_space succeed");
-    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride,
-	    count, NULL);
-    assert(ret != FAIL);
-    MESG("H5Sset_hyperslab succeed");
-
-    /* create a memory dataspace independently */
-    mem_dataspace = H5Screate_simple (SPACE1_RANK, count, NULL);
-    assert (mem_dataspace != FAIL);
-
-    /* write data independently */
-    ret = H5Dwrite(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,	    
-	    H5P_DEFAULT, data_array1);					    
-    assert(ret != FAIL);
-    MESG("H5Dwrite succeed");
-
-    /* write data independently */
-    ret = H5Dwrite(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,	    
-	    H5P_DEFAULT, data_array1);					    
-    assert(ret != FAIL);
-    MESG("H5Dwrite succeed");
-
-    /* release dataspace ID */
-    H5Sclose(file_dataspace);
-
-    /* close dataset collectively */					    
-    ret=H5Dclose(dataset1);
-    assert(ret != FAIL);
-    MESG("H5Dclose1 succeed");
-    ret=H5Dclose(dataset2);
-    assert(ret != FAIL);
-    MESG("H5Dclose2 succeed");
-
-    /* release all IDs created */
-    H5Sclose(sid1);
-
-    /* close the file collectively */					    
-    H5Fclose(fid1);							    
-}
-
-/* Example of using the parallel HDF5 library to read a dataset */
-void
-phdf5readInd(char *filename)
-{
-    hid_t fid1, fid2;		/* HDF5 file IDs */
-    hid_t acc_tpl1;		/* File access templates */
-    hid_t sid1,sid2;   		/* Dataspace ID */
-    hid_t file_dataspace;	/* File dataspace ID */
-    hid_t mem_dataspace;	/* memory dataspace ID */
-    hid_t dataset1, dataset2;	/* Dataset ID */
-    int rank = SPACE1_RANK; 	/* Logical rank of dataspace */
-    hsize_t dims1[] = {SPACE1_DIM1,SPACE1_DIM2};   	/* dataspace dim sizes */
-    DATATYPE data_array1[SPACE1_DIM1][SPACE1_DIM2];	/* data buffer */
-    DATATYPE data_origin1[SPACE1_DIM1][SPACE1_DIM2];	/* expected data buffer */
-
-    hsize_t   start[SPACE1_RANK];			/* for hyperslab setting */
-    hsize_t count[SPACE1_RANK], stride[SPACE1_RANK];	/* for hyperslab setting */
-
-    herr_t ret;         	/* Generic return value */
-    int   i, j;
-    int mpi_size, mpi_rank;
-
-    MPI_Comm comm = MPI_COMM_WORLD;
-    MPI_Info info = MPI_INFO_NULL;
-
-    if (verbose)
-	printf("Independent read test on file %s\n", filename);
-
-    /* set up MPI parameters */
-    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
-    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
-
-
-    /* setup file access template */
-    acc_tpl1 = H5Pcreate (H5P_FILE_ACCESS);
-    assert(acc_tpl1 != FAIL);
-    /* set Parallel access with communicator */
-    ret = H5Pset_fapl_mpio(acc_tpl1, comm, info);     
-    assert(ret != FAIL);
-
-
-    /* open the file collectively */
-    fid1=H5Fopen(filename,H5F_ACC_RDWR,acc_tpl1);
-    assert(fid1 != FAIL);
-
-    /* Release file-access template */
-    ret=H5Pclose(acc_tpl1);
-    assert(ret != FAIL);
-
-    /* open the dataset1 collectively */
-    dataset1 = H5Dopen(fid1, DATASETNAME1);
-    assert(dataset1 != FAIL);
-
-    /* open another dataset collectively */
-    dataset2 = H5Dopen(fid1, DATASETNAME1);
-    assert(dataset2 != FAIL);
-
-
-    /* set up dimensions of the slab this process accesses */
-    start[0] = mpi_rank*SPACE1_DIM1/mpi_size;
-    start[1] = 0;
-    count[0] = SPACE1_DIM1/mpi_size;
-    count[1] = SPACE1_DIM2;
-    stride[0] = 1;
-    stride[1] =1;
-if (verbose)
-    printf("start[]=(%d,%d), count[]=(%d,%d), total datapoints=%d\n",
-    start[0], start[1], count[0], count[1], count[0]*count[1]);
-
-    /* create a file dataspace independently */
-    file_dataspace = H5Dget_space (dataset1);
-    assert(file_dataspace != FAIL);
-    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride,
-	    count, NULL);
-    assert(ret != FAIL);
-
-    /* create a memory dataspace independently */
-    mem_dataspace = H5Screate_simple (SPACE1_RANK, count, NULL);
-    assert (mem_dataspace != FAIL);
-
-    /* fill dataset with test data */
-    dataset_fill(start, count, stride, &data_origin1[0][0]);
-
-    /* read data independently */
-    ret = H5Dread(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
-	    H5P_DEFAULT, data_array1);
-    assert(ret != FAIL);
-
-    /* verify the read data with original expected data */
-    ret = dataset_vrfy(start, count, stride, &data_array1[0][0], &data_origin1[0][0]);
-    assert(ret != FAIL);
-
-    /* read data independently */
-    ret = H5Dread(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
-	    H5P_DEFAULT, data_array1);
-    assert(ret != FAIL);
-
-    /* verify the read data with original expected data */
-    ret = dataset_vrfy(start, count, stride, &data_array1[0][0], &data_origin1[0][0]);
-    assert(ret == 0);
-
-    /* close dataset collectively */
-    ret=H5Dclose(dataset1);
-    assert(ret != FAIL);
-    ret=H5Dclose(dataset2);
-    assert(ret != FAIL);
-
-    /* release all IDs created */
-    H5Sclose(file_dataspace);
-
-    /* close the file collectively */
-    H5Fclose(fid1);
-}
-
-
-/*
- * Example of using the parallel HDF5 library to create two datasets
- * in one HDF5 file with collective parallel access support.
- * The Datasets are of sizes (number-of-mpi-processes x DIM1) x DIM2.
- * Each process controls only a slab of size DIM1 x DIM2 within each
- * dataset. [Note: not so yet.  Datasets are of sizes DIM1xDIM2 and
- * each process controls a hyperslab within.]
- */
-
-void
-phdf5writeAll(char *filename)
-{
-    hid_t fid1, fid2;		/* HDF5 file IDs */
-    hid_t acc_tpl1;		/* File access templates */
-    hid_t xfer_plist;		/* Dataset transfer properties list */
-    hid_t sid1,sid2;   		/* Dataspace ID */
-    hid_t file_dataspace;	/* File dataspace ID */
-    hid_t mem_dataspace;	/* memory dataspace ID */
-    hid_t dataset1, dataset2;	/* Dataset ID */
-    int rank = SPACE1_RANK; 	/* Logical rank of dataspace */
-    hsize_t dims1[SPACE1_RANK] =
-	{SPACE1_DIM1,SPACE1_DIM2};	/* dataspace dim sizes */
-    DATATYPE data_array1[SPACE1_DIM1][SPACE1_DIM2];	/* data buffer */
-
-    hsize_t start[SPACE1_RANK];			/* for hyperslab setting */
-    hsize_t count[SPACE1_RANK], stride[SPACE1_RANK];	/* for hyperslab setting */
-
-    herr_t ret;         	/* Generic return value */
-    int mpi_size, mpi_rank;
-    
-    MPI_Comm comm = MPI_COMM_WORLD;
-    MPI_Info info = MPI_INFO_NULL;
-
-    if (verbose)
-	printf("Collective write test on file %s\n", filename);
-
-    /* set up MPI parameters */
-    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
-    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
-
-    /* -------------------
-     * START AN HDF5 FILE 
-     * -------------------*/
-    /* setup file access template with parallel IO access. */
-    acc_tpl1 = H5Pcreate (H5P_FILE_ACCESS);
-    assert(acc_tpl1 != FAIL);
-    MESG("H5Pcreate access succeed");
-    /* set Parallel access with communicator */
-    ret = H5Pset_fapl_mpio(acc_tpl1, comm, info);     
-    assert(ret != FAIL);
-    MESG("H5Pset_fapl_mpio succeed");
-
-    /* create the file collectively */
-    fid1=H5Fcreate(filename,H5F_ACC_TRUNC,H5P_DEFAULT,acc_tpl1);
-    assert(fid1 != FAIL);
-    MESG("H5Fcreate succeed");
-
-    /* Release file-access template */
-    ret=H5Pclose(acc_tpl1);
-    assert(ret != FAIL);
-
-
-    /* --------------------------
-     * Define the dimensions of the overall datasets
-     * and create the dataset
-     * ------------------------- */
-    /* setup dimensionality object */
-    sid1 = H5Screate_simple (SPACE1_RANK, dims1, NULL);
-    assert (sid1 != FAIL);
-    MESG("H5Screate_simple succeed");
-
-    
-    /* create a dataset collectively */
-    dataset1 = H5Dcreate(fid1, DATASETNAME1, H5T_NATIVE_INT, sid1, H5P_DEFAULT);
-    assert(dataset1 != FAIL);
-    MESG("H5Dcreate succeed");
-
-    /* create another dataset collectively */
-    dataset2 = H5Dcreate(fid1, DATASETNAME2, H5T_NATIVE_INT, sid1, H5P_DEFAULT);
-    assert(dataset2 != FAIL);
-    MESG("H5Dcreate 2 succeed");
-
-    /*
-     * Set up dimensions of the slab this process accesses.
-     */
-
-    /* Dataset1: each process takes a block of rows. */
-    slab_set(start, count, stride, BYROW);
-if (verbose)
-    printf("start[]=(%d,%d), count[]=(%d,%d), total datapoints=%d\n",
-	start[0], start[1], count[0], count[1], count[0]*count[1]);
-
-    /* create a file dataspace independently */
-    file_dataspace = H5Dget_space (dataset1);				    
-    assert(file_dataspace != FAIL);					    
-    MESG("H5Dget_space succeed");
-    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride,
-	    count, NULL);
-    assert(ret != FAIL);
-    MESG("H5Sset_hyperslab succeed");
-
-    /* create a memory dataspace independently */
-    mem_dataspace = H5Screate_simple (SPACE1_RANK, count, NULL);
-    assert (mem_dataspace != FAIL);
-
-    /* fill the local slab with some trivial data */
-    dataset_fill(start, count, stride, &data_array1[0][0]);
-    MESG("data_array initialized");
-    if (verbose){
-	MESG("data_array created");
-	dataset_print(start, count, stride, &data_array1[0][0]);
-    }
-
-    /* set up the collective transfer properties list */
-    xfer_plist = H5Pcreate (H5P_DATASET_XFER);
-    assert(xfer_plist != FAIL);
-    ret=H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
-    assert(ret != FAIL);
-    MESG("H5Pcreate xfer succeed");
-
-    /* write data collectively */
-    ret = H5Dwrite(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
-	    xfer_plist, data_array1);					    
-    assert(ret != FAIL);
-    MESG("H5Dwrite succeed");
-
-    /* release all temporary handles. */
-    /* Could have used them for dataset2 but it is cleaner */
-    /* to create them again.*/
-    H5Sclose(file_dataspace);
-    H5Sclose(mem_dataspace);
-    H5Pclose(xfer_plist);
-
-    /* Dataset2: each process takes a block of columns. */
-    slab_set(start, count, stride, BYCOL);
-if (verbose)
-    printf("start[]=(%d,%d), count[]=(%d,%d), total datapoints=%d\n",
-	start[0], start[1], count[0], count[1], count[0]*count[1]);
-
-    /* put some trivial data in the data_array */
-    dataset_fill(start, count, stride, &data_array1[0][0]);
-    MESG("data_array initialized");
-    if (verbose){
-	MESG("data_array created");
-	dataset_print(start, count, stride, &data_array1[0][0]);
-    }
-
-    /* create a file dataspace independently */
-    file_dataspace = H5Dget_space (dataset1);				    
-    assert(file_dataspace != FAIL);					    
-    MESG("H5Dget_space succeed");
-    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride,
-	    count, NULL);
-    assert(ret != FAIL);
-    MESG("H5Sset_hyperslab succeed");
-
-    /* create a memory dataspace independently */
-    mem_dataspace = H5Screate_simple (SPACE1_RANK, count, NULL);
-    assert (mem_dataspace != FAIL);
-
-    /* fill the local slab with some trivial data */
-    dataset_fill(start, count, stride, &data_array1[0][0]);
-    MESG("data_array initialized");
-    if (verbose){
-	MESG("data_array created");
-	dataset_print(start, count, stride, &data_array1[0][0]);
-    }
-
-    /* set up the collective transfer properties list */
-    xfer_plist = H5Pcreate (H5P_DATASET_XFER);
-    assert(xfer_plist != FAIL);
-    ret=H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
-    assert(ret != FAIL);
-    MESG("H5Pcreate xfer succeed");
-
-    /* write data independently */
-    ret = H5Dwrite(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
-	    xfer_plist, data_array1);					    
-    assert(ret != FAIL);
-    MESG("H5Dwrite succeed");
-
-    /* release all temporary handles. */
-    H5Sclose(file_dataspace);
-    H5Sclose(mem_dataspace);
-    H5Pclose(xfer_plist);
-
-
-    /*
-     * All writes completed.  Close datasets collectively
-     */					    
-    ret=H5Dclose(dataset1);
-    assert(ret != FAIL);
-    MESG("H5Dclose1 succeed");
-    ret=H5Dclose(dataset2);
-    assert(ret != FAIL);
-    MESG("H5Dclose2 succeed");
-
-    /* release all IDs created */
-    H5Sclose(sid1);
-
-    /* close the file collectively */					    
-    H5Fclose(fid1);							    
-}
-
-/*
- * Example of using the parallel HDF5 library to read two datasets
- * in one HDF5 file with collective parallel access support.
- * The Datasets are of sizes (number-of-mpi-processes x DIM1) x DIM2.
- * Each process controls only a slab of size DIM1 x DIM2 within each
- * dataset. [Note: not so yet.  Datasets are of sizes DIM1xDIM2 and
- * each process controls a hyperslab within.]
- */
-
-void
-phdf5readAll(char *filename)
-{
-    hid_t fid1, fid2;		/* HDF5 file IDs */
-    hid_t acc_tpl1;		/* File access templates */
-    hid_t xfer_plist;		/* Dataset transfer properties list */
-    hid_t sid1,sid2;   		/* Dataspace ID */
-    hid_t file_dataspace;	/* File dataspace ID */
-    hid_t mem_dataspace;	/* memory dataspace ID */
-    hid_t dataset1, dataset2;	/* Dataset ID */
-    int rank = SPACE1_RANK; 	/* Logical rank of dataspace */
-    hsize_t dims1[] = {SPACE1_DIM1,SPACE1_DIM2};   	/* dataspace dim sizes */
-    DATATYPE data_array1[SPACE1_DIM1][SPACE1_DIM2];	/* data buffer */
-    DATATYPE data_origin1[SPACE1_DIM1][SPACE1_DIM2];	/* expected data buffer */
-
-    hsize_t start[SPACE1_RANK];			/* for hyperslab setting */
-    hsize_t count[SPACE1_RANK], stride[SPACE1_RANK];	/* for hyperslab setting */
-
-    herr_t ret;         	/* Generic return value */
-    int mpi_size, mpi_rank;
-
-    MPI_Comm comm = MPI_COMM_WORLD;
-    MPI_Info info = MPI_INFO_NULL;
-
-    if (verbose)
-	printf("Collective read test on file %s\n", filename);
-
-    /* set up MPI parameters */
-    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
-    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
-
-    /* -------------------
-     * OPEN AN HDF5 FILE 
-     * -------------------*/
-    /* setup file access template with parallel IO access. */
-    acc_tpl1 = H5Pcreate (H5P_FILE_ACCESS);
-    assert(acc_tpl1 != FAIL);
-    MESG("H5Pcreate access succeed");
-    /* set Parallel access with communicator */
-    ret = H5Pset_fapl_mpio(acc_tpl1, comm, info);     
-    assert(ret != FAIL);
-    MESG("H5Pset_fapl_mpio succeed");
-
-    /* open the file collectively */
-    fid1=H5Fopen(filename,H5F_ACC_RDWR,acc_tpl1);
-    assert(fid1 != FAIL);
-    MESG("H5Fopen succeed");
-
-    /* Release file-access template */
-    ret=H5Pclose(acc_tpl1);
-    assert(ret != FAIL);
-
-
-    /* --------------------------
-     * Open the datasets in it
-     * ------------------------- */
-    /* open the dataset1 collectively */
-    dataset1 = H5Dopen(fid1, DATASETNAME1);
-    assert(dataset1 != FAIL);
-    MESG("H5Dopen succeed");
-
-    /* open another dataset collectively */
-    dataset2 = H5Dopen(fid1, DATASETNAME1);
-    assert(dataset2 != FAIL);
-    MESG("H5Dopen 2 succeed");
-
-    /*
-     * Set up dimensions of the slab this process accesses.
-     */
-
-    /* Dataset1: each process takes a block of columns. */
-    slab_set(start, count, stride, BYCOL);
-if (verbose)
-    printf("start[]=(%d,%d), count[]=(%d,%d), total datapoints=%d\n",
-	start[0], start[1], count[0], count[1], count[0]*count[1]);
-
-    /* create a file dataspace independently */
-    file_dataspace = H5Dget_space (dataset1);				    
-    assert(file_dataspace != FAIL);					    
-    MESG("H5Dget_space succeed");
-    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride,
-	    count, NULL);
-    assert(ret != FAIL);
-    MESG("H5Sset_hyperslab succeed");
-
-    /* create a memory dataspace independently */
-    mem_dataspace = H5Screate_simple (SPACE1_RANK, count, NULL);
-    assert (mem_dataspace != FAIL);
-
-    /* fill dataset with test data */
-    dataset_fill(start, count, stride, &data_origin1[0][0]);
-    MESG("data_array initialized");
-    if (verbose){
-	MESG("data_array created");
-	dataset_print(start, count, stride, &data_array1[0][0]);
-    }
-
-    /* set up the collective transfer properties list */
-    xfer_plist = H5Pcreate (H5P_DATASET_XFER);
-    assert(xfer_plist != FAIL);
-    ret=H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
-    assert(ret != FAIL);
-    MESG("H5Pcreate xfer succeed");
-
-    /* read data collectively */
-    ret = H5Dread(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
-	    xfer_plist, data_array1);					    
-    assert(ret != FAIL);
-    MESG("H5Dread succeed");
-
-    /* verify the read data with original expected data */
-    ret = dataset_vrfy(start, count, stride, &data_array1[0][0], &data_origin1[0][0]);
-    assert(ret != FAIL);
-
-    /* release all temporary handles. */
-    /* Could have used them for dataset2 but it is cleaner */
-    /* to create them again.*/
-    H5Sclose(file_dataspace);
-    H5Sclose(mem_dataspace);
-    H5Pclose(xfer_plist);
-
-    /* Dataset2: each process takes a block of rows. */
-    slab_set(start, count, stride, BYROW);
-if (verbose)
-    printf("start[]=(%d,%d), count[]=(%d,%d), total datapoints=%d\n",
-	start[0], start[1], count[0], count[1], count[0]*count[1]);
-
-    /* create a file dataspace independently */
-    file_dataspace = H5Dget_space (dataset1);				    
-    assert(file_dataspace != FAIL);					    
-    MESG("H5Dget_space succeed");
-    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride,
-	    count, NULL);
-    assert(ret != FAIL);
-    MESG("H5Sset_hyperslab succeed");
-
-    /* create a memory dataspace independently */
-    mem_dataspace = H5Screate_simple (SPACE1_RANK, count, NULL);
-    assert (mem_dataspace != FAIL);
-
-    /* fill dataset with test data */
-    dataset_fill(start, count, stride, &data_origin1[0][0]);
-    MESG("data_array initialized");
-    if (verbose){
-	MESG("data_array created");
-	dataset_print(start, count, stride, &data_array1[0][0]);
-    }
-
-    /* set up the collective transfer properties list */
-    xfer_plist = H5Pcreate (H5P_DATASET_XFER);
-    assert(xfer_plist != FAIL);
-    ret=H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
-    assert(ret != FAIL);
-    MESG("H5Pcreate xfer succeed");
-
-    /* read data independently */
-    ret = H5Dread(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
-	    xfer_plist, data_array1);					    
-    assert(ret != FAIL);
-    MESG("H5Dread succeed");
-
-    /* verify the read data with original expected data */
-    ret = dataset_vrfy(start, count, stride, &data_array1[0][0], &data_origin1[0][0]);
-    assert(ret != FAIL);
-
-    /* release all temporary handles. */
-    H5Sclose(file_dataspace);
-    H5Sclose(mem_dataspace);
-    H5Pclose(xfer_plist);
-
-
-    /*
-     * All reads completed.  Close datasets collectively
-     */					    
-    ret=H5Dclose(dataset1);
-    assert(ret != FAIL);
-    MESG("H5Dclose1 succeed");
-    ret=H5Dclose(dataset2);
-    assert(ret != FAIL);
-    MESG("H5Dclose2 succeed");
-
-    /* close the file collectively */					    
-    H5Fclose(fid1);							    
-}
-
-/*
- * test file access by communicator besides COMM_WORLD.
- * Split COMM_WORLD into two, one (even_comm) contains the original
- * processes of even ranks.  The other (odd_comm) contains the original
- * processes of odd ranks.  Processes in even_comm creates a file, then
- * cloose it, using even_comm.  Processes in old_comm just do a barrier
- * using odd_comm.  Then they all do a barrier using COMM_WORLD.
- * If the file creation and cloose does not do correct collective action
- * according to the communicator argument, the processes will freeze up
- * sooner or later due to barrier mixed up.
- */
-void
-test_split_comm_access(char *filenames[])
-{
-    int mpi_size, myrank;
-    MPI_Comm comm;
-    MPI_Info info = MPI_INFO_NULL;
-    int color, mrc;
-    int newrank, newprocs;
-    hid_t fid;			/* file IDs */
-    hid_t acc_tpl;		/* File access properties */
-    herr_t ret;			/* generic return value */
-
-    if (verbose)
-	printf("Independent write test on file %s %s\n",
-	    filenames[0], filenames[1]);
-
-    /* set up MPI parameters */
-    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
-    MPI_Comm_rank(MPI_COMM_WORLD,&myrank);
-    color = myrank%2;
-    mrc = MPI_Comm_split (MPI_COMM_WORLD, color, myrank, &comm);
-    assert(mrc==MPI_SUCCESS);
-    MPI_Comm_size(comm,&newprocs);
-    MPI_Comm_rank(comm,&newrank);
-
-    if (color){
-	/* odd-rank processes */
-	mrc = MPI_Barrier(comm);
-	assert(mrc==MPI_SUCCESS);
-    }else{
-	/* even-rank processes */
-	/* setup file access template */
-	acc_tpl = H5Pcreate (H5P_FILE_ACCESS);
-	assert(acc_tpl != FAIL);
-	
-	/* set Parallel access with communicator */
-	ret = H5Pset_fapl_mpio(acc_tpl, comm, info);     
-	assert(ret != FAIL);
-
-	/* create the file collectively */
-	fid=H5Fcreate(filenames[color],H5F_ACC_TRUNC,H5P_DEFAULT,acc_tpl);
-	assert(fid != FAIL);
-	MESG("H5Fcreate succeed");
-
-	/* Release file-access template */
-	ret=H5Pclose(acc_tpl);
-	assert(ret != FAIL);
-
-	ret=H5Fclose(fid);
-	assert(ret != FAIL);
-    }
-    if (myrank == 0){
-	mrc = MPI_File_delete(filenames[color], info);
-	assert(mrc==MPI_SUCCESS);
-    }
-}
-
-/*
- * Show command usage
- */
-void
-usage()
-{
-    printf("Usage: testphdf5 [-r] [-w] [-v]\n");
-    printf("\t-r\tno read\n");
-    printf("\t-w\tno write\n");
-    printf("\t-v\tverbose on\n");
-    printf("\tdefault do write then read\n");
-    printf("\n");
-}
-
-
-/*
- * parse the command line options
- */
-int
-parse_options(int argc, char **argv){
-    while (--argc){
-	if (**(++argv) != '-'){
-	    break;
-	}else{
-	    switch(*(*argv+1)){
-		case 'r':   doread = 0;
-			    break;
-		case 'w':   dowrite = 0;
-			    break;
-		case 'v':   verbose = 1;
-			    break;
-		default:    usage();
-			    nerrors++;
-			    return(1);
-	    }
-	}
-    }
-    return(0);
-}
-
-
-int
-main(int argc, char **argv)
-{
-    char    *filenames[]={ "ParaEg1.h5f", "ParaEg2.h5f" };
-
-    int mpi_namelen;		
-    char mpi_name[MPI_MAX_PROCESSOR_NAME];
-
-    MPI_Init(&argc,&argv);
-    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
-    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
-    MPI_Get_processor_name(mpi_name,&mpi_namelen);
-    /* Make sure datasets can be divided into equal chunks by the processes */
-    if ((SPACE1_DIM1 % mpi_size) || (SPACE1_DIM2 % mpi_size)){
-	printf("DIM1(%d) and DIM2(%d) must be multiples of processes (%d)\n",
-	    SPACE1_DIM1, SPACE1_DIM2, mpi_size);
-	nerrors++;
-	goto finish;
-    }
-
-    if (parse_options(argc, argv) != 0)
-	goto finish;
-
-    if (dowrite){
-	MPI_BANNER("testing PHDF5 dataset using split communicators...");
-	test_split_comm_access(filenames);
-	MPI_BANNER("testing PHDF5 dataset independent write...");
-	phdf5writeInd(filenames[0]);
-	MPI_BANNER("testing PHDF5 dataset collective write...");
-	phdf5writeAll(filenames[1]);
-    }
-    if (doread){
-	MPI_BANNER("testing PHDF5 dataset independent read...");
-	phdf5readInd(filenames[0]);
-	MPI_BANNER("testing PHDF5 dataset collective read...");
-	phdf5readAll(filenames[1]);
-    }
-
-    if (!(dowrite || doread)){
-	usage();
-	nerrors++;
-    }
-
-finish:
-    if (mpi_rank == 0){		/* only process 0 reports */
-	if (nerrors)
-	    printf("***PHDF5 tests detected %d errors***\n", nerrors);
-	else{
-	    printf("===================================\n");
-	    printf("PHDF5 tests finished with no errors\n");
-	    printf("===================================\n");
-	}
-    }
-    MPI_Finalize();
-
-    return(nerrors);
-}
-
-#else /* H5_HAVE_PARALLEL */
-/* dummy program since H5_HAVE_PARALLE is not configured in */
-int
-main()
-{
-printf("No PHDF5 example because parallel is not configured in\n");
-return(0);
-}
-#endif /* H5_HAVE_PARALLEL */

Deleted: packages/hdf5/trunk/doc/html/ph5implement.txt
===================================================================
--- packages/hdf5/trunk/doc/html/ph5implement.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/doc/html/ph5implement.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,27 +0,0 @@
-Release information for parallel HDF5
--------------------------------------
-
-+) Current release supports independent access to fixed dimension datasets
-   only.
-
-+) The comm and info arguments of H5Pset_mpi are not used.  All parallel
-   I/O are done via MPI_COMM_WORLD.  Access_mode for H5Pset_mpi can be
-   H5ACC_INDEPENDENT only.
-
-+) This release of parallel HDF5 has been tested on IBM SP2 and SGI
-   Origin 2000 systems.  It uses the ROMIO version of MPIO interface
-   for parallel I/O supports.
-
-+) Useful URL's.
-   Parallel HDF webpage: "http://hdf.ncsa.uiuc.edu/Parallel_HDF/"
-   ROMIO webpage: "http://www.mcs.anl.gov/home/thakur/romio/"
-
-+) Some to-do items for future releases
-      support for Intel Teraflop platform.
-      support for unlimited dimension datasets.
-      support for file access via a communicator besides MPI_COMM_WORLD.
-      support for collective access to datasets.
-      support for independent create/open of datasets.
-
-----
-Last updated: Feb 16, 1998.

Modified: packages/hdf5/trunk/examples/Dependencies
===================================================================
--- packages/hdf5/trunk/examples/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5_chunk_read.lo: \
    $(srcdir)/h5_chunk_read.c \

Modified: packages/hdf5/trunk/examples/Makefile.in
===================================================================
--- packages/hdf5/trunk/examples/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Examples Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -29,11 +30,13 @@
 TEST_PROGS_PARA=ph5example
 TEST_PROGS=h5_write h5_read h5_extend_write h5_chunk_read h5_compound   \
            h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers
+TEST_SCRIPTS=testh5cc.sh
 
 ## These are the files that `make clean' (and derivatives) will remove from
 ## this directory.
 ## *.clog are from MPE option
 CLEAN=*.h5 *.raw *.meta *.clog
+DISTCLEAN=testh5cc.sh
 
 ## List all source files here.  The list of object files will be
 ## created by replacing the `.c' with a `.o'.  This list is necessary
@@ -47,7 +50,7 @@
 EXAMPLE_PROGS=$(TEST_SRC)
 
 ## How to build the programs... they all depend on the hdf5 library
-$(TEST_PROGS) $(TEST_PROGS_PARA): $(LIBHDF5)
+$(TEST_PROGS) $(TEST_PROGS_PARA):
 h5_chunk_read: $(srcdir)/h5_chunk_read.c
 	@if test "X$(PARALLEL)" = "Xno"; then				\
 	  echo $(H5CC) $(CPPFLAGS) -o $@ $(srcdir)/$@.c;		\

Modified: packages/hdf5/trunk/examples/h5_attribute.c
===================================================================
--- packages/hdf5/trunk/examples/h5_attribute.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_attribute.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -52,7 +53,8 @@
    hid_t   attr1, attr2, attr3; /* Attribute identifiers */
    hid_t   attr;
    hid_t   aid1, aid2, aid3;    /* Attribute dataspace identifiers */
-   hid_t   atype;               /* Attribute type */
+   hid_t   atype, atype_mem;    /* Attribute type */
+   H5T_class_t  type_class;
 
    hsize_t fdim[] = {SIZE};
    hsize_t adim[] = {ADIM1, ADIM2};  /* Dimensions of the first attribute  */
@@ -61,9 +63,9 @@
 
    herr_t  ret;                /* Return value */
    unsigned i,j;                /* Counters */
-   int     idx;                /* Attribute index */
    char    string_out[80];     /* Buffer to read string attribute back */
    int     point_out;          /* Buffer to read scalar attribute back */
+   int     num_attr;           /* Number of attributes */
 
    /*
     * Data initialization.
@@ -132,7 +134,7 @@
     */
    aid3  = H5Screate(H5S_SCALAR);
    atype = H5Tcopy(H5T_C_S1);
-           H5Tset_size(atype, 4);
+           H5Tset_size(atype, 5);
            H5Tset_strpad(atype,H5T_STR_NULLTERM);
    attr3 = H5Acreate(dataset, ANAMES, atype, aid3, H5P_DEFAULT);
 
@@ -142,12 +144,13 @@
    ret = H5Awrite(attr3, atype, string);
 
    /*
-    * Close attribute and file dataspaces.
+    * Close attribute and file dataspaces, and datatype.
     */
    ret = H5Sclose(aid1);
    ret = H5Sclose(aid2);
    ret = H5Sclose(aid3);
    ret = H5Sclose(fid);
+   ret = H5Tclose(atype);
 
    /*
     * Close the attributes.
@@ -186,20 +189,27 @@
    ret =  H5Aclose(attr);
 
    /*
-    * Attach to the string attribute using its index, then read and display the value.
+    * Find string attribute by iterating through all attributes
     */
-   attr  = H5Aopen_idx(dataset, 2);
-   atype = H5Tcopy(H5T_C_S1);
-           H5Tset_size(atype, 5);
-   ret   = H5Aread(attr, atype, string_out);
-   printf("The value of the attribute with index 2 is %s \n", string_out);
-   ret   = H5Aclose(attr);
-   ret   = H5Tclose(atype);
+   num_attr = H5Aget_num_attrs(dataset);
+   for(i=0; i < num_attr; i++) {
+      attr  = H5Aopen_idx(dataset, i);
+      atype = H5Aget_type(attr);
+      type_class = H5Tget_class(atype);
+      if (type_class == H5T_STRING) {
+           atype_mem = H5Tget_native_type(atype, H5T_DIR_ASCEND);
+           ret   = H5Aread(attr, atype_mem, string_out);
+           printf("Found string attribute; its index is %d , value =   %s \n", i, string_out);
+           ret   = H5Tclose(atype_mem);
+      } 
+       ret   = H5Aclose(attr);
+       ret   = H5Tclose(atype);
+    }
 
    /*
     * Get attribute info using iteration function.
     */
-   idx = H5Aiterate(dataset, NULL, attr_info, NULL);
+    ret = H5Aiterate(dataset, NULL, attr_info, NULL);
 
    /*
     * Close the dataset and the file.

Modified: packages/hdf5/trunk/examples/h5_chunk_read.c
===================================================================
--- packages/hdf5/trunk/examples/h5_chunk_read.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_chunk_read.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_compound.c
===================================================================
--- packages/hdf5/trunk/examples/h5_compound.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_compound.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_drivers.c
===================================================================
--- packages/hdf5/trunk/examples/h5_drivers.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_drivers.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_extend_write.c
===================================================================
--- packages/hdf5/trunk/examples/h5_extend_write.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_extend_write.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_group.c
===================================================================
--- packages/hdf5/trunk/examples/h5_group.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_group.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -93,6 +94,7 @@
     H5Sclose(dataspace);
     H5Dclose(dataset);
     H5Pclose(plist);
+    H5Gclose(grp);
     H5Fclose(file);
 
     /*
@@ -158,7 +160,8 @@
      * Close the file.
      */
 
-    status = H5Fclose(file);
+    H5Gclose(grp);
+    H5Fclose(file);
 
     return 0;
 }

Modified: packages/hdf5/trunk/examples/h5_mount.c
===================================================================
--- packages/hdf5/trunk/examples/h5_mount.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_mount.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_read.c
===================================================================
--- packages/hdf5/trunk/examples/h5_read.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_read.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_reference.c
===================================================================
--- packages/hdf5/trunk/examples/h5_reference.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_reference.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
  /*

Modified: packages/hdf5/trunk/examples/h5_select.c
===================================================================
--- packages/hdf5/trunk/examples/h5_select.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_select.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/h5_write.c
===================================================================
--- packages/hdf5/trunk/examples/h5_write.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/h5_write.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/examples/ph5example.c
===================================================================
--- packages/hdf5/trunk/examples/ph5example.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/examples/ph5example.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Copied: packages/hdf5/trunk/examples/testh5cc.sh.in (from rev 1094, packages/hdf5/branches/upstream/current/examples/testh5cc.sh.in)
===================================================================
--- packages/hdf5/trunk/examples/testh5cc.sh.in	                        (rev 0)
+++ packages/hdf5/trunk/examples/testh5cc.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,257 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
+# Tests for the h5cc compiler tool
+# Created: Albert Cheng, 2007/3/13
+#
+# Modification:
+#	Albert Cheng, 2007/4/13
+#	Added -shlib tests and verbose control.
+#
+
+# Initializations
+# Where the tool is installed.
+prefix="${prefix:- at prefix@}"
+PARALLEL=@PARALLEL@		# Am I in parallel mode?
+AR=@AR@
+RANLIB=@RANLIB@
+if [ "$PARALLEL" = no ]; then
+    H5TOOL="h5cc"           	# The tool name
+else
+    H5TOOL="h5pcc"               # The tool name
+fi
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}"   # The path of the tool binary
+
+CMP='cmp -s'
+DIFF='diff -c'
+
+nerrors=0
+verbose=${HDF5_VERBOSE:-1}      # 0: none; 1: default; 2: chatty; 3: everything
+test $verbose -gt 2 && set -x
+
+# setup my machine information.
+myos=`uname -s`
+myhostnama=`uname -n`
+
+# The build (current) directory might be different than the source directory.
+if test -z "$srcdir"; then
+   srcdir=.
+fi
+
+# Generate some source files and library for tests.
+suffix=c		# source file suffix
+hdf5main=${H5TOOL}_hdf5main.$suffix
+hdf5main_o=${H5TOOL}_hdf5main.o
+appmain=${H5TOOL}_appmain.$suffix
+appmain_o=${H5TOOL}_appmain.o
+prog1=${H5TOOL}_prog1.$suffix
+prog1_o=${H5TOOL}_prog1.o
+prog2=${H5TOOL}_prog2.$suffix
+prog2_o=${H5TOOL}_prog2.o
+applib=libapp${H5TOOL}.a
+
+# short hands
+temp_SRC="$hdf5main $appmain $prog1 $prog2"
+temp_OBJ=`echo $temp_SRC | sed -e "s/\.${suffix}/.o/g"`
+temp_FILES="a.out *.h5 $applib"
+
+# Generate appmain:
+# An application Main that calls hdf5 and application's own functions.
+cat > $appmain <<EOF
+#include "hdf5.h"
+#define H5FILE_NAME        "tmp.h5"
+int
+main (void)
+{
+    hid_t       file;         	/* file and dataset handles */
+
+    /*
+     * Create a new file using H5F_ACC_TRUNC access,
+     * default file creation properties, and default file
+     * access properties.
+     */
+    sub1();
+    sub2();
+    file = H5Fcreate(H5FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    H5Fclose(file);
+
+    printf("HDF5 C Sample program ran successfully. File %s generated.\n", H5FILE_NAME);
+    remove(H5FILE_NAME);
+ 
+    return 0;
+}     
+EOF
+
+# generate prog1
+cat > $prog1 <<EOF
+sub1(void)
+{
+    printf("in sub1\n");
+}
+EOF
+
+# generate prog2
+cat > $prog2 <<EOF
+sub2(void)
+{
+    printf("in sub2\n");
+}
+EOF
+
+# Generate HDF5 Main Program:
+# An HDF5 sample program that calls hdf5 functions.
+cat > $hdf5main <<EOF
+#include "hdf5.h"
+#define H5FILE_NAME        "tmp.h5"
+int
+main (void)
+{
+    hid_t       file;         	/* file and dataset handles */
+
+    /*
+     * Create a new file using H5F_ACC_TRUNC access,
+     * default file creation properties, and default file
+     * access properties.
+     */
+    file = H5Fcreate(H5FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    H5Fclose(file);
+
+    printf("HDF5 C Sample program ran successfully. File %s generated.\n", H5FILE_NAME);
+    remove(H5FILE_NAME);
+ 
+    return 0;
+}     
+EOF
+
+
+# Parse option
+#   None
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+
+# Debug printing
+# Change : to echo to print the debug statement
+DPRINT() {
+    : $*
+}
+
+# Run a test and print PASS or *FAIL*.  If a test fails then increment
+# the `nerrors' global variable and (if $verbose is set) display the
+# failed output.  The actual output is not removed if $HDF5_NOCLEANUP is
+# defined.
+#
+TOOLTEST() {
+    out=test_$H5TOOL_$$.out
+    err=test_$H5TOOL_$$.err
+
+    # Run test.
+    TESTING $H5TOOL $@
+    $H5TOOL_BIN $@ > $out 2>&1
+    result=$?
+    if [ $result = 0 ]; then
+	echo " PASSED"
+	test $verbose -gt 1 && \
+	    ( echo "========== results ==========="; cat $out;
+	      echo "===============================================") |sed 's/^/    /'
+    else
+	echo "*FAILED*"
+	nerrors="`expr $nerrors + 1`"
+	test $verbose -gt 0 && \
+	    ( echo "========== results ==========="; cat $out;
+	      echo "===============================================") |sed 's/^/    /'
+    fi
+
+    # Clean up output file
+    if test -z "$HDF5_NOCLEANUP"; then
+	rm -f $out
+    fi
+}
+
+# Print a "SKIP" message
+SKIP() {
+	 TESTING $H5TOOL $@
+	  echo  " -SKIP-"
+}
+
+
+##############################################################################
+###			  T H E   T E S T S                                ###
+##############################################################################
+#
+# Group 1: HDF5 program that calls HDF5 APIs.
+echo "***"Simple Compile and Link in one step.
+TOOLTEST $hdf5main
+# Application program that calls HDF5 and its own functions.
+TOOLTEST $appmain $prog1 $prog2
+# Repeat with -shlib option
+echo "***"Simple Compile and Link with -shlib in one step.
+TOOLTEST -shlib $hdf5main
+# Application program that calls HDF5 and its own functions.
+TOOLTEST -shlib $appmain $prog1 $prog2
+
+# Group 2: Compile, then link.
+echo "***"Compile and Link in two steps.
+TOOLTEST -c $hdf5main
+TOOLTEST $hdf5main_o
+TOOLTEST -c $appmain $prog1 $prog2
+TOOLTEST $appmain_o $prog1_o $prog2_o
+# Repeat with -shlib option
+echo "***"Compile and Link with -shlib in two steps.
+TOOLTEST -c $hdf5main
+TOOLTEST -shlib $hdf5main_o
+TOOLTEST -c $appmain $prog1 $prog2
+TOOLTEST -shlib $appmain_o $prog1_o $prog2_o
+
+# Group3: Build external library, then link with it.
+echo "***"Build external library and link with it.
+TOOLTEST -c $prog1 $prog2
+$AR cru $applib $prog1_o $prog2_o
+$RANLIB $applib
+TOOLTEST $appmain $applib
+TOOLTEST $appmain_o $applib
+# Repeat with -shlib option
+echo "***"Build external library and link with it using -shlib.
+TOOLTEST -c $prog1 $prog2
+$AR cru $applib $prog1_o $prog2_o
+$RANLIB $applib
+TOOLTEST -shlib $appmain $applib
+TOOLTEST -shlib $appmain_o $applib
+
+# Group 4: Just preprocess, no compile, no link.
+echo "***"Just preprocess, no compile, no link.
+TOOLTEST -E $hdf5main
+TOOLTEST -E $appmain $prog1 $prog2
+
+##############################################################################
+# END
+##############################################################################
+
+# Clean up  file
+if test -z "$HDF5_NOCLEANUP"; then
+    rm -f $temp_SRC $temp_OBJ $temp_FILES
+fi
+
+if test $nerrors -eq 0 ; then
+   echo "All $H5TOOL tests passed."
+fi
+
+exit $nerrors

Copied: packages/hdf5/trunk/fortran/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/fortran/COPYING)
===================================================================
--- packages/hdf5/trunk/fortran/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/fortran/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/fortran/Makefile.dist
===================================================================
--- packages/hdf5/trunk/fortran/Makefile.dist	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/Makefile.dist	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 # Top-level distributed Makefile 			       -*- makefile -*-
 
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 # This Makefile is a stub (copied from Makefile.dist) which will run
 # configure and then invoke the same target in the new Makefile created

Modified: packages/hdf5/trunk/fortran/Makefile.in
===================================================================
--- packages/hdf5/trunk/fortran/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ## Top-level HDF5-Fortran Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## This makefile mostly just reinvokes make in the various subdirectories
 ## but does so in the correct order.  You can alternatively invoke make from
 ## each subdirectory manually.

Modified: packages/hdf5/trunk/fortran/config/BlankForm
===================================================================
--- packages/hdf5/trunk/fortran/config/BlankForm	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/BlankForm	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/commence.in
===================================================================
--- packages/hdf5/trunk/fortran/config/commence.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/commence.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##------------------------------------------------------------ -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 ## The following section of this makefile comes from the
@@ -81,6 +82,7 @@
 LT_FCOMPILE=$(LT) --mode=compile $(F9X)
 LT_LINK_FLIB=$(LT) --mode=link $(F9X) -static $(DYNAMIC_DIRS)
 LT_LINK_FEXE=$(LT) --mode=link $(F9X) $(LT_STATIC_EXEC) $(DYNAMIC_DIRS)
+FORTMODFILES=h5a h5d h5e h5f h5g h5i h5p h5r h5s h5t h5z h5fortran_flags h5fortran_types h5global h5lib hdf5
 
 ## Optional variables. We must declare them here because Irix pmake
 ## complains if it sees a reference to a variable which has never been

Modified: packages/hdf5/trunk/fortran/config/conclude.in
===================================================================
--- packages/hdf5/trunk/fortran/config/conclude.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/conclude.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##------------------------------------------------------------ -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 ## The following section of this makefile comes from the
@@ -196,7 +197,9 @@
 	fi
 	@if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then	      \
 	  if test -f "$(libdir)/hdf5.$(F9XMODEXT)" -o -f "$(libdir)/HDF5.$(F9XMODEXT)"; then \
-	    set -x; $(RM) $(libdir)/*.$(F9XMODEXT);			      \
+	    for f in $(FORTMODFILES); do                                    \
+	      set -x; $(RM) $(libdir)/$$f.$(F9XMODEXT);                     \
+	    done                                                            \
 	  fi;								      \
 	fi
 	@for f in X $(PUB_PROGS); do					      \

Modified: packages/hdf5/trunk/fortran/config/dec-flags
===================================================================
--- packages/hdf5/trunk/fortran/config/dec-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/dec-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is a DEC

Deleted: packages/hdf5/trunk/fortran/config/dec-osf4.x
===================================================================
--- packages/hdf5/trunk/fortran/config/dec-osf4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/dec-osf4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,33 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for detailed information.
-
-# The default compiler is `cc'
-if test "X-" =  "X-$CC"; then
-    CC=cc
-    CC_BASENAME=cc
-fi
-
-# Try GNU compiler flags.
-. $srcdir/config/gnu-flags
-
-# Try native DEC compiler
-ARCH=${ARCH:='-arch host -tune host'}
-. $srcdir/config/dec-flags

Modified: packages/hdf5/trunk/fortran/config/dec-osf5.x
===================================================================
--- packages/hdf5/trunk/fortran/config/dec-osf5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/dec-osf5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/depend1.in
===================================================================
--- packages/hdf5/trunk/fortran/config/depend1.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/depend1.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##                                                             -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 

Modified: packages/hdf5/trunk/fortran/config/depend2.in
===================================================================
--- packages/hdf5/trunk/fortran/config/depend2.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/depend2.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##							       -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 

Modified: packages/hdf5/trunk/fortran/config/depend3.in
===================================================================
--- packages/hdf5/trunk/fortran/config/depend3.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/depend3.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##							       -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 

Modified: packages/hdf5/trunk/fortran/config/depend4.in
===================================================================
--- packages/hdf5/trunk/fortran/config/depend4.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/depend4.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##							       -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 

Modified: packages/hdf5/trunk/fortran/config/dependN.in
===================================================================
--- packages/hdf5/trunk/fortran/config/dependN.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/dependN.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,15 +1,16 @@
 ##							       -*- makefile -*-
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 

Modified: packages/hdf5/trunk/fortran/config/freebsd
===================================================================
--- packages/hdf5/trunk/fortran/config/freebsd	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/freebsd	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/gnu-flags
===================================================================
--- packages/hdf5/trunk/fortran/config/gnu-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/gnu-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the
@@ -142,7 +143,7 @@
       gcc-2.95.[34])
         PROD_CFLAGS="-O3"
         ;;
-      gcc-3.[0-4]*|gcc-4.[01]*)
+      gcc-3.[0-4]*|gcc-4.[012]*)
         # The optimization level is reduced for gcc 3.* and 4.* due to problems
         # with code generation for src/H5Tconv.c with the -O2 & -O3 
         # optimization levels (which shows up as failures for various integer

Deleted: packages/hdf5/trunk/fortran/config/hpux10.20
===================================================================
--- packages/hdf5/trunk/fortran/config/hpux10.20	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/hpux10.20	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,82 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Default compiler is `cc'
-if test "X-" =  "X-$CC"; then
-    CC=cc
-    CC_BASENAME=cc
-fi
-
-# Flags
-case "X-$CC" in
-    X-gcc)
-	CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-	DEBUG_CFLAGS="-g -fverbose-asm"
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS="-O3"
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS="-pg"
-	PROFILE_CPPFLAGS=
-	;;
-
-    *)
-	CFLAGS="$CFLAGS -Ae"
-	DEBUG_CFLAGS=-g
-	DEBUG_CPPFLAGS="-Ae"
-	PROD_CFLAGS=-O
-	PROD_CPPFLAGS="-Ae"
-	PROFILE_CFLAGS=
-	PROFILE_CPPFLAGS="-Ae"
-	;;
-esac
-
-# The default Fortran 90 compiler
-
-#
-# HDF5 integers
-#
-# 	R_LARGE is the number of digits for the bigest integer supported.
-#	R_INTEGER is the number of digits in INTEGER
-#
-# (for the HPUX architechture)
-#
-R_LARGE=18
-R_INTEGER=9
-HADDR_T='SELECTED_INT_KIND(R_LARGE)'
-HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HID_T='SELECTED_INT_KIND(R_INTEGER)'
-SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
-OBJECT_NAMELEN_DEFAULT_F=-1
-
-if test "X-" = "X-$F9X"; then
-    F9X=f90
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
-    F9XSUFFIXFLAG=""
-    FSEARCH_DIRS=""
-    FFLAGS="$FFLAGS -O"
-    DEBUG_FFLAGS="-O"
-    PROD_FFLAGS="-O"
-    PROFILE_FFLAGS="-O"
-    f9x_flags_set=yes
-fi

Modified: packages/hdf5/trunk/fortran/config/hpux11.00
===================================================================
--- packages/hdf5/trunk/fortran/config/hpux11.00	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/hpux11.00	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/hpux11.23
===================================================================
--- packages/hdf5/trunk/fortran/config/hpux11.23	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/hpux11.23	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/fortran/config/hpux9.03
===================================================================
--- packages/hdf5/trunk/fortran/config/hpux9.03	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/hpux9.03	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,49 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details
-
-# Default compiler is `cc'
-if test "X-" =  "X-$CC"; then
-    CC=cc
-    CC_BASENAME=cc
-fi
-
-# Flags
-case "X-$CC" in
-    X-gcc)
-	CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-	DEBUG_CFLAGS="-g -fverbose-asm"
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS="-O3"
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS="-pg"
-	PROFILE_CPPFLAGS=
-	;;
-
-    *)
-	CFLAGS="$CFLAGS -Ae"
-	DEBUG_CFLAGS=-g
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS=
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS=
-	PROFILE_CPPFLAGS=
-	;;
-esac

Modified: packages/hdf5/trunk/fortran/config/i386-pc-cygwin32
===================================================================
--- packages/hdf5/trunk/fortran/config/i386-pc-cygwin32	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/i386-pc-cygwin32	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Copied: packages/hdf5/trunk/fortran/config/i686-apple (from rev 1094, packages/hdf5/branches/upstream/current/fortran/config/i686-apple)
===================================================================
--- packages/hdf5/trunk/fortran/config/i686-apple	                        (rev 0)
+++ packages/hdf5/trunk/fortran/config/i686-apple	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,78 @@
+#							-*- shell-script -*-
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+
+
+# This file is part of the HDF5 build script.  It is processed shortly
+# after configure starts and defines, among other things, flags for
+# the various compile modes.
+#
+# See BlankForm in this directory for details.
+
+# The default compiler is `gcc'
+if test "X-" = "X-$CC"; then
+    CC=gcc
+    CC_BASENAME=gcc
+fi
+
+. $srcdir/config/gnu-flags
+
+
+# The default Fortran 90 compiler
+if test "X-" = "X-$F9X"; then
+    F9X=g95
+    F9X_BASENAME=g95
+fi
+# Figure out the F9X_BASENAME
+    tmpfile=/tmp/cmpver.$$
+    ( $F9X -v; $F9X -V) >$tmpfile 2>&1
+    if grep 'g95' $tmpfile > /dev/null; then
+        F9X_BASENAME=g95
+        CFLAGS="$CFLAGS -DH5_G95"
+    fi
+rm -f $tmpfile 
+
+#
+# HDF5 integers
+#
+# 	R_LARGE is the number of digits for the bigest integer supported.
+#	R_INTEGER is the number of digits in INTEGER
+#
+# (for the AIX architechture)
+#
+R_LARGE=18
+R_INTEGER=9
+HADDR_T='SELECTED_INT_KIND(R_LARGE)'
+HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
+HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
+HID_T='SELECTED_INT_KIND(R_INTEGER)'
+SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
+OBJECT_NAMELEN_DEFAULT_F=-1
+
+case $F9X_BASENAME in
+    g95) 
+        F9XSUFFIXFLAG=""
+        FFLAGS="$FFLAGS "
+        FSEARCH_DIRS="-I./ -I../src"
+        DEBUG_FFLAGS="-g"
+        PROD_FFLAGS="-O"
+        PROFILE_FFLAGS="-g -pg"
+        f9x_flags_set=yes
+        here
+        ;;
+
+
+esac
+
+    

Modified: packages/hdf5/trunk/fortran/config/ia64-linux-gnu
===================================================================
--- packages/hdf5/trunk/fortran/config/ia64-linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/ia64-linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/intel-fflags
===================================================================
--- packages/hdf5/trunk/fortran/config/intel-fflags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/intel-fflags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the

Modified: packages/hdf5/trunk/fortran/config/intel-flags
===================================================================
--- packages/hdf5/trunk/fortran/config/intel-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/intel-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the

Deleted: packages/hdf5/trunk/fortran/config/intel-osf1
===================================================================
--- packages/hdf5/trunk/fortran/config/intel-osf1	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/intel-osf1	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,96 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# This is for the ASCI RED TFLOPS machine
-
-# The default compiler is `cicc'
-if test "X-" =  "X-$CC"; then
-    CC=cicc
-    CC_BASENAME=cicc
-fi
-
-# The default archiver is `xar'
-AR=${AR:-xar}
-
-# There is no ranlib
-RANLIB=:
-
-# Additional libraries
-LDFLAGS="$LDFLAGS -lnoop_stubs"
-
-# How to run serial and parallel test programs
-RUNSERIAL="yod -sz 1"
-RUNPARALLEL="yod -sz 8"
-
-# What must *always* be present for things to compile correctly?
-#CPPFLAGS="$CPPFLAGS -I."
-
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS=-g
-DEBUG_CPPFLAGS=
-
-# What compiler flags should be used for building a production
-# library?
-PROD_CFLAGS=-O
-PROD_CPPFLAGS=
-
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=-pg
-PROFILE_CPPFLAGS=
-
-# Turn off shared lib option.  It does not work for TFLOPS yet.
-enable_shared="${enable_shared:-no}"
-
-# Set this to the width required by printf() to print type `long
-# long'.  For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-# Hard set sizeof_intN_t to 0 because they are not supported.
-ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t='0'}
-ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t='0'}
-ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t='0'}
-ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t='0'}
-ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t='0'}
-ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t='0'}
-ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t='0'}
-ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t='0'}
-
-# Hard set sizeof_int_leastN_t to 0 because they are not supported.
-ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t='0'}
-ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t='0'}
-ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t='0'}
-ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t='0'}
-ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t='0'}
-ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t='0'}
-ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t='0'}
-ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t='0'}
-
-# Hard set sizeof_int_fastN_t to 0 because they are not supported.
-ac_cv_sizeof_int_fast8_t=${ac_cv_sizeof_int_fast8_t='0'}
-ac_cv_sizeof_int_fast16_t=${ac_cv_sizeof_int_fast16_t='0'}
-ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t='0'}
-ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t='0'}
-ac_cv_sizeof_uint_fast8_t=${ac_cv_sizeof_uint_fast8_t='0'}
-ac_cv_sizeof_uint_fast16_t=${ac_cv_sizeof_uint_fast16_t='0'}
-ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t='0'}
-ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t='0'}
-

Deleted: packages/hdf5/trunk/fortran/config/irix5.x
===================================================================
--- packages/hdf5/trunk/fortran/config/irix5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/irix5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,63 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details
-
-# The default compiler is `cc' and there is no ranlib.
-if test "X-" =  "X-$CC"; then
-    CC=cc
-    CC_BASENAME=cc
-fi
-RANLIB=:
-
-case "X-$CC_BASENAME" in
-    X-gcc)
-	CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-	DEBUG_CFLAGS="-g -fverbose-asm"
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS="-O3"
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS="-pg"
-	PROFILE_CPPFLAGS=
-	;;
-
-    *)
-        # Do *not* use -ansi because it prevents hdf5 from being able
-        # to read modification dates from the file. On some systems it
-        # can also result in compile errors in system header files
-        # since hdf5 includes a couple non-ANSI header files.
-        #CFLAGS="$CFLAGS -ansi"
-
-	# Always turn off these compiler warnings:
-        CFLAGS="$CFLAGS -woff 799"
-
-	# Extra debugging flags
-	DEBUG_CFLAGS=-g
-	DEBUG_CPPFLAGS=
-
-	# Extra production flags
-	# Note: higher optimizations relax alignment requirements needed.
-	PROD_CFLAGS="-O -s"
-	PROD_CPPFLAGS=
-
-	# Extra profiling flags
-	PROFILE_CFLAGS=-pg
-	PROFILE_CPPFLAGS=
-	;;
-esac

Modified: packages/hdf5/trunk/fortran/config/irix6.x
===================================================================
--- packages/hdf5/trunk/fortran/config/irix6.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/irix6.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/linux-gnu
===================================================================
--- packages/hdf5/trunk/fortran/config/linux-gnu	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/linux-gnu	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This is the same as linux-gnulibc1

Modified: packages/hdf5/trunk/fortran/config/linux-gnuaout
===================================================================
--- packages/hdf5/trunk/fortran/config/linux-gnuaout	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/linux-gnuaout	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This is the same as linux-gnulibc1

Modified: packages/hdf5/trunk/fortran/config/linux-gnulibc1
===================================================================
--- packages/hdf5/trunk/fortran/config/linux-gnulibc1	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/linux-gnulibc1	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly
@@ -18,7 +19,6 @@
 # the various compile modes.
 #
 # See BlankForm in this directory for details.
-
 # The default compiler is `gcc'.
 if test -z "$CC"; then
     CC=gcc
@@ -35,10 +35,14 @@
 . $srcdir/config/intel-flags
 
 
-# The default Fortran 90 compiler
+# Use default Fortran 90 compiler according to what C compiler is used.
 if test "X-" = "X-$F9X"; then
     case $CC_BASENAME in
-        gcc*|pgcc*)
+        gcc*)
+            F9X=g95
+            F9X_BASENAME=g95
+            ;;
+        pgcc*)
             F9X=pgf90
             F9X_BASENAME=pgf90
             ;;
@@ -51,12 +55,14 @@
             F9X_BASENAME=mpif90
             ;;
     esac
-else
+fi
+
+# Figure out the F9X_BASENAME
     case $F9X in
         # The PGI and Intel compilers are automatically detected below
         ifc*|ifort*|pgf90*)
             ;;
-	g95)
+	g95|*/g95)
 	    F9X_BASENAME=g95
 	    ;;
 	*mpif90)
@@ -69,8 +75,9 @@
 	    # Try both options.
             tmpfile=/tmp/cmpver.$$
             ( $F9X -v; $F9X -V) >$tmpfile 2>&1
-	    if grep '(g95!)' $tmpfile > /dev/null; then
+	    if grep 'g95' $tmpfile > /dev/null; then
 		F9X_BASENAME=g95
+		CFLAGS="$CFLAGS -DH5_G95" 
 	    elif grep 'Absoft' $tmpfile > /dev/null; then
 		F9X_BASENAME=f95
 	    elif grep 'Portland Group' $tmpfile > /dev/null; then
@@ -96,7 +103,6 @@
             $RM $tmpfile
             ;;
     esac
-fi
 
 #
 # HDF5 integers

Modified: packages/hdf5/trunk/fortran/config/linux-gnulibc2
===================================================================
--- packages/hdf5/trunk/fortran/config/linux-gnulibc2	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/linux-gnulibc2	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/nv1-cray
===================================================================
--- packages/hdf5/trunk/fortran/config/nv1-cray	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/nv1-cray	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #                                                      -*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/pgi-fflags
===================================================================
--- packages/hdf5/trunk/fortran/config/pgi-fflags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/pgi-fflags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the

Modified: packages/hdf5/trunk/fortran/config/pgi-flags
===================================================================
--- packages/hdf5/trunk/fortran/config/pgi-flags	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/pgi-flags	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file should be sourced into configure if the compiler is the

Modified: packages/hdf5/trunk/fortran/config/powerpc-apple
===================================================================
--- packages/hdf5/trunk/fortran/config/powerpc-apple	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/powerpc-apple	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/fortran/config/powerpc-ibm-aix4.x
===================================================================
--- packages/hdf5/trunk/fortran/config/powerpc-ibm-aix4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/powerpc-ibm-aix4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,58 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Cross compiling defaults
-ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-
-# The default Fortran 90 compiler
-
-#
-# HDF5 integers
-#
-# 	R_LARGE is the number of digits for the bigest integer supported.
-#	R_INTEGER is the number of digits in INTEGER
-#
-# (for the AIX architechture)
-#
-R_LARGE=18
-R_INTEGER=9
-HADDR_T='SELECTED_INT_KIND(R_LARGE)'
-HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HID_T='SELECTED_INT_KIND(R_INTEGER)'
-SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
-OBJECT_NAMELEN_DEFAULT_F=-1
-
-if test "X-" = "X-$F9X"; then
-    F9X=xlf
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
-    F9XSUFFIXFLAG="-qsuffix=f=f90"
-    FFLAGS="$FFLAGS -static -O ${F9XSUFFIXFLAG} -qmoddir=./ -k"
-    FSEARCH_DIRS="-I./ -I../src"
-    DEBUG_FFLAGS="-O"
-    PROD_FFLAGS="-O"
-    PROFILE_FFLAGS="-O"
-    f9x_flags_set=yes
-fi

Modified: packages/hdf5/trunk/fortran/config/powerpc-ibm-aix5.x
===================================================================
--- packages/hdf5/trunk/fortran/config/powerpc-ibm-aix5.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/powerpc-ibm-aix5.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly
@@ -45,7 +46,7 @@
 	# Turn off shared lib option.  It causes some test suite to fail.
 	enable_shared="${enable_shared:-no}"
         # Use -D_LARGE_FILES by default to support large file size.
-        CFLAGS="-qlanglvl=ansi -D_LARGE_FILES $CFLAGS"
+        CFLAGS="-qlanglvl=stdc99 -D_LARGE_FILES $CFLAGS"
 	DEBUG_CFLAGS="-g"
 	DEBUG_CPPFLAGS=
 	# -O causes test/dtypes to fail badly. Turn it off for now.

Deleted: packages/hdf5/trunk/fortran/config/rs6000-ibm-aix4.x
===================================================================
--- packages/hdf5/trunk/fortran/config/rs6000-ibm-aix4.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/rs6000-ibm-aix4.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,57 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-#
-# See BlankForm in this directory for details.
-
-# Cross compiling defaults
-ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-
-# The default Fortran 90 compiler
-
-#
-# HDF5 integers
-#
-# 	R_LARGE is the number of digits for the bigest integer supported.
-#	R_INTEGER is the number of digits in INTEGER
-#
-# (for the AIX architechture)
-#
-R_LARGE=18
-R_INTEGER=9
-HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HID_T='SELECTED_INT_KIND(R_INTEGER)'
-SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
-OBJECT_NAMELEN_DEFAULT_F=-1
-
-if test "X-" = "X-$F9X"; then
-    F9X=xlf
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
-    F9XSUFFIXFLAG="-qsuffix=f=f90"
-    FFLAGS="$FFLAGS -static -O ${F9XSUFFIXFLAG} -qmoddir=./ -k"
-    FSEARCH_DIRS="-I./ -I../src"
-    DEBUG_FFLAGS="-O"
-    PROD_FFLAGS="-O"
-    PROFILE_FFLAGS="-O"
-    f9x_flags_set=yes
-fi

Modified: packages/hdf5/trunk/fortran/config/solaris2.x
===================================================================
--- packages/hdf5/trunk/fortran/config/solaris2.x	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/solaris2.x	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/sv1-cray
===================================================================
--- packages/hdf5/trunk/fortran/config/sv1-cray	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/sv1-cray	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/unicos
===================================================================
--- packages/hdf5/trunk/fortran/config/unicos	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/unicos	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/unicos10.0.X
===================================================================
--- packages/hdf5/trunk/fortran/config/unicos10.0.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/unicos10.0.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/unicosmk
===================================================================
--- packages/hdf5/trunk/fortran/config/unicosmk	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/unicosmk	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Deleted: packages/hdf5/trunk/fortran/config/unicosmk2.0.5.X
===================================================================
--- packages/hdf5/trunk/fortran/config/unicosmk2.0.5.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/unicosmk2.0.5.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,186 +0,0 @@
-#							-*- shell-script -*-
-#
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5.  The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the files COPYING and Copyright.html.  COPYING can be found at the root
-# of the source code distribution tree; Copyright.html can be found at the
-# root level of an installed copy of the electronic HDF5 document set and
-# is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-
-
-# This file is part of the HDF5 build script.  It is processed shortly
-# after configure starts and defines, among other things, flags for
-# the various compile modes.
-
-
-#----------------------------------------------------------------------------
-# Compiler flags. The CPPFLAGS values should not include package debug
-# flags like `-DH5G_DEBUG' since these are added with the
-# `--enable-debug' switch of configure.
-#----------------------------------------------------------------------------
-
-
-# Choosing a C Compiler
-# ---------------------
-#
-# The user should be able to specify the compiler by setting the CC
-# environment variable to the name of the compiler and any switches it 
-# requires for proper operation.  If CC is unset then this script may
-# set it.  If CC is unset by time this script completes then configure 
-# will try `gcc' and `cc' in that order (perhaps some others too).
-#
-# Note: Code later in this file may depend on the value of $CC_BASENAME
-#       in order to distinguish between different compilers when
-#       deciding which compiler command-line switches to use.  This
-#       variable is set based on the incoming value of $CC and is only
-#       used within this file.
-
-if test "X-" =  "X-$CC"; then
-    CC=cc
-    CC_BASENAME=cc
-fi
-# no need to use RANLIB
-RANLIB=:
-
-
-# C Compiler and Preprocessor Flags
-# ---------------------------------
-#
-# Flags that end with `_CFLAGS' are always passed to the compiler.
-# Flags that end with `_CPPFLAGS' are passed to the compiler when
-# compiling but not when linking.
-#
-# DEBUG_CFLAGS		Flags to pass to the compiler to create a
-# DEBUG_CPPFLAGS	library suitable for use with debugging
-#			tools. Usually this list will exclude
-#			optimization switches (like `-O') and include
-#			switches that turn on symbolic debugging
-#			support (like `-g').
-#
-# PROD_CFLAGS		Flags to pass to the compiler to create a
-# PROD_CPPFLAGS		production version of the library.  These
-#			usualy exclude symbolic debugging switches
-#			(like `-g') and include optimization switches
-#			(like `-O').
-#
-# PROFILE_CFLAGS	Flags to pass to the compiler to create a
-# PROFILE_CPPFLAGS	library suitable for performance testing (like 
-# 			`-pg').  This may or may not include debugging 
-# 			or production flags.
-#			
-# CFLAGS		Flags can be added to this variable which
-#			might already be partially initialized.  These 
-#			flags will always be passed to the compiler
-#			and should include switches to turn on full
-#			warnings.  HDF5 attempts to be ANSI and Posix
-#			compliant and employ good programming
-#			practices resulting in few if any
-#			warnings.
-#
-#			Warning flags do not have to be added to CFLAGS
-#			variable if the compiler is the GNU gcc
-#			compiler or a descendent of gcc such as EGCS or PGCC.
-#
-#			The CFLAGS should contains *something* or else 
-#			configure will probably add `-g'.  For most
-#			systems this isn't a problem but some systems
-#			will disable optimizations in favor of the
-#			`-g'.
-#			
-#
-# These flags should be set according to the compiler being used.
-# There are two ways to check the compiler.  You can try using `-v' or 
-# `--version' to see if the compiler will print a version string.  You 
-# can use the value of $CC_BASENAME which is the base name of the
-# first word in $CC (note that the value of CC may have changed
-# above).
-
-case $CC_BASENAME in
-    gcc)
-	CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
-	DEBUG_CFLAGS="-g -fverbose-asm"
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS="-O3 -fomit-frame-pointer"
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS="-pg"
-	PROFILE_CPPFLAGS=
-	;;
-
-    cc)
-	CFLAGS="$CFLAGS"
-	DEBUG_CFLAGS="-g -h zero"
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS="-O2 -h scalar0"
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS="-pg"
-	PROFILE_CPPFLAGS=
-	;;
-
-    *)
-	CFLAGS="$CFLAGS -ansi"
-	DEBUG_CFLAGS="-g"
-	DEBUG_CPPFLAGS=
-	PROD_CFLAGS="-O"
-	PROD_CPPFLAGS=
-	PROFILE_CFLAGS="-pg"
-	PROFILE_CPPFLAGS=
-	;;
-esac
-
-
-
-# Overriding Configure Tests
-# --------------------------
-#
-# Values for overriding configuration tests when cross compiling.
-# This includes compiling on some machines where the serial front end
-# compiles for a parallel back end.
-
-# Set this to `yes' or `no' depending on whether the target is big
-# endian or little endian.
-#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
-
-# Set this to the width required by printf() to print type `long
-# long'.  For instance, if the format would be `%lld' then set it to
-# `ll' or if the format would be `%qd' set it to `q'.
-#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
-
-# The default Fortran 90 compiler
-
-#
-# HDF5 integers
-#
-# 	R_LARGE is the number of digits for the bigest integer supported.
-#	R_INTEGER is the number of digits in INTEGER
-#
-# (for the UNICOS architechture)
-#
-R_LARGE=18
-R_INTEGER=18
-HADDR_T='SELECTED_INT_KIND(R_LARGE)'
-HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
-HID_T='SELECTED_INT_KIND(R_INTEGER)'
-SIZE_T='SELECTED_INT_KIND(R_LARGE)'
-OBJECT_NAMELEN_DEFAULT_F=-1
-
-if test "X-" = "X-$F9X"; then
-    F9X=f90
-fi
-
-if test "X-" = "X-$f9x_flags_set"; then
-    # -Wl passes flags to the linker and -M# will ignore warnings with
-    # number #. Warning 405 was stopping the executable from being built.
-    F9XSUFFIXFLAG=""
-    FSEARCH_DIRS=""
-    FFLAGS="$FFLAGS -dp -Wl-M405"
-    DEBUG_FFLAGS=""
-    PROD_FFLAGS=""
-    PROFILE_FFLAGS=""
-    f9x_flags_set=yes
-fi

Modified: packages/hdf5/trunk/fortran/config/unicosmk2.0.6.X
===================================================================
--- packages/hdf5/trunk/fortran/config/unicosmk2.0.6.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/unicosmk2.0.6.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/config/unicosmk2.0.X
===================================================================
--- packages/hdf5/trunk/fortran/config/unicosmk2.0.X	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/config/unicosmk2.0.X	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #							-*- shell-script -*-
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 
 # This file is part of the HDF5 build script.  It is processed shortly

Modified: packages/hdf5/trunk/fortran/configure
===================================================================
--- packages/hdf5/trunk/fortran/configure	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/configure	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,29 +1,58 @@
 #! /bin/sh
-# From fortran/configure.in Id: configure.in.
+# From fortran/configure.in Id: configure.in 14030 2007-07-31 03:04:21Z epourmal .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for HDF5 Fortran 1.6.5.
+# Generated by GNU Autoconf 2.61 for HDF5 Fortran 1.6.6.
 #
-# Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+# Report bugs to <help at hdfgroup.org>.
 #
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
@@ -32,8 +61,43 @@
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -47,18 +111,19 @@
   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -66,157 +131,388 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
 fi
 
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
+  case $as_dir in
 	 /*)
-	   if ("$as_dir/$as_base" -c '
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 # Try only shells that exist, to save several forks.
+	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		{ ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
 
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf at gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
+  chmod +x "$as_me.lineno" ||
     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -225,7 +521,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -234,16 +551,7 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
 
-# CDPATH.
-$as_unset CDPATH
-
-
 # Find the correct PATH separator.  Usually this is `:', but
 # DJGPP uses `;' like DOS.
 if test "X${PATH_SEPARATOR+set}" != Xset; then
@@ -403,77 +711,190 @@
 
 
 
+exec 7<&0 </dev/null 6>&1
+
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-exec 6>&1
-
 #
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_clean_files=
 ac_config_libobj_dir=.
+LIBOBJS=
 cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME='HDF5 Fortran'
 PACKAGE_TARNAME='hdf5-fortran'
-PACKAGE_VERSION='1.6.5'
-PACKAGE_STRING='HDF5 Fortran 1.6.5'
-PACKAGE_BUGREPORT='hdfhelp at ncsa.uiuc.edu'
+PACKAGE_VERSION='1.6.6'
+PACKAGE_STRING='HDF5 Fortran 1.6.6'
+PACKAGE_BUGREPORT='help at hdfgroup.org'
 
 ac_unique_file="src/HDF5.f90"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
 #endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS FFLAGS FSEARCH_DIRS H5_CPPFLAGS H5_FFLAGS H5_CFLAGS R_LARGE R_INTEGER HADDR_T HSIZE_T HSSIZE_T HID_T SIZE_T OBJECT_NAMELEN_DEFAULT_F ROOT F9XSUFFIXFLAG CC CFLAGS LDFLAGS ac_ct_CC EXEEXT OBJEXT CPP SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S ECHO RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP EGREP LIBTOOL PERL AR LT_STATIC_EXEC F9X F9XMODFLAG F9XMODEXT PARALLEL RUNSERIAL RUNPARALLEL TESTPARALLEL FILTERS MPE ADD_PARALLEL_FILES H5_VERSION CONFIG_DATE CONFIG_USER CONFIG_MODE BYTESEX CC_VERSION FC_VERSION DYNAMIC_DIRS SEARCH SETX LIBOBJS LTLIBOBJS'
-ac_subst_files='DEPEND COMMENCE CONCLUDE'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPPFLAGS
+FFLAGS
+FSEARCH_DIRS
+H5_CPPFLAGS
+H5_FFLAGS
+H5_CFLAGS
+R_LARGE
+R_INTEGER
+HADDR_T
+HSIZE_T
+HSSIZE_T
+HID_T
+SIZE_T
+OBJECT_NAMELEN_DEFAULT_F
+ROOT
+F9XSUFFIXFLAG
+CC
+CFLAGS
+LDFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+CPP
+SET_MAKE
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+PARALLEL
+RUNSERIAL
+RUNPARALLEL
+TESTPARALLEL
+BUILD_PARALLEL_CONDITIONAL_TRUE
+BUILD_PARALLEL_CONDITIONAL_FALSE
+LN_S
+ECHO
+RANLIB
+STRIP
+GREP
+EGREP
+LIBTOOL
+PERL
+AR
+LT_STATIC_EXEC
+F9X
+F9XMODFLAG
+F9XMODEXT
+FILTERS
+MPE
+ADD_PARALLEL_FILES
+H5_VERSION
+CONFIG_DATE
+CONFIG_USER
+CONFIG_MODE
+BYTESEX
+CC_VERSION
+FC_VERSION
+DYNAMIC_DIRS
+SEARCH
+SETX
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files='DEPEND
+COMMENCE
+CONCLUDE'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
 
+
 # Initialize some variables set by options.
 ac_init_help=
 ac_init_version=false
@@ -499,34 +920,48 @@
 # and all the variables that are supposed to be based on exec_prefix
 # by default will actually change.
 # Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
 ac_prev=
+ac_dashdash=
 for ac_option
 do
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case $ac_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -548,33 +983,45 @@
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
     datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    eval "enable_$ac_feature=no" ;;
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
 
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -601,6 +1048,12 @@
   -host=* | --host=* | --hos=* | --ho=*)
     host_alias=$ac_optarg ;;
 
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
@@ -625,13 +1078,16 @@
   | --libexe=* | --libex=* | --libe=*)
     libexecdir=$ac_optarg ;;
 
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
   -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -696,6 +1152,16 @@
   | --progr-tra=* | --program-tr=* | --program-t=*)
     program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
@@ -748,24 +1214,20 @@
   -with-* | --with-*)
     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/-/_/g'`
-    eval "with_$ac_package=no" ;;
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -796,8 +1258,7 @@
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
@@ -817,29 +1278,21 @@
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
 do
-  eval ac_val=$`echo $ac_var`
+  eval ac_val=\$$ac_var
   case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
 done
 
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-	      localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
 # There might be people who depend on the old broken behavior: `$host'
 # used to hold the argument of --host etc.
 # FIXME: To remove some day.
@@ -864,74 +1317,76 @@
 test "$silent" = yes && exec 6>/dev/null
 
 
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
 $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$0" : 'X\(//\)[^/]' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
   srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
-  fi
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
-   { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
 #
 # Report the --help message.
@@ -940,7 +1395,7 @@
   # 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 Fortran 1.6.5 to adapt to many kinds of systems.
+\`configure' configures HDF5 Fortran 1.6.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -960,9 +1415,6 @@
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
 			  [$ac_default_prefix]
@@ -980,15 +1432,22 @@
   --bindir=DIR           user executables [EPREFIX/bin]
   --sbindir=DIR          system admin executables [EPREFIX/sbin]
   --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
   --libdir=DIR           object code libraries [EPREFIX/lib]
   --includedir=DIR       C header files [PREFIX/include]
   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/hdf5-fortran]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -1001,7 +1460,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of HDF5 Fortran 1.6.5:";;
+     short | recursive ) echo "Configuration of HDF5 Fortran 1.6.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1017,13 +1476,13 @@
                           [default=no]
   --enable-linux-lfs      Enable support for large (64-bit) files on Linux.
                           [default=check]
-  --enable-stream-vfd     Build the Stream Virtual File Driver [default=no]
   --enable-filters=all    Turn on all internal I/O filters. One may also
                           specify a comma-separated list of filters or the
                           word no. The default is all internal I/O filters.
   --enable-parallel       Search for MPI-IO and MPI support files
   --enable-gpfs           Enable GPFS hints for the MPI/POSIX file driver.
                           [default=no]
+  --enable-stream-vfd     Build the Stream Virtual File Driver [default=no]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1041,129 +1500,96 @@
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <hdfhelp at ncsa.uiuc.edu>.
+Report bugs to <help at hdfgroup.org>.
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" || continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      echo
-      $SHELL $ac_srcdir/configure.gnu  --help=recursive
-    elif test -f $ac_srcdir/configure; then
-      echo
-      $SHELL $ac_srcdir/configure  --help=recursive
-    elif test -f $ac_srcdir/configure.ac ||
-	   test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd $ac_popdir
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-HDF5 Fortran configure 1.6.5
-generated by GNU Autoconf 2.59
+HDF5 Fortran configure 1.6.6
+generated by GNU Autoconf 2.61
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-  exit 0
+  exit
 fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+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 Fortran $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
+It was created by HDF5 Fortran $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1182,7 +1608,7 @@
 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
@@ -1196,6 +1622,7 @@
   test -z "$as_dir" && as_dir=.
   echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1217,7 +1644,6 @@
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1228,7 +1654,7 @@
     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
-    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+    *\'*)
       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
@@ -1250,9 +1676,7 @@
 	  -* ) ac_must_keep_next=true ;;
 	esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1263,8 +1687,8 @@
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 # would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
@@ -1277,20 +1701,34 @@
 _ASBOX
     echo
     # The following way of writing the cache mishandles newlines in values,
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
   (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       sed -n \
-	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1301,22 +1739,28 @@
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
       cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-	eval ac_val=$`echo $ac_var`
-	echo "$ac_var='"'"'$ac_val'"'"'"
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1328,26 +1772,24 @@
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      cat confdefs.h
       echo
     fi
     test "$ac_signal" != 0 &&
       echo "$as_me: caught signal $ac_signal"
     echo "$as_me: exit $exit_status"
   } >&5
-  rm -f core *.core &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 0
 for ac_signal in 1 2 13 15; do
   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1378,14 +1820,17 @@
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
   if test -r "$ac_site_file"; then
     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
 echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1401,8 +1846,8 @@
     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
 echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
-      [\\/]* | ?:[\\/]* ) . $cache_file;;
-      *)                      . ./$cache_file;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
@@ -1414,12 +1859,11 @@
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
   eval ac_old_set=\$ac_cv_env_${ac_var}_set
   eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-  eval ac_new_val="\$ac_env_${ac_var}_value"
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1444,8 +1888,7 @@
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1462,11 +1905,6 @@
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
@@ -1491,94 +1929,133 @@
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_config_headers="$ac_config_headers src/H5config_fortran.h"
 
-          ac_config_headers="$ac_config_headers src/H5config_fortran.h"
 
-
 ac_aux_dir=
-for ac_dir in ../bin $srcdir/../bin; do
-  if test -f $ac_dir/install-sh; then
+for ac_dir in ../bin "$srcdir"/../bin; do
+  if test -f "$ac_dir/install-sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install-sh -c"
     break
-  elif test -f $ac_dir/install.sh; then
+  elif test -f "$ac_dir/install.sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install.sh -c"
     break
-  elif test -f $ac_dir/shtool; then
+  elif test -f "$ac_dir/shtool"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/shtool install -c"
     break
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../bin $srcdir/../bin" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in ../bin $srcdir/../bin" >&2;}
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ../bin \"$srcdir\"/../bin" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ../bin \"$srcdir\"/../bin" >&2;}
    { (exit 1); exit 1; }; }
 fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
-          ac_config_commands="$ac_config_commands default-1"
 
 
+ac_config_commands="$ac_config_commands default-1"
+
+
 # Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
    { (exit 1); exit 1; }; }
 
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
 if test "${ac_cv_build+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
-  ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
   { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
 echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
    { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
 if test "${ac_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
-  ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
    { (exit 1); exit 1; }; }
+fi
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
@@ -1598,11 +2075,15 @@
 
 
 
-echo "$as_me:$LINENO: checking shell variables initial values" >&5
-echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6
+if test "x" = "x$F9X"; then
+  F9X=${FC}
+fi
+
+{ echo "$as_me:$LINENO: checking shell variables initial values" >&5
+echo $ECHO_N "checking shell variables initial values... $ECHO_C" >&6; }
 set >&5
-echo "$as_me:$LINENO: result: done" >&5
-echo "${ECHO_T}done" >&6
+{ echo "$as_me:$LINENO: result: done" >&5
+echo "${ECHO_T}done" >&6; }
 
 if test -x "/bin/pwd"; then
    pwd=/bin/pwd
@@ -1611,15 +2092,15 @@
 fi
  ROOT=`$pwd`
 
-echo "$as_me:$LINENO: checking for cached host" >&5
-echo $ECHO_N "checking for cached host... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for cached host" >&5
+echo $ECHO_N "checking for cached host... $ECHO_C" >&6; }
 if test "${hdf5_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   hdf5_cv_host="none"
 fi
-echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
-echo "${ECHO_T}$hdf5_cv_host" >&6;
+{ echo "$as_me:$LINENO: result: $hdf5_cv_host" >&5
+echo "${ECHO_T}$hdf5_cv_host" >&6; };
 if test "X$hdf5_cv_host" = "Xnone"; then
    hdf5_cv_host=$host
 elif test "$hdf5_cv_host" != "$host"; then
@@ -1672,16 +2153,16 @@
    $host_os_novers \
    $host_vendor \
    $host_cpu ; do
-   echo "$as_me:$LINENO: checking for config $f" >&5
-echo $ECHO_N "checking for config $f... $ECHO_C" >&6
+   { echo "$as_me:$LINENO: checking for config $f" >&5
+echo $ECHO_N "checking for config $f... $ECHO_C" >&6; }
    if test -f $srcdir/config/$f; then
       host_config=$srcdir/config/$f
-      echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
+      { echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6; }
       break
    fi
-   echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 done
 if test "X$host_config" != "Xnone"; then
    CC_BASENAME="`echo $CC |cut -f1 -d' ' |xargs basename 2>/dev/null`"
@@ -1698,8 +2179,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1712,32 +2193,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1750,36 +2233,51 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
   CC="$ac_cv_prog_CC"
 fi
 
 if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1792,74 +2290,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+
   fi
-done
-done
-
 fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1873,7 +2331,7 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -1884,6 +2342,7 @@
   fi
 done
 done
+IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
   # We found a bogon in the path, so make sure we never use it.
@@ -1901,22 +2360,23 @@
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl
+  for ac_prog in cl.exe
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1929,36 +2389,38 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CC" && break
   done
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl
+  for ac_prog in cl.exe
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1971,29 +2433,45 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
@@ -2006,21 +2484,35 @@
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -2045,47 +2537,77 @@
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
 do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
 	;;
-    conftest.$ac_ext )
-	# This is the source file.
-	;;
     [ab].out )
 	# We found the default executable, but exeext='' is most
 	# certainly right.
 	break;;
     *.* )
-	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	# FIXME: I believe we export ac_cv_exeext for Libtool,
-	# but it would be cool to find out if it's true.  Does anybody
-	# maintain Libtool? --akim.
-	export ac_cv_exeext
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
 	break;;
     * )
 	break;;
   esac
 done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
@@ -2097,19 +2619,21 @@
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
 
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2128,22 +2652,27 @@
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 rm -f a.out a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
 
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
@@ -2154,9 +2683,8 @@
 for ac_file in conftest.exe conftest conftest.*; do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  export ac_cv_exeext
 	  break;;
     * ) break;;
   esac
@@ -2170,14 +2698,14 @@
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
 if test "${ac_cv_objext+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2197,14 +2725,20 @@
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -2222,12 +2756,12 @@
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2250,50 +2784,49 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+	ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
 GCC=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2309,38 +2842,118 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cc_g=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -2356,12 +2969,12 @@
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_prog_cc_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2395,12 +3008,17 @@
 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
    function prototypes and stuff, but not '\xHH' hex character constants.
    These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std1 is added to get
+   as 'x'.  The following induces an error, until -std is added to get
    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
    array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std1.  */
+   that's true only with -std.  */
 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
 int test (int i, double x);
 struct s1 {int (*f) (int a);};
 struct s2 {int (*f) (double a);};
@@ -2415,205 +3033,57 @@
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX			-qlanglvl=ansi
-# Ultrix and OSF/1	-std1
-# HP-UX 10.20 and later	-Ae
-# HP-UX older versions	-Aa -D_HPUX_SOURCE
-# SVR4			-Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
   rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2625,8 +3095,8 @@
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2660,24 +3130,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -2686,9 +3154,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2698,24 +3167,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -2726,6 +3193,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2743,8 +3211,8 @@
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -2767,24 +3235,22 @@
 #endif
 		     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   :
 else
   echo "$as_me: failed program was:" >&5
@@ -2793,9 +3259,10 @@
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2805,24 +3272,22 @@
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
@@ -2833,6 +3298,7 @@
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2854,32 +3320,33 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 	CC_BASENAME="`echo $CC |cut -f1 -d' ' |xargs basename 2>/dev/null`"
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
 all:
-	@echo 'ac_maketemp="$(MAKE)"'
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
 rm -f conftest.make
 fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   SET_MAKE=
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -2896,8 +3363,8 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -2919,7 +3386,7 @@
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2938,21 +3405,22 @@
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -2962,10 +3430,69 @@
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-# Check whether --enable-shared or --disable-shared was given.
+
+
+
+
+
+
+
+
+
+case "$F9X" in
+  *mpif90*)
+            PARALLEL=mpif90
+    { echo "$as_me:$LINENO: checking for mpirun" >&5
+echo $ECHO_N "checking for mpirun... $ECHO_C" >&6; }
+
+        cmd=`echo $F9X |cut -f1 -d' '`
+    if (echo $cmd |grep / >/dev/null); then
+      path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`"
+    else
+      for path in `echo $PATH |tr : ' '`; do
+        if test -x $path/$cmd; then
+          break;
+        fi
+      done
+    fi
+
+        if test -x $path/mpirun; then
+      { echo "$as_me:$LINENO: result: $path/mpirun" >&5
+echo "${ECHO_T}$path/mpirun" >&6; }
+      RUNSERIAL="${RUNSERIAL:-none}"
+
+      if test -z "$RUNPARALLEL"; then
+        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}"
+      fi
+    else
+      { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
+    fi
+    ;;
+
+  *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*)
+        PARALLEL="$F9X"
+    ;;
+
+  *)
+            ;;
+esac
+
+if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries disabled in parallel'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries explicitly enabled by user'
+elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries disabled when a parallel compiler is being used'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries explicitly enabled by user'
+fi
+
+# Check whether --enable-shared was given.
 if test "${enable_shared+set}" = set; then
-  enableval="$enable_shared"
-  p=${PACKAGE-default}
+  enableval=$enable_shared; p=${PACKAGE-default}
 case $enableval in
 yes) enable_shared=yes ;;
 no) enable_shared=no ;;
@@ -2983,11 +3510,11 @@
 esac
 else
   enable_shared=yes
-fi;
-# Check whether --enable-static or --disable-static was given.
+fi
+
+# Check whether --enable-static was given.
 if test "${enable_static+set}" = set; then
-  enableval="$enable_static"
-  p=${PACKAGE-default}
+  enableval=$enable_static; p=${PACKAGE-default}
 case $enableval in
 yes) enable_static=yes ;;
 no) enable_static=no ;;
@@ -3005,11 +3532,11 @@
 esac
 else
   enable_static=yes
-fi;
-# Check whether --enable-fast-install or --disable-fast-install was given.
+fi
+
+# Check whether --enable-fast-install was given.
 if test "${enable_fast_install+set}" = set; then
-  enableval="$enable_fast_install"
-  p=${PACKAGE-default}
+  enableval=$enable_fast_install; p=${PACKAGE-default}
 case $enableval in
 yes) enable_fast_install=yes ;;
 no) enable_fast_install=no ;;
@@ -3027,7 +3554,8 @@
 esac
 else
   enable_fast_install=yes
-fi;
+fi
+
 # Find the correct PATH separator.  Usually this is `:', but
 # DJGPP uses `;' like DOS.
 if test "X${PATH_SEPARATOR+set}" != Xset; then
@@ -3040,18 +3568,18 @@
 fi
 
 
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+# Check whether --with-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
-  withval="$with_gnu_ld"
-  test "$withval" = no || with_gnu_ld=yes
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi;
+fi
+
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for ld used by GCC" >&5
+echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6; }
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -3080,11 +3608,11 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
 if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -3113,17 +3641,17 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
    { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
 if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3134,25 +3662,25 @@
   lt_cv_prog_gnu_ld=no
 fi
 fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
 if test "${lt_cv_ld_reload_flag+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_ld_reload_flag='-r'
 fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
 reload_flag=$lt_cv_ld_reload_flag
 test -n "$reload_flag" && reload_flag=" $reload_flag"
 
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
 if test "${lt_cv_path_NM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3187,22 +3715,22 @@
 fi
 
 NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: result: $NM" >&5
-echo "${ECHO_T}$NM" >&6
+{ echo "$as_me:$LINENO: result: $NM" >&5
+echo "${ECHO_T}$NM" >&6; }
 
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
-echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
+echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6; }
 if test "${lt_cv_deplibs_check_method+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3379,8 +3907,8 @@
 esac
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 
@@ -3392,8 +3920,8 @@
 
 
 # Check for command to grab the raw symbol name followed by C symbol from nm.
-echo "$as_me:$LINENO: checking command to parse $NM output" >&5
-echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking command to parse $NM output" >&5
+echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6; }
 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3579,31 +4107,178 @@
 fi
 if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
 then
-  echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
+  { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
 else
-  echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
 fi
 
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
 
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3627,36 +4302,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+	ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
@@ -3711,6 +4382,7 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -3730,18 +4402,27 @@
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
 	|| toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3754,12 +4435,14 @@
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -3782,9 +4465,9 @@
 		  inttypes.h stdint.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -3798,38 +4481,35 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   eval "$as_ac_Header=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+	eval "$as_ac_Header=no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -3844,18 +4524,19 @@
 for ac_header in dlfcn.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3866,41 +4547,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3909,24 +4586,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -3934,9 +4609,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -3960,25 +4636,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -3998,8 +4673,8 @@
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4053,17 +4728,17 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6; }
 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4117,11 +4792,11 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
+  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
   else
@@ -4136,8 +4811,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4150,32 +4825,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4188,27 +4865,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -4216,8 +4907,8 @@
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4230,32 +4921,34 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4268,27 +4961,41 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_STRIP="strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  STRIP=$ac_ct_STRIP
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
 else
   STRIP="$ac_cv_prog_STRIP"
 fi
@@ -4297,11 +5004,11 @@
 enable_dlopen=no
 enable_win32_dll=no
 
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+# Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
-  enableval="$enable_libtool_lock"
+  enableval=$enable_libtool_lock;
+fi
 
-fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
@@ -4309,7 +5016,7 @@
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4312 "configure"' > conftest.$ac_ext
+  echo '#line 5019 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -4334,13 +5041,12 @@
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
-  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
 if test "${lt_cv_cc_needs_belf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-
      ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -4363,35 +5069,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   lt_cv_cc_needs_belf=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-lt_cv_cc_needs_belf=no
+	lt_cv_cc_needs_belf=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
      ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4400,8 +5103,8 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     CFLAGS="$SAVE_CFLAGS"
@@ -4501,8 +5204,8 @@
 set dummy $CC
 compiler="$2"
 
-echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
 rm -f .libs 2>/dev/null
 mkdir .libs 2>/dev/null
 if test -d .libs; then
@@ -4512,25 +5215,25 @@
   objdir=_libs
 fi
 rmdir .libs 2>/dev/null
-echo "$as_me:$LINENO: result: $objdir" >&5
-echo "${ECHO_T}$objdir" >&6
+{ echo "$as_me:$LINENO: result: $objdir" >&5
+echo "${ECHO_T}$objdir" >&6; }
 
 
 
-# Check whether --with-pic or --without-pic was given.
+# Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then
-  withval="$with_pic"
-  pic_mode="$withval"
+  withval=$with_pic; pic_mode="$withval"
 else
   pic_mode=default
-fi;
+fi
+
 test -z "$pic_mode" && pic_mode=default
 
 # We assume here that the value for lt_cv_prog_cc_pic will not be cached
 # in isolation, and that seeing it set (from the cache) indicates that
 # the associated values are set (in the cache) correctly too.
-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 if test "${lt_cv_prog_cc_pic+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4681,15 +5384,15 @@
 fi
 
 if test -z "$lt_cv_prog_cc_pic"; then
-  echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+  { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
 else
-  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
-echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
+  { echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6; }
 
   # Check to make sure the pic_flag actually works.
-  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6; }
   if test "${lt_cv_prog_cc_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4711,27 +5414,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
         case $host_os in
       hpux9* | hpux10* | hpux11*)
 	# On HP-UX, both CC and GCC only warn that PIC is supported... then
@@ -4752,10 +5450,11 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-      lt_cv_prog_cc_pic_works=no
+	      lt_cv_prog_cc_pic_works=no
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     CFLAGS="$save_CFLAGS"
 
 fi
@@ -4768,8 +5467,8 @@
     lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
   fi
 
-  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
+  { echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6; }
 fi
 
 # Check for any special shared library compilation flags.
@@ -4784,8 +5483,8 @@
   fi
 fi
 
-echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6; }
 if test "${lt_cv_prog_cc_static_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4808,34 +5507,32 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   lt_cv_prog_cc_static_works=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
   LDFLAGS="$save_LDFLAGS"
 
@@ -4844,8 +5541,8 @@
 
 # Belt *and* braces to stop my trousers falling down:
 test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
-echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6; }
 
 pic_flag="$lt_cv_prog_cc_pic"
 special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
@@ -4856,8 +5553,8 @@
 
 
 # Check to see if options -o and -c are simultaneously supported by compiler
-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_compiler_c_o+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4876,7 +5573,7 @@
 save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
 compiler_c_o=no
-if { (eval echo configure:4879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+if { (eval echo configure:5576: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
   # The compiler can only warn and ignore the option if not recognized
   # So say no if there are warnings
   if test -s out/conftest.err; then
@@ -4900,13 +5597,13 @@
 fi
 
 compiler_c_o=$lt_cv_compiler_c_o
-echo "$as_me:$LINENO: result: $compiler_c_o" >&5
-echo "${ECHO_T}$compiler_c_o" >&6
+{ echo "$as_me:$LINENO: result: $compiler_c_o" >&5
+echo "${ECHO_T}$compiler_c_o" >&6; }
 
 if test x"$compiler_c_o" = x"yes"; then
   # Check to see if we can write to a .lo
-  echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6; }
   if test "${lt_cv_compiler_o_lo+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4932,27 +5629,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
     if test -s conftest.err; then
@@ -4965,16 +5657,18 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_objext="$save_objext"
   CFLAGS="$save_CFLAGS"
 
 fi
 
   compiler_o_lo=$lt_cv_compiler_o_lo
-  echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
-echo "${ECHO_T}$compiler_o_lo" >&6
+  { echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
+echo "${ECHO_T}$compiler_o_lo" >&6; }
 else
   compiler_o_lo=no
 fi
@@ -4983,16 +5677,16 @@
 hard_links="nottested"
 if test "$compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6
+  { echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6; }
   if test "$hard_links" = no; then
     { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
@@ -5004,8 +5698,8 @@
 
 if test "$GCC" = yes; then
   # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
   echo "int some_variable = 0;" > conftest.$ac_ext
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
@@ -5026,27 +5720,22 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
     if test -s conftest.err; then
@@ -5059,11 +5748,13 @@
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CFLAGS="$save_CFLAGS"
-  echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$compiler_rtti_exceptions" >&6
+  { echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$compiler_rtti_exceptions" >&6; }
 
   if test "$compiler_rtti_exceptions" = "yes"; then
     no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
@@ -5073,8 +5764,8 @@
 fi
 
 # See if the linker supports building shared libraries.
-echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
 allow_undefined_flag=
 no_undefined_flag=
@@ -5767,13 +6458,13 @@
     ;;
   esac
 fi
-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6
+{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6; }
 test "$ld_shlibs" = no && can_build_shared=no
 
 # Check hardcoding attributes.
-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var"; then
@@ -5796,29 +6487,29 @@
   # directories.
   hardcode_action=unsupported
 fi
-echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6
+{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6; }
 
 striplib=
 old_striplib=
-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 # PORTME Fill in your ld.so characteristics
-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -6210,18 +6901,18 @@
   dynamic_linker=no
   ;;
 esac
-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6
+{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
 # Report the final consequences.
-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6
+{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
 test "$can_build_shared" = "no" && enable_shared=no
 
 # On AIX, shared libraries and static libraries use the same namespace, and
@@ -6241,15 +6932,15 @@
   fi
   ;;
 esac
-echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6
+{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6; }
 
-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
 # Make sure either enable_shared or enable_static is yes.
 test "$enable_shared" = yes || enable_static=yes
-echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6
+{ echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6; }
 
 if test "$hardcode_action" = relink; then
   # Fast installation is not supported
@@ -6286,8 +6977,8 @@
    ;;
 
   *)
-    echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
 if test "${ac_cv_func_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6314,73 +7005,64 @@
 
 #undef shl_load
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+#if defined __stub_shl_load || defined __stub___shl_load
 choke me
-#else
-char (*f) () = shl_load;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != shl_load;
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_shl_load=no
+	ac_cv_func_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
 if test $ac_cv_func_shl_load = yes; then
   lt_cv_dlopen="shl_load"
 else
-  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_shl_load+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6393,61 +7075,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shl_load ();
 int
 main ()
 {
-shl_load ();
+return shl_load ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dld_shl_load=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_shl_load=no
+	ac_cv_lib_dld_shl_load=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
 if test $ac_cv_lib_dld_shl_load = yes; then
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
 else
-  echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
 if test "${ac_cv_func_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6474,73 +7153,64 @@
 
 #undef dlopen
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+#if defined __stub_dlopen || defined __stub___dlopen
 choke me
-#else
-char (*f) () = dlopen;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != dlopen;
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_dlopen=no
+	ac_cv_func_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
 if test $ac_cv_func_dlopen = yes; then
   lt_cv_dlopen="dlopen"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dl_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6553,61 +7223,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dl_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlopen=no
+	ac_cv_lib_dl_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
 if test $ac_cv_lib_dl_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_svld_dlopen+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6620,61 +7287,58 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlopen ();
 int
 main ()
 {
-dlopen ();
+return dlopen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_svld_dlopen=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_svld_dlopen=no
+	ac_cv_lib_svld_dlopen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
 if test $ac_cv_lib_svld_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
-  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
 if test "${ac_cv_lib_dld_dld_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6687,56 +7351,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dld_link ();
 int
 main ()
 {
-dld_link ();
+return dld_link ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_dld_dld_link=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dld_dld_link=no
+	ac_cv_lib_dld_dld_link=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
 if test $ac_cv_lib_dld_dld_link = yes; then
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
 fi
@@ -6776,8 +7437,8 @@
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6787,7 +7448,7 @@
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 6790 "configure"
+#line 7451 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -6869,13 +7530,13 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
 
     if test "x$lt_cv_dlopen_self" = xyes; then
       LDFLAGS="$LDFLAGS $link_static_flag"
-      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+      { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
 if test "${lt_cv_dlopen_self_static+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6885,7 +7546,7 @@
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 6888 "configure"
+#line 7549 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -6967,8 +7628,8 @@
 
 
 fi
-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
     fi
 
     CPPFLAGS="$save_CPPFLAGS"
@@ -6998,8 +7659,8 @@
     # Test whether the compiler implicitly links with -lc since on some
     # systems, -lgcc has to come before -lc. If gcc already passes -lc
     # to ld, don't add -lc before -lgcc.
-    echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
     if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7039,8 +7700,8 @@
     fi
 fi
 
-    echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
-echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
+    { echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
+echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6; }
     ;;
   esac
 fi
@@ -7616,8 +8277,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_PERL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7630,25 +8291,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_PERL="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 PERL=$ac_cv_prog_PERL
 if test -n "$PERL"; then
-  echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6
+  { echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$PERL" && break
 done
 
@@ -7659,8 +8322,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7673,25 +8336,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AR" && break
 done
 test -n "$AR" || AR=":"
@@ -7700,8 +8365,8 @@
 
 
 if test -z "$SEARCH"; then
-  echo "$as_me:$LINENO: checking how make searches directories" >&5
-echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how make searches directories" >&5
+echo $ECHO_N "checking how make searches directories... $ECHO_C" >&6; }
   while true; do #for break
         cat >maketest <<EOF
 VPATH=$srcdir/config $srcdir/src $srcdir/bin
@@ -7716,8 +8381,8 @@
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='VPATH='
       SEARCH_SEP=' '
-      echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
-echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6
+      { echo "$as_me:$LINENO: result: VPATH=DIR1 DIR2 ..." >&5
+echo "${ECHO_T}VPATH=DIR1 DIR2 ..." >&6; }
       break
     fi
 
@@ -7734,8 +8399,8 @@
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='VPATH='
       SEARCH_SEP=':'
-      echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
-echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6
+      { echo "$as_me:$LINENO: result: VPATH=DIR1:DIR2:..." >&5
+echo "${ECHO_T}VPATH=DIR1:DIR2:..." >&6; }
       break
     fi
 
@@ -7752,15 +8417,15 @@
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
       SEARCH_RULE='.PATH: '
       SEARCH_SEP=' '
-      echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
-echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6
+      { echo "$as_me:$LINENO: result: .PATH: DIR1 DIR2 ..." >&5
+echo "${ECHO_T}.PATH: DIR1 DIR2 ..." >&6; }
       break
     fi
 
         SEARCH_RULE='## SEARCH DISABLED: '
     SEARCH_SEP=' '
-    echo "$as_me:$LINENO: result: it doesn't" >&5
-echo "${ECHO_T}it doesn't" >&6
+    { echo "$as_me:$LINENO: result: it doesn't" >&5
+echo "${ECHO_T}it doesn't" >&6; }
     if test ! -f configure; then
       { { echo "$as_me:$LINENO: error: ${MAKE-make} requires the build and source directories to be the same" >&5
 echo "$as_me: error: ${MAKE-make} requires the build and source directories to be the same" >&2;}
@@ -7771,18 +8436,18 @@
   rm maketest
 fi
 
-echo "$as_me:$LINENO: checking for production mode" >&5
-echo $ECHO_N "checking for production mode... $ECHO_C" >&6
-# Check whether --enable-production or --disable-production was given.
+{ echo "$as_me:$LINENO: checking for production mode" >&5
+echo $ECHO_N "checking for production mode... $ECHO_C" >&6; }
+# Check whether --enable-production was given.
 if test "${enable_production+set}" = set; then
-  enableval="$enable_production"
+  enableval=$enable_production;
+fi
 
-fi;
 
 case "X-$enable_production" in
   X-|X-yes)
-    echo "$as_me:$LINENO: result: \"production\"" >&5
-echo "${ECHO_T}\"production\"" >&6
+    { echo "$as_me:$LINENO: result: \"production\"" >&5
+echo "${ECHO_T}\"production\"" >&6; }
 
             CFLAGS_temp=""
     if test -n "$CFLAGS"; then
@@ -7810,31 +8475,31 @@
     FFLAGS="$FFLAGS $PROD_FFLAGS"
     ;;
   X-no)
-    echo "$as_me:$LINENO: result: \"development\"" >&5
-echo "${ECHO_T}\"development\"" >&6
+    { echo "$as_me:$LINENO: result: \"development\"" >&5
+echo "${ECHO_T}\"development\"" >&6; }
     CONFIG_MODE=development
     CFLAGS="$CFLAGS $DEBUG_CFLAGS"
     CPPFLAGS="$CPPFLAGS $DEBUG_CPPFLAGS"
     FFLAGS="$FFLAGS $DEBUG_FFLAGS"
     ;;
   X-pg|X-profile)
-    echo "$as_me:$LINENO: result: \"profile\"" >&5
-echo "${ECHO_T}\"profile\"" >&6
+    { echo "$as_me:$LINENO: result: \"profile\"" >&5
+echo "${ECHO_T}\"profile\"" >&6; }
     CONFIG_MODE=profile
     CFLAGS="$CFLAGS $PROFILE_CFLAGS"
     CPPFLAGS="$CPPFLAGS $PROFILE_CPPFLAGS"
     FFLAGS="$FFLAGS $PROFILE_FFLAGS"
     ;;
   *)
-    echo "$as_me:$LINENO: result: \"user-defined\"" >&5
-echo "${ECHO_T}\"user-defined\"" >&6
+    { echo "$as_me:$LINENO: result: \"user-defined\"" >&5
+echo "${ECHO_T}\"user-defined\"" >&6; }
     CONFIG_MODE="$X-enableval"
     ;;
 esac
 
 
-echo "$as_me:$LINENO: checking for ceil in -lm" >&5
-echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for ceil in -lm" >&5
+echo $ECHO_N "checking for ceil in -lm... $ECHO_C" >&6; }
 if test "${ac_cv_lib_m_ceil+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7847,56 +8512,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char ceil ();
 int
 main ()
 {
-ceil ();
+return ceil ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_m_ceil=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_m_ceil=no
+	ac_cv_lib_m_ceil=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
-echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_m_ceil" >&5
+echo "${ECHO_T}$ac_cv_lib_m_ceil" >&6; }
 if test $ac_cv_lib_m_ceil = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
@@ -7909,8 +8571,8 @@
 
 if test "`uname`" = "SunOS" -o "`uname -sr`" = "HP-UX B.11.00"; then
 
-echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
-echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; }
 if test "${ac_cv_lib_socket_socket+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7923,56 +8585,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char socket ();
 int
 main ()
 {
-socket ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_socket_socket=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_socket=no
+	ac_cv_lib_socket_socket=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; }
 if test $ac_cv_lib_socket_socket = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -7983,8 +8642,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
-echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for xdr_int in -lnsl" >&5
+echo $ECHO_N "checking for xdr_int in -lnsl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_nsl_xdr_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7997,56 +8656,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char xdr_int ();
 int
 main ()
 {
-xdr_int ();
+return xdr_int ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_nsl_xdr_int=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_nsl_xdr_int=no
+	ac_cv_lib_nsl_xdr_int=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_xdr_int" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_xdr_int" >&6; }
 if test $ac_cv_lib_nsl_xdr_int = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
@@ -8058,14 +8714,14 @@
 
 fi
 
-echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
-echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6
-# Check whether --enable-static_exec or --disable-static_exec was given.
+{ echo "$as_me:$LINENO: checking if should build only statically linked executables" >&5
+echo $ECHO_N "checking if should build only statically linked executables... $ECHO_C" >&6; }
+# Check whether --enable-static_exec was given.
 if test "${enable_static_exec+set}" = set; then
-  enableval="$enable_static_exec"
-  STATIC_EXEC=$enableval
-fi;
+  enableval=$enable_static_exec; STATIC_EXEC=$enableval
+fi
 
+
 if test "X$STATIC_EXEC" = "Xyes"; then
   echo "yes"
   LT_STATIC_EXEC="-all-static"
@@ -8077,11 +8733,11 @@
 
 case "$host_cpu-$host_vendor-$host_os" in
   *linux*)
-                # Check whether --enable-linux-lfs or --disable-linux-lfs was given.
+                # Check whether --enable-linux-lfs was given.
 if test "${enable_linux_lfs+set}" = set; then
-  enableval="$enable_linux_lfs"
+  enableval=$enable_linux_lfs;
+fi
 
-fi;
 
     LINUX_LFS="no"
     case "X-$enable_linux_lfs" in
@@ -8100,15 +8756,15 @@
         ;;
     esac
 
-    echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
-echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
+echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6; }
     if test "X$LINUX_LFS" = "Xyes"; then
-      echo "$as_me:$LINENO: result: enabled" >&5
-echo "${ECHO_T}enabled" >&6
+      { echo "$as_me:$LINENO: result: enabled" >&5
+echo "${ECHO_T}enabled" >&6; }
       CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS"
     else
-      echo "$as_me:$LINENO: result: disabled" >&5
-echo "${ECHO_T}disabled" >&6
+      { echo "$as_me:$LINENO: result: disabled" >&5
+echo "${ECHO_T}disabled" >&6; }
     fi
 
                 CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS"
@@ -8121,8 +8777,8 @@
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_F9X+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8135,25 +8791,27 @@
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_F9X="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 F9X=$ac_cv_prog_F9X
 if test -n "$F9X"; then
-  echo "$as_me:$LINENO: result: $F9X" >&5
-echo "${ECHO_T}$F9X" >&6
+  { echo "$as_me:$LINENO: result: $F9X" >&5
+echo "${ECHO_T}$F9X" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$F9X" && break
 done
 
@@ -8162,10 +8820,9 @@
    { (exit 1); exit 1; }; }
 
 
-echo "$as_me:$LINENO: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works" >&5
-echo $ECHO_N "checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works" >&5
+echo $ECHO_N "checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) works... $ECHO_C" >&6; }
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -8203,21 +8860,21 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-echo "$as_me:$LINENO: result: $ac_cv_prog_f9x_works" >&5
-echo "${ECHO_T}$ac_cv_prog_f9x_works" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f9x_works" >&5
+echo "${ECHO_T}$ac_cv_prog_f9x_works" >&6; }
 if test $ac_cv_prog_f9x_works = no; then
   { { echo "$as_me:$LINENO: error: installation or configuration problem: Fortran 9X compiler cannot create executables." >&5
 echo "$as_me: error: installation or configuration problem: Fortran 9X compiler cannot create executables." >&2;}
    { (exit 1); exit 1; }; }
 fi
-echo "$as_me:$LINENO: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo $ECHO_N "checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $ac_cv_prog_f9x_cross" >&5
-echo "${ECHO_T}$ac_cv_prog_f9x_cross" >&6
+{ echo "$as_me:$LINENO: checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo $ECHO_N "checking whether the Fortran 9X compiler ($F9X $FFLAGS $LDFLAGS) is a cross-compiler... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f9x_cross" >&5
+echo "${ECHO_T}$ac_cv_prog_f9x_cross" >&6; }
 cross_compiling=$ac_cv_prog_f9x_cross
 
-echo "$as_me:$LINENO: checking whether we are using GNU Fortran 95" >&5
-echo $ECHO_N "checking whether we are using GNU Fortran 95... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether we are using GNU Fortran 95" >&5
+echo $ECHO_N "checking whether we are using GNU Fortran 95... $ECHO_C" >&6; }
 if test "${ac_cv_prog_g9x+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8237,16 +8894,16 @@
   ac_cv_prog_g9x=no
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_g9x" >&5
-echo "${ECHO_T}$ac_cv_prog_g9x" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_g9x" >&5
+echo "${ECHO_T}$ac_cv_prog_g9x" >&6; }
 
 if test $ac_cv_prog_g9x = yes; then
   G9X=yes
         ac_test_FFLAGS="${FFLAGS+set}"
   ac_save_FFLAGS="$FFLAGS"
   FFLAGS=
-  echo "$as_me:$LINENO: checking whether $F9X accepts -g" >&5
-echo $ECHO_N "checking whether $F9X accepts -g... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking whether $F9X accepts -g" >&5
+echo $ECHO_N "checking whether $F9X accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_f9x_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8262,8 +8919,8 @@
 rm -f conftest*
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_f9x_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f9x_g" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_f9x_g" >&5
+echo "${ECHO_T}$ac_cv_prog_f9x_g" >&6; }
   if test "$ac_test_FFLAGS" = set; then
     FFLAGS="$ac_save_FFLAGS"
   elif test $ac_cv_prog_f9x_g = yes; then
@@ -8276,10 +8933,9 @@
   test "${FFLAGS+set}" = set || FFLAGS="-g"
 fi
 
-echo "$as_me:$LINENO: checking what $F9X does with modules" >&5
-echo $ECHO_N "checking what $F9X does with modules... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking what $F9X does with modules" >&5
+echo $ECHO_N "checking what $F9X does with modules... $ECHO_C" >&6; }
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -8331,8 +8987,8 @@
 fi
 cd ..
 
-echo "$as_me:$LINENO: checking how $F9X finds modules" >&5
-echo $ECHO_N "checking how $F9X finds modules... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking how $F9X finds modules" >&5
+echo $ECHO_N "checking how $F9X finds modules... $ECHO_C" >&6; }
 
 for flag in "-I" "-M" "-p"; do
   cat >conftest.$ac_ext <<EOF
@@ -8374,14 +9030,14 @@
 
 
 
-# Check whether --with-zlib or --without-zlib was given.
+# Check whether --with-zlib was given.
 if test "${with_zlib+set}" = set; then
-  withval="$with_zlib"
-
+  withval=$with_zlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_ZLIB="yes"
@@ -8389,18 +9045,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8411,41 +9068,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8454,24 +9107,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8479,9 +9130,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -8505,25 +9157,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -8536,8 +9187,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8550,56 +9201,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -8611,8 +9259,8 @@
   unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8639,68 +9287,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -8714,10 +9353,10 @@
     ;;
   no)
     HAVE_ZLIB="no"
-    echo "$as_me:$LINENO: checking for GNU zlib" >&5
-echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for GNU zlib" >&5
+echo $ECHO_N "checking for GNU zlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_ZLIB="yes"
@@ -8752,18 +9391,19 @@
 for ac_header in zlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8774,41 +9414,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8817,24 +9453,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -8842,9 +9476,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -8868,25 +9503,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -8906,8 +9540,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
-echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for compress2 in -lz" >&5
+echo $ECHO_N "checking for compress2 in -lz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_z_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -8920,56 +9554,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 int
 main ()
 {
-compress2 ();
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_z_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_z_compress2=no
+	ac_cv_lib_z_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
-echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress2" >&5
+echo "${ECHO_T}$ac_cv_lib_z_compress2" >&6; }
 if test $ac_cv_lib_z_compress2 = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBZ 1
@@ -8981,8 +9612,8 @@
   LDFLAGS="$saved_LDFLAGS"; unset HAVE_ZLIB
 fi
 
-    echo "$as_me:$LINENO: checking for compress2" >&5
-echo $ECHO_N "checking for compress2... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking for compress2" >&5
+echo $ECHO_N "checking for compress2... $ECHO_C" >&6; }
 if test "${ac_cv_func_compress2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9009,68 +9640,59 @@
 
 #undef compress2
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char compress2 ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_compress2) || defined (__stub___compress2)
+#if defined __stub_compress2 || defined __stub___compress2
 choke me
-#else
-char (*f) () = compress2;
 #endif
-#ifdef __cplusplus
-}
-#endif
 
 int
 main ()
 {
-return f != compress2;
+return compress2 ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_func_compress2=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_compress2=no
+	ac_cv_func_compress2=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
-echo "${ECHO_T}$ac_cv_func_compress2" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_func_compress2" >&5
+echo "${ECHO_T}$ac_cv_func_compress2" >&6; }
 if test $ac_cv_func_compress2 = yes; then
   HAVE_COMPRESS2="yes"
 fi
@@ -9093,14 +9715,14 @@
 fi
 
 
-# Check whether --with-szlib or --without-szlib was given.
+# Check whether --with-szlib was given.
 if test "${with_szlib+set}" = set; then
-  withval="$with_szlib"
-
+  withval=$with_szlib;
 else
   withval=yes
-fi;
+fi
 
+
 case $withval in
   yes)
     HAVE_SZLIB="yes"
@@ -9108,18 +9730,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9130,41 +9753,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9173,24 +9792,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9198,9 +9815,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -9224,25 +9842,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -9255,8 +9872,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9269,56 +9886,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -9339,10 +9953,10 @@
     ;;
   no)
     HAVE_SZLIB="no"
-    echo "$as_me:$LINENO: checking for szlib" >&5
-echo $ECHO_N "checking for szlib... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for szlib" >&5
+echo $ECHO_N "checking for szlib... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
   *)
     HAVE_SZLIB="yes"
@@ -9377,18 +9991,19 @@
 for ac_header in szlib.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9399,41 +10014,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9442,24 +10053,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -9467,9 +10076,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -9493,25 +10103,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -9531,8 +10140,8 @@
     fi
 
 
-echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
-echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for SZ_BufftoBuffCompress in -lsz" >&5
+echo $ECHO_N "checking for SZ_BufftoBuffCompress in -lsz... $ECHO_C" >&6; }
 if test "${ac_cv_lib_sz_SZ_BufftoBuffCompress+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -9545,56 +10154,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
 int
 main ()
 {
-SZ_BufftoBuffCompress ();
+return SZ_BufftoBuffCompress ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_sz_SZ_BufftoBuffCompress=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_sz_SZ_BufftoBuffCompress=no
+	ac_cv_lib_sz_SZ_BufftoBuffCompress=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
-echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_sz_SZ_BufftoBuffCompress" >&5
+echo "${ECHO_T}$ac_cv_lib_sz_SZ_BufftoBuffCompress" >&6; }
 if test $ac_cv_lib_sz_SZ_BufftoBuffCompress = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSZ 1
@@ -9623,247 +10229,7 @@
 
 fi
 
-echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
-echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6
-# Check whether --enable-stream-vfd or --disable-stream-vfd was given.
-if test "${enable_stream_vfd+set}" = set; then
-  enableval="$enable_stream_vfd"
-  STREAM_VFD=$enableval
-fi;
 
-if test "$STREAM_VFD" = "yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-
-for ac_header in netinet/tcp.h sys/filio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STREAM 1
-_ACEOF
-
-
-    echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
-echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-int
-main ()
-{
-socklen_t foo; return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SOCKLEN_T 1
-_ACEOF
-
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  echo "$as_me:$LINENO: result: not configured" >&5
-echo "${ECHO_T}not configured" >&6
-fi
-
-
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -9882,39 +10248,58 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -9928,10 +10313,9 @@
 FFLAGS_saved=$FFLAGS
 FFLAGS="$FFLAGS -I."
 
-echo "$as_me:$LINENO: checking if compiler supports -I. option" >&5
-echo $ECHO_N "checking if compiler supports -I. option... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking if compiler supports -I. option" >&5
+echo $ECHO_N "checking if compiler supports -I. option... $ECHO_C" >&6; }
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -9955,91 +10339,48 @@
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   :
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   :
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
    FFLAGS="$FFLAGS_saved"
 fi
 cd ..
 rm -rf conftest*
 
 
+{ echo "$as_me:$LINENO: checking for I/O filters" >&5
+echo $ECHO_N "checking for I/O filters... $ECHO_C" >&6; }
+# Check whether --enable-filters was given.
+if test "${enable_filters+set}" = set; then
+  enableval=$enable_filters; FILTERS=$enableval
+fi
 
 
 
-
-
-case "$F9X" in
-  *mpif90*)
-            PARALLEL=mpif90
-    echo "$as_me:$LINENO: checking for mpirun" >&5
-echo $ECHO_N "checking for mpirun... $ECHO_C" >&6
-
-        cmd=`echo $F9X |cut -f1 -d' '`
-    if (echo $cmd |grep / >/dev/null); then
-      path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`"
-    else
-      for path in `echo $PATH |tr : ' '`; do
-        if test -x $path/$cmd; then
-          break;
-        fi
-      done
-    fi
-
-        if test -x $path/mpirun; then
-      echo "$as_me:$LINENO: result: $path/mpirun" >&5
-echo "${ECHO_T}$path/mpirun" >&6
-      RUNSERIAL="${RUNSERIAL:-none}"
-
-      if test -z "$RUNPARALLEL"; then
-        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}"
-      fi
-    else
-      echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-    fi
-    ;;
-
-  *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*)
-        PARALLEL="$F9X"
-    ;;
-
-  *)
-            ;;
-esac
-
-echo "$as_me:$LINENO: checking for I/O filters" >&5
-echo $ECHO_N "checking for I/O filters... $ECHO_C" >&6
-# Check whether --enable-filters or --disable-filters was given.
-if test "${enable_filters+set}" = set; then
-  enableval="$enable_filters"
-  FILTERS=$enableval
-fi;
-
-
 all_filters="shuffle,fletcher32"
 case "X-$FILTERS" in
   X-|X-all)
     FILTERS=$all_filters
-    echo "$as_me:$LINENO: result: all ($FILTERS)" >&5
-echo "${ECHO_T}all ($FILTERS)" >&6
+    { echo "$as_me:$LINENO: result: all ($FILTERS)" >&5
+echo "${ECHO_T}all ($FILTERS)" >&6; }
     ;;
   X-no|X-none)
-    echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
+    { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
     FILTERS="none"
     ;;
   *)
-    echo "$as_me:$LINENO: result: $FILTERS" >&5
-echo "${ECHO_T}$FILTERS" >&6
+    { echo "$as_me:$LINENO: result: $FILTERS" >&5
+echo "${ECHO_T}$FILTERS" >&6; }
     ;;
 esac
 
+
 if test -n "$FILTERS"; then
-  for filter in `echo $FILTERS | tr 'a-z,' 'A-Z '`; do
+  for filter in `echo $FILTERS | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do
     if test $filter = "SHUFFLE"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -10057,27 +10398,26 @@
   done
 fi
 
-# Check whether --enable-parallel or --disable-parallel was given.
+# Check whether --enable-parallel was given.
 if test "${enable_parallel+set}" = set; then
-  enableval="$enable_parallel"
+  enableval=$enable_parallel;
+fi
 
-fi;
 
-echo "$as_me:$LINENO: checking for parallel support files" >&5
-echo $ECHO_N "checking for parallel support files... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for parallel support files" >&5
+echo $ECHO_N "checking for parallel support files... $ECHO_C" >&6; }
 case "X-$enable_parallel" in
   X-|X-no|X-none)
-                echo "$as_me:$LINENO: result: skipped" >&5
-echo "${ECHO_T}skipped" >&6
+                { echo "$as_me:$LINENO: result: skipped" >&5
+echo "${ECHO_T}skipped" >&6; }
     ;;
 
   X-yes)
-            echo "$as_me:$LINENO: result: provided by compiler" >&5
-echo "${ECHO_T}provided by compiler" >&6
+            { echo "$as_me:$LINENO: result: provided by compiler" >&5
+echo "${ECHO_T}provided by compiler" >&6; }
     PARALLEL=yes
 
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -10093,7 +10433,7 @@
           include 'mpif.h'
 
         integer:: ierr
-        call mpi_file_open( ierr )
+        call mpi_init( ierr )
         end
 EOF
 
@@ -10111,7 +10451,6 @@
 else
   :
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -10127,7 +10466,7 @@
 
           include 'mpif.h'
           integer:: ierr
-          call mpi_file_open( ierr )
+          call mpi_init( ierr )
         end
 EOF
 
@@ -10161,7 +10500,6 @@
 
             if test "X$PARALLEL" = "Xyes"; then
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -10195,7 +10533,6 @@
 else
   :
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -10250,8 +10587,8 @@
     ;;
 
   *)
-    echo "$as_me:$LINENO: result: error" >&5
-echo "${ECHO_T}error" >&6
+    { echo "$as_me:$LINENO: result: error" >&5
+echo "${ECHO_T}error" >&6; }
     { { echo "$as_me:$LINENO: error: \'$enable_parallel\' is not a valid parallel search type" >&5
 echo "$as_me: error: \'$enable_parallel\' is not a valid parallel search type" >&2;}
    { (exit 1); exit 1; }; }
@@ -10264,19 +10601,18 @@
 
 ADD_PARALLEL_FILES="no"
 if test -n "$PARALLEL"; then
-    echo "$as_me:$LINENO: checking prefix for running on one processor" >&5
-echo $ECHO_N "checking prefix for running on one processor... $ECHO_C" >&6
-  echo "$as_me:$LINENO: result: $RUNSERIAL" >&5
-echo "${ECHO_T}$RUNSERIAL" >&6
-  echo "$as_me:$LINENO: checking prefix for running in parallel" >&5
-echo $ECHO_N "checking prefix for running in parallel... $ECHO_C" >&6
-  echo "$as_me:$LINENO: result: $RUNPARALLEL" >&5
-echo "${ECHO_T}$RUNPARALLEL" >&6
+    { echo "$as_me:$LINENO: checking prefix for running on one processor" >&5
+echo $ECHO_N "checking prefix for running on one processor... $ECHO_C" >&6; }
+  { echo "$as_me:$LINENO: result: $RUNSERIAL" >&5
+echo "${ECHO_T}$RUNSERIAL" >&6; }
+  { echo "$as_me:$LINENO: checking prefix for running in parallel" >&5
+echo $ECHO_N "checking prefix for running in parallel... $ECHO_C" >&6; }
+  { echo "$as_me:$LINENO: result: $RUNPARALLEL" >&5
+echo "${ECHO_T}$RUNPARALLEL" >&6; }
 
-    echo "$as_me:$LINENO: checking whether a simple MPI-IO program can be linked" >&5
-echo $ECHO_N "checking whether a simple MPI-IO program can be linked... $ECHO_C" >&6
+    { echo "$as_me:$LINENO: checking whether a simple MPI-IO program can be linked" >&5
+echo $ECHO_N "checking whether a simple MPI-IO program can be linked... $ECHO_C" >&6; }
 
-
 ac_ext=f90
 ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
 ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
@@ -10306,12 +10642,12 @@
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   :
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   :
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
             { { echo "$as_me:$LINENO: error: 'unable to link a simple MPI-IO application'" >&5
 echo "$as_me: error: 'unable to link a simple MPI-IO application'" >&2;}
    { (exit 1); exit 1; }; }
@@ -10335,8 +10671,8 @@
 
   ADD_PARALLEL_FILES="yes"
 
-  echo "$as_me:$LINENO: checking for MPI_Comm_c2f and MPI_Comm_f2c functions" >&5
-echo $ECHO_N "checking for MPI_Comm_c2f and MPI_Comm_f2c functions... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for MPI_Comm_c2f and MPI_Comm_f2c functions" >&5
+echo $ECHO_N "checking for MPI_Comm_c2f and MPI_Comm_f2c functions... $ECHO_C" >&6; }
 
     ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -10363,47 +10699,44 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_MPI_MULTI_LANG_Comm 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-  echo "$as_me:$LINENO: checking for MPI_Info_c2f and MPI_Info_f2c functions" >&5
-echo $ECHO_N "checking for MPI_Info_c2f and MPI_Info_f2c functions... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for MPI_Info_c2f and MPI_Info_f2c functions" >&5
+echo $ECHO_N "checking for MPI_Info_c2f and MPI_Info_f2c functions... $ECHO_C" >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10422,61 +10755,58 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_MPI_MULTI_LANG_Info 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
                  MPE=yes
 
-# Check whether --with-mpe or --without-mpe was given.
+# Check whether --with-mpe was given.
 if test "${with_mpe+set}" = set; then
-  withval="$with_mpe"
-
+  withval=$with_mpe;
 else
   withval=no
-fi;
+fi
 
+
   case "X-$withval" in
     X-|X-no|X-none)
-      echo "$as_me:$LINENO: checking for MPE" >&5
-echo $ECHO_N "checking for MPE... $ECHO_C" >&6
-      echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+      { echo "$as_me:$LINENO: checking for MPE" >&5
+echo $ECHO_N "checking for MPE... $ECHO_C" >&6; }
+      { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
       unset MPE
       ;;
     X-yes)
@@ -10484,18 +10814,19 @@
 for ac_header in mpe.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10506,41 +10837,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10549,24 +10876,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10574,9 +10899,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -10600,25 +10926,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -10633,8 +10958,8 @@
 done
 
 
-echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
-echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
+echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpe_MPE_Init_log+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -10647,56 +10972,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
 int
 main ()
 {
-MPE_Init_log ();
+return MPE_Init_log ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpe_MPE_Init_log=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpe_MPE_Init_log=no
+	ac_cv_lib_mpe_MPE_Init_log=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
-echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
+echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6; }
 if test $ac_cv_lib_mpe_MPE_Init_log = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPE 1
@@ -10709,8 +11031,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
-echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
+echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_lmpe_CLOG_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -10723,56 +11045,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
 int
 main ()
 {
-CLOG_Init ();
+return CLOG_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_lmpe_CLOG_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_lmpe_CLOG_Init=no
+	ac_cv_lib_lmpe_CLOG_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6; }
 if test $ac_cv_lib_lmpe_CLOG_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBLMPE 1
@@ -10813,18 +11132,19 @@
 for ac_header in mpe.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10835,41 +11155,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10878,24 +11194,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -10903,9 +11217,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -10929,25 +11244,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -10966,18 +11280,19 @@
 for ac_header in mpe.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10988,41 +11303,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11031,24 +11342,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11056,9 +11365,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -11082,25 +11392,24 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -11120,8 +11429,8 @@
         saved_LDFLAGS="$LDFLAGS"
         LDFLAGS="$LDFLAGS -L$mpe_lib"
 
-echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
-echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
+echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpe_MPE_Init_log+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -11134,56 +11443,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
 int
 main ()
 {
-MPE_Init_log ();
+return MPE_Init_log ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpe_MPE_Init_log=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpe_MPE_Init_log=no
+	ac_cv_lib_mpe_MPE_Init_log=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
-echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
+echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6; }
 if test $ac_cv_lib_mpe_MPE_Init_log = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPE 1
@@ -11196,8 +11502,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
-echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
+echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_lmpe_CLOG_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -11210,56 +11516,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
 int
 main ()
 {
-CLOG_Init ();
+return CLOG_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_lmpe_CLOG_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_lmpe_CLOG_Init=no
+	ac_cv_lib_lmpe_CLOG_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6; }
 if test $ac_cv_lib_lmpe_CLOG_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBLMPE 1
@@ -11273,8 +11576,8 @@
 
       else
 
-echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
-echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for MPE_Init_log in -lmpe" >&5
+echo $ECHO_N "checking for MPE_Init_log in -lmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_mpe_MPE_Init_log+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -11287,56 +11590,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
 int
 main ()
 {
-MPE_Init_log ();
+return MPE_Init_log ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_mpe_MPE_Init_log=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_mpe_MPE_Init_log=no
+	ac_cv_lib_mpe_MPE_Init_log=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
-echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mpe_MPE_Init_log" >&5
+echo "${ECHO_T}$ac_cv_lib_mpe_MPE_Init_log" >&6; }
 if test $ac_cv_lib_mpe_MPE_Init_log = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBMPE 1
@@ -11349,8 +11649,8 @@
 fi
 
 
-echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
-echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for CLOG_Init in -llmpe" >&5
+echo $ECHO_N "checking for CLOG_Init in -llmpe... $ECHO_C" >&6; }
 if test "${ac_cv_lib_lmpe_CLOG_Init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -11363,56 +11663,53 @@
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
 int
 main ()
 {
-CLOG_Init ();
+return CLOG_Init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   ac_cv_lib_lmpe_CLOG_Init=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_lmpe_CLOG_Init=no
+	ac_cv_lib_lmpe_CLOG_Init=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
-echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lmpe_CLOG_Init" >&5
+echo "${ECHO_T}$ac_cv_lib_lmpe_CLOG_Init" >&6; }
 if test $ac_cv_lib_lmpe_CLOG_Init = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBLMPE 1
@@ -11436,13 +11733,13 @@
 fi
 
 
-echo "$as_me:$LINENO: checking make" >&5
-echo $ECHO_N "checking make... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking make" >&5
+echo $ECHO_N "checking make... $ECHO_C" >&6; }
 
 if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\
       sed -n 1p|cut -c1-8`" = "GNU Make"; then
-  echo "$as_me:$LINENO: result: GNU make" >&5
-echo "${ECHO_T}GNU make" >&6
+  { echo "$as_me:$LINENO: result: GNU make" >&5
+echo "${ECHO_T}GNU make" >&6; }
   GMAKE=yes
   if test "X$GCC" = "Xyes"; then
     DEPEND=config/depend1
@@ -11450,13 +11747,13 @@
     DEPEND=config/depend2
   fi
 else
-  echo "$as_me:$LINENO: result: generic" >&5
-echo "${ECHO_T}generic" >&6
+  { echo "$as_me:$LINENO: result: generic" >&5
+echo "${ECHO_T}generic" >&6; }
 fi
 
 if test -z "$DEPEND"; then
-  echo "$as_me:$LINENO: checking how to include a makefile" >&5
-echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking how to include a makefile" >&5
+echo $ECHO_N "checking how to include a makefile... $ECHO_C" >&6; }
 
     cat >makeinc <<EOF
 foo:
@@ -11465,36 +11762,36 @@
 
   while true; do             echo '.include <makeinc>' >maketest
     if (MAKE= ${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: .include <FILE>" >&5
-echo "${ECHO_T}.include <FILE>" >&6
+      { echo "$as_me:$LINENO: result: .include <FILE>" >&5
+echo "${ECHO_T}.include <FILE>" >&6; }
       DEPEND=config/depend3
       break
     fi
 
         echo 'include makeinc' >maketest
     if (${MAKE-make} -f maketest foo) >/dev/null 2>&1; then
-      echo "$as_me:$LINENO: result: include FILE" >&5
-echo "${ECHO_T}include FILE" >&6
+      { echo "$as_me:$LINENO: result: include FILE" >&5
+echo "${ECHO_T}include FILE" >&6; }
       DEPEND=config/depend4
       break;
     fi
 
-        echo "$as_me:$LINENO: result: you have a deficient make command" >&5
-echo "${ECHO_T}you have a deficient make command" >&6
+        { echo "$as_me:$LINENO: result: you have a deficient make command" >&5
+echo "${ECHO_T}you have a deficient make command" >&6; }
     DEPEND=config/dependN
     break
   done
   rm makeinc maketest
 fi
 
-# Check whether --enable-gpfs or --disable-gpfs was given.
+# Check whether --enable-gpfs was given.
 if test "${enable_gpfs+set}" = set; then
-  enableval="$enable_gpfs"
-
+  enableval=$enable_gpfs;
 else
   enableval=no
-fi;
+fi
 
+
 case "X-$enableval" in
   X-yes)
         ac_ext=c
@@ -11508,18 +11805,19 @@
 for ac_header in gpfs.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11530,41 +11828,37 @@
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+	ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11573,24 +11867,22 @@
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
   echo "$as_me: failed program was:" >&5
@@ -11598,9 +11890,10 @@
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
@@ -11624,33 +11917,32 @@
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to hdfhelp at ncsa.uiuc.edu ##
-## ------------------------------------ ##
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
 _ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
- echo "$as_me:$LINENO: checking for GPFS support" >&5
-echo $ECHO_N "checking for GPFS support... $ECHO_C" >&6
+ { echo "$as_me:$LINENO: checking for GPFS support" >&5
+echo $ECHO_N "checking for GPFS support... $ECHO_C" >&6; }
                      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11667,45 +11959,41 @@
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_GPFS 1
 _ACEOF
 
-                                    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+                                    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
                                     LIBS="$LIBS -lgpfs"
                                     GPFS="yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
                                     GPFS="no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
 done
@@ -11718,16 +12006,275 @@
 
     ;;
   X-no|*)
-    echo "$as_me:$LINENO: checking for gpfs" >&5
-echo $ECHO_N "checking for gpfs... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: suppressed" >&5
-echo "${ECHO_T}suppressed" >&6
+    { echo "$as_me:$LINENO: checking for gpfs" >&5
+echo $ECHO_N "checking for gpfs... $ECHO_C" >&6; }
+    { echo "$as_me:$LINENO: result: suppressed" >&5
+echo "${ECHO_T}suppressed" >&6; }
     ;;
 esac
 
 rm -f conftest core core.* *.core conftest.o conftest.c dummy.o $ac_clean_files
 
+{ echo "$as_me:$LINENO: checking for Stream Virtual File Driver support" >&5
+echo $ECHO_N "checking for Stream Virtual File Driver support... $ECHO_C" >&6; }
+# Check whether --enable-stream-vfd was given.
+if test "${enable_stream_vfd+set}" = set; then
+  enableval=$enable_stream_vfd; STREAM_VFD=$enableval
+fi
 
+
+if test "$STREAM_VFD" != "yes"; then
+  { echo "$as_me:$LINENO: result: not configured" >&5
+echo "${ECHO_T}not configured" >&6; }
+fi
+
+if test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then
+    { echo "$as_me:$LINENO: result: not supported in parallel" >&5
+echo "${ECHO_T}not supported in parallel" >&6; }
+    echo "    warning! Stream-VFD is not supported in parallel"
+    STREAM_VFD=no
+fi
+if test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then
+    { echo "$as_me:$LINENO: result: not supported in parallel" >&5
+echo "${ECHO_T}not supported in parallel" >&6; }
+    echo "    warning! Stream-VFD is not supported when a parallel compiler is being used"
+    STREAM_VFD=no
+fi
+
+if test "$STREAM_VFD" = "yes"; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+        ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+for ac_header in netinet/tcp.h sys/filio.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to help at hdfgroup.org ##
+## -------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STREAM 1
+_ACEOF
+
+
+    { echo "$as_me:$LINENO: checking if socklen_t is defined" >&5
+echo $ECHO_N "checking if socklen_t is defined... $ECHO_C" >&6; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+int
+main ()
+{
+socklen_t foo; return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKLEN_T 1
+_ACEOF
+
+    { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+        ac_ext=f90
+ac_compile='${F9X-f90} -c $FFLAGS conftest.$ac_ext 1>&5'
+ac_link='${F9X-f90} -o conftest${ac_exeext} $FFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_f9x_cross
+
+fi
+
+
 H5_VERSION="`cut -d' ' -f3 $srcdir/../README.txt | head -1`"
 
 
@@ -11816,15 +12363,19 @@
 mkdir ./config >/dev/null 2>&1
 touch ./config/stamp1
 
-PARALLEL_MAKE=
-
 if test -n "$TESTPARALLEL"; then
   PARALLEL_MAKE=$TESTPARALLEL/Makefile
+  BUILD_PARALLEL_CONDITIONAL_TRUE=
+  BUILD_PARALLEL_CONDITIONAL_FALSE='#'
+else
+  PARALLEL_MAKE=
+  BUILD_PARALLEL_CONDITIONAL_TRUE='#'
+  BUILD_PARALLEL_CONDITIONAL_FALSE=
 fi
 
 saved_no_create=$no_create
 no_create=yes
-                                                                                                                                                      ac_config_files="$ac_config_files config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/h5fc src/H5fortran_types.f90 src/libhdf5_fortran.settings src/Makefile test/Makefile $PARALLEL_MAKE examples/Makefile"
+ac_config_files="$ac_config_files config/depend1 config/depend2 config/depend3 config/depend4 config/dependN config/commence config/conclude Makefile src/h5fc src/H5fortran_types.f90 src/libhdf5_fortran.settings src/Makefile test/Makefile $PARALLEL_MAKE examples/testh5fc.sh examples/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -11844,39 +12395,58 @@
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
 	"s/'/'\\\\''/g;
 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -11885,32 +12455,18 @@
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[	 ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[	 ]*$//;
-}'
-fi
-
 DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -11941,18 +12497,46 @@
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
@@ -11961,8 +12545,43 @@
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -11976,18 +12595,19 @@
   if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -11995,159 +12615,120 @@
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)$' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\/\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
 
-
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-	 case $as_dir in
-	 /*)
-	   if ("$as_dir/$as_base" -c '
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-	     CONFIG_SHELL=$as_dir/$as_base
-	     export CONFIG_SHELL
-	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-	   fi;;
-	 esac
-       done
-done
-;;
-  esac
-
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='	' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -12156,7 +12737,28 @@
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -12165,62 +12767,35 @@
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" 	$as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
+# values after options handling.
+ac_log="
+This file was extended by HDF5 Fortran $as_me 1.6.6, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
 
-This file was extended by HDF5 Fortran $as_me 1.6.5, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
-
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
   CONFIG_LINKS    = $CONFIG_LINKS
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
 
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
+_ACEOF
 
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -12228,7 +12803,7 @@
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number, then exit
+  -V, --version    print version number and configuration settings, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
@@ -12247,19 +12822,21 @@
 $config_commands
 
 Report bugs to <bug-autoconf at gnu.org>."
+
 _ACEOF
-
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-HDF5 Fortran config.status 1.6.5
-configured by $0, generated by GNU Autoconf 2.59,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+HDF5 Fortran config.status 1.6.6
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -12270,39 +12847,24 @@
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
@@ -12312,18 +12874,24 @@
     $ac_shift
     CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
     ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
-  *) ac_config_targets="$ac_config_targets $1" ;;
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
@@ -12339,51 +12907,64 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
 fi
 
 _ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
 
+_ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 #
-# INIT-COMMANDS section.
+# INIT-COMMANDS
 #
 
 
-
 _ACEOF
 
+cat >>$CONFIG_STATUS <<\_ACEOF
 
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "config/depend1" ) CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
-  "config/depend2" ) CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
-  "config/depend3" ) CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
-  "config/depend4" ) CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
-  "config/dependN" ) CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
-  "config/commence" ) CONFIG_FILES="$CONFIG_FILES config/commence" ;;
-  "config/conclude" ) CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
-  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "src/h5fc" ) CONFIG_FILES="$CONFIG_FILES src/h5fc" ;;
-  "src/H5fortran_types.f90" ) CONFIG_FILES="$CONFIG_FILES src/H5fortran_types.f90" ;;
-  "src/libhdf5_fortran.settings" ) CONFIG_FILES="$CONFIG_FILES src/libhdf5_fortran.settings" ;;
-  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-  "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
-  "$PARALLEL_MAKE" ) CONFIG_FILES="$CONFIG_FILES $PARALLEL_MAKE" ;;
-  "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
-  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
-  "src/H5config_fortran.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/H5config_fortran.h" ;;
+  case $ac_config_target in
+    "src/H5config_fortran.h") CONFIG_HEADERS="$CONFIG_HEADERS src/H5config_fortran.h" ;;
+    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+    "config/depend1") CONFIG_FILES="$CONFIG_FILES config/depend1" ;;
+    "config/depend2") CONFIG_FILES="$CONFIG_FILES config/depend2" ;;
+    "config/depend3") CONFIG_FILES="$CONFIG_FILES config/depend3" ;;
+    "config/depend4") CONFIG_FILES="$CONFIG_FILES config/depend4" ;;
+    "config/dependN") CONFIG_FILES="$CONFIG_FILES config/dependN" ;;
+    "config/commence") CONFIG_FILES="$CONFIG_FILES config/commence" ;;
+    "config/conclude") CONFIG_FILES="$CONFIG_FILES config/conclude" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/h5fc") CONFIG_FILES="$CONFIG_FILES src/h5fc" ;;
+    "src/H5fortran_types.f90") CONFIG_FILES="$CONFIG_FILES src/H5fortran_types.f90" ;;
+    "src/libhdf5_fortran.settings") CONFIG_FILES="$CONFIG_FILES src/libhdf5_fortran.settings" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "$PARALLEL_MAKE") CONFIG_FILES="$CONFIG_FILES $PARALLEL_MAKE" ;;
+    "examples/testh5fc.sh") CONFIG_FILES="$CONFIG_FILES examples/testh5fc.sh" ;;
+    "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
 
+
 # If the user did not use the arguments to specify the items to instantiate,
 # then the envvar interface is used.  Set only those that are not.
 # We use the long form for the default assignment because of an extremely
@@ -12395,724 +12976,619 @@
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
   trap '{ (exit 1); exit 1; }' 1 2 13 15
 }
-
 # Create a (secure) tmp directory for tmp files.
 
 {
-  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
    echo "$me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
 #
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
 #
 
 # No need to generate the scripts if there are no CONFIG_FILES.
 # This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at build@,$build,;t t
-s, at build_cpu@,$build_cpu,;t t
-s, at build_vendor@,$build_vendor,;t t
-s, at build_os@,$build_os,;t t
-s, at host@,$host,;t t
-s, at host_cpu@,$host_cpu,;t t
-s, at host_vendor@,$host_vendor,;t t
-s, at host_os@,$host_os,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at FFLAGS@,$FFLAGS,;t t
-s, at FSEARCH_DIRS@,$FSEARCH_DIRS,;t t
-s, at H5_CPPFLAGS@,$H5_CPPFLAGS,;t t
-s, at H5_FFLAGS@,$H5_FFLAGS,;t t
-s, at H5_CFLAGS@,$H5_CFLAGS,;t t
-s, at R_LARGE@,$R_LARGE,;t t
-s, at R_INTEGER@,$R_INTEGER,;t t
-s, at HADDR_T@,$HADDR_T,;t t
-s, at HSIZE_T@,$HSIZE_T,;t t
-s, at HSSIZE_T@,$HSSIZE_T,;t t
-s, at HID_T@,$HID_T,;t t
-s, at SIZE_T@,$SIZE_T,;t t
-s, at OBJECT_NAMELEN_DEFAULT_F@,$OBJECT_NAMELEN_DEFAULT_F,;t t
-s, at ROOT@,$ROOT,;t t
-s, at F9XSUFFIXFLAG@,$F9XSUFFIXFLAG,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at CPP@,$CPP,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s, at INSTALL_DATA@,$INSTALL_DATA,;t t
-s, at LN_S@,$LN_S,;t t
-s, at ECHO@,$ECHO,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at STRIP@,$STRIP,;t t
-s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s, at EGREP@,$EGREP,;t t
-s, at LIBTOOL@,$LIBTOOL,;t t
-s, at PERL@,$PERL,;t t
-s, at AR@,$AR,;t t
-s, at LT_STATIC_EXEC@,$LT_STATIC_EXEC,;t t
-s, at F9X@,$F9X,;t t
-s, at F9XMODFLAG@,$F9XMODFLAG,;t t
-s, at F9XMODEXT@,$F9XMODEXT,;t t
-s, at PARALLEL@,$PARALLEL,;t t
-s, at RUNSERIAL@,$RUNSERIAL,;t t
-s, at RUNPARALLEL@,$RUNPARALLEL,;t t
-s, at TESTPARALLEL@,$TESTPARALLEL,;t t
-s, at FILTERS@,$FILTERS,;t t
-s, at MPE@,$MPE,;t t
-s, at ADD_PARALLEL_FILES@,$ADD_PARALLEL_FILES,;t t
-s, at H5_VERSION@,$H5_VERSION,;t t
-s, at CONFIG_DATE@,$CONFIG_DATE,;t t
-s, at CONFIG_USER@,$CONFIG_USER,;t t
-s, at CONFIG_MODE@,$CONFIG_MODE,;t t
-s, at BYTESEX@,$BYTESEX,;t t
-s, at CC_VERSION@,$CC_VERSION,;t t
-s, at FC_VERSION@,$FC_VERSION,;t t
-s, at DYNAMIC_DIRS@,$DYNAMIC_DIRS,;t t
-s, at SEARCH@,$SEARCH,;t t
-s, at SETX@,$SETX,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-/@DEPEND@/r $DEPEND
-s, at DEPEND@,,;t t
-/@COMMENCE@/r $COMMENCE
-s, at COMMENCE@,,;t t
-/@CONCLUDE@/r $CONCLUDE
-s, at CONCLUDE@,,;t t
-CEOF
+if test -n "$CONFIG_FILES"; then
 
 _ACEOF
 
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+# Create sed commands to just substitute file output variables.
+
+# Remaining file output variables are in a fragment that also has non-file
+# output varibles.
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+FFLAGS!$FFLAGS$ac_delim
+FSEARCH_DIRS!$FSEARCH_DIRS$ac_delim
+H5_CPPFLAGS!$H5_CPPFLAGS$ac_delim
+H5_FFLAGS!$H5_FFLAGS$ac_delim
+H5_CFLAGS!$H5_CFLAGS$ac_delim
+R_LARGE!$R_LARGE$ac_delim
+R_INTEGER!$R_INTEGER$ac_delim
+HADDR_T!$HADDR_T$ac_delim
+HSIZE_T!$HSIZE_T$ac_delim
+HSSIZE_T!$HSSIZE_T$ac_delim
+HID_T!$HID_T$ac_delim
+SIZE_T!$SIZE_T$ac_delim
+OBJECT_NAMELEN_DEFAULT_F!$OBJECT_NAMELEN_DEFAULT_F$ac_delim
+ROOT!$ROOT$ac_delim
+F9XSUFFIXFLAG!$F9XSUFFIXFLAG$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+CPP!$CPP$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+PARALLEL!$PARALLEL$ac_delim
+RUNSERIAL!$RUNSERIAL$ac_delim
+RUNPARALLEL!$RUNPARALLEL$ac_delim
+TESTPARALLEL!$TESTPARALLEL$ac_delim
+BUILD_PARALLEL_CONDITIONAL_TRUE!$BUILD_PARALLEL_CONDITIONAL_TRUE$ac_delim
+BUILD_PARALLEL_CONDITIONAL_FALSE!$BUILD_PARALLEL_CONDITIONAL_FALSE$ac_delim
+LN_S!$LN_S$ac_delim
+ECHO!$ECHO$ac_delim
+RANLIB!$RANLIB$ac_delim
+STRIP!$STRIP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+PERL!$PERL$ac_delim
+AR!$AR$ac_delim
+LT_STATIC_EXEC!$LT_STATIC_EXEC$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
-fi # test -n "$CONFIG_FILES"
+done
 
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+/^[	 ]*@DEPEND@[	 ]*$/{
+r $DEPEND
+d
+}
+/^[	 ]*@COMMENCE@[	 ]*$/{
+r $COMMENCE
+d
+}
+/^[	 ]*@CONCLUDE@[	 ]*$/{
+r $CONCLUDE
+d
+}
 _ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+F9X!$F9X$ac_delim
+F9XMODFLAG!$F9XMODFLAG$ac_delim
+F9XMODEXT!$F9XMODEXT$ac_delim
+FILTERS!$FILTERS$ac_delim
+MPE!$MPE$ac_delim
+ADD_PARALLEL_FILES!$ADD_PARALLEL_FILES$ac_delim
+H5_VERSION!$H5_VERSION$ac_delim
+CONFIG_DATE!$CONFIG_DATE$ac_delim
+CONFIG_USER!$CONFIG_USER$ac_delim
+CONFIG_MODE!$CONFIG_MODE$ac_delim
+BYTESEX!$BYTESEX$ac_delim
+CC_VERSION!$CC_VERSION$ac_delim
+FC_VERSION!$FC_VERSION$ac_delim
+DYNAMIC_DIRS!$DYNAMIC_DIRS$ac_delim
+SEARCH!$SEARCH$ac_delim
+SETX!$SETX$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 18; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
 cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
   esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$ac_file" : 'X\(//\)[^/]' \| \
 	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
   ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
 
   case $INSTALL in
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+_ACEOF
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-				     sed 's,.*/,,'` by configure."
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
 
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
 $extrasub
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-s, at INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
-  if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
-  else
-    cat $tmp/out
-    rm -f $tmp/out
-  fi
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
 
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
 
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
-ac_dB='[	 ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  rm -f "$tmp/stdin"
   case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-	cat >$tmp/stdin
-	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
   esac
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+_ACEOF
 
-  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status.  If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless.  But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([	 #]*\\)[^	 ]*\\([	 ]*'
+ac_dB='\\)[	 (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
 
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-	 # Absolute (can't be DOS-style, as IFS=:)
-	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 # Do quote $f, to prevent DOS paths from being IFS'd.
-	 echo "$f";;
-      *) # Relative
-	 if test -f "$f"; then
-	   # Build tree
-	   echo "$f"
-	 elif test -f "$srcdir/$f"; then
-	   # Source tree
-	   echo "$srcdir/$f"
-	 else
-	   # /dev/null tree
-	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-	 fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-  # Remove the trailing spaces.
-  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
+uniq confdefs.h |
+  sed -n '
+	t rset
+	:rset
+	s/^[	 ]*#[	 ]*define[	 ][	 ]*//
+	t ok
+	d
+	:ok
+	s/[\\&,]/\\&/g
+	s/^\('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+	s/^\('"$ac_word_re"'\)[	 ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+  ' >>conftest.defines
 
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h.  The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status.  Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless.  Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments.  This is necessary, for
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments.  This is necessary, for
 # example, in the case of _POSIX_SOURCE, which is predefined and required
 # on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[	 #]*u.*,/* & */,' >>conftest.defines
 
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo '  :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is:	 sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is:	 sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be:	 sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
 do
-  # Write a limited-size here document to $tmp/defines.sed.
-  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#define' lines.
-  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  # Write a here document:
+    cat >>$CONFIG_STATUS <<_ACEOF
+    # First, check the format of the line:
+    cat >"\$tmp/defines.sed" <<\\CEOF
+/^[	 ]*#[	 ]*undef[	 ][	 ]*$ac_word_re[	 ]*\$/b def
+/^[	 ]*#[	 ]*define[	 ][	 ]*$ac_word_re[(	 ]/b def
+b
+:def
+_ACEOF
+  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
   echo 'CEOF
-  sed -f $tmp/defines.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+  grep . conftest.tail >/dev/null || break
   rm -f conftest.defines
   mv conftest.tail conftest.defines
 done
-rm -f conftest.defines
-echo '  fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
+rm -f conftest.defines conftest.tail
 
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
-  # Write a limited-size here document to $tmp/undefs.sed.
-  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#undef'
-  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-  echo 'CEOF
-  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-  rm -f conftest.undefs
-  mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
 cat >>$CONFIG_STATUS <<\_ACEOF
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    echo "/* Generated by configure.  */" >$tmp/config.h
-  else
-    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
-  fi
-  cat $tmp/in >>$tmp/config.h
-  rm -f $tmp/in
   if test x"$ac_file" != x-; then
-    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+    echo "/* $configure_input  */" >"$tmp/config.h"
+    cat "$ac_result" >>"$tmp/config.h"
+    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
       { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-      { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
-
       rm -f $ac_file
-      mv $tmp/config.h $ac_file
+      mv "$tmp/config.h" $ac_file
     fi
   else
-    cat $tmp/config.h
-    rm -f $tmp/config.h
+    echo "/* $configure_input  */"
+    cat "$ac_result"
   fi
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+  rm -f "$tmp/out12"
+ ;;
 
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
-  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
-  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
-  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_dest" : 'X\(//\)[^/]' \| \
-	 X"$ac_dest" : 'X\(//\)$' \| \
-	 X"$ac_dest" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| \
-	 .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-  	  /^X\(\/\/\)$/{ s//\1/; q; }
-  	  /^X\(\/\).*/{ s//\1/; q; }
-  	  s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
 
-  ac_builddir=.
 
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
-    ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
-
-
-  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
-  case $ac_dest in
-    default-1 )
+  case $ac_file$ac_mode in
+    "default-1":C)
   echo "creating src/H5pubconf_fortran.h"
   sed 's/PACKAGE/FORTRAN_PACKAGE/' < src/H5config_fortran.h |\
     sed 's/#define /#define H5_/' |\
@@ -13127,11 +13603,10 @@
     /bin/mv -f pubconf_fortran src/H5pubconf_fortran.h
   fi
  ;;
+
   esac
-done
-_ACEOF
+done # for ac_tag
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
 { (exit 0); exit 0; }
 _ACEOF
@@ -13184,19 +13659,19 @@
   fi
 fi
 
+config_summary="../#fortran_configure_summary"
+rm -f $config_summary
+
 PRINT_PLAIN() {
-  echo $ECHO_N "$1$ECHO_C"
-  echo $ECHO_N "$1$ECHO_C" 1>>src/libhdf5_fortran.settings
+  echo $ECHO_N "$1$ECHO_C" 1>>$config_summary
 }
 
 PRINT_N() {
-  echo $ECHO_N "$1:  $ECHO_C"
-  echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5_fortran.settings
+  echo $ECHO_N "$1:  $ECHO_C" 1>>$config_summary
 }
 
 PRINT() {
-  echo "$1"
-  echo "$1" 1>>src/libhdf5_fortran.settings
+  echo "$1" 1>>$config_summary
 }
 
 IF_YES_NO() {
@@ -13223,9 +13698,6 @@
   fi
 }
 
-PRINT "Fortran Configure Summary"
-PRINT "Compiling Options:"
-
 PRINT_N "               Fortran Compiler"
 PRINT "$F9X"
 
@@ -13243,5 +13715,3 @@
 
 PRINT_N "                        LDFLAGS"
 PRINT "$LDFLAGS"
-
-PRINT "Features:"

Modified: packages/hdf5/trunk/fortran/configure.in
===================================================================
--- packages/hdf5/trunk/fortran/configure.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/configure.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 dnl Process this file with autoconf to produce configure.
 dnl
+dnl Copyright by The HDF Group.
 dnl Copyright by the Board of Trustees of the University of Illinois.
 dnl All rights reserved.
 dnl
@@ -9,13 +10,13 @@
 dnl of the source code distribution tree; Copyright.html can be found at the
 dnl root level of an installed copy of the electronic HDF5 document set and
 dnl is linked from the top-level documents page.  It can also be found at
-dnl http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-dnl access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+dnl http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+dnl access to either file, you may request a copy from help at hdfgroup.org.
 
 dnl ----------------------------------------------------------------------
 dnl Initialize configure.
 dnl
-AC_REVISION($Id: configure.in,v 1.82.2.107 2005/11/06 23:46:40 hdfadmin Exp $)
+AC_REVISION($Id: configure.in 14030 2007-07-31 03:04:21Z epourmal $)
 
 dnl AC_INIT takes the name of the package, the version number, and an
 dnl email address to report bugs. AC_CONFIG_SRCDIR takes a unique file
@@ -24,7 +25,7 @@
 dnl NOTE: Don't forget to change the version number here when we do a
 dnl release!!!
 dnl
-AC_INIT([HDF5 Fortran], [1.6.5], [hdfhelp at ncsa.uiuc.edu])
+AC_INIT([HDF5 Fortran], [1.6.6], [help at hdfgroup.org])
 AC_CONFIG_SRCDIR([src/HDF5.f90])
 AC_CONFIG_HEADER([src/H5config_fortran.h])
 
@@ -69,6 +70,12 @@
 AC_SUBST(SIZE_T)
 AC_SUBST(OBJECT_NAMELEN_DEFAULT_F)
 
+dnl Support FC variable to define Fortran compiler if F9X variable is
+dnl not used.  This should be depreciated in the future.
+if test "x" = "x$F9X"; then
+  F9X=${FC}
+fi
+
 dnl ----------------------------------------------------------------------
 dnl Dump all shell variables values.
 dnl
@@ -183,6 +190,118 @@
 CC_BASENAME="`echo $CC |cut -f1 -d' ' |xargs basename 2>/dev/null`"
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
+
+dnl ----------------------------------------------------------------------
+dnl The following variables are used to distinguish between building a
+dnl serial and parallel library.
+dnl
+dnl    HAVE_PARALLEL	-- defined in H5config.h if we are building
+dnl			   a parallel library even if configure wasn't
+dnl			   able to find some header file or library that
+dnl			   might be required. This is defined if the
+dnl			   compiler looks like a parallel compiler (e.g.,
+dnl			   mpif90 or mpf90) or if the user explicitly states
+dnl			   that a parallel library is being built by supplying
+dnl			   the `--enable-parallel' configure switch.
+dnl
+dnl    PARALLEL		-- This variable is set to a non-null value if
+dnl			   configure thinks we're compiling a parallel
+dnl			   version of the library.
+dnl
+dnl    RUNSERIAL	-- This is a command which will be prepended to
+dnl			   the executable name to run the executable using
+dnl			   a single process. For serial versions of the
+dnl			   library this will normally be empty. For parallel
+dnl			   versions it might be something like `mpirun -np 1'.
+dnl			   The value of this variable is substituted in *.in
+dnl			   files.
+dnl
+dnl    RUNPARALLEL	-- This is a command which will be prepended to
+dnl			   the executable name to run the executable on
+dnl			   multiple processors. For the serial library the
+dnl			   value will normally be the empty string. For
+dnl			   parallel library it should be something like
+dnl			   `mpi -np $$NPROCS' where NPROCS will eventually
+dnl			   contain the number of processors on which to run
+dnl			   the executable (the double dollarsigns are to
+dnl			   protect the expansion until make executes the
+dnl			   command).  The value of this variable is
+dnl			   substituted in *.in files.
+dnl
+AC_SUBST(PARALLEL)
+AC_SUBST(RUNSERIAL)
+AC_SUBST(RUNPARALLEL)
+AC_SUBST(TESTPARALLEL)
+AC_SUBST(BUILD_PARALLEL_CONDITIONAL_TRUE)
+AC_SUBST(BUILD_PARALLEL_CONDITIONAL_FALSE)
+
+dnl variables related to conditions of parallel build.
+
+dnl ----------------------------------------------------------------------
+dnl If the compiler is obviously a parallel compiler then we're building
+dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore,
+dnl the name of the compiler might tell us how to run the resulting
+dnl executable. For `mpif90' the executable should be run with `mpirun'
+dnl from the same directory as mpif90 if it exists.
+dnl
+case "$F9X" in
+  *mpif90*)
+    dnl The mpich compiler. Use mpirun from the same directory if it
+    dnl exists.
+    PARALLEL=mpif90
+    AC_MSG_CHECKING(for mpirun)
+
+    dnl Find the path where mpif90 is located.
+    cmd=`echo $F9X |cut -f1 -d' '`
+    if (echo $cmd |grep / >/dev/null); then
+      path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`"
+    else
+      for path in `echo $PATH |tr : ' '`; do
+        if test -x $path/$cmd; then
+          break;
+        fi
+      done
+    fi
+
+    dnl Is there an mpirun at that path?
+    if test -x $path/mpirun; then
+      AC_MSG_RESULT($path/mpirun)
+      RUNSERIAL="${RUNSERIAL:-none}"
+
+      if test -z "$RUNPARALLEL"; then
+        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}"
+      fi
+    else
+      AC_MSG_RESULT(none)
+    fi
+    ;;
+
+  *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*)
+    dnl The IBM compiler
+    PARALLEL="$F9X"
+    ;;
+
+  *)
+    dnl Probably not a parallel compiler, but if `--enable-parallel'
+    dnl is defined below then we're still building a parallel hdf5.
+    ;;
+esac
+
+dnl ----------------------------------------------------------------------------
+dnl If shared libraries are being used with parallel, disable them, unless the 
+dnl user explicity enables them via the '--enable-shared' option.
+if test "X${enable_shared}" = "X" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries disabled in parallel'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${enable_parallel}" = "Xyes"; then
+    echo '    shared libraries explicitly enabled by user'
+elif test "X${enable_shared}" = "X" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries disabled when a parallel compiler is being used'
+    enable_shared="no"
+elif test "X${enable_shared}" = "Xyes" -a "X${PARALLEL}" != "X"; then
+    echo '    shared libraries explicitly enabled by user'
+fi
+
 AM_PROG_LIBTOOL
 
 dnl ----------------------------------------------------------------------
@@ -596,47 +715,6 @@
 fi
 
 dnl ----------------------------------------------------------------------
-dnl Should the Stream Virtual File Driver be compiled in ?
-dnl
-AC_MSG_CHECKING([for Stream Virtual File Driver support])
-AC_ARG_ENABLE([stream-vfd],
-              [AC_HELP_STRING([--enable-stream-vfd],
-                              [Build the Stream Virtual File Driver
-                               [default=no]])],
-              [STREAM_VFD=$enableval])
-
-if test "$STREAM_VFD" = "yes"; then
-  AC_MSG_RESULT([yes])
-  AC_CHECK_HEADERS([netinet/tcp.h sys/filio.h])
-  AC_DEFINE([HAVE_STREAM], [1],
-            [Define if the stream virtual file driver should be compiled])
-
-  dnl Check if 'socklen_t' available
-  AC_MSG_CHECKING([if socklen_t is defined])
-  AC_TRY_COMPILE([
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-  ],
-    [socklen_t foo; return 0;],
-    AC_DEFINE([HAVE_SOCKLEN_T], 1,
-              [Define if \`socklen_t' is defined])
-    AC_MSG_RESULT([yes]),
-    AC_MSG_RESULT([no])
-  )
-else
-  AC_MSG_RESULT([not configured])
-fi
-
-dnl ----------------------------------------------------------------------
 dnl Checks for header files.
 dnl
 
@@ -659,98 +737,6 @@
    FFLAGS="$FFLAGS_saved")
 
 dnl ----------------------------------------------------------------------
-dnl The following variables are used to distinguish between building a
-dnl serial and parallel library.
-dnl
-dnl    HAVE_PARALLEL	-- defined in H5config.h if we are building
-dnl			   a parallel library even if configure wasn't
-dnl			   able to find some header file or library that
-dnl			   might be required. This is defined if the
-dnl			   compiler looks like a parallel compiler (e.g.,
-dnl			   mpif90 or mpf90) or if the user explicitly states
-dnl			   that a parallel library is being built by supplying
-dnl			   the `--enable-parallel' configure switch.
-dnl
-dnl    PARALLEL		-- This variable is set to a non-null value if
-dnl			   configure thinks we're compiling a parallel
-dnl			   version of the library.
-dnl
-dnl    RUNSERIAL	-- This is a command which will be prepended to
-dnl			   the executable name to run the executable using
-dnl			   a single process. For serial versions of the
-dnl			   library this will normally be empty. For parallel
-dnl			   versions it might be something like `mpirun -np 1'.
-dnl			   The value of this variable is substituted in *.in
-dnl			   files.
-dnl
-dnl    RUNPARALLEL	-- This is a command which will be prepended to
-dnl			   the executable name to run the executable on
-dnl			   multiple processors. For the serial library the
-dnl			   value will normally be the empty string. For
-dnl			   parallel library it should be something like
-dnl			   `mpi -np $$NPROCS' where NPROCS will eventually
-dnl			   contain the number of processors on which to run
-dnl			   the executable (the double dollarsigns are to
-dnl			   protect the expansion until make executes the
-dnl			   command).  The value of this variable is
-dnl			   substituted in *.in files.
-dnl
-AC_SUBST(PARALLEL)
-AC_SUBST(RUNSERIAL)
-AC_SUBST(RUNPARALLEL)
-AC_SUBST(TESTPARALLEL)
-
-dnl ----------------------------------------------------------------------
-dnl If the compiler is obviously a parallel compiler then we're building
-dnl a parallel version of hdf5 and should define HAVE_PARALLEL. Furthermore,
-dnl the name of the compiler might tell us how to run the resulting
-dnl executable. For `mpif90' the executable should be run with `mpirun'
-dnl from the same directory as mpif90 if it exists.
-dnl
-case "$F9X" in
-  *mpif90*)
-    dnl The mpich compiler. Use mpirun from the same directory if it
-    dnl exists.
-    PARALLEL=mpif90
-    AC_MSG_CHECKING(for mpirun)
-
-    dnl Find the path where mpif90 is located.
-    cmd=`echo $F9X |cut -f1 -d' '`
-    if (echo $cmd |grep / >/dev/null); then
-      path="`echo $cmd |sed 's/\(.*\)\/.*$/\1/'`"
-    else
-      for path in `echo $PATH |tr : ' '`; do
-        if test -x $path/$cmd; then
-          break;
-        fi
-      done
-    fi
-
-    dnl Is there an mpirun at that path?
-    if test -x $path/mpirun; then
-      AC_MSG_RESULT($path/mpirun)
-      RUNSERIAL="${RUNSERIAL:-none}"
-
-      if test -z "$RUNPARALLEL"; then
-        RUNPARALLEL="$path/mpirun -np \$\${NPROCS:=2}"
-      fi
-    else
-      AC_MSG_RESULT(none)
-    fi
-    ;;
-
-  *mpxlf* | *mpxlf_r* | *mpxlf90* | *mpxlf90_r* | *mpxlf95* | *mpxlf95_r*)
-    dnl The IBM compiler
-    PARALLEL="$F9X"
-    ;;
-
-  *)
-    dnl Probably not a parallel compiler, but if `--enable-parallel'
-    dnl is defined below then we're still building a parallel hdf5.
-    ;;
-esac
-
-dnl ----------------------------------------------------------------------
 dnl Turn on internal I/O filters by setting macros in header files
 dnl Internal I/O filters are contained entirely within the library and do
 dnl not depend on external headers or libraries.  The shuffle filter is
@@ -784,8 +770,13 @@
     ;;
 esac
 
+dnl Avoid depending upon Character Ranges.
+dnl These are defined by autoconf.
+dnl as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+dnl as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+
 if test -n "$FILTERS"; then
-  for filter in `echo $FILTERS | tr 'a-z,' 'A-Z '`; do
+  for filter in `echo $FILTERS | tr ${as_cr_letters}',' ${as_cr_LETTERS}' '`; do
 dnl ----------------------------------------------------------------------
 dnl Have to use separate 'if' construct for each filter, so that autoheader
 dnl can detect the AC_DEFINE for each one...
@@ -831,11 +822,11 @@
     dnl Try link a simple MPI program.  If fail, try again with -lmpi.
     AC_TRY_FLINK(mpif.h, [
         integer:: ierr
-        call mpi_file_open( ierr )],,
+        call mpi_init( ierr )],,
         AC_CHECK_FLIB(mpi, [
           include 'mpif.h'
           integer:: ierr
-          call mpi_file_open( ierr )],, PARALLEL=no))
+          call mpi_init( ierr )],, PARALLEL=no))
 
     dnl Then try link a simple MPI-IO program.  If fail, try again with
     dnl -lmpio.
@@ -1095,6 +1086,71 @@
 rm -f conftest core core.* *.core conftest.o conftest.c dummy.o $ac_clean_files
 
 dnl ----------------------------------------------------------------------
+dnl Should the Stream Virtual File Driver be compiled in ?
+dnl
+AC_MSG_CHECKING([for Stream Virtual File Driver support])
+AC_ARG_ENABLE([stream-vfd],
+              [AC_HELP_STRING([--enable-stream-vfd],
+                              [Build the Stream Virtual File Driver
+                               [default=no]])],
+              [STREAM_VFD=$enableval])
+
+dnl If the Stream VFD should not be used, say so.
+if test "$STREAM_VFD" != "yes"; then
+  AC_MSG_RESULT([not configured])
+fi
+
+dnl If the stream VFD is being used with parallel, disable it.
+dnl Using both stream VFD and parallel is a weird case and seems to cause errors on some
+dnl platforms.
+if test "$STREAM_VFD" = "yes" -a "X${enable_parallel}" = "Xyes"; then
+    AC_MSG_RESULT([not supported in parallel])
+    echo "    warning! Stream-VFD is not supported in parallel"
+    STREAM_VFD=no
+fi
+if test "$STREAM_VFD" = "yes" -a "X${PARALLEL}" != "X"; then
+    AC_MSG_RESULT([not supported in parallel])
+    echo "    warning! Stream-VFD is not supported when a parallel compiler is being used"
+    STREAM_VFD=no
+fi
+
+dnl Otherwise, use Stream VFD.
+if test "$STREAM_VFD" = "yes"; then
+  AC_MSG_RESULT([yes])
+
+    dnl Change to the C language
+    AC_LANG_C
+  AC_CHECK_HEADERS([netinet/tcp.h sys/filio.h])
+  AC_DEFINE([HAVE_STREAM], [1],
+            [Define if the stream virtual file driver should be compiled])
+
+  dnl Check if 'socklen_t' available
+  AC_MSG_CHECKING([if socklen_t is defined])
+  AC_TRY_COMPILE([
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+  ],
+    [socklen_t foo; return 0;],
+    AC_DEFINE([HAVE_SOCKLEN_T], 1,
+              [Define if \`socklen_t' is defined])
+    AC_MSG_RESULT([yes]),
+    AC_MSG_RESULT([no])
+  )
+
+    dnl Change back to the Fortran 90 language
+    AC_LANG_FORTRAN9X
+fi
+
+dnl ----------------------------------------------------------------------
 dnl Set some variables for general configuration information to be saved
 dnl and installed with the libraries.
 dnl
@@ -1216,10 +1272,15 @@
 mkdir ./config >/dev/null 2>&1
 touch ./config/stamp1
 
-PARALLEL_MAKE=
-
+dnl Set parallel build conditions depending on if TESTPARALLEL is defined.
 if test -n "$TESTPARALLEL"; then
   PARALLEL_MAKE=$TESTPARALLEL/Makefile
+  BUILD_PARALLEL_CONDITIONAL_TRUE=
+  BUILD_PARALLEL_CONDITIONAL_FALSE='#'
+else
+  PARALLEL_MAKE=
+  BUILD_PARALLEL_CONDITIONAL_TRUE='#'
+  BUILD_PARALLEL_CONDITIONAL_FALSE=
 fi
 
 dnl Then the config.status file (but not makefiles)
@@ -1239,6 +1300,7 @@
                  src/Makefile
                  test/Makefile
                  $PARALLEL_MAKE
+                 examples/testh5fc.sh
                  examples/Makefile])
 AC_OUTPUT
 no_create=$saved_no_create
@@ -1270,19 +1332,20 @@
   fi
 fi
 
+dnl cache the output to be printed later.
+config_summary="../#fortran_configure_summary"
+rm -f $config_summary
+
 PRINT_PLAIN() {
-  echo $ECHO_N "$1$ECHO_C"
-  echo $ECHO_N "$1$ECHO_C" 1>>src/libhdf5_fortran.settings
+  echo $ECHO_N "$1$ECHO_C" 1>>$config_summary
 }
 
 PRINT_N() {
-  echo $ECHO_N "$1:  $ECHO_C"
-  echo $ECHO_N "$1:  $ECHO_C" 1>>src/libhdf5_fortran.settings
+  echo $ECHO_N "$1:  $ECHO_C" 1>>$config_summary
 }
 
 PRINT() {
-  echo "$1"
-  echo "$1" 1>>src/libhdf5_fortran.settings
+  echo "$1" 1>>$config_summary
 }
 
 dnl ----------------------------------------------------------------------
@@ -1312,9 +1375,6 @@
   fi
 }
 
-PRINT "Fortran Configure Summary"
-PRINT "Compiling Options:"
-
 PRINT_N "               Fortran Compiler"
 PRINT "$F9X"
 
@@ -1332,5 +1392,3 @@
 
 PRINT_N "                        LDFLAGS"
 PRINT "$LDFLAGS"
-
-PRINT "Features:"

Modified: packages/hdf5/trunk/fortran/examples/Dependencies
===================================================================
--- packages/hdf5/trunk/fortran/examples/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/trunk/fortran/examples/Makefile.in
===================================================================
--- packages/hdf5/trunk/fortran/examples/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ## HDF5-Fortran test/Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@
@@ -25,27 +26,33 @@
 
 ## These are the programs that `make all' or `make tests' will build and which
 ## `make check' will run. List them in the order they should be run.
+## Parallel programs are dependent on if parallel build is true.
+ at BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROGS_PARA=ph5example
 TEST_PROGS=dsetexample fileexample rwdsetexample attrexample groupexample	\
 	   grpsexample grpdsetexample hyperslab selectele grpit refobjexample	\
 	   refregexample mountexample compound
+TEST_SCRIPTS=testh5fc.sh
 
 ## These are the files that `make clean' (and derivatives) will remove from
 ## this directory.
 CLEAN=*.h5
+DISTCLEAN=testh5fc.sh
 
 ## List all source files here. The list of object files will be
 ## created by replacing the `.f90' with a `.o'. This list is necessary
 ## for building automatic dependencies.
+## Parallel programs are dependent on if parallel build is true.
+ at BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_SRC_PARA=ph5example.f90
 TEST_SRC=dsetexample.f90 fileexample.f90 rwdsetexample.f90 attrexample.f90	\
 	 groupexample.f90 grpsexample.f90 grpdsetexample.f90 hyperslab.f90	\
 	 selectele.f90 grpit.f90 refobjexample.f90 refregexample.f90		\
 	 mountexample.f90 compound.f90
 TEST_OBJ=$(TEST_SRC:.f90=.lo)
 
-EXAMPLE_PROGS=$(TEST_SRC)
+EXAMPLE_PROGS=$(TEST_SRC) $(TEST_SRC_PARA)
 
-## How to build the programs... they all depend on the Fortran & C hdf5 libraries
-$(TEST_PROGS): $(LIBHDF5)
+## How to build the programs... they all depend on the installed h5fc.
+$(TEST_PROGS):
 dsetexample: $(srcdir)/dsetexample.f90
 	@if test "X$(PARALLEL)" = "Xno"; then				\
 	  echo $(FC) -o $@ $(srcdir)/$@.f90;				\
@@ -172,4 +179,13 @@
 	  $(FC_PP) -o $@ $(srcdir)/$@.f90;				\
 	fi
 
+ph5example: $(srcdir)/ph5example.f90
+	@if test "X$(PARALLEL)" = "Xno"; then				\
+	  echo $(FC) -o $@ $(srcdir)/$@.f90;				\
+	  $(FC) -o $@ $(srcdir)/$@.f90;					\
+	else								\
+	  echo $(FC_PP) -o $@ $(srcdir)/$@.f90;				\
+	  $(FC_PP) -o $@ $(srcdir)/$@.f90;				\
+	fi
+
 @CONCLUDE@

Modified: packages/hdf5/trunk/fortran/examples/attrexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/attrexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/attrexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 ! This example shows how to create and write a dataset attribute. 

Modified: packages/hdf5/trunk/fortran/examples/compound.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/compound.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/compound.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/dsetexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/dsetexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/dsetexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/fileexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/fileexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/fileexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/groupexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/groupexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/groupexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/grpdsetexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/grpdsetexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/grpdsetexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/grpit.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/grpit.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/grpit.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/grpsexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/grpsexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/grpsexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/hyperslab.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/hyperslab.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/hyperslab.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/mountexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/mountexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/mountexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Copied: packages/hdf5/trunk/fortran/examples/ph5example.f90 (from rev 1094, packages/hdf5/branches/upstream/current/fortran/examples/ph5example.f90)
===================================================================
--- packages/hdf5/trunk/fortran/examples/ph5example.f90	                        (rev 0)
+++ packages/hdf5/trunk/fortran/examples/ph5example.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,143 @@
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
+!   Copyright by the Board of Trustees of the University of Illinois.         *
+!   All rights reserved.                                                      *
+!                                                                             *
+!   This file is part of HDF5.  The full HDF5 copyright notice, including     *
+!   terms governing use, modification, and redistribution, is contained in    *
+!   the files COPYING and Copyright.html.  COPYING can be found at the root   *
+!   of the source code distribution tree; Copyright.html can be found at the  *
+!   root level of an installed copy of the electronic HDF5 document set and   *
+!   is linked from the top-level documents page.  It can also be found at     *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!
+! Fortran parallel example.  Copied from Tutorial's example program of
+! dataset.f90.
+
+     PROGRAM DATASET
+
+     USE HDF5 ! This module contains all necessary modules 
+        
+     IMPLICIT NONE
+
+     INCLUDE 'mpif.h'
+     CHARACTER(LEN=10), PARAMETER :: default_fname = "sds.h5"  ! Default name
+     CHARACTER(LEN=8), PARAMETER :: dsetname = "IntArray" ! Dataset name
+
+     CHARACTER(LEN=100) :: filename  ! File name
+     INTEGER        :: fnamelen	     ! File name length
+     INTEGER(HID_T) :: file_id       ! File identifier 
+     INTEGER(HID_T) :: dset_id       ! Dataset identifier 
+     INTEGER(HID_T) :: filespace     ! Dataspace identifier in file 
+     INTEGER(HID_T) :: plist_id      ! Property list identifier 
+
+     INTEGER(HSIZE_T), DIMENSION(2) :: dimsf = (/5,8/) ! Dataset dimensions.
+!     INTEGER, DIMENSION(7) :: dimsfi = (/5,8,0,0,0,0,0/) 
+!     INTEGER(HSIZE_T), DIMENSION(2) :: dimsfi = (/5,8/)
+     INTEGER(HSIZE_T), DIMENSION(2) :: dimsfi
+
+     INTEGER, ALLOCATABLE :: data(:,:)   ! Data to write
+     INTEGER :: rank = 2 ! Dataset rank 
+
+     INTEGER :: error, error_n  ! Error flags
+     INTEGER :: i, j
+     !
+     ! MPI definitions and calls.
+     !
+     INTEGER :: mpierror       ! MPI error flag
+     INTEGER :: comm, info
+     INTEGER :: mpi_size, mpi_rank
+     comm = MPI_COMM_WORLD
+     info = MPI_INFO_NULL
+     CALL MPI_INIT(mpierror)
+     CALL MPI_COMM_SIZE(comm, mpi_size, mpierror)
+     CALL MPI_COMM_RANK(comm, mpi_rank, mpierror) 
+     ! 
+     ! Initialize data buffer with trivial data.
+     !
+     ALLOCATE ( data(dimsf(1),dimsf(2)))
+     do i = 1, dimsf(2)
+     do j = 1, dimsf(1)
+        data(j,i) = j - 1 + (i-1)*dimsf(1) 
+     enddo
+     enddo
+     !
+     ! Initialize FORTRAN interface
+     !
+     CALL h5open_f(error) 
+
+     ! 
+     ! Setup file access property list with parallel I/O access.
+     !
+     CALL h5pcreate_f(H5P_FILE_ACCESS_F, plist_id, error)
+     CALL h5pset_fapl_mpio_f(plist_id, comm, info, error)
+
+     !
+     ! Figure out the filename to use.  If your system does not support
+     ! getenv, comment that statement with this,
+     ! filename = ""
+     CALL getenv("HDF5_PARAPREFIX", filename)
+     fnamelen = LEN_TRIM(filename)
+     if ( fnamelen == 0 ) then
+	filename = default_fname
+     else
+	filename = filename(1:fnamelen) // "/" // default_fname
+     endif
+     print *, "Using filename = ", filename
+
+     !
+     ! Create the file collectively.
+     ! 
+     CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error, access_prp = plist_id)
+     CALL h5pclose_f(plist_id, error)
+     !
+     ! Create the data space for the  dataset. 
+     !
+     CALL h5screate_simple_f(rank, dimsf, filespace, error)
+
+     !
+     ! Create the dataset with default properties.
+     !
+     CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, filespace, &
+                      dset_id, error)
+     !
+     ! Create property list for collective dataset write
+     !
+     CALL h5pcreate_f(H5P_DATASET_XFER_F, plist_id, error) 
+     CALL h5pset_dxpl_mpio_f(plist_id, H5FD_MPIO_COLLECTIVE_F, error)
+     !
+     ! For independent write use 
+     ! CALL h5pset_dxpl_mpio_f(plist_id, H5FD_MPIO_INDEPENDENT_F, error)
+     !
+     
+     !
+     ! Write the dataset collectively. 
+     !
+     CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, data, dimsfi, error, &
+                      xfer_prp = plist_id)
+     !
+     ! Deallocate data buffer.
+     !
+     DEALLOCATE(data)
+
+     !
+     ! Close resources.
+     !
+     CALL h5sclose_f(filespace, error)
+     CALL h5dclose_f(dset_id, error)
+     CALL h5pclose_f(plist_id, error)
+     CALL h5fclose_f(file_id, error)
+     ! Attempt to remove the data file.  Remove the line if the compiler
+     ! does not support it.
+     !CALL unlink(filename)
+
+     !
+     ! Close FORTRAN interface
+     !
+     CALL h5close_f(error)
+
+     CALL MPI_FINALIZE(mpierror)
+
+     END PROGRAM DATASET

Modified: packages/hdf5/trunk/fortran/examples/refobjexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/refobjexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/refobjexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/refregexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/refregexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/refregexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/rwdsetexample.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/rwdsetexample.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/rwdsetexample.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/examples/selectele.f90
===================================================================
--- packages/hdf5/trunk/fortran/examples/selectele.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/examples/selectele.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Copied: packages/hdf5/trunk/fortran/examples/testh5fc.sh.in (from rev 1094, packages/hdf5/branches/upstream/current/fortran/examples/testh5fc.sh.in)
===================================================================
--- packages/hdf5/trunk/fortran/examples/testh5fc.sh.in	                        (rev 0)
+++ packages/hdf5/trunk/fortran/examples/testh5fc.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,219 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
+#
+# Tests for the h5fc compiler tool
+# Created: Albert Cheng, 2007/3/14
+#
+# Modification:
+#
+
+# Initializations
+# Where the tool is installed.
+prefix="${prefix:- at prefix@}"
+PARALLEL=@PARALLEL@		# Am I in parallel mode?
+AR=@AR@
+RANLIB=@RANLIB@
+if [ "$PARALLEL" = no ]; then
+    H5TOOL="h5fc"           	# The tool name
+else
+    H5TOOL="h5pfc"               # The tool name
+fi
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}"   # The path of the tool binary
+
+CMP='cmp -s'
+DIFF='diff -c'
+
+nerrors=0
+verbose=yes
+
+# setup my machine information.
+myos=`uname -s`
+myhostnama=`uname -n`
+
+# The build (current) directory might be different than the source directory.
+if test -z "$srcdir"; then
+   srcdir=.
+fi
+
+# Generate some source files and library for tests.
+suffix=f90		# source file suffix
+hdf5main=${H5TOOL}_hdf5main.$suffix
+hdf5main_o=${H5TOOL}_hdf5main.o
+appmain=${H5TOOL}_appmain.$suffix
+appmain_o=${H5TOOL}_appmain.o
+prog1=${H5TOOL}_prog1.$suffix
+prog1_o=${H5TOOL}_prog1.o
+prog2=${H5TOOL}_prog2.$suffix
+prog2_o=${H5TOOL}_prog2.o
+applib=libapp${H5TOOL}.a
+
+# short hands
+temp_SRC="$hdf5main $appmain $prog1 $prog2"
+temp_OBJ=`echo $temp_SRC | sed -e "s/\.${suffix}/.o/g"`
+temp_FILES="a.out *.h5 $applib"
+
+# Generate appmain:
+# An application Main that calls hdf5 and application's own functions.
+cat > $appmain <<EOF
+     PROGRAM FILEEXAMPLE
+     USE HDF5 ! This module contains all necessary modules 
+        
+     IMPLICIT NONE
+
+     CHARACTER(LEN=8), PARAMETER :: filename = "apptmp.h5" ! File name
+     INTEGER(HID_T) :: file_id                            ! File identifier
+ 
+     INTEGER     ::   error  ! Error flag
+
+     CALL sub1
+     CALL h5open_f (error)
+     CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
+     CALL h5fclose_f(file_id, error)
+     CALL h5close_f(error)
+     CALL sub2
+     END PROGRAM FILEEXAMPLE 
+EOF
+
+# generate prog1
+cat > $prog1 <<EOF
+	subroutine sub1
+	print *, "in sub1"
+	end
+EOF
+
+# generate prog2
+cat > $prog2 <<EOF
+	subroutine sub2
+	print *, "in sub2"
+	end
+EOF
+
+# Generate HDF5 Main Program:
+# An HDF5 sample program that calls hdf5 functions.
+cat > $hdf5main <<EOF
+     PROGRAM FILEEXAMPLE
+     USE HDF5 ! This module contains all necessary modules 
+        
+     IMPLICIT NONE
+
+     CHARACTER(LEN=8), PARAMETER :: filename = "apptmp.h5" ! File name
+     INTEGER(HID_T) :: file_id                            ! File identifier
+ 
+     INTEGER     ::   error  ! Error flag
+
+     CALL h5open_f (error)
+     CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)
+     CALL h5fclose_f(file_id, error)
+     CALL h5close_f(error)
+     END PROGRAM FILEEXAMPLE 
+EOF
+
+
+
+# Parse option
+#   None
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+
+# Debug printing
+# Change : to echo to print the debug statement
+DPRINT() {
+    : $*
+}
+
+# Run a test and print PASS or *FAIL*.  If a test fails then increment
+# the `nerrors' global variable and (if $verbose is set) display the
+# failed output.  The actual output is not removed if $HDF5_NOCLEANUP is
+# defined.
+#
+TOOLTEST() {
+    out=test_$H5TOOL_$$.out
+    err=test_$H5TOOL_$$.err
+
+    # Run test.
+    TESTING $H5TOOL $@
+    $H5TOOL_BIN $@ > $out 2>&1
+    result=$?
+    if [ $result = 0 ]; then
+	echo " PASSED"
+    else
+	echo "*FAILED*"
+	nerrors="`expr $nerrors + 1`"
+	test yes = "$verbose" && \
+	    ( echo "========== results ==========="; cat $out;
+	      echo "===============================================") |sed 's/^/    /'
+    fi
+
+    # Clean up output file
+    if test -z "$HDF5_NOCLEANUP"; then
+	rm -f $out
+    fi
+}
+
+# Print a "SKIP" message
+SKIPTEST() {
+	 TESTING $H5TOOL $@
+	  echo  " -SKIP-"
+}
+
+
+##############################################################################
+###			  T H E   T E S T S                                ###
+##############################################################################
+#
+# HDF5 program that calls HDF5 APIs.
+echo "***"Simple Compile and Link in one step.
+TOOLTEST $hdf5main
+# Application program that calls HDF5 and its own functions.
+TOOLTEST $appmain $prog1 $prog2
+
+# Compile, then link.
+echo "***"Compile and Link in two steps.
+TOOLTEST -c $hdf5main
+TOOLTEST $hdf5main_o
+TOOLTEST -c $appmain $prog1 $prog2
+TOOLTEST $appmain_o $prog1_o $prog2_o
+
+# Build external library, then link with it.
+echo "***"Build external library and link with it.
+TOOLTEST -c $prog1 $prog2
+$AR cru $applib $prog1_o $prog2_o
+$RANLIB $applib
+TOOLTEST $appmain $applib
+TOOLTEST $appmain_o $applib
+
+# No preprocess test since -E is not a common option for Fortran compilers.
+
+##############################################################################
+# END
+##############################################################################
+
+# Clean up  file
+if test -z "$HDF5_NOCLEANUP"; then
+    rm -f $temp_SRC $temp_OBJ $temp_FILES
+fi
+
+if test $nerrors -eq 0 ; then
+   echo "All $H5TOOL tests passed."
+fi
+
+exit $nerrors

Modified: packages/hdf5/trunk/fortran/src/Dependencies
===================================================================
--- packages/hdf5/trunk/fortran/src/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 H5f90kit.lo: \
    $(srcdir)/H5f90kit.c \

Modified: packages/hdf5/trunk/fortran/src/H5Af.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Af.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Af.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5A Fortran APIs */
@@ -100,7 +101,9 @@
  *                         by Fortran routine.
  * Returns:     0 on success, -1 on failure
  * Programmer:  Elena Pourmal
- *              Tuesday, May 14, 2002
+ *              Thursday , August 12, 1999
+ * Modifications: dims paramete added.
+ *                April 4, 2001
  *---------------------------------------------------------------------------*/
 int_f
 nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
@@ -110,7 +113,80 @@
       */
      return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
 }
+int_f
+nh5awritec_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
 
+int_f
+nh5awritec_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5awritec_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5awritec_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5awritec_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5awritec_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5awritec_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5awritec_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+
+
 /*----------------------------------------------------------------------------
  * Name:        h5awrite_c
  * Purpose:     Call H5Awrite to write a attribute
@@ -121,9 +197,231 @@
  *                         by Fortran routine.
  * Returns:     0 on success, -1 on failure
  * Programmer:  Elena Pourmal
- *              Tuesday, May 14, 2002
+ *              Thursday, August 12, 1999
+ * Modifications: dims parameter added
+ *                                           April 4, 2001
+ *                Added nh5awrite_integer(real,double)_s,1-7 functions to eliminate
+ *                complains about wrong parameters types in h5awrite_c function
+ *                called by Fortran routines.
+ *                                           October 9, 2006 EIP
  *---------------------------------------------------------------------------*/
 int_f
+nh5awrite_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5awrite_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
+{
+     /*
+      * Call h5awrite_c  function.
+      */
+     return nh5awrite_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
 nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED *dims)
 {
     int_f ret_value=0;          /* Return value */
@@ -138,6 +436,7 @@
      return ret_value;
 }
 
+
 /*----------------------------------------------------------------------------
  * Name:        h5areadc_c
  * Purpose:     Call h5aread_c to read character  attribute
@@ -148,7 +447,13 @@
  * Outputs:     buf      - character data buffer
  * Returns:     0 on success, -1 on failure
  * Programmer:  Elena Pourmal
- *              Tuesday, May 14, 2002
+ *              Thursday, August 12, 1999
+ * Modifications: dims parameter added.
+ *                April 4, 2001
+ *                Added nh5areadc_s,1-7 functions to eliminate
+ *                complains about wrong parameters types in h5awrite_c function
+ *                called by Fortran routines.
+ *                                           October 9, 2006 EIP
  *---------------------------------------------------------------------------*/
 int_f
 nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
@@ -158,7 +463,79 @@
       */
      return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
 }
+int_f
+nh5areadc_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
 
+int_f
+nh5areadc_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5areadc_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5areadc_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5areadc_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5areadc_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+int_f
+nh5areadc_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+int_f
+nh5areadc_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
+}
+
+
+
 /*----------------------------------------------------------------------------
  * Name:        h5aread_c
  * Purpose:     Call H5Aread to read an attribute
@@ -169,7 +546,13 @@
  * Outputs:     buf      - data buffer
  * Returns:     0 on success, -1 on failure
  * Programmer:  Elena Pourmal
- *              Tuesday, May 14, 2002
+ *              Thursday, August 12, 1999
+ * Modifications: dims paramete added.
+ *                April 4, 2001
+ *                Added nh5aread_integer(real,double)_s,1-7 functions to eliminate
+ *                complains about wrong parameters types in h5awrite_c function
+ *                called by Fortran routines.
+ *                                           October 9, 2006 EIP
  *---------------------------------------------------------------------------*/
 int_f
 nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
@@ -186,6 +569,223 @@
      return ret_value;
 }
 
+int_f
+nh5aread_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+int_f
+nh5aread_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void UNUSED * dims)
+{
+     /*
+      * Call h5aread_c  function.
+      */
+     return nh5aread_c(attr_id, mem_type_id, buf, dims);
+}
+
+
 /*----------------------------------------------------------------------------
  * Name:        h5aclose_c
  * Purpose:     Call H5Aclose to close an attribute

Modified: packages/hdf5/trunk/fortran/src/H5Aff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Aff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Aff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !
@@ -153,7 +154,7 @@
             INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp
                                                 ! Attribute creation property 
                                                 ! list identifier 
-            INTEGER :: creation_prp_default 
+            INTEGER(HID_T) :: creation_prp_default 
             INTEGER(SIZE_T) :: namelen
 !            INTEGER, EXTERNAL :: h5acreate_c
 !  MS FORTRAN needs explicit interface for C functions called here.
@@ -171,7 +172,7 @@
               INTEGER(SIZE_T) :: namelen
               INTEGER(HID_T), INTENT(IN) :: type_id
               INTEGER(HID_T), INTENT(IN) :: space_id
-              INTEGER :: creation_prp_default
+              INTEGER(HID_T) :: creation_prp_default
               INTEGER(HID_T), INTENT(OUT) :: attr_id
               END FUNCTION h5acreate_c
             END INTERFACE
@@ -313,23 +314,23 @@
             INTEGER, INTENT(IN) :: buf              ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_S_C'::h5awrite_integer_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN)::buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_s_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_scalar
 
           SUBROUTINE h5awrite_integer_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -347,24 +348,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_1_C'::h5awrite_integer_1_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_1_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_1
 
 
@@ -383,24 +384,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_2_C'::h5awrite_integer_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_2_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_2
 
 
@@ -419,24 +420,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_3_C'::h5awrite_integer_3_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_3_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_3
 
 
@@ -455,24 +456,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_4_C'::h5awrite_integer_4_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_4_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_4
 
 
@@ -491,24 +492,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_5_C'::h5awrite_integer_5_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_5_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_5
 
 
@@ -527,24 +528,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_6_C'::h5awrite_integer_6_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_6_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_6
 
 
@@ -563,24 +564,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_integer_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_integer_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_INTEGER_7_C'::h5awrite_integer_7_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_integer_7_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_integer_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_integer_7
 
 
@@ -597,23 +598,23 @@
             REAL, INTENT(IN) :: buf                 ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_S_C'::h5awrite_real_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN)::buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_s_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_scalar
 
           SUBROUTINE h5awrite_real_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -631,24 +632,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_1_C'::h5awrite_real_1_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_1_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_1
 
 
@@ -667,24 +668,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_2_C'::h5awrite_real_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_2_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_2
 
 
@@ -703,24 +704,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_3_C'::h5awrite_real_3_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_3_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_3
 
 
@@ -739,24 +740,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_4_C'::h5awrite_real_4_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_4_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_4
 
 
@@ -775,24 +776,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_5_C'::h5awrite_real_5_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_5_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_5
 
 
@@ -811,24 +812,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_6_C'::h5awrite_real_6_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_6_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_6
 
 
@@ -847,24 +848,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_real_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_real_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_REAL_7_C'::h5awrite_real_7_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_real_7_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_real_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_real_7
 
 
@@ -881,23 +882,23 @@
             DOUBLE PRECISION, INTENT(IN) :: buf     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_S_C'::h5awrite_double_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN)::buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_s_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_scalar
 
           SUBROUTINE h5awrite_double_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -914,24 +915,24 @@
             DIMENSION(dims(1)) :: buf ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_1_C'::h5awrite_double_1_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_1_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_1
 
 
@@ -950,24 +951,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_2_C'::h5awrite_double_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_2_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_2
 
 
@@ -986,24 +987,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_3_C'::h5awrite_double_3_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_3_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_3
 
 
@@ -1022,24 +1023,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_4_C'::h5awrite_double_4_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_4_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_4
 
 
@@ -1058,24 +1059,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_5_C'::h5awrite_double_5_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_5_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_5
 
 
@@ -1094,24 +1095,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_6_C'::h5awrite_double_6_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_6_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_6
 
 
@@ -1130,24 +1131,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awrite_c
+!            INTEGER, EXTERNAL :: h5awrite_double_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awrite_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awrite_double_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_DOUBLE_7_C'::h5awrite_double_7_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5awrite_c
+              END FUNCTION h5awrite_double_7_c
             END INTERFACE
 
-            hdferr = h5awrite_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awrite_double_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_double_7
 
           SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -1163,24 +1164,24 @@
             CHARACTER(LEN=*),INTENT(IN) :: buf 
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_S_C'::h5awritec_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               !DEC$ATTRIBUTES reference :: buf
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN)::buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_s_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_scalar
 
           SUBROUTINE h5awrite_char_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -1197,24 +1198,24 @@
             DIMENSION(dims(1)) :: buf
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_1_C'::h5awritec_1_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1))::buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_1_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_1
 
 
@@ -1233,14 +1234,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_2_C'::h5awritec_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               !DEC$ATTRIBUTES reference :: buf
@@ -1248,10 +1249,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_2_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_2
 
 
@@ -1269,14 +1270,14 @@
             DIMENSION(dims(1),dims(2),dims(3)) :: buf
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_3_C'::h5awritec_3_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -1284,10 +1285,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_3_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_3
 
 
@@ -1305,14 +1306,14 @@
             DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_4_C'::h5awritec_4_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -1320,10 +1321,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_4_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_4
 
 
@@ -1341,14 +1342,14 @@
             DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_5_C'::h5awritec_5_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -1356,10 +1357,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_5_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_5
 
 
@@ -1377,14 +1378,14 @@
             DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_6_C'::h5awritec_6_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -1392,10 +1393,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_6_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_6
 
 
@@ -1413,14 +1414,14 @@
             DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
-!            INTEGER, EXTERNAL :: h5awritec_c
+!            INTEGER, EXTERNAL :: h5awritec_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5awritec_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5awritec_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_7_C'::h5awritec_7_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -1428,10 +1429,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5awritec_c
+              END FUNCTION h5awritec_7_c
             END INTERFACE
 
-            hdferr = h5awritec_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5awritec_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5awrite_char_7
 
 !----------------------------------------------------------------------
@@ -1480,23 +1481,23 @@
             INTEGER, INTENT(OUT) :: buf             ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_S_C'::h5aread_integer_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT)::buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_s_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_scalar
 
           SUBROUTINE h5aread_integer_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -1513,24 +1514,24 @@
             DIMENSION(dims(1)) :: buf
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_1_C'::h5aread_integer_1_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_1_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_1
 
 
@@ -1548,24 +1549,24 @@
             DIMENSION(dims(1),dims(2)) :: buf
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_2_C'::h5aread_integer_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_2_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_2
 
 
@@ -1583,24 +1584,24 @@
             DIMENSION(dims(1),dims(2),dims(3)) :: buf
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_3_C'::h5aread_integer_3_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_3_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_3
 
 
@@ -1619,24 +1620,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_4_C'::h5aread_integer_4_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_4_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_4
 
 
@@ -1655,24 +1656,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_5_C'::h5aread_integer_5_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_5_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_5
 
 
@@ -1691,24 +1692,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_6_C'::h5aread_integer_6_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_6_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_6
 
 
@@ -1727,24 +1728,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_integer_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_integer_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_INTEGER_7_C'::h5aread_integer_7_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_integer_7_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_integer_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_integer_7
 
 
@@ -1761,23 +1762,23 @@
             REAL, INTENT(OUT) :: buf                ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_S_C'::h5aread_real_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT)::buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_s_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_scalar
 
           SUBROUTINE h5aread_real_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -1795,24 +1796,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_1_C'::h5aread_real_1_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_1_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_1
 
 
@@ -1831,24 +1832,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_2_C'::h5aread_real_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_2_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_2
 
 
@@ -1867,24 +1868,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_3_C'::h5aread_real_3_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_3_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_3
 
 
@@ -1903,24 +1904,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_4_C'::h5aread_real_4_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_4_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_4
 
 
@@ -1939,24 +1940,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_5_C'::h5aread_real_5_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_5_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_5
 
 
@@ -1975,24 +1976,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_6_C'::h5aread_real_6_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_6_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_6
 
 
@@ -2011,24 +2012,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_real_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_real_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_REAL_7_C'::h5aread_real_7_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               REAL, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_real_7_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_real_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_real_7
 
 
@@ -2045,23 +2046,23 @@
             DOUBLE PRECISION, INTENT(OUT) :: buf    ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_S_C'::h5aread_double_s_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT)::buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_s_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_scalar
 
           SUBROUTINE h5aread_double_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -2079,24 +2080,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_1_C'::h5aread_double_1_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_1_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_1
 
 
@@ -2115,24 +2116,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_2_C'::h5aread_double_2_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_2_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_2
 
 
@@ -2151,24 +2152,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_3_C'::h5aread_double_3_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_3_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_3
 
 
@@ -2187,24 +2188,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_4_C'::h5aread_double_4_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_4_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_4
 
 
@@ -2223,24 +2224,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_5_C'::h5aread_double_5_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_5_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_5
 
 
@@ -2259,24 +2260,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_6_C'::h5aread_double_6_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_6_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_6
 
 
@@ -2295,24 +2296,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5aread_c
+!            INTEGER, EXTERNAL :: h5aread_double_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5aread_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5aread_double_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREAD_DOUBLE_7_C'::h5aread_double_7_c
               !DEC$ ENDIF
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               DOUBLE PRECISION, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5aread_c
+              END FUNCTION h5aread_double_7_c
             END INTERFACE
 
-            hdferr = h5aread_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5aread_double_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_double_7
 
 
@@ -2330,24 +2331,24 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_s_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_S_C'::h5areadc_s_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
               INTEGER(HID_T), INTENT(IN) :: attr_id
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_s_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_s_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_scalar
 
           SUBROUTINE h5aread_char_1(attr_id, memtype_id,  buf, dims, hdferr) 
@@ -2365,14 +2366,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_1_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_1_C'::h5areadc_1_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2380,10 +2381,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_1_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_1_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_1
 
 
@@ -2402,14 +2403,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_2_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_2_C'::h5areadc_2_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2417,10 +2418,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_2_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_2_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_2
 
 
@@ -2439,14 +2440,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_3_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_3_C'::h5areadc_3_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2454,10 +2455,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_3_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_3_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_3
 
 
@@ -2476,14 +2477,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_4_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_4_C'::h5areadc_4_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2491,10 +2492,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_4_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_4_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_4
 
 
@@ -2513,14 +2514,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_5_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_5_C'::h5areadc_5_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2528,10 +2529,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_5_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_5_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_5
 
 
@@ -2550,14 +2551,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_6_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_6_C'::h5areadc_6_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2565,10 +2566,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_6_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_6_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_6
 
 
@@ -2587,14 +2588,14 @@
                                                     ! Attribute data 
             INTEGER, INTENT(OUT) :: hdferr          ! Error code
 
-!            INTEGER, EXTERNAL :: h5areadc_c
+!            INTEGER, EXTERNAL :: h5areadc_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5areadc_c(attr_id, memtype_id,  buf, dims)
+              INTEGER FUNCTION h5areadc_7_c(attr_id, memtype_id,  buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5AREADC_7_C'::h5areadc_7_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims       ! Array to story buf dimension sizes 
@@ -2602,10 +2603,10 @@
               INTEGER(HID_T), INTENT(IN) :: memtype_id
               CHARACTER(LEN=*), INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5areadc_c
+              END FUNCTION h5areadc_7_c
             END INTERFACE
 
-            hdferr = h5areadc_c(attr_id, memtype_id,  buf, dims)
+            hdferr = h5areadc_7_c(attr_id, memtype_id,  buf, dims)
           END SUBROUTINE h5aread_char_7
 
 

Modified: packages/hdf5/trunk/fortran/src/H5Df.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Df.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Df.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5D Fortran APIs */
@@ -36,7 +37,7 @@
 {
      int ret_value = -1;
      char *c_name;
-     int c_namelen;
+     size_t c_namelen;
      hid_t c_loc_id;
      hid_t c_type_id;
      hid_t c_space_id;
@@ -88,7 +89,7 @@
 {
      int ret_value = -1;
      char *c_name;
-     int c_namelen;
+     size_t c_namelen;
      hid_t c_loc_id;
      hid_t c_dset_id;
 
@@ -128,6 +129,7 @@
  *              Tuesday, May 14, 2002
  * Modifications: This function is added to accomodate oveloaded h5dwrite_f
  *                with the dims argument being of INTEGER(HSIZE_T) type
+ 
  *---------------------------------------------------------------------------*/
 int_f
 nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
@@ -142,6 +144,110 @@
      return ret_value;
 }
 
+int_f
+nh5dwritec_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dwritec_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dwrite_c  function.
+      */
+     ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5dwrite_c
  * Purpose:     Call H5Dwrite to write a dataset
@@ -156,9 +262,15 @@
  *              Tuesday, May 14, 2002
  * Modifications: This function is added to accomodate oveloaded h5dwrite_f
  *                with the dims argument being of INTEGER(HSIZE_T) type
+ *
+ *                Added nh5dwrite_integer(real,double)_s,1-7_c functions to eliminate
+ *                complains about wrong parameter types in h5dwrite_c function
+ *                called by Fortran rouitnes
+ *                                           October 10, 2006 EIP
+ * 
  *---------------------------------------------------------------------------*/
 int_f
-nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f UNUSED *dims)
 {
      int ret_value = -1;
      herr_t ret;
@@ -187,7 +299,231 @@
      return ret_value;
 }
 
+int_f
+nh5dwrite_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
 
+
+int_f
+nh5dwrite_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
+int_f
+nh5dwrite_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dwrite_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dwrite_c  function.
+      */
+     return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+
 /*----------------------------------------------------------------------------
  * Name:        h5dwrite_ref_obj_c
  * Purpose:     Call H5Dwrite to write a dataset  of object references
@@ -339,6 +675,110 @@
      return ret_value;
 }
 
+int_f
+nh5dreadc_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
+int_f
+nh5dreadc_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
+{
+     int ret_value = -1;
+
+     /*
+      * Call h5dread_c  function.
+      */
+     ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
+
+     return ret_value;
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5dread_c
  * Purpose:     Call H5Draed to read a dataset
@@ -353,9 +793,15 @@
  *              Wednesday, May 15, 2002
  * Modifications: This function was added to accomodate h5dread_f subroutine
  *                with the dims parameter being of INTEGER(HSIZE_T_F) size.
+ *
+ *                Added nh5dread_integer(real,double)_s,1-7_c functions to eliminate
+ *                complains about wrong parameter types in h5dwrite_c function
+ *                called by Fortran rouitnes
+ *                                           October 10, 2006 EIP
+ * 
  *---------------------------------------------------------------------------*/
 int_f
-nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f UNUSED *dims)
 {
      int ret_value = -1;
      herr_t ret;
@@ -384,6 +830,222 @@
      return ret_value;
 }
 
+int_f
+nh5dread_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
+int_f
+nh5dread_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
+{
+     /*
+      * Call h5dread_c  function.
+      */
+     return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5dread_ref_obj_c
  * Purpose:     Call H5Dread to read a dataset  of object references
@@ -404,7 +1066,7 @@
 nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f * buf, hsize_t_f *dims)
 {
     int ret_value = -1;
-    herr_t ret;
+    herr_t ret = -1;
     hid_t c_dset_id;
     hid_t c_mem_type_id;
     hid_t c_mem_space_id;
@@ -463,7 +1125,7 @@
 nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims)
 {
      int ret_value = -1;
-     herr_t ret;
+     herr_t ret = -1;
      hid_t c_dset_id;
      hid_t c_mem_type_id;
      hid_t c_mem_space_id;
@@ -759,7 +1421,7 @@
   hid_t c_file_space_id;
   hid_t c_xfer_prp;
   herr_t status;
-  int *tmp;
+  int_f *tmp;
   size_t max_len;
 
   hvl_t *c_buf;
@@ -777,7 +1439,7 @@
 
   c_buf = (hvl_t *)malloc((size_t)num_elem * sizeof(hvl_t));
   if (c_buf == NULL) return ret_value;
-  tmp = (int *)buf;
+  tmp = (int_f *)buf;
   for (i=0; i < num_elem; i++) {
        c_buf[i].len = (size_t)len[i];
        c_buf[i].p   = tmp;
@@ -849,7 +1511,7 @@
  if ( status < 0 ) goto DONE;
   for (i=0; i < num_elem; i++) {
        len[i] = (size_t_f)c_buf[i].len;
-       memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(int));
+       memcpy(&buf[i*max_len], c_buf[i].p, c_buf[i].len*sizeof(int_f));
   }
   H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
   ret_value = 0;
@@ -909,7 +1571,7 @@
   if (c_buf == NULL) return ret_value;
 
   /* Copy data to long C string */
-  tmp = (char *)HD5f2cstring(buf, (int)(max_len*num_elem));
+  tmp = (char *)HD5f2cstring(buf, (size_t)(max_len*num_elem));
   if (tmp == NULL) { free(c_buf);
                      return ret_value;
                    }
@@ -1004,7 +1666,7 @@
         len[i] = (size_t_f)strlen(c_buf[i]);
         tmp_p = tmp_p + max_len;
   }
-  HD5packFstring(tmp, _fcdtocp(buf), (int)(max_len*num_elem));
+  HD5packFstring(tmp, _fcdtocp(buf), (size_t)(max_len*num_elem));
   ret_value = 0;
   H5Dvlen_reclaim(c_mem_type_id, c_mem_space_id, H5P_DEFAULT, c_buf);
   free(c_buf);
@@ -1203,6 +1865,78 @@
      return ret_value;
 }
 
+int_f
+nh5dfill_integer_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
+
+{
+     int ret_value = -1;
+     herr_t ret;
+     hid_t c_fill_type_id;
+     hid_t c_mem_type_id;
+     hid_t c_space_id;
+
+     c_fill_type_id = (hid_t)*fill_type_id;
+     c_mem_type_id = (hid_t)*mem_type_id;
+     c_space_id = (hid_t)*space_id;
+
+     /*
+      * Call H5Dfill function.
+      */
+     ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
+
+     if (ret < 0) return ret_value;
+     ret_value = 0;
+     return ret_value;
+}
+
+int_f
+nh5dfill_real_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
+
+{
+     int ret_value = -1;
+     herr_t ret;
+     hid_t c_fill_type_id;
+     hid_t c_mem_type_id;
+     hid_t c_space_id;
+
+     c_fill_type_id = (hid_t)*fill_type_id;
+     c_mem_type_id = (hid_t)*mem_type_id;
+     c_space_id = (hid_t)*space_id;
+
+     /*
+      * Call H5Dfill function.
+      */
+     ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
+
+     if (ret < 0) return ret_value;
+     ret_value = 0;
+     return ret_value;
+}
+
+int_f
+nh5dfill_double_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
+
+{
+     int ret_value = -1;
+     herr_t ret;
+     hid_t c_fill_type_id;
+     hid_t c_mem_type_id;
+     hid_t c_space_id;
+
+     c_fill_type_id = (hid_t)*fill_type_id;
+     c_mem_type_id = (hid_t)*mem_type_id;
+     c_space_id = (hid_t)*space_id;
+
+     /*
+      * Call H5Dfill function.
+      */
+     ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
+
+     if (ret < 0) return ret_value;
+     ret_value = 0;
+     return ret_value;
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5dget_space_status_c
  * Purpose:     Call H5Dget_space_status to request dataspace allocation status

Modified: packages/hdf5/trunk/fortran/src/H5Dff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Dff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Dff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !
@@ -165,7 +166,7 @@
             INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp 
                                                    ! Dataset creation propertly
                                                    ! list identifier
-            INTEGER :: creation_prp_default
+            INTEGER(HID_T) :: creation_prp_default
             INTEGER :: namelen                     ! Name length
 
 !            INTEGER, EXTERNAL :: h5dcreate_c
@@ -184,7 +185,7 @@
               INTEGER :: namelen
               INTEGER(HID_T), INTENT(IN) :: type_id
               INTEGER(HID_T), INTENT(IN) :: space_id
-              INTEGER :: creation_prp_default
+              INTEGER(HID_T) :: creation_prp_default
               INTEGER(HID_T), INTENT(OUT) :: dset_id
               END FUNCTION h5dcreate_c
             END INTERFACE
@@ -475,17 +476,17 @@
             INTEGER(HID_T)  :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_S_C'::h5dwrite_integer_s_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -494,7 +495,7 @@
               INTEGER(HID_T) :: xfer_prp_default
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_s_c
             END INTERFACE
 
 
@@ -506,7 +507,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_integer_scalar
@@ -536,17 +537,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_1_C'::h5dwrite_integer_1_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -556,7 +557,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_1_c
             END INTERFACE
 
 
@@ -568,7 +569,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_integer_1
@@ -598,17 +599,17 @@
             INTEGER(HID_T)  :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_2_C'::h5dwrite_integer_2_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -618,7 +619,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_2_c
             END INTERFACE
 
 
@@ -629,8 +630,7 @@
             if (present(xfer_prp)) xfer_prp_default = xfer_prp 
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
-
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -661,17 +661,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_3_C'::h5dwrite_integer_3_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -681,7 +681,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_3_c
             END INTERFACE
 
 
@@ -693,7 +693,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -724,17 +724,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_4_C'::h5dwrite_integer_4_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -744,7 +744,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_4_c
             END INTERFACE
 
 
@@ -755,7 +755,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -786,17 +786,17 @@
             INTEGER(HID_T)  :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_5_C'::h5dwrite_integer_5_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -806,7 +806,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_5_c
             END INTERFACE
 
 
@@ -819,7 +819,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -850,17 +850,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_6_C'::h5dwrite_integer_6_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -870,7 +870,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_6_c
             END INTERFACE
 
 
@@ -882,7 +882,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -913,17 +913,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_integer_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_integer_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_INTEGER_7_C'::h5dwrite_integer_7_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -933,7 +933,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_integer_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -944,7 +944,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_integer_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -975,17 +975,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_S_C'::h5dwritec_s_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -995,7 +995,7 @@
               INTEGER(HID_T) :: xfer_prp_default
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_s_c
             END INTERFACE
 
 
@@ -1007,7 +1007,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_scalar
@@ -1037,17 +1037,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_1_C'::h5dwritec_1_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1058,7 +1058,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_1_c
             END INTERFACE
 
 
@@ -1070,7 +1070,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_1
@@ -1100,17 +1100,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_2_C'::h5dwritec_2_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1121,7 +1121,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_2_c
             END INTERFACE
 
 
@@ -1133,7 +1133,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_2
@@ -1163,17 +1163,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_3_C'::h5dwritec_3_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1184,7 +1184,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_3_c
             END INTERFACE
 
 
@@ -1196,7 +1196,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_3
@@ -1226,17 +1226,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_4_C'::h5dwritec_4_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1247,7 +1247,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_4_c
             END INTERFACE
 
 
@@ -1259,7 +1259,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_4
@@ -1289,17 +1289,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_5_C'::h5dwritec_5_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1310,7 +1310,7 @@
               INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_5_c
             END INTERFACE
 
 
@@ -1322,7 +1322,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_5
@@ -1352,17 +1352,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_6_C'::h5dwritec_6_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1373,7 +1373,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
             DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_6_c
             END INTERFACE
 
 
@@ -1385,7 +1385,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_6
@@ -1415,17 +1415,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwritec_c
+!            INTEGER, EXTERNAL :: h5dwritec_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwritec_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_7_C'::h5dwritec_7_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1436,7 +1436,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dwritec_c
+              END FUNCTION h5dwritec_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -1447,7 +1447,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwritec_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_char_7
@@ -1475,17 +1475,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_S_C'::h5dwrite_real_s_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1494,7 +1494,7 @@
               INTEGER(HID_T) :: xfer_prp_default
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_s_c
             END INTERFACE
 
 
@@ -1505,7 +1505,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_scalar
@@ -1535,17 +1535,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_1_C'::h5dwrite_real_1_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1555,7 +1555,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_1_c
             END INTERFACE
 
 
@@ -1567,7 +1567,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_1
@@ -1597,17 +1597,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_2_C'::h5dwrite_real_2_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1617,7 +1617,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_2_c
             END INTERFACE
 
 
@@ -1629,7 +1629,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_2
@@ -1658,17 +1658,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_3_C'::h5dwrite_real_3_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1678,7 +1678,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_3_c
             END INTERFACE
 
 
@@ -1690,7 +1690,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_3
@@ -1719,17 +1719,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_4_C'::h5dwrite_real_4_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1739,7 +1739,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_4_c
             END INTERFACE
 
 
@@ -1751,7 +1751,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_4
@@ -1780,17 +1780,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_5_C'::h5dwrite_real_5_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1800,7 +1800,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
             DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_5_c
             END INTERFACE
 
 
@@ -1812,7 +1812,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_5
@@ -1841,17 +1841,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_6_C'::h5dwrite_real_6_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1861,7 +1861,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
             DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_6_c
             END INTERFACE
 
 
@@ -1873,7 +1873,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_6
@@ -1902,17 +1902,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_real_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_real_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REAL_7_C'::h5dwrite_real_7_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1922,7 +1922,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_real_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -1933,7 +1933,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_real_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_real_7
@@ -1963,17 +1963,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_S_C'::h5dwrite_double_s_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -1982,7 +1982,7 @@
               INTEGER(HID_T) :: xfer_prp_default
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_s_c
             END INTERFACE
 
 
@@ -1994,7 +1994,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_scalar
@@ -2024,17 +2024,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_1_C'::h5dwrite_double_1_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2044,7 +2044,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_1_c
             END INTERFACE
 
 
@@ -2056,7 +2056,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_1
@@ -2086,17 +2086,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_2_C'::h5dwrite_double_2_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2106,7 +2106,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_2_c
             END INTERFACE
 
 
@@ -2118,7 +2118,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_2
@@ -2148,17 +2148,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_3_C'::h5dwrite_double_3_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2168,7 +2168,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_3_c
             END INTERFACE
 
 
@@ -2180,7 +2180,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_3
@@ -2210,17 +2210,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_4_C'::h5dwrite_double_4_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2230,7 +2230,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_4_c
             END INTERFACE
 
 
@@ -2242,7 +2242,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_4
@@ -2272,17 +2272,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_5_C'::h5dwrite_double_5_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2292,7 +2292,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_5_c
             END INTERFACE
 
 
@@ -2304,7 +2304,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_5
@@ -2335,17 +2335,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_6_C'::h5dwrite_double_6_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2355,7 +2355,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_6_c
             END INTERFACE
 
 
@@ -2367,7 +2367,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_6
@@ -2398,17 +2398,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dwrite_c
+!            INTEGER, EXTERNAL :: h5dwrite_double_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dwrite_double_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_DOUBLE_7_C'::h5dwrite_double_7_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2418,7 +2418,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(IN), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dwrite_c
+              END FUNCTION h5dwrite_double_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -2429,7 +2429,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dwrite_double_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dwrite_double_7
@@ -2642,17 +2642,17 @@
             INTEGER(HID_T)  :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_S_C'::h5dread_integer_s_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2661,7 +2661,7 @@
               INTEGER(HID_T) :: xfer_prp_default
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(OUT) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_s_c
             END INTERFACE
 
 
@@ -2673,7 +2673,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_integer_scalar
@@ -2703,17 +2703,17 @@
             INTEGER(HID_T)  :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_1_C'::h5dread_integer_1_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2723,7 +2723,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_1_c
             END INTERFACE
 
 
@@ -2735,7 +2735,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_integer_1
@@ -2765,17 +2765,17 @@
             INTEGER(HID_T)  :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_2_C'::h5dread_integer_2_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2785,7 +2785,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_2_c
             END INTERFACE
 
 
@@ -2797,7 +2797,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -2828,17 +2828,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_3_C'::h5dread_integer_3_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2848,7 +2848,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_3_c
             END INTERFACE
 
 
@@ -2860,7 +2860,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -2891,17 +2891,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_4_C'::h5dread_integer_4_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2911,7 +2911,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(OUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_4_c
             END INTERFACE
 
 
@@ -2923,7 +2923,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -2954,17 +2954,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_5_C'::h5dread_integer_5_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -2974,7 +2974,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_5_c
             END INTERFACE
 
 
@@ -2986,7 +2986,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -3017,17 +3017,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_6_C'::h5dread_integer_6_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3037,7 +3037,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_6_c
             END INTERFACE
 
 
@@ -3049,7 +3049,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -3080,17 +3080,17 @@
             INTEGER(HID_T)  :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_integer_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_integer_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_INTEGER_7_C'::h5dread_integer_7_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3100,7 +3100,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               INTEGER, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_integer_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -3111,7 +3111,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_integer_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, &
                                 buf, dims)
            
@@ -3141,17 +3141,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_S_C'::h5dreadc_s_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3161,7 +3161,7 @@
               INTEGER(HID_T) :: xfer_prp_default
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(OUT) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_s_c
             END INTERFACE
 
 
@@ -3173,7 +3173,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_scalar
@@ -3203,17 +3203,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_1_C'::h5dreadc_1_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3224,7 +3224,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_1_c
             END INTERFACE
 
 
@@ -3236,7 +3236,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_1
@@ -3266,17 +3266,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_2_C'::h5dreadc_2_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3287,7 +3287,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_2_c
             END INTERFACE
 
 
@@ -3299,7 +3299,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_2
@@ -3329,17 +3329,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_3_C'::h5dreadc_3_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3350,7 +3350,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_3_c
             END INTERFACE
 
 
@@ -3362,7 +3362,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_3
@@ -3392,17 +3392,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_4_C'::h5dreadc_4_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3413,7 +3413,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_4_c
             END INTERFACE
 
 
@@ -3425,7 +3425,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_4
@@ -3455,17 +3455,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_5_C'::h5dreadc_5_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3476,7 +3476,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_5_c
             END INTERFACE
 
 
@@ -3488,7 +3488,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_5
@@ -3518,17 +3518,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_6_C'::h5dreadc_6_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3539,7 +3539,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_6_c
             END INTERFACE
 
 
@@ -3551,7 +3551,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_6
@@ -3581,17 +3581,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dreadc_c
+!            INTEGER, EXTERNAL :: h5dreadc_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dreadc_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_7_C'::h5dreadc_7_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: buf 
               INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3602,7 +3602,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               CHARACTER(LEN=*), INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dreadc_c
+              END FUNCTION h5dreadc_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -3613,7 +3613,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dreadc_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_char_7
@@ -3641,17 +3641,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_S_C'::h5dread_real_s_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3660,7 +3660,7 @@
               INTEGER(HID_T) :: xfer_prp_default
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(OUT) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_s_c
             END INTERFACE
 
 
@@ -3672,7 +3672,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_scalar
@@ -3701,17 +3701,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_1_C'::h5dread_real_1_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3721,7 +3721,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_1_c
             END INTERFACE
 
 
@@ -3733,7 +3733,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_1
@@ -3762,17 +3762,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_2_C'::h5dread_real_2_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3782,7 +3782,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_2_c
             END INTERFACE
 
 
@@ -3794,7 +3794,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_2
@@ -3823,17 +3823,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_3_C'::h5dread_real_3_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3843,7 +3843,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), & 
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_3_c
             END INTERFACE
 
 
@@ -3855,7 +3855,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_3
@@ -3884,17 +3884,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_4_C'::h5dread_real_4_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3904,7 +3904,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_4_c
             END INTERFACE
 
 
@@ -3916,7 +3916,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_4
@@ -3945,17 +3945,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_5_C'::h5dread_real_5_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -3965,7 +3965,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), & 
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_5_c
             END INTERFACE
 
 
@@ -3977,7 +3977,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_5
@@ -4006,17 +4006,17 @@
             INTEGER(HID_T) :: mem_space_id_default
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_6_C'::h5dread_real_6_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4026,7 +4026,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_6_c
             END INTERFACE
 
 
@@ -4038,7 +4038,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_6
@@ -4068,17 +4068,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_real_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_real_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REAL_7_C'::h5dread_real_7_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4088,7 +4088,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               REAL, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_real_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -4099,7 +4099,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_real_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_real_7
@@ -4128,17 +4128,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_s_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_s_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_S_C'::h5dread_double_s_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4147,7 +4147,7 @@
               INTEGER(HID_T) :: xfer_prp_default
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(OUT) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_s_c
             END INTERFACE
 
 
@@ -4159,7 +4159,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_s_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_scalar
@@ -4189,17 +4189,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_1_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_1_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_1_C'::h5dread_double_1_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4209,7 +4209,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), &
               DIMENSION(dims(1)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_1_c
             END INTERFACE
 
 
@@ -4221,7 +4221,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_1_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_1
@@ -4251,17 +4251,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_2_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_2_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_2_C'::h5dread_double_2_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4271,7 +4271,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), & 
               DIMENSION(dims(1),dims(2)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_2_c
             END INTERFACE
 
 
@@ -4283,7 +4283,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_2_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_2
@@ -4313,17 +4313,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_3_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_3_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_3_C'::h5dread_double_3_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4333,7 +4333,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_3_c
             END INTERFACE
 
 
@@ -4345,7 +4345,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_3_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_3
@@ -4376,17 +4376,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_4_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_4_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_4_C'::h5dread_double_4_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4396,7 +4396,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_4_c
             END INTERFACE
 
 
@@ -4408,7 +4408,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_4_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_4
@@ -4438,17 +4438,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_5_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_5_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_5_C'::h5dread_double_5_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4458,7 +4458,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_5_c
             END INTERFACE
 
 
@@ -4470,7 +4470,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_5_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_5
@@ -4501,17 +4501,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_6_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_6_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_6_C'::h5dread_double_6_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4521,7 +4521,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_6_c
             END INTERFACE
 
 
@@ -4533,7 +4533,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_6_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_6
@@ -4564,17 +4564,17 @@
             INTEGER(HID_T) :: mem_space_id_default 
             INTEGER(HID_T) :: file_space_id_default 
 
-!            INTEGER, EXTERNAL :: h5dread_c
+!            INTEGER, EXTERNAL :: h5dread_double_7_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+              INTEGER FUNCTION h5dread_double_7_c(dset_id, mem_type_id, &
                                           mem_space_id_default, & 
                                           file_space_id_default, &
                                           xfer_prp_default, buf, dims)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_DOUBLE_7_C'::h5dread_double_7_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: dset_id
               INTEGER(HID_T), INTENT(IN) :: mem_type_id
@@ -4584,7 +4584,7 @@
             INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
               DOUBLE PRECISION, INTENT(INOUT), &
               DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
-              END FUNCTION h5dread_c
+              END FUNCTION h5dread_double_7_c
             END INTERFACE
 
             xfer_prp_default = H5P_DEFAULT_F
@@ -4595,7 +4595,7 @@
             if (present(mem_space_id))  mem_space_id_default = mem_space_id 
             if (present(file_space_id)) file_space_id_default = file_space_id 
 
-            hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
+            hdferr = h5dread_double_7_c(dset_id, mem_type_id, mem_space_id_default, &
                                 file_space_id_default, xfer_prp_default, buf, dims)
            
           END SUBROUTINE h5dread_double_7
@@ -5379,27 +5379,27 @@
             INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
             INTEGER(HID_T) :: mem_type_id !  Buffer dadtype identifier 
             
-!            INTEGER, EXTERNAL :: h5dfill_c
+!            INTEGER, EXTERNAL :: h5dfill_integer_c
 ! MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dfill_c(fill_value, fill_type_id, space_id, &
+              INTEGER FUNCTION h5dfill_integer_c(fill_value, fill_type_id, space_id, &
                                          buf, mem_type_id)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DFILL_C'::h5dfill_c  
+              !MS$ATTRIBUTES C,reference,alias:'_H5DFILL_INTEGER_C'::h5dfill_integer_c  
               !DEC$ ENDIF
               INTEGER, INTENT(IN) :: fill_value  ! Fill value
               INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
               INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
               INTEGER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
               INTEGER(HID_T) :: mem_type_id !  Buffer dadtype identifier 
-              END FUNCTION h5dfill_c
+              END FUNCTION h5dfill_integer_c
             END INTERFACE 
             fill_type_id = H5T_NATIVE_INTEGER
             mem_type_id  = H5T_NATIVE_INTEGER
 
-            hdferr = h5dfill_c(fill_value, fill_type_id, space_id, & 
+            hdferr = h5dfill_integer_c(fill_value, fill_type_id, space_id, & 
                                buf, mem_type_id)
 
           END SUBROUTINE h5dfill_integer
@@ -5443,27 +5443,27 @@
             INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
             INTEGER(HID_T) :: mem_type_id !  Buffer dadtype identifier 
             
-!            INTEGER, EXTERNAL :: h5dfill_c
+!            INTEGER, EXTERNAL :: h5dfill_real_c
 ! MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dfill_c(fill_valuer, fill_type_id, space_id, &
+              INTEGER FUNCTION h5dfill_real_c(fill_valuer, fill_type_id, space_id, &
                                          buf, mem_type_id)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DFILL_C'::h5dfill_c  
+              !MS$ATTRIBUTES C,reference,alias:'_H5DFILL_REAL_C'::h5dfill_real_c  
               !DEC$ ENDIF
               REAL, INTENT(IN) :: fill_valuer  ! Fill value
               INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
               INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
               REAL, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
               INTEGER(HID_T) :: mem_type_id !  Buffer dadtype identifier 
-              END FUNCTION h5dfill_c
+              END FUNCTION h5dfill_real_c
             END INTERFACE 
             fill_type_id = H5T_NATIVE_REAL
             mem_type_id  = H5T_NATIVE_REAL
 
-            hdferr = h5dfill_c(fill_valuer, fill_type_id, space_id, & 
+            hdferr = h5dfill_real_c(fill_valuer, fill_type_id, space_id, & 
                                buf, mem_type_id)
           END SUBROUTINE h5dfill_real
 
@@ -5506,27 +5506,27 @@
             INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
             INTEGER(HID_T) :: mem_type_id !  Buffer dadtype identifier 
             
-!            INTEGER, EXTERNAL :: h5dfill_c
+!            INTEGER, EXTERNAL :: h5dfill_double_c
 ! MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5dfill_c(fill_value, fill_type_id, space_id, &
+              INTEGER FUNCTION h5dfill_double_c(fill_value, fill_type_id, space_id, &
                                          buf, mem_type_id)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5DFILL_C'::h5dfill_c  
+              !MS$ATTRIBUTES C,reference,alias:'_H5DFILL_DOUBLE_C'::h5dfill_double_c  
               !DEC$ ENDIF
               DOUBLE PRECISION, INTENT(IN) :: fill_value  ! Fill value
               INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
               INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
               DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
               INTEGER(HID_T) :: mem_type_id !  Buffer dadtype identifier 
-              END FUNCTION h5dfill_c
+              END FUNCTION h5dfill_double_c
             END INTERFACE 
             fill_type_id = H5T_NATIVE_DOUBLE
             mem_type_id  = H5T_NATIVE_DOUBLE
 
-            hdferr = h5dfill_c(fill_value, fill_type_id, space_id, & 
+            hdferr = h5dfill_double_c(fill_value, fill_type_id, space_id, & 
                                buf, mem_type_id)
 
 

Modified: packages/hdf5/trunk/fortran/src/H5Ef.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Ef.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Ef.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5E Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5Eff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Eff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Eff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5FDmpiof.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5FDmpiof.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5FDmpiof.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for Parallel Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5FDmpioff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5FDmpioff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5FDmpioff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5Ff.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Ff.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Ff.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5F Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5Fff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Fff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Fff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5Gf.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Gf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Gf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5G Fortran APIs */
@@ -641,7 +642,7 @@
    *  Allocate buffer to hold the comment
    */
   c_bufsize = (size_t)*bufsize;
-  if(c_bufsize) c_comment = (char *)malloc(c_bufsize);
+  if(c_bufsize) c_comment = (char *)malloc(c_bufsize + 1);
   if(c_comment == NULL) {
                         HDfree(c_name);
                         return ret_value;

Modified: packages/hdf5/trunk/fortran/src/H5Gff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Gff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Gff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5If.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5If.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5If.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5I Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5Iff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Iff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Iff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5Pf.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Pf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Pf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5P Fortran APIs */
@@ -123,12 +124,12 @@
  * Purpose:     Call H5Pget_class to determine property list class
  * Inputs:      prp_id - identifier of the dataspace
  * Outputs:     classtype - class type; possible values are:
- *              H5P_NO_CLASS_F       -1
+ *              H5P_ROOT_F       -1
  *              H5P_FILE_CREATE_F     0
  *              H5P_FILE_ACCESS_F     1
  *              H5P_DATASET_CREATE_F  2
  *              H5P_DATASET_XFER_F    3
- *              H5P_MOUNT_F           4
+ *              H5P_FILE_MOUNT_F      4
  * Returns:     0 on success, -1 on failure
  * Programmer:  Elena Pourmal
  *              Saturday, August 14, 1999
@@ -380,7 +381,34 @@
      return ret_value;
 }
 
+int_f
+nh5pset_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
+{
+     /*
+      * Call h5pset_fill_value_c  function.
+      */
+     return nh5pset_fill_value_c(prp_id, type_id, fillvalue);
+}
 
+int_f
+nh5pset_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
+{
+     /*
+      * Call h5pset_fill_value_c  function.
+      */
+     return nh5pset_fill_value_c(prp_id, type_id, fillvalue);
+}
+
+int_f
+nh5pset_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
+{
+     /*
+      * Call h5pset_fill_value_c  function.
+      */
+     return nh5pset_fill_value_c(prp_id, type_id, fillvalue);
+}
+
+
 /*----------------------------------------------------------------------------
  * Name:        h5pget_fill_valuec_c
  * Purpose:     Call h5pget_fill_value_c to a character fill value
@@ -436,6 +464,33 @@
      return ret_value;
 }
 
+int_f
+nh5pget_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
+{
+     /*
+      * Call h5pget_fill_value_c  function.
+      */
+     return nh5pset_fill_value_c(prp_id, type_id, fillvalue);
+}
+
+int_f
+nh5pget_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
+{
+     /*
+      * Call h5pget_fill_value_c  function.
+      */
+     return nh5pset_fill_value_c(prp_id, type_id, fillvalue);
+}
+
+int_f
+nh5pget_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
+{
+     /*
+      * Call h5pget_fill_value_c  function.
+      */
+     return nh5pset_fill_value_c(prp_id, type_id, fillvalue);
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5pget_version_c
  * Purpose:     Call H5Pget_version to get the version information
@@ -1130,6 +1185,8 @@
  * Programmer:  Xiangyang Su
  *              Friday, February 25, 2000
  * Modifications: Changed type of the rdcc_w0 parameter to be real_f instead of double
+ *                Changed type of the rdcc_nelmts parameter to be int_f.
+ *                                                          EIP  October 10, 2003
  *---------------------------------------------------------------------------*/
 int_f
 nh5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes , real_f* rdcc_w0)
@@ -1183,9 +1240,9 @@
      char* c_meta_ext;
      char* c_raw_ext;
 
-     c_meta_ext = (char *)HD5f2cstring(meta_ext, (int)*meta_len);
+     c_meta_ext = (char *)HD5f2cstring(meta_ext, (size_t)*meta_len);
      if (c_meta_ext == NULL) return ret_value;
-     c_raw_ext = (char *)HD5f2cstring(raw_ext, (int)*raw_len);
+     c_raw_ext = (char *)HD5f2cstring(raw_ext, (size_t)*raw_len);
      if (c_raw_ext == NULL) { HDfree(c_meta_ext);
                               return ret_value;
                             }
@@ -1486,7 +1543,7 @@
 {
      int ret_value = -1;
      hid_t c_prp_id;
-     int c_filter_number;
+     unsigned c_filter_number;
      unsigned int  c_flags;
      size_t c_cd_nelmts, c_namelen;
      size_t c_cd_nelmts_in;
@@ -1518,7 +1575,7 @@
      *filter_id = (int_f)c_filter;
      *cd_nelmts = (size_t_f)c_cd_nelmts;
      *flags = (int_f)c_flags;
-     HD5packFstring(c_name, _fcdtocp(name), (int)strlen(c_name));
+     HD5packFstring(c_name, _fcdtocp(name), strlen(c_name));
 
      for (i = 0; i < c_cd_nelmts_in; i++)
           cd_values[i] = (int_f)c_cd_values[i];
@@ -1554,7 +1611,7 @@
      herr_t ret;
      hsize_t c_bytes;
      char* c_name;
-     int c_namelen;
+     size_t c_namelen;
      off_t c_offset;
      c_bytes = (hsize_t) *bytes;
      c_offset = (off_t) *offset;
@@ -1651,7 +1708,7 @@
 
      *offset = (int_f)c_offset;
      *bytes = (hsize_t_f)size;
-     HD5packFstring(c_name, _fcdtocp(name), (int)strlen(c_name));
+     HD5packFstring(c_name, _fcdtocp(name), strlen(c_name));
      ret_value = 0;
 
 DONE:
@@ -1660,76 +1717,6 @@
 }
 
 /*----------------------------------------------------------------------------
- * Name:        h5pset_hyper_cache_c
- * Purpose:     Call H5Pset__hyper_cache to indicate whether to
- *              cache hyperslab blocks during I/O.
- * Inputs:      prp_id - property list identifier
- *              cache -
- *              limit - Maximum size of the hyperslab block to cache.
- *                      0 (zero) indicates no limit.
- * Returns:     0 on success, -1 on failure
- * Programmer:  Xiangyang Su
- *              Friday, February 25, 2000
- * Modifications:
- *---------------------------------------------------------------------------*/
-int_f
-nh5pset_hyper_cache_c(hid_t_f *prp_id, int_f * cache, int_f * limit)
-{
-     int ret_value = -1;
-#ifdef H5_WANT_H5_V1_4_COMPAT
-     hid_t c_prp_id;
-     herr_t ret;
-     unsigned c_cache, c_limit;
-
-     c_cache = (unsigned) *cache;
-     c_limit = (unsigned) *limit;
-
-     /*
-      * Call H5Pset_hyper_cache function.
-      */
-     c_prp_id = (hid_t)*prp_id;
-     ret = H5Pset_hyper_cache(c_prp_id, c_cache, c_limit);
-     if (ret < 0) return ret_value;
-#endif /* H5_WANT_H5_V1_4_COMPAT */
-     ret_value = 0;
-     return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name:        h5pget_hyper_cache_c
- * Purpose:     Call H5Pget_hyper_cache to get information regarding
- *              the caching of hyperslab blocks
- * Inputs:      prp_id - property list identifier
- *              cache -
- *              limit - Maximum size of the hyperslab block to cache.
- *                      0 (zero) indicates no limit.
- * Returns:     0 on success, -1 on failure
- * Programmer:  Xiangyang Su
- *              Friday, February 25, 2000
- * Modifications:
- *---------------------------------------------------------------------------*/
-int_f
-nh5pget_hyper_cache_c(hid_t_f *prp_id, int_f * cache, int_f * limit)
-{
-     int ret_value = -1;
-#ifdef H5_WANT_H5_V1_4_COMPAT
-     hid_t c_prp_id;
-     herr_t ret;
-     unsigned c_cache, c_limit;
-     /*
-      * Call H5Pget__hyper_cache function.
-      */
-     c_prp_id = (hid_t)*prp_id;
-     ret = H5Pget_hyper_cache(c_prp_id, &c_cache, &c_limit);
-     if (ret < 0) return ret_value;
-     *cache = (int_f)c_cache;
-     *limit = (int_f)c_limit;
-     ret_value = 0;
-#endif /* H5_WANT_H5_V1_4_COMPAT */
-     return ret_value;
-}
-
-/*----------------------------------------------------------------------------
  * Name:        h5pset_btree_ratios_c
  * Purpose:     Call H5Pset_btree_ratios to set B-tree split ratios for B-tree split ratios for a dataset transfer property list. a
  *              dataset transfer property list.
@@ -2247,7 +2234,7 @@
      hid_t c_class;
      char* c_name;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
      c_parent = (hid_t)*parent;
 
@@ -2278,7 +2265,7 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pregisterc_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f *value_len)
+nh5pregisterc_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f UNUSED *value_len)
 {
      int ret_value = -1;
 
@@ -2303,14 +2290,14 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pregister_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value)
+nh5pregister_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void UNUSED *value)
 {
      int_f ret_value = -1;
      hid_t c_class;
      char* c_name;
      size_t c_size;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
      c_size = (size_t)*size;
      c_class = (hid_t)*class;
@@ -2325,6 +2312,34 @@
      if(c_name != NULL) HDfree(c_name);
      return ret_value;
 }
+
+int_f
+nh5pregister_integer_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value)
+{
+     /*
+      * Call h5pregister_c function
+      */
+     return nh5pregister_c(class, name, name_len, size, value);
+}
+
+int_f
+nh5pregister_real_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value)
+{
+     /*
+      * Call h5pregister_c function
+      */
+     return nh5pregister_c(class, name, name_len, size, value);
+}
+
+int_f
+nh5pregister_double_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value)
+{
+     /*
+      * Call h5pregister_c function
+      */
+     return nh5pregister_c(class, name, name_len, size, value);
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5pinsertc_c
  * Purpose:     Call h5pinsert_c to register a temporary property
@@ -2339,7 +2354,7 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f *value_len)
+nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f UNUSED *value_len)
 {
      int_f ret_value = -1;
 
@@ -2364,14 +2379,14 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pinsert_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
+nh5pinsert_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void UNUSED *value)
 {
      int_f ret_value = -1;
      hid_t c_plist;
      char* c_name;
      size_t c_size;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
      c_size = (size_t)*size;
      c_plist = (hid_t)*plist;
@@ -2387,6 +2402,33 @@
      return ret_value;
 }
 
+int_f
+nh5pinsert_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
+{
+     /*
+      * Call h5pinsert_c function
+      */
+     return nh5pinsert_c(plist, name, name_len, size, value);
+}
+
+int_f
+nh5pinsert_real_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
+{
+     /*
+      * Call h5pinsert_c function
+      */
+     return nh5pinsert_c(plist, name, name_len, size, value);
+}
+
+int_f
+nh5pinsert_double_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
+{
+     /*
+      * Call h5pinsert_c function
+      */
+     return nh5pinsert_c(plist, name, name_len, size, value);
+}
+
 /*----------------------------------------------------------------------------
  * Name:        h5pexist_c
  * Purpose:     Call H5Pexist to querie whether a property name exists
@@ -2407,7 +2449,7 @@
      char* c_name;
      htri_t status;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
 
      c_class = (hid_t)*class;
@@ -2470,7 +2512,7 @@
      char* c_name;
      size_t c_size;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
 
      c_plist = (hid_t)*plist;
@@ -2563,7 +2605,7 @@
      hid_t c_dst_id, c_src_id;
      char* c_name;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
 
      c_dst_id = (hid_t)*dst_id;
@@ -2596,7 +2638,7 @@
      hid_t c_plid;
      char* c_name;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
 
      c_plid = (hid_t)*plid;
@@ -2628,7 +2670,7 @@
      hid_t c_class;
      char* c_name;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
 
      c_class = (hid_t)*class;
@@ -2691,7 +2733,7 @@
      c_name = H5Pget_class_name(c_class);
      if( c_name == NULL) goto DONE;
 
-     HD5packFstring(c_name, _fcdtocp(name), (int)*name_len);
+     HD5packFstring(c_name, _fcdtocp(name), (size_t)*name_len);
      ret_value = (int_f)HDstrlen(c_name);
 
 DONE:
@@ -2711,7 +2753,7 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5psetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f *value_len)
+nh5psetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f UNUSED *value_len)
 {
      int_f ret_value = -1;
 
@@ -2735,13 +2777,13 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pset_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+nh5pset_c(hid_t_f *plist, _fcd name, int_f *name_len, void UNUSED *value)
 {
      int_f ret_value = -1;
      hid_t c_plist;
      char* c_name;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
      c_plist = (hid_t)*plist;
 
@@ -2755,6 +2797,33 @@
      if(c_name != NULL) HDfree(c_name);
      return ret_value;
 }
+
+int_f
+nh5pset_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+{
+     /*
+      * Call h5pset_c function
+      */
+     return nh5pset_c(plist, name, name_len, value);
+}
+
+int_f
+nh5pset_real_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+{
+     /*
+      * Call h5pset_c function
+      */
+     return nh5pset_c(plist, name, name_len, value);
+}
+
+int_f
+nh5pset_double_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+{
+     /*
+      * Call h5pset_c function
+      */
+     return nh5pset_c(plist, name, name_len, value);
+}
 /*----------------------------------------------------------------------------
  * Name:        h5pgetc_c
  * Purpose:     Call h5set_c to set property with the character string value
@@ -2768,7 +2837,7 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f *value_len)
+nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f UNUSED *value_len)
 {
      int_f ret_value = -1;
 
@@ -2792,13 +2861,13 @@
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f
-nh5pget_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+nh5pget_c(hid_t_f *plist, _fcd name, int_f *name_len, void UNUSED *value)
 {
      int_f ret_value = -1;
      hid_t c_plist;
      char* c_name;
 
-     c_name = (char *)HD5f2cstring(name, (int)*name_len);
+     c_name = (char *)HD5f2cstring(name, (size_t)*name_len);
      if (c_name == NULL) goto DONE;
      c_plist = (hid_t)*plist;
 
@@ -2812,6 +2881,35 @@
      if(c_name != NULL) HDfree(c_name);
      return ret_value;
 }
+
+int_f
+nh5pget_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+{
+     /*
+      * Call h5pget_c function
+      */
+     return nh5pget_c(plist, name, name_len, value);
+}
+
+int_f
+nh5pget_real_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+{
+     /*
+      * Call h5pget_c function
+      */
+     return nh5pget_c(plist, name, name_len, value);
+}
+
+int_f
+nh5pget_double_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
+{
+     /*
+      * Call h5pget_c function
+      */
+     return nh5pget_c(plist, name, name_len, value);
+}
+
+
 /*----------------------------------------------------------------------------
  * Name:        h5pset_shuffle_c
  * Purpose:     Call H5Pset_shuffle
@@ -2965,6 +3063,7 @@
   char *tmp, *tmp_p, *tmp_pp;
   int i;
   int c_lenmax;
+  long double  tmp_max_addr;
   c_lenmax = (int)*lenmax;
   relax = (hbool_t)*flag;
 /*
@@ -2977,7 +3076,7 @@
  * Take care of names array
  */
 
-  tmp = (char *)HD5f2cstring(memb_name, c_lenmax*(H5FD_MEM_NTYPES));
+  tmp = (char *)HD5f2cstring(memb_name, (size_t)c_lenmax*(H5FD_MEM_NTYPES));
   if (tmp ==NULL) return ret_value;
   tmp_p = tmp;
   for (i=0; i < H5FD_MEM_NTYPES; i++) {
@@ -2993,23 +3092,16 @@
 /*
  * Take care of othe arguments
  */
-
+  tmp_max_addr =  (long double)(HADDR_MAX);
   c_prp_id = (hid_t)*prp_id;
-
-/*
- * The Cray X1 compiler can become confused when trying to optimize
- * this loop.  This ugly #pragma tells it not to try to optimize it.
- */
-#ifdef __crayx1
-#pragma _CRI novector
-#endif
   for (i=0; i < H5FD_MEM_NTYPES; i++) {
        c_memb_map[i] = (H5FD_mem_t)memb_map[i];
        /*printf("map %d \n", c_memb_map[i]); */
        c_memb_fapl[i] = (hid_t)memb_fapl[i];
        /*printf("fapl %d \n", c_memb_fapl[i]); */
        if(memb_addr[i] < 0) c_memb_addr[i] = HADDR_UNDEF;
-       else c_memb_addr[i] = (haddr_t)(((float)memb_addr[i])*(HADDR_MAX));
+      /* else c_memb_addr[i] = (haddr_t)(((float)memb_addr[i])*(HADDR_MAX));*/
+       else c_memb_addr[i] = (haddr_t)(((float)memb_addr[i])*(tmp_max_addr));
        /*printf("address %Ld \n", c_memb_addr[i]); */
   }
 /*
@@ -3109,7 +3201,7 @@
        length = H5_MAX(length, strlen(c_memb_name[i]));
        tmp_p = tmp_p + c_lenmax;
  }
-HD5packFstring(tmp, _fcdtocp(memb_name), (int)(c_lenmax*H5FD_MEM_NTYPES));
+HD5packFstring(tmp, _fcdtocp(memb_name), (size_t)(c_lenmax*H5FD_MEM_NTYPES));
 
 /*
  * Take care of other arguments
@@ -3249,7 +3341,7 @@
 
      *cd_nelmts = (size_t_f)c_cd_nelmts;
      *flags = (int_f)c_flags;
-     HD5packFstring(c_name, _fcdtocp(name), (int)strlen(c_name));
+     HD5packFstring(c_name, _fcdtocp(name), strlen(c_name));
 
      for (i = 0; i < c_cd_nelmts_in; i++)
           cd_values[i] = (int_f)c_cd_values[i];
@@ -3312,12 +3404,12 @@
 
 /*----------------------------------------------------------------------------
  * Name:        h5premove_filter_c
- * Purpose:     Call H5Premove_filter to remove a filter
- * Inputs:      prp_id - dataset creation property list identifier
- *              filter - filter to be removed
+ * Purpose:     Call H5Premove_filter to delete one or more filters
+ * Inputs:      prp_id - property list identifier
+ *              filter - Filter to be deleted
  * Returns:     0 on success, -1 on failure
- * Programmer:  Elena Pourmal
- *              Tuesday, August 24, 2004
+ * Programmer:  Quincey Koziol
+ *              January 27 2004
  * Modifications:
  *---------------------------------------------------------------------------*/
 int_f

Modified: packages/hdf5/trunk/fortran/src/H5Pff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Pff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Pff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !
@@ -94,7 +95,7 @@
 !				  H5P_FILE_ACCESS_F
 !				  H5P_DATASET_CREATE_F
 !				  H5P_DATASET_XFER_F
-!				  H5P_MOUNT_F
+!				  H5P_FILE_MOUNT_F
 ! Outputs:  
 !		prp_id		- property list identifier
 !		hdferr:		- error code		
@@ -127,7 +128,7 @@
                                               !  H5P_FILE_ACCESS_F
                                               !  H5P_DATASET_CREATE_F
                                               !  H5P_DATASET_XFER_F
-                                              !  H5P_MOUNT_F
+                                              !  H5P_FILE_MOUNT_F
             INTEGER(HID_T), INTENT(OUT) :: prp_id ! Property list identifier 
             INTEGER, INTENT(OUT) :: hdferr        ! Error code
 
@@ -284,12 +285,12 @@
 ! Outputs:  
 !		classtype	- property list class
 !				  Possible values are:
-!				  H5P_NO_CLASS
+!				  H5P_ROOT_F
 !				  H5P_FILE_CREATE_F
 !				  H5P_FILE_ACCESS_F
 !				  H5PE_DATASET_CREATE_F
 !				  H5P_DATASET_XFER_F
-!				  H5P_MOUNT_F
+!				  H5P_FILE_MOUNT_F
 !		hdferr:		- error code		
 !				 	Success:  0
 !				 	Failure: -1   
@@ -318,12 +319,12 @@
             INTEGER, INTENT(OUT) :: classtype  ! The type of the property list 
                                               ! to be created. Possible values
                                               ! are: 
-                                              !  H5P_NO_CLASS
+                                              !  H5P_ROOT_F
                                               !  H5P_FILE_CREATE_F
                                               !  H5P_FILE_ACCESS_F
                                               !  H5PE_DATASET_CREATE_F 
                                               !  H5P_DATASET_XFER_F
-                                              !  H5P_MOUNT_F
+                                              !  H5P_FILE_MOUNT_F
             INTEGER, INTENT(OUT) :: hdferr    ! Error code
 
 !            INTEGER, EXTERNAL :: h5pget_class_c
@@ -680,22 +681,22 @@
             INTEGER, INTENT(IN) :: fillvalue   ! Fillvalue
             INTEGER, INTENT(OUT) :: hdferr  ! Error code
 
-!            INTEGER, EXTERNAL :: h5pset_fill_value_c
+!            INTEGER, EXTERNAL :: h5pset_fill_value_integer_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5pset_fill_value_c(prp_id, type_id, fillvalue)
+              INTEGER FUNCTION h5pset_fill_value_integer_c(prp_id, type_id, fillvalue)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FILL_VALUE_C'::h5pset_fill_value_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FILL_VALUE_INTEGER_C'::h5pset_fill_value_integer_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: prp_id
               INTEGER(HID_T), INTENT(IN) :: type_id
               INTEGER, INTENT(IN) :: fillvalue
-              END FUNCTION h5pset_fill_value_c
+              END FUNCTION h5pset_fill_value_integer_c
             END INTERFACE
 
-            hdferr = h5pset_fill_value_c(prp_id, type_id, fillvalue)
+            hdferr = h5pset_fill_value_integer_c(prp_id, type_id, fillvalue)
           END SUBROUTINE h5pset_fill_value_integer
 
 
@@ -715,22 +716,22 @@
             INTEGER, INTENT(IN) :: fillvalue   ! Fillvalue
             INTEGER, INTENT(OUT) :: hdferr  ! Error code
 
-!            INTEGER, EXTERNAL :: h5pget_fill_value_c
+!            INTEGER, EXTERNAL :: h5pget_fill_value_integer_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5pget_fill_value_c(prp_id, type_id, fillvalue)
+              INTEGER FUNCTION h5pget_fill_value_integer_c(prp_id, type_id, fillvalue)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FILL_VALUE_C'::h5pget_fill_value_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FILL_VALUE_INTEGER_C'::h5pget_fill_value_integer_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: prp_id
               INTEGER(HID_T), INTENT(IN) :: type_id
               INTEGER :: fillvalue
-              END FUNCTION h5pget_fill_value_c
+              END FUNCTION h5pget_fill_value_integer_c
             END INTERFACE
 
-            hdferr = h5pget_fill_value_c(prp_id, type_id, fillvalue)
+            hdferr = h5pget_fill_value_integer_c(prp_id, type_id, fillvalue)
           END SUBROUTINE h5pget_fill_value_integer
 
 
@@ -750,22 +751,22 @@
             REAL, INTENT(IN) :: fillvalue   ! Fillvalue
             INTEGER, INTENT(OUT) :: hdferr  ! Error code
 
-!            INTEGER, EXTERNAL :: h5pset_fill_value_c
+!            INTEGER, EXTERNAL :: h5pset_fill_value_real_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5pset_fill_value_c(prp_id, type_id, fillvalue)
+              INTEGER FUNCTION h5pset_fill_value_real_c(prp_id, type_id, fillvalue)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FILL_VALUE_C'::h5pset_fill_value_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FILL_VALUE_REAL_C'::h5pset_fill_value_real_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: prp_id
               INTEGER(HID_T), INTENT(IN) :: type_id
               REAL, INTENT(IN) :: fillvalue
-              END FUNCTION h5pset_fill_value_c
+              END FUNCTION h5pset_fill_value_real_c
             END INTERFACE
 
-            hdferr = h5pset_fill_value_c(prp_id, type_id, fillvalue)
+            hdferr = h5pset_fill_value_real_c(prp_id, type_id, fillvalue)
           END SUBROUTINE h5pset_fill_value_real
 
 
@@ -785,22 +786,22 @@
             REAL, INTENT(IN) :: fillvalue   ! Fillvalue
             INTEGER, INTENT(OUT) :: hdferr  ! Error code
 
-!            INTEGER, EXTERNAL :: h5pget_fill_value_c
+!            INTEGER, EXTERNAL :: h5pget_fill_value_real_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5pget_fill_value_c(prp_id, type_id, fillvalue)
+              INTEGER FUNCTION h5pget_fill_value_real_c(prp_id, type_id, fillvalue)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FILL_VALUE_C'::h5pget_fill_value_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FILL_VALUE_REAL_C'::h5pget_fill_value_real_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: prp_id
               INTEGER(HID_T), INTENT(IN) :: type_id
               REAL :: fillvalue
-              END FUNCTION h5pget_fill_value_c
+              END FUNCTION h5pget_fill_value_real_c
             END INTERFACE
 
-            hdferr = h5pget_fill_value_c(prp_id, type_id, fillvalue)
+            hdferr = h5pget_fill_value_real_c(prp_id, type_id, fillvalue)
           END SUBROUTINE h5pget_fill_value_real
 
 
@@ -820,22 +821,22 @@
             DOUBLE PRECISION, INTENT(IN) :: fillvalue   ! Fillvalue
             INTEGER, INTENT(OUT) :: hdferr  ! Error code
 
-!            INTEGER, EXTERNAL :: h5pset_fill_value_c
+!            INTEGER, EXTERNAL :: h5pset_fill_value_double_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5pset_fill_value_c(prp_id, type_id, fillvalue)
+              INTEGER FUNCTION h5pset_fill_value_double_c(prp_id, type_id, fillvalue)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FILL_VALUE_C'::h5pset_fill_value_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_FILL_VALUE_DOUBLE_C'::h5pset_fill_value_double_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: prp_id
               INTEGER(HID_T), INTENT(IN) :: type_id
               DOUBLE PRECISION, INTENT(IN) :: fillvalue
-              END FUNCTION h5pset_fill_value_c
+              END FUNCTION h5pset_fill_value_double_c
             END INTERFACE
 
-            hdferr = h5pset_fill_value_c(prp_id, type_id, fillvalue)
+            hdferr = h5pset_fill_value_double_c(prp_id, type_id, fillvalue)
           END SUBROUTINE h5pset_fill_value_double
 
 
@@ -855,22 +856,22 @@
             DOUBLE PRECISION, INTENT(IN) :: fillvalue   ! Fillvalue
             INTEGER, INTENT(OUT) :: hdferr  ! Error code
 
-!            INTEGER, EXTERNAL :: h5pget_fill_value_c
+!            INTEGER, EXTERNAL :: h5pget_fill_value_double_c
 !  MS FORTRAN needs explicit interface for C functions called here.
 !
             INTERFACE
-              INTEGER FUNCTION h5pget_fill_value_c(prp_id, type_id, fillvalue)
+              INTEGER FUNCTION h5pget_fill_value_double_c(prp_id, type_id, fillvalue)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FILL_VALUE_C'::h5pget_fill_value_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_FILL_VALUE_DOUBLE_C'::h5pget_fill_value_double_c
               !DEC$ ENDIF
               INTEGER(HID_T), INTENT(IN) :: prp_id
               INTEGER(HID_T), INTENT(IN) :: type_id
               DOUBLE PRECISION :: fillvalue
-              END FUNCTION h5pget_fill_value_c
+              END FUNCTION h5pget_fill_value_double_c
             END INTERFACE
 
-            hdferr = h5pget_fill_value_c(prp_id, type_id, fillvalue)
+            hdferr = h5pget_fill_value_double_c(prp_id, type_id, fillvalue)
           END SUBROUTINE h5pget_fill_value_double
 
           SUBROUTINE h5pset_fill_value_char(prp_id, type_id, fillvalue, &
@@ -2165,6 +2166,9 @@
 !			called C functions (it is needed for Windows
 !			port).  March 14, 2001 
 !
+!                       Bug fix: type of the rdcc_nelmts parameter should be INTEGER
+!                                instead of INTEGER(SIZE_T) October 10, 2003 
+!
 ! Comment:		
 !----------------------------------------------------------------------
 
@@ -2969,128 +2973,6 @@
           END SUBROUTINE h5pget_external_f
 
 !----------------------------------------------------------------------
-! Name:		h5pset_hyper_cache_f 
-!
-! Purpose: 	Indicates whether to cache hyperslab blocks during I/O
-!
-! Inputs:  
-!		prp_id		- dataset transfer property list identifier
-!		cache		- A flag indicating whether caching is to 
-!				  be set to on (1) or off (0). 
-!		limit		- maximum size of the hyperslab block to
-!			          cache; 0 (zero) indicates no limit
-! Outputs:  
-!		hdferr:		- error code		
-!				 	Success:  0
-!				 	Failure: -1   
-! Optional parameters:
-!				NONE
-!
-! Programmer:	Elena Pourmal
-!		August 12, 1999	
-!
-! Modifications: 	Explicit Fortran interfaces were added for 
-!			called C functions (it is needed for Windows
-!			port).  March 14, 2001 
-!
-! Comment:		
-!----------------------------------------------------------------------
-
-          SUBROUTINE h5pset_hyper_cache_f(prp_id, cache, limit, hdferr) 
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5pset_hyper_cache_f
-!DEC$endif
-!
-            IMPLICIT NONE
-            INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
-            INTEGER, INTENT(IN) :: cache !
-            INTEGER, INTENT(IN) :: limit ! Maximum size of the hyperslab block to 
-                                         !cache. 0 (zero) indicates no limit.
-            INTEGER, INTENT(OUT) :: hdferr  ! Error code
-
-!            INTEGER, EXTERNAL :: h5pset_hyper_cache_c
-!  MS FORTRAN needs explicit interface for C functions called here.
-!
-            INTERFACE
-              INTEGER FUNCTION h5pset_hyper_cache_c(prp_id, cache, limit)
-              USE H5GLOBAL
-              !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_HYPER_CACHE_C'::h5pset_hyper_cache_c
-              !DEC$ ENDIF
-              INTEGER(HID_T), INTENT(IN) :: prp_id
-              INTEGER, INTENT(IN) :: cache 
-              INTEGER, INTENT(IN) :: limit 
-              END FUNCTION h5pset_hyper_cache_c
-            END INTERFACE
-
-            hdferr = h5pset_hyper_cache_c(prp_id, cache, limit)
-          END SUBROUTINE h5pset_hyper_cache_f
-
-!----------------------------------------------------------------------
-! Name:		h5pget_hyper_cache_f 
-!
-! Purpose: 	Returns information regarding the caching of hyperslab 
-!		blocks during I/O. 
-!
-! Inputs:  
-!		prp_id		- dataset transfer property list identifier
-! Outputs:  
-!		cache		- a flag indicating whether caching is  
-!				  set to on (1) or off (0). 
-!		limit		- maximum size of the hyperslab block to
-!			          cache; 0 (zero) indicates no limit
-!		hdferr:		- error code		
-!				 	Success:  0
-!				 	Failure: -1   
-! Optional parameters:
-!				NONE
-!
-! Programmer:	Elena Pourmal
-!		August 12, 1999	
-!
-! Modifications: 	Explicit Fortran interfaces were added for 
-!			called C functions (it is needed for Windows
-!			port).  March 14, 2001 
-!
-! Comment:		
-!----------------------------------------------------------------------
-
-          SUBROUTINE h5pget_hyper_cache_f(prp_id, cache, limit, hdferr) 
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5pget_hyper_cache_f
-!DEC$endif
-!
-            IMPLICIT NONE
-            INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
-            INTEGER, INTENT(OUT) :: cache !
-            INTEGER, INTENT(OUT) :: limit ! Maximum size of the hyperslab block to 
-                                         !cache. 0 (zero) indicates no limit.
-            INTEGER, INTENT(OUT) :: hdferr  ! Error code
-
-
-!            INTEGER, EXTERNAL :: h5pget_hyper_cache_c
-!  MS FORTRAN needs explicit interface for C functions called here.
-!
-            INTERFACE
-              INTEGER FUNCTION h5pget_hyper_cache_c(prp_id, cache, limit)
-              USE H5GLOBAL
-              !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_HYPER_CACHE_C'::h5pget_hyper_cache_c
-              !DEC$ ENDIF
-              INTEGER(HID_T), INTENT(IN) :: prp_id
-              INTEGER, INTENT(OUT) :: cache 
-              INTEGER, INTENT(OUT) :: limit 
-              END FUNCTION h5pget_hyper_cache_c
-            END INTERFACE
-
-            hdferr = h5pget_hyper_cache_c(prp_id, cache, limit)
-          END SUBROUTINE h5pget_hyper_cache_f
-
-!----------------------------------------------------------------------
 ! Name:		h5pset_btree_ratios_f 
 !
 ! Purpose: 	Sets B-tree split ratios for a dataset transfer 
@@ -4200,21 +4082,21 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pset_c(prp_id, name, name_len, value)
+              INTEGER FUNCTION h5pset_integer_c(prp_id, name, name_len, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_C'::h5pset_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_INTEGER_C'::h5pset_integer_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: prp_id
               CHARACTER(LEN=*), INTENT(IN) :: name
               INTEGER, INTENT(IN)         :: name_len
               INTEGER, INTENT(IN) :: value
-              END FUNCTION h5pset_c
+              END FUNCTION h5pset_integer_c
             END INTERFACE
 
             name_len = LEN(name)
-        hdferr = h5pset_c(prp_id, name , name_len, value)
+        hdferr = h5pset_integer_c(prp_id, name , name_len, value)
           END SUBROUTINE h5pset_integer
 
 !----------------------------------------------------------------------
@@ -4256,21 +4138,21 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pset_c(prp_id, name, name_len, value)
+              INTEGER FUNCTION h5pset_real_c(prp_id, name, name_len, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_C'::h5pset_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_REAL_C'::h5pset_real_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: prp_id
               CHARACTER(LEN=*), INTENT(IN) :: name
               INTEGER, INTENT(IN)         :: name_len
               REAL, INTENT(IN) :: value
-              END FUNCTION h5pset_c
+              END FUNCTION h5pset_real_c
             END INTERFACE
 
             name_len = LEN(name)
-        hdferr = h5pset_c(prp_id, name , name_len, value)
+        hdferr = h5pset_real_c(prp_id, name , name_len, value)
           END SUBROUTINE h5pset_real
 
 !----------------------------------------------------------------------
@@ -4312,21 +4194,21 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pset_c(prp_id, name, name_len, value)
+              INTEGER FUNCTION h5pset_double_c(prp_id, name, name_len, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_C'::h5pset_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PSET_DOUBLE_C'::h5pset_double_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: prp_id
               CHARACTER(LEN=*), INTENT(IN) :: name
               INTEGER, INTENT(IN)         :: name_len
               DOUBLE PRECISION, INTENT(IN) :: value
-              END FUNCTION h5pset_c
+              END FUNCTION h5pset_double_c
             END INTERFACE
 
             name_len = LEN(name)
-        hdferr = h5pset_c(prp_id, name , name_len, value)
+        hdferr = h5pset_double_c(prp_id, name , name_len, value)
           END SUBROUTINE h5pset_double
 
 !----------------------------------------------------------------------
@@ -4428,21 +4310,21 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pget_c(prp_id, name, name_len, value)
+              INTEGER FUNCTION h5pget_integer_c(prp_id, name, name_len, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_C'::h5pget_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_INTEGER_C'::h5pget_integer_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: prp_id
               CHARACTER(LEN=*), INTENT(IN) :: name
               INTEGER, INTENT(IN)         :: name_len
               INTEGER, INTENT(OUT) :: value
-              END FUNCTION h5pget_c
+              END FUNCTION h5pget_integer_c
             END INTERFACE
 
             name_len = LEN(name)
-        hdferr = h5pget_c(prp_id, name , name_len, value)
+        hdferr = h5pget_integer_c(prp_id, name , name_len, value)
           END SUBROUTINE h5pget_integer
 
 !----------------------------------------------------------------------
@@ -4484,21 +4366,21 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pget_c(prp_id, name, name_len, value)
+              INTEGER FUNCTION h5pget_real_c(prp_id, name, name_len, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_C'::h5pget_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_REAL_C'::h5pget_real_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: prp_id
               CHARACTER(LEN=*), INTENT(IN) :: name
               INTEGER, INTENT(IN)         :: name_len
               REAL, INTENT(OUT) :: value
-              END FUNCTION h5pget_c
+              END FUNCTION h5pget_real_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pget_c(prp_id, name , name_len, value)
+            hdferr = h5pget_real_c(prp_id, name , name_len, value)
           END SUBROUTINE h5pget_real
 
 !----------------------------------------------------------------------
@@ -4540,21 +4422,21 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pget_c(prp_id, name, name_len, value)
+              INTEGER FUNCTION h5pget_double_c(prp_id, name, name_len, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_C'::h5pget_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PGET_DOUBLE_C'::h5pget_double_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: prp_id
               CHARACTER(LEN=*), INTENT(IN) :: name
               INTEGER, INTENT(IN)         :: name_len
               DOUBLE PRECISION, INTENT(OUT) :: value
-              END FUNCTION h5pget_c
+              END FUNCTION h5pget_double_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pget_c(prp_id, name , name_len, value)
+            hdferr = h5pget_double_c(prp_id, name , name_len, value)
           END SUBROUTINE h5pget_double
 
 !----------------------------------------------------------------------
@@ -5164,12 +5046,12 @@
 ! Inputs:  
 !		parent		- Property list identifier of the parent class
 !                                 Possible values include:
-!                                 H5P_NO_CLASS_F
+!                                 H5P_ROOT_F
 !                                 H5P_FILE_CREATE_F
 !                                 H5P_FILE_ACCESS_F
 !                                 H5P_DATASET_CREATE_F
 !                                 H5P_DATASET_XFER_F
-!                                 H5P_MOUNT_F
+!                                 H5P_FILE_MOUNT_F
 !		name 		- name of the class we are creating
 ! Outputs:  
 !               class           - porperty list class identifier
@@ -5265,10 +5147,10 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pregister_c(class, name, name_len, size, value)
+              INTEGER FUNCTION h5pregister_integer_c(class, name, name_len, size, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PREGISTER_C'::h5pregister_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PREGISTER_INTEGER_C'::h5pregister_integer_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: class
@@ -5276,11 +5158,11 @@
               INTEGER, INTENT(IN)         :: name_len
               INTEGER(SIZE_T), INTENT(IN) :: size 
               INTEGER, INTENT(IN) :: value
-              END FUNCTION h5pregister_c
+              END FUNCTION h5pregister_integer_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pregister_c(class, name , name_len, size, value)
+            hdferr = h5pregister_integer_c(class, name , name_len, size, value)
           END SUBROUTINE h5pregister_integer
 
 !----------------------------------------------------------------------
@@ -5326,10 +5208,10 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pregister_c(class, name, name_len, size, value)
+              INTEGER FUNCTION h5pregister_real_c(class, name, name_len, size, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PREGISTER_C'::h5pregister_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PREGISTER_REAL_C'::h5pregister_real_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: class
@@ -5337,11 +5219,11 @@
               INTEGER, INTENT(IN)         :: name_len
               INTEGER(SIZE_T), INTENT(IN) :: size 
               REAL, INTENT(IN) :: value
-              END FUNCTION h5pregister_c
+              END FUNCTION h5pregister_real_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pregister_c(class, name , name_len, size, value)
+            hdferr = h5pregister_real_c(class, name , name_len, size, value)
           END SUBROUTINE h5pregister_real
 
 !----------------------------------------------------------------------
@@ -5387,10 +5269,10 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pregister_c(class, name, name_len, size, value)
+              INTEGER FUNCTION h5pregister_double_c(class, name, name_len, size, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PREGISTER_C'::h5pregister_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PREGISTER_DOUBLE_C'::h5pregister_double_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: class
@@ -5398,11 +5280,11 @@
               INTEGER, INTENT(IN)         :: name_len
               INTEGER(SIZE_T), INTENT(IN) :: size 
               DOUBLE PRECISION, INTENT(IN) :: value
-              END FUNCTION h5pregister_c
+              END FUNCTION h5pregister_double_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pregister_c(class, name , name_len, size, value)
+            hdferr = h5pregister_double_c(class, name , name_len, size, value)
           END SUBROUTINE h5pregister_double
 
 !----------------------------------------------------------------------
@@ -5512,10 +5394,10 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pinsert_c(plist, name, name_len, size, value)
+              INTEGER FUNCTION h5pinsert_integer_c(plist, name, name_len, size, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PINSERT_C'::h5pinsert_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PINSERT_INTEGER_C'::h5pinsert_integer_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: plist
@@ -5523,11 +5405,11 @@
               INTEGER, INTENT(IN)         :: name_len
               INTEGER(SIZE_T), INTENT(IN) :: size 
               INTEGER, INTENT(IN) :: value
-              END FUNCTION h5pinsert_c
+              END FUNCTION h5pinsert_integer_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pinsert_c(plist, name , name_len, size, value)
+            hdferr = h5pinsert_integer_c(plist, name , name_len, size, value)
           END SUBROUTINE h5pinsert_integer
 
 !----------------------------------------------------------------------
@@ -5572,10 +5454,10 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pinsert_c(plist, name, name_len, size, value)
+              INTEGER FUNCTION h5pinsert_real_c(plist, name, name_len, size, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PINSERT_C'::h5pinsert_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PINSERT_REAL_C'::h5pinsert_real_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: plist
@@ -5583,11 +5465,11 @@
               INTEGER, INTENT(IN)         :: name_len
               INTEGER(SIZE_T), INTENT(IN) :: size 
               REAL, INTENT(IN) :: value
-              END FUNCTION h5pinsert_c
+              END FUNCTION h5pinsert_real_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pinsert_c(plist, name , name_len, size, value)
+            hdferr = h5pinsert_real_c(plist, name , name_len, size, value)
           END SUBROUTINE h5pinsert_real
 
 !----------------------------------------------------------------------
@@ -5632,10 +5514,10 @@
             INTEGER :: name_len
 
             INTERFACE
-              INTEGER FUNCTION h5pinsert_c(plist, name, name_len, size, value)
+              INTEGER FUNCTION h5pinsert_double_c(plist, name, name_len, size, value)
               USE H5GLOBAL
               !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-              !MS$ATTRIBUTES C,reference,alias:'_H5PINSERT_C'::h5pinsert_c
+              !MS$ATTRIBUTES C,reference,alias:'_H5PINSERT_DOUBLE_C'::h5pinsert_double_c
               !DEC$ ENDIF
               !DEC$ATTRIBUTES reference :: name
               INTEGER(HID_T), INTENT(IN) :: plist
@@ -5643,11 +5525,11 @@
               INTEGER, INTENT(IN)         :: name_len
               INTEGER(SIZE_T), INTENT(IN) :: size 
               DOUBLE PRECISION, INTENT(IN) :: value
-              END FUNCTION h5pinsert_c
+              END FUNCTION h5pinsert_double_c
             END INTERFACE
 
             name_len = LEN(name)
-            hdferr = h5pinsert_c(plist, name , name_len, size, value)
+            hdferr = h5pinsert_double_c(plist, name , name_len, size, value)
           END SUBROUTINE h5pinsert_double
 
 !----------------------------------------------------------------------
@@ -6454,7 +6336,7 @@
 !----------------------------------------------------------------------
 ! Name:		h5premove_filter_f 
 !
-! Purpose: 	Removes filter from the dataset creation property list. 
+! Purpose: 	Delete one or more filters from the filter pipeline. 
 !
 ! Inputs:  
 !		prp_id		- data creation or transfer property list 
@@ -6467,8 +6349,8 @@
 ! Optional parameters:
 !				NONE
 !
-! Programmer:	Elena Pourmal
-!	        August 23, 2004	
+! Programmer:	Quincey Koziol
+!		January 27 2004
 !
 ! Modifications: 	
 !

Modified: packages/hdf5/trunk/fortran/src/H5Rf.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Rf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Rf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5R Fortran APIs */
@@ -159,7 +160,7 @@
      hid_t c_obj_id;
      hobj_ref_t ref_c;
 
-     ref_c=*ref;
+     ref_c=(hobj_ref_t)*ref;
 
      /*
       * Call H5Rdereference function.

Modified: packages/hdf5/trunk/fortran/src/H5Rff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Rff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Rff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5Sf.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Sf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Sf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "H5f90.h"

Modified: packages/hdf5/trunk/fortran/src/H5Sff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Sff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Sff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5Tf.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Tf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Tf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5T Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5Tff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Tff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Tff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5Zf.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Zf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Zf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5Z Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5Zff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5Zff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5Zff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/H5_f.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5_f.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5_f.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* This files contains C stubs for H5 Fortran APIs */

Modified: packages/hdf5/trunk/fortran/src/H5_ff.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5_ff.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5_ff.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
    MODULE H5LIB

Modified: packages/hdf5/trunk/fortran/src/H5f90.h
===================================================================
--- packages/hdf5/trunk/fortran/src/H5f90.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5f90.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 

Modified: packages/hdf5/trunk/fortran/src/H5f90global.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5f90global.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5f90global.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     MODULE H5GLOBAL

Modified: packages/hdf5/trunk/fortran/src/H5f90i.h
===================================================================
--- packages/hdf5/trunk/fortran/src/H5f90i.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5f90i.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
@@ -62,7 +63,9 @@
 typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
-#define FNAME(x) x
+#if defined H5_G95
+#define FNAME_POST2_UNDERSCORE
+#endif
 #if defined H5_ABSOFT
 #define DF_CAPFNAMES
 #endif /*H5_ABSOFT*/
@@ -210,7 +213,7 @@
 #if defined _WINDOWS || defined WIN32
 
 typedef char              *_fcd;
-typedef int               haddr_t_f;
+typedef long double       haddr_t_f;
 typedef int               hsize_t_f;
 typedef int               hssize_t_f;
 typedef int               size_t_f;
@@ -240,7 +243,7 @@
 #if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE)
 #   define FNAME(x)     x##_
 #endif
-#if !defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE)
+#if !defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE) && !defined(FNAME_POST2_UNDERSCORE)
 #   define FNAME(x)     x
 #endif
 #if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST2_UNDERSCORE)

Modified: packages/hdf5/trunk/fortran/src/H5f90kit.c
===================================================================
--- packages/hdf5/trunk/fortran/src/H5f90kit.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5f90kit.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 

Modified: packages/hdf5/trunk/fortran/src/H5f90proto.h
===================================================================
--- packages/hdf5/trunk/fortran/src/H5f90proto.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5f90proto.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
@@ -175,14 +176,78 @@
 #   define nh5dclose_c                 FNAME(H5DCLOSE_C)
 #   define nh5dopen_c                  FNAME(H5DOPEN_C)
 #   define nh5dwrite_c                 FNAME(H5DWRITE_C)
+#   define nh5dwrite_integer_s_c              FNAME(H5DWRITE_INTEGER_S_C)
+#   define nh5dwrite_integer_1_c              FNAME(H5DWRITE_INTEGER_1_C)
+#   define nh5dwrite_integer_2_c              FNAME(H5DWRITE_INTEGER_2_C)
+#   define nh5dwrite_integer_3_c              FNAME(H5DWRITE_INTEGER_3_C)
+#   define nh5dwrite_integer_4_c              FNAME(H5DWRITE_INTEGER_4_C)
+#   define nh5dwrite_integer_5_c              FNAME(H5DWRITE_INTEGER_5_C)
+#   define nh5dwrite_integer_6_c              FNAME(H5DWRITE_INTEGER_6_C)
+#   define nh5dwrite_integer_7_c              FNAME(H5DWRITE_INTEGER_7_C)
+#   define nh5dwrite_real_s_c                 FNAME(H5DWRITE_REAL_S_C)
+#   define nh5dwrite_real_1_c                 FNAME(H5DWRITE_REAL_1_C)
+#   define nh5dwrite_real_2_c                 FNAME(H5DWRITE_REAL_2_C)
+#   define nh5dwrite_real_3_c                 FNAME(H5DWRITE_REAL_3_C)
+#   define nh5dwrite_real_4_c                 FNAME(H5DWRITE_REAL_4_C)
+#   define nh5dwrite_real_5_c                 FNAME(H5DWRITE_REAL_5_C)
+#   define nh5dwrite_real_6_c                 FNAME(H5DWRITE_REAL_6_C)
+#   define nh5dwrite_real_7_c                 FNAME(H5DWRITE_REAL_7_C)
+#   define nh5dwrite_double_s_c               FNAME(H5DWRITE_DOUBLE_S_C)
+#   define nh5dwrite_double_1_c               FNAME(H5DWRITE_DOUBLE_1_C)
+#   define nh5dwrite_double_2_c               FNAME(H5DWRITE_DOUBLE_2_C)
+#   define nh5dwrite_double_3_c               FNAME(H5DWRITE_DOUBLE_3_C)
+#   define nh5dwrite_double_4_c               FNAME(H5DWRITE_DOUBLE_4_C)
+#   define nh5dwrite_double_5_c               FNAME(H5DWRITE_DOUBLE_5_C)
+#   define nh5dwrite_double_6_c               FNAME(H5DWRITE_DOUBLE_6_C)
+#   define nh5dwrite_double_7_c               FNAME(H5DWRITE_DOUBLE_7_C)
 #   define nh5dwrite_ref_obj_c         FNAME(H5DWRITE_REF_OBJ_C)
 #   define nh5dwrite_ref_reg_c         FNAME(H5DWRITE_REF_REG_C)
 #   define nh5dwritec_c                FNAME(H5DWRITEC_C)
+#   define nh5dwritec_s_c                     FNAME(H5DWRITEC_S_C)
+#   define nh5dwritec_1_c                     FNAME(H5DWRITEC_1_C)
+#   define nh5dwritec_2_c                     FNAME(H5DWRITEC_2_C)
+#   define nh5dwritec_3_c                     FNAME(H5DWRITEC_3_C)
+#   define nh5dwritec_4_c                     FNAME(H5DWRITEC_4_C)
+#   define nh5dwritec_5_c                     FNAME(H5DWRITEC_5_C)
+#   define nh5dwritec_6_c                     FNAME(H5DWRITEC_6_C)
+#   define nh5dwritec_7_c                     FNAME(H5DWRITEC_7_C)
 #   define nh5dread_c                  FNAME(H5DREAD_C)
+#   define nh5dread_integer_s_c              FNAME(H5DREAD_INTEGER_S_C)
+#   define nh5dread_integer_1_c              FNAME(H5DREAD_INTEGER_1_C)
+#   define nh5dread_integer_2_c              FNAME(H5DREAD_INTEGER_2_C)
+#   define nh5dread_integer_3_c              FNAME(H5DREAD_INTEGER_3_C)
+#   define nh5dread_integer_4_c              FNAME(H5DREAD_INTEGER_4_C)
+#   define nh5dread_integer_5_c              FNAME(H5DREAD_INTEGER_5_C)
+#   define nh5dread_integer_6_c              FNAME(H5DREAD_INTEGER_6_C)
+#   define nh5dread_integer_7_c              FNAME(H5DREAD_INTEGER_7_C)
+#   define nh5dread_real_s_c                 FNAME(H5DREAD_REAL_S_C)
+#   define nh5dread_real_1_c                 FNAME(H5DREAD_REAL_1_C)
+#   define nh5dread_real_2_c                 FNAME(H5DREAD_REAL_2_C)
+#   define nh5dread_real_3_c                 FNAME(H5DREAD_REAL_3_C)
+#   define nh5dread_real_4_c                 FNAME(H5DREAD_REAL_4_C)
+#   define nh5dread_real_5_c                 FNAME(H5DREAD_REAL_5_C)
+#   define nh5dread_real_6_c                 FNAME(H5DREAD_REAL_6_C)
+#   define nh5dread_real_7_c                 FNAME(H5DREAD_REAL_7_C)
+#   define nh5dread_double_s_c               FNAME(H5DREAD_DOUBLE_S_C)
+#   define nh5dread_double_1_c               FNAME(H5DREAD_DOUBLE_1_C)
+#   define nh5dread_double_2_c               FNAME(H5DREAD_DOUBLE_2_C)
+#   define nh5dread_double_3_c               FNAME(H5DREAD_DOUBLE_3_C)
+#   define nh5dread_double_4_c               FNAME(H5DREAD_DOUBLE_4_C)
+#   define nh5dread_double_5_c               FNAME(H5DREAD_DOUBLE_5_C)
+#   define nh5dread_double_6_c               FNAME(H5DREAD_DOUBLE_6_C)
+#   define nh5dread_double_7_c               FNAME(H5DREAD_DOUBLE_7_C)
 #   define nh5dread_c_b                FNAME(H5DREAD_C_B)
 #   define nh5dread_ref_reg_c          FNAME(H5DREAD_REF_REG_C)
 #   define nh5dread_ref_obj_c          FNAME(H5DREAD_REF_OBJ_C)
 #   define nh5dreadc_c                 FNAME(H5DREADC_C)
+#   define nh5dreadc_s_c                     FNAME(H5DREADC_S_C)
+#   define nh5dreadc_1_c                     FNAME(H5DREADC_1_C)
+#   define nh5dreadc_2_c                     FNAME(H5DREADC_2_C)
+#   define nh5dreadc_3_c                     FNAME(H5DREADC_3_C)
+#   define nh5dreadc_4_c                     FNAME(H5DREADC_4_C)
+#   define nh5dreadc_5_c                     FNAME(H5DREADC_5_C)
+#   define nh5dreadc_6_c                     FNAME(H5DREADC_6_C)
+#   define nh5dreadc_7_c                     FNAME(H5DREADC_7_C)
 #   define nh5dreadc_c_b               FNAME(H5DREADC_C_B)
 #   define nh5dget_space_c             FNAME(H5DGET_SPACE_C)
 #   define nh5dget_type_c              FNAME(H5DGET_TYPE_C)
@@ -198,19 +263,86 @@
 #   define nh5dread_vl_string_c        FNAME(H5DREAD_VL_STRING_C)
 #   define nh5dfillc_c                 FNAME(H5DFILLC_C)
 #   define nh5dfill_c                  FNAME(H5DFILL_C)
+#   define nh5dfill_integer_c               FNAME(H5DFILL_INTEGER_C)
+#   define nh5dfill_real_c                  FNAME(H5DFILL_REAL_C)
+#   define nh5dfill_double_c                FNAME(H5DFILL_DOUBLE_C)
 #   define nh5dget_space_status_c      FNAME(H5DGET_SPACE_STATUS_C)
 #else                                              /* !DF_CAPFNAMES */
 #   define nh5dcreate_c                FNAME(h5dcreate_c)
 #   define nh5dclose_c                 FNAME(h5dclose_c)
 #   define nh5dopen_c                  FNAME(h5dopen_c)
 #   define nh5dwrite_c                 FNAME(h5dwrite_c)
+#   define nh5dwrite_integer_s_c              FNAME(h5dwrite_integer_s_c)
+#   define nh5dwrite_integer_1_c              FNAME(h5dwrite_integer_1_c)
+#   define nh5dwrite_integer_2_c              FNAME(h5dwrite_integer_2_c)
+#   define nh5dwrite_integer_3_c              FNAME(h5dwrite_integer_3_c)
+#   define nh5dwrite_integer_4_c              FNAME(h5dwrite_integer_4_c)
+#   define nh5dwrite_integer_5_c              FNAME(h5dwrite_integer_5_c)
+#   define nh5dwrite_integer_6_c              FNAME(h5dwrite_integer_6_c)
+#   define nh5dwrite_integer_7_c              FNAME(h5dwrite_integer_7_c)
+#   define nh5dwrite_real_s_c                 FNAME(h5dwrite_real_s_c)
+#   define nh5dwrite_real_1_c                 FNAME(h5dwrite_real_1_c)
+#   define nh5dwrite_real_2_c                 FNAME(h5dwrite_real_2_c)
+#   define nh5dwrite_real_3_c                 FNAME(h5dwrite_real_3_c)
+#   define nh5dwrite_real_4_c                 FNAME(h5dwrite_real_4_c)
+#   define nh5dwrite_real_5_c                 FNAME(h5dwrite_real_5_c)
+#   define nh5dwrite_real_6_c                 FNAME(h5dwrite_real_6_c)
+#   define nh5dwrite_real_7_c                 FNAME(h5dwrite_real_7_c)
+#   define nh5dwrite_double_s_c               FNAME(h5dwrite_double_s_c)
+#   define nh5dwrite_double_1_c               FNAME(h5dwrite_double_1_c)
+#   define nh5dwrite_double_2_c               FNAME(h5dwrite_double_2_c)
+#   define nh5dwrite_double_3_c               FNAME(h5dwrite_double_3_c)
+#   define nh5dwrite_double_4_c               FNAME(h5dwrite_double_4_c)
+#   define nh5dwrite_double_5_c               FNAME(h5dwrite_double_5_c)
+#   define nh5dwrite_double_6_c               FNAME(h5dwrite_double_6_c)
+#   define nh5dwrite_double_7_c               FNAME(h5dwrite_double_7_c)
 #   define nh5dwritec_c                FNAME(h5dwritec_c)
+#   define nh5dwritec_s_c                     FNAME(h5dwritec_s_c)
+#   define nh5dwritec_1_c                     FNAME(h5dwritec_1_c)
+#   define nh5dwritec_2_c                     FNAME(h5dwritec_2_c)
+#   define nh5dwritec_3_c                     FNAME(h5dwritec_3_c)
+#   define nh5dwritec_4_c                     FNAME(h5dwritec_4_c)
+#   define nh5dwritec_5_c                     FNAME(h5dwritec_5_c)
+#   define nh5dwritec_6_c                     FNAME(h5dwritec_6_c)
+#   define nh5dwritec_7_c                     FNAME(h5dwritec_7_c)
 #   define nh5dwrite_ref_obj_c         FNAME(h5dwrite_ref_obj_c)
 #   define nh5dwrite_ref_reg_c         FNAME(h5dwrite_ref_reg_c)
 #   define nh5dread_c                  FNAME(h5dread_c)
+#   define nh5dread_integer_s_c              FNAME(h5dread_integer_s_c)
+#   define nh5dread_integer_1_c              FNAME(h5dread_integer_1_c)
+#   define nh5dread_integer_2_c              FNAME(h5dread_integer_2_c)
+#   define nh5dread_integer_3_c              FNAME(h5dread_integer_3_c)
+#   define nh5dread_integer_4_c              FNAME(h5dread_integer_4_c)
+#   define nh5dread_integer_5_c              FNAME(h5dread_integer_5_c)
+#   define nh5dread_integer_6_c              FNAME(h5dread_integer_6_c)
+#   define nh5dread_integer_7_c              FNAME(h5dread_integer_7_c)
+#   define nh5dread_real_s_c                 FNAME(h5dread_real_s_c)
+#   define nh5dread_real_1_c                 FNAME(h5dread_real_1_c)
+#   define nh5dread_real_2_c                 FNAME(h5dread_real_2_c)
+#   define nh5dread_real_3_c                 FNAME(h5dread_real_3_c)
+#   define nh5dread_real_4_c                 FNAME(h5dread_real_4_c)
+#   define nh5dread_real_5_c                 FNAME(h5dread_real_5_c)
+#   define nh5dread_real_6_c                 FNAME(h5dread_real_6_c)
+#   define nh5dread_real_7_c                 FNAME(h5dread_real_7_c)
+#   define nh5dread_double_s_c               FNAME(h5dread_double_s_c)
+#   define nh5dread_double_1_c               FNAME(h5dread_double_1_c)
+#   define nh5dread_double_2_c               FNAME(h5dread_double_2_c)
+#   define nh5dread_double_3_c               FNAME(h5dread_double_3_c)
+#   define nh5dread_double_4_c               FNAME(h5dread_double_4_c)
+#   define nh5dread_double_5_c               FNAME(h5dread_double_5_c)
+#   define nh5dread_double_6_c               FNAME(h5dread_double_6_c)
+#   define nh5dread_double_7_c               FNAME(h5dread_double_7_c)
 #   define nh5dread_ref_reg_c          FNAME(h5dread_ref_reg_c)
 #   define nh5dread_ref_obj_c          FNAME(h5dread_ref_obj_c)
 #   define nh5dreadc_c                 FNAME(h5dreadc_c)
+#   define nh5dreadc_s_c                     FNAME(h5dreadc_s_c)
+#   define nh5dreadc_1_c                     FNAME(h5dreadc_1_c)
+#   define nh5dreadc_2_c                     FNAME(h5dreadc_2_c)
+#   define nh5dreadc_3_c                     FNAME(h5dreadc_3_c)
+#   define nh5dreadc_4_c                     FNAME(h5dreadc_4_c)
+#   define nh5dreadc_5_c                     FNAME(h5dreadc_5_c)
+#   define nh5dreadc_6_c                     FNAME(h5dreadc_6_c)
+#   define nh5dreadc_7_c                     FNAME(h5dreadc_7_c)
 #   define nh5dget_space_c             FNAME(h5dget_space_c)
 #   define nh5dget_type_c              FNAME(h5dget_type_c)
 #   define nh5dget_create_plist_c      FNAME(h5dget_create_plist_c)
@@ -225,6 +357,9 @@
 #   define nh5dread_vl_string_c        FNAME(h5dread_vl_string_c)
 #   define nh5dfillc_c                 FNAME(h5dfillc_c)
 #   define nh5dfill_c                  FNAME(h5dfill_c)
+#   define nh5dfill_integer_c               FNAME(h5dfill_integer_c)
+#   define nh5dfill_real_c                  FNAME(h5dfill_real_c)
+#   define nh5dfill_double_c                FNAME(h5dfill_double_c)
 #   define nh5dget_space_status_c      FNAME(h5dget_space_status_c)
 #endif                                             /* DF_CAPFNAMES */
 #endif
@@ -233,19 +368,95 @@
 H5_FCDLL int_f nh5dopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dset_id);
 H5_FCDLL int_f nh5dclose_c ( hid_t_f *dset_id );
 H5_FCDLL int_f nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dwrite_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dwrite_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dwrite_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwrite_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
 H5_FCDLL int_f nh5dwrite_vl_integer_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len);
 H5_FCDLL int_f nh5dwrite_vl_real_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len);
 H5_FCDLL int_f nh5dwrite_vl_string_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len);
 H5_FCDLL int_f nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f *buf, hsize_t_f *dims);
 H5_FCDLL int_f nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims);
 H5_FCDLL int_f nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dwritec_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dwritec_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+
 H5_FCDLL int_f nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dread_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dread_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dread_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dread_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
+
 H5_FCDLL int_f nh5dread_vl_integer_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len);
 H5_FCDLL int_f nh5dread_vl_real_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len);
 H5_FCDLL int_f nh5dread_vl_string_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len);
 H5_FCDLL int_f nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f * buf, hsize_t_f *dims);
 H5_FCDLL int_f nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims);
 H5_FCDLL int_f nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+
+H5_FCDLL int_f nh5dreadc_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+H5_FCDLL int_f nh5dreadc_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
+
 H5_FCDLL int_f nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id);
 H5_FCDLL int_f nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id);
 H5_FCDLL int_f nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id);
@@ -254,6 +465,9 @@
 H5_FCDLL int_f nh5dget_storage_size_c(hid_t_f *dataset_id, hsize_t_f *size);
 H5_FCDLL int_f nh5dfillc_c(_fcd fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, _fcd buf, hid_t_f *mem_type_id);
 H5_FCDLL int_f nh5dfill_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
+H5_FCDLL int_f nh5dfill_integer_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
+H5_FCDLL int_f nh5dfill_real_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
+H5_FCDLL int_f nh5dfill_double_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
 H5_FCDLL int_f nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag);
 
 /*
@@ -316,9 +530,73 @@
 #   define nh5aclose_c       FNAME(H5ACLOSE_C)
 #   define nh5aopen_name_c   FNAME(H5AOPEN_NAME_C)
 #   define nh5awrite_c       FNAME(H5AWRITE_C)
+#   define nh5awrite_integer_s_c       FNAME(H5AWRITE_INTEGER_S_C)
+#   define nh5awrite_integer_1_c       FNAME(H5AWRITE_INTEGER_1_C)
+#   define nh5awrite_integer_2_c       FNAME(H5AWRITE_INTEGER_2_C)
+#   define nh5awrite_integer_3_c       FNAME(H5AWRITE_INTEGER_3_C)
+#   define nh5awrite_integer_4_c       FNAME(H5AWRITE_INTEGER_4_C)
+#   define nh5awrite_integer_5_c       FNAME(H5AWRITE_INTEGER_5_C)
+#   define nh5awrite_integer_6_c       FNAME(H5AWRITE_INTEGER_6_C)
+#   define nh5awrite_integer_7_c       FNAME(H5AWRITE_INTEGER_7_C)
+#   define nh5awrite_real_s_c          FNAME(H5AWRITE_REAL_S_C)
+#   define nh5awrite_real_1_c          FNAME(H5AWRITE_REAL_1_C)
+#   define nh5awrite_real_2_c          FNAME(H5AWRITE_REAL_2_C)
+#   define nh5awrite_real_3_c          FNAME(H5AWRITE_REAL_3_C)
+#   define nh5awrite_real_4_c          FNAME(H5AWRITE_REAL_4_C)
+#   define nh5awrite_real_5_c          FNAME(H5AWRITE_REAL_5_C)
+#   define nh5awrite_real_6_c          FNAME(H5AWRITE_REAL_6_C)
+#   define nh5awrite_real_7_c          FNAME(H5AWRITE_REAL_7_C)
+#   define nh5awrite_double_s_c        FNAME(H5AWRITE_DOUBLE_S_C)
+#   define nh5awrite_double_1_c        FNAME(H5AWRITE_DOUBLE_1_C)
+#   define nh5awrite_double_2_c        FNAME(H5AWRITE_DOUBLE_2_C)
+#   define nh5awrite_double_3_c        FNAME(H5AWRITE_DOUBLE_3_C)
+#   define nh5awrite_double_4_c        FNAME(H5AWRITE_DOUBLE_4_C)
+#   define nh5awrite_double_5_c        FNAME(H5AWRITE_DOUBLE_5_C)
+#   define nh5awrite_double_6_c        FNAME(H5AWRITE_DOUBLE_6_C)
+#   define nh5awrite_double_7_c        FNAME(H5AWRITE_DOUBLE_7_C)
 #   define nh5awritec_c      FNAME(H5AWRITEC_C)
+#   define nh5awritec_s_c              FNAME(H5AWRITEC_S_C)
+#   define nh5awritec_1_c              FNAME(H5AWRITEC_1_C)
+#   define nh5awritec_2_c              FNAME(H5AWRITEC_2_C)
+#   define nh5awritec_3_c              FNAME(H5AWRITEC_3_C)
+#   define nh5awritec_4_c              FNAME(H5AWRITEC_4_C)
+#   define nh5awritec_5_c              FNAME(H5AWRITEC_5_C)
+#   define nh5awritec_6_c              FNAME(H5AWRITEC_6_C)
+#   define nh5awritec_7_c              FNAME(H5AWRITEC_7_C)
 #   define nh5aread_c        FNAME(H5AREAD_C)
+#   define nh5aread_integer_s_c       FNAME(H5AREAD_INTEGER_S_C)
+#   define nh5aread_integer_1_c       FNAME(H5AREAD_INTEGER_1_C)
+#   define nh5aread_integer_2_c       FNAME(H5AREAD_INTEGER_2_C)
+#   define nh5aread_integer_3_c       FNAME(H5AREAD_INTEGER_3_C)
+#   define nh5aread_integer_4_c       FNAME(H5AREAD_INTEGER_4_C)
+#   define nh5aread_integer_5_c       FNAME(H5AREAD_INTEGER_5_C)
+#   define nh5aread_integer_6_c       FNAME(H5AREAD_INTEGER_6_C)
+#   define nh5aread_integer_7_c       FNAME(H5AREAD_INTEGER_7_C)
+#   define nh5aread_real_s_c          FNAME(H5AREAD_REAL_S_C)
+#   define nh5aread_real_1_c          FNAME(H5AREAD_REAL_1_C)
+#   define nh5aread_real_2_c          FNAME(H5AREAD_REAL_2_C)
+#   define nh5aread_real_3_c          FNAME(H5AREAD_REAL_3_C)
+#   define nh5aread_real_4_c          FNAME(H5AREAD_REAL_4_C)
+#   define nh5aread_real_5_c          FNAME(H5AREAD_REAL_5_C)
+#   define nh5aread_real_6_c          FNAME(H5AREAD_REAL_6_C)
+#   define nh5aread_real_7_c          FNAME(H5AREAD_REAL_7_C)
+#   define nh5aread_double_s_c        FNAME(H5AREAD_DOUBLE_S_C)
+#   define nh5aread_double_1_c        FNAME(H5AREAD_DOUBLE_1_C)
+#   define nh5aread_double_2_c        FNAME(H5AREAD_DOUBLE_2_C)
+#   define nh5aread_double_3_c        FNAME(H5AREAD_DOUBLE_3_C)
+#   define nh5aread_double_4_c        FNAME(H5AREAD_DOUBLE_4_C)
+#   define nh5aread_double_5_c        FNAME(H5AREAD_DOUBLE_5_C)
+#   define nh5aread_double_6_c        FNAME(H5AREAD_DOUBLE_6_C)
+#   define nh5aread_double_7_c        FNAME(H5AREAD_DOUBLE_7_C)
 #   define nh5areadc_c       FNAME(H5AREADC_C)
+#   define nh5areadc_s_c              FNAME(H5AREADC_S_C)
+#   define nh5areadc_1_c              FNAME(H5AREADC_1_C)
+#   define nh5areadc_2_c              FNAME(H5AREADC_2_C)
+#   define nh5areadc_3_c              FNAME(H5AREADC_3_C)
+#   define nh5areadc_4_c              FNAME(H5AREADC_4_C)
+#   define nh5areadc_5_c              FNAME(H5AREADC_5_C)
+#   define nh5areadc_6_c              FNAME(H5AREADC_6_C)
+#   define nh5areadc_7_c              FNAME(H5AREADC_7_C)
 #   define nh5aget_name_c    FNAME(H5AGET_NAME_C)
 #   define nh5aopen_idx_c    FNAME(H5AOPEN_IDX_C)
 #   define nh5aget_space_c   FNAME(H5AGET_SPACE_C)
@@ -330,9 +608,73 @@
 #   define nh5aclose_c       FNAME(h5aclose_c)
 #   define nh5aopen_name_c   FNAME(h5aopen_name_c)
 #   define nh5awrite_c       FNAME(h5awrite_c)
+#   define nh5awrite_integer_s_c       FNAME(h5awrite_integer_s_c)
+#   define nh5awrite_integer_1_c       FNAME(h5awrite_integer_1_c)
+#   define nh5awrite_integer_2_c       FNAME(h5awrite_integer_2_c)
+#   define nh5awrite_integer_3_c       FNAME(h5awrite_integer_3_c)
+#   define nh5awrite_integer_4_c       FNAME(h5awrite_integer_4_c)
+#   define nh5awrite_integer_5_c       FNAME(h5awrite_integer_5_c)
+#   define nh5awrite_integer_6_c       FNAME(h5awrite_integer_6_c)
+#   define nh5awrite_integer_7_c       FNAME(h5awrite_integer_7_c)
+#   define nh5awrite_real_s_c          FNAME(h5awrite_real_s_c)
+#   define nh5awrite_real_1_c          FNAME(h5awrite_real_1_c)
+#   define nh5awrite_real_2_c          FNAME(h5awrite_real_2_c)
+#   define nh5awrite_real_3_c          FNAME(h5awrite_real_3_c)
+#   define nh5awrite_real_4_c          FNAME(h5awrite_real_4_c)
+#   define nh5awrite_real_5_c          FNAME(h5awrite_real_5_c)
+#   define nh5awrite_real_6_c          FNAME(h5awrite_real_6_c)
+#   define nh5awrite_real_7_c          FNAME(h5awrite_real_7_c)
+#   define nh5awrite_double_s_c        FNAME(h5awrite_double_s_c)
+#   define nh5awrite_double_1_c        FNAME(h5awrite_double_1_c)
+#   define nh5awrite_double_2_c        FNAME(h5awrite_double_2_c)
+#   define nh5awrite_double_3_c        FNAME(h5awrite_double_3_c)
+#   define nh5awrite_double_4_c        FNAME(h5awrite_double_4_c)
+#   define nh5awrite_double_5_c        FNAME(h5awrite_double_5_c)
+#   define nh5awrite_double_6_c        FNAME(h5awrite_double_6_c)
+#   define nh5awrite_double_7_c        FNAME(h5awrite_double_7_c)
 #   define nh5awritec_c      FNAME(h5awritec_c)
+#   define nh5awritec_s_c              FNAME(h5awritec_s_c)
+#   define nh5awritec_1_c              FNAME(h5awritec_1_c)
+#   define nh5awritec_2_c              FNAME(h5awritec_2_c)
+#   define nh5awritec_3_c              FNAME(h5awritec_3_c)
+#   define nh5awritec_4_c              FNAME(h5awritec_4_c)
+#   define nh5awritec_5_c              FNAME(h5awritec_5_c)
+#   define nh5awritec_6_c              FNAME(h5awritec_6_c)
+#   define nh5awritec_7_c              FNAME(h5awritec_7_c)
+#   define nh5areadc_c       FNAME(h5areadc_c)
+#   define nh5areadc_s_c               FNAME(h5areadc_s_c)
+#   define nh5areadc_1_c               FNAME(h5areadc_1_c)
+#   define nh5areadc_2_c               FNAME(h5areadc_2_c)
+#   define nh5areadc_3_c               FNAME(h5areadc_3_c)
+#   define nh5areadc_4_c               FNAME(h5areadc_4_c)
+#   define nh5areadc_5_c               FNAME(h5areadc_5_c)
+#   define nh5areadc_6_c               FNAME(h5areadc_6_c)
+#   define nh5areadc_7_c               FNAME(h5areadc_7_c)
 #   define nh5aread_c        FNAME(h5aread_c)
-#   define nh5areadc_c       FNAME(h5areadc_c)
+#   define nh5aread_integer_s_c        FNAME(h5aread_integer_s_c)
+#   define nh5aread_integer_1_c        FNAME(h5aread_integer_1_c)
+#   define nh5aread_integer_2_c        FNAME(h5aread_integer_2_c)
+#   define nh5aread_integer_3_c        FNAME(h5aread_integer_3_c)
+#   define nh5aread_integer_4_c        FNAME(h5aread_integer_4_c)
+#   define nh5aread_integer_5_c        FNAME(h5aread_integer_5_c)
+#   define nh5aread_integer_6_c        FNAME(h5aread_integer_6_c)
+#   define nh5aread_integer_7_c        FNAME(h5aread_integer_7_c)
+#   define nh5aread_real_s_c           FNAME(h5aread_real_s_c)
+#   define nh5aread_real_1_c           FNAME(h5aread_real_1_c)
+#   define nh5aread_real_2_c           FNAME(h5aread_real_2_c)
+#   define nh5aread_real_3_c           FNAME(h5aread_real_3_c)
+#   define nh5aread_real_4_c           FNAME(h5aread_real_4_c)
+#   define nh5aread_real_5_c           FNAME(h5aread_real_5_c)
+#   define nh5aread_real_6_c           FNAME(h5aread_real_6_c)
+#   define nh5aread_real_7_c           FNAME(h5aread_real_7_c)
+#   define nh5aread_double_s_c         FNAME(h5aread_double_s_c)
+#   define nh5aread_double_1_c         FNAME(h5aread_double_1_c)
+#   define nh5aread_double_2_c         FNAME(h5aread_double_2_c)
+#   define nh5aread_double_3_c         FNAME(h5aread_double_3_c)
+#   define nh5aread_double_4_c         FNAME(h5aread_double_4_c)
+#   define nh5aread_double_5_c         FNAME(h5aread_double_5_c)
+#   define nh5aread_double_6_c         FNAME(h5aread_double_6_c)
+#   define nh5aread_double_7_c         FNAME(h5aread_double_7_c)
 #   define nh5aget_name_c    FNAME(h5aget_name_c)
 #   define nh5aopen_idx_c    FNAME(h5aopen_idx_c)
 #   define nh5aget_space_c   FNAME(h5aget_space_c)
@@ -346,8 +688,74 @@
 H5_FCDLL int_f nh5aopen_name_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_id);
 H5_FCDLL int_f nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
 H5_FCDLL int_f nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awritec_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awritec_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5awrite_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
 H5_FCDLL int_f nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
 H5_FCDLL int_f nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5areadc_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5areadc_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
+H5_FCDLL int_f nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
+H5_FCDLL int_f nh5aread_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
 H5_FCDLL int_f nh5aclose_c ( hid_t_f *attr_id );
 H5_FCDLL int_f nh5adelete_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen);
 H5_FCDLL int_f nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id);
@@ -552,9 +960,15 @@
 #   define nh5pset_chunk_c    FNAME(H5PSET_CHUNK_C)
 #   define nh5pget_chunk_c    FNAME(H5PGET_CHUNK_C)
 #   define nh5pset_fill_valuec_c FNAME(H5PSET_FILL_VALUEC_C)
-#   define nh5pset_fill_value_c FNAME(H5PSET_FILL_VALUE_C)
+#   define nh5pset_fill_value_c  FNAME(H5PSET_FILL_VALUE_C)
+#   define nh5pset_fill_value_integer_c FNAME(H5PSET_FILL_VALUE_INTEGER_C)
+#   define nh5pset_fill_value_real_c    FNAME(H5PSET_FILL_VALUE_REAL_C)
+#   define nh5pset_fill_value_double_c  FNAME(H5PSET_FILL_VALUE_DOUBLE_C)
 #   define nh5pget_fill_valuec_c FNAME(H5PGET_FILL_VALUEC_C)
-#   define nh5pget_fill_value_c FNAME(H5PGET_FILL_VALUE_C)
+#   define nh5pget_fill_value_c  FNAME(H5PGET_FILL_VALUE_C)
+#   define nh5pget_fill_value_integer_c FNAME(H5PGET_FILL_VALUE_INTEGER_C)
+#   define nh5pget_fill_value_real_c    FNAME(H5PGET_FILL_VALUE_REAL_C)
+#   define nh5pget_fill_value_double_c  FNAME(H5PGET_FILL_VALUE_DOUBLE_C)
 #   define nh5pget_version_c    FNAME(H5PGET_VERSION_C)
 #   define nh5pget_userblock_c    FNAME(H5PGET_USERBLOCK_C)
 #   define nh5pset_userblock_c    FNAME(H5PSET_USERBLOCK_C)
@@ -621,12 +1035,24 @@
 #   define nh5pget_small_data_block_size_c    FNAME(H5PGET_SMALL_DATA_BLOCK_SIZE_C)
 #   define nh5pcreate_class_c             FNAME(H5PCREATE_CLASS_C)
 #   define nh5pregister_c                 FNAME(H5PREGISTER_C)
+#   define nh5pregister_integer_c              FNAME(H5PREGISTER_INTEGER_C)
+#   define nh5pregister_real_c                 FNAME(H5PREGISTER_REAL_C)
+#   define nh5pregister_double_c               FNAME(H5PREGISTER_DOUBLE_C)
 #   define nh5pregisterc_c                FNAME(H5PREGISTERC_C)
 #   define nh5pinsert_c                   FNAME(H5PINSERT_C)
+#   define nh5pinsert_integer_c                FNAME(H5PINSERT_INTEGER_C)
+#   define nh5pinsert_real_c                   FNAME(H5PINSERT_REAL_C)
+#   define nh5pinsert_double_c                 FNAME(H5PINSERT_DOUBLE_C)
 #   define nh5pinsertc_c                  FNAME(H5PINSERTC_C)
 #   define nh5pset_c                      FNAME(H5PSET_C)
+#   define nh5pset_integer_c                   FNAME(H5PSET_INTEGER_C)
+#   define nh5pset_real_c                      FNAME(H5PSET_REAL_C)
+#   define nh5pset_double_c                    FNAME(H5PSET_DOUBLE_C)
 #   define nh5psetc_c                     FNAME(H5PSETC_C)
 #   define nh5pget_c                      FNAME(H5PGET_C)
+#   define nh5pget_integer_c                   FNAME(H5PGET_INTEGER_C)
+#   define nh5pget_real_c                      FNAME(H5PGET_REAL_C)
+#   define nh5pget_double_c                    FNAME(H5PGET_DOUBLE_C)
 #   define nh5pgetc_c                     FNAME(H5PGETC_C)
 #   define nh5pexist_c                    FNAME(H5PEXIST_C)
 #   define nh5pget_size_c                 FNAME(H5PGET_SIZE_C)
@@ -661,9 +1087,15 @@
 #   define nh5pset_chunk_c    FNAME(h5pset_chunk_c)
 #   define nh5pget_chunk_c    FNAME(h5pget_chunk_c)
 #   define nh5pset_fill_valuec_c FNAME(h5pset_fill_valuec_c)
-#   define nh5pset_fill_value_c FNAME(h5pset_fill_value_c)
+#   define nh5pset_fill_value_c  FNAME(h5pset_fill_value_c)
+#   define nh5pset_fill_value_integer_c FNAME(h5pset_fill_value_integer_c)
+#   define nh5pset_fill_value_real_c    FNAME(h5pset_fill_value_real_c)
+#   define nh5pset_fill_value_double_c  FNAME(h5pset_fill_value_double_c)
 #   define nh5pget_fill_valuec_c FNAME(h5pget_fill_valuec_c)
-#   define nh5pget_fill_value_c FNAME(h5pget_fill_value_c)
+#   define nh5pget_fill_value_c  FNAME(h5pget_fill_value_c)
+#   define nh5pget_fill_value_integer_c FNAME(h5pget_fill_value_integer_c)
+#   define nh5pget_fill_value_real_c    FNAME(h5pget_fill_value_real_c)
+#   define nh5pget_fill_value_double_c  FNAME(h5pget_fill_value_double_c)
 #   define nh5pget_version_c    FNAME(h5pget_version_c)
 #   define nh5pget_userblock_c    FNAME(h5pget_userblock_c)
 #   define nh5pset_userblock_c    FNAME(h5pset_userblock_c)
@@ -730,12 +1162,24 @@
 #   define nh5pget_small_data_block_size_c    FNAME(h5pget_small_data_block_size_c)
 #   define nh5pcreate_class_c             FNAME(h5pcreate_class_c)
 #   define nh5pregister_c                 FNAME(h5pregister_c)
+#   define nh5pregister_integer_c              FNAME(h5pregister_integer_c)
+#   define nh5pregister_real_c                 FNAME(h5pregister_real_c)
+#   define nh5pregister_double_c               FNAME(h5pregister_double_c)
 #   define nh5pregisterc_c                FNAME(h5pregisterc_c)
 #   define nh5pinsert_c                   FNAME(h5pinsert_c)
+#   define nh5pinsert_integer_c                FNAME(h5pinsert_integer_c)
+#   define nh5pinsert_real_c                   FNAME(h5pinsert_real_c)
+#   define nh5pinsert_double_c                 FNAME(h5pinsert_double_c)
 #   define nh5pinsertc_c                  FNAME(h5pinsertc_c)
 #   define nh5pset_c                      FNAME(h5pset_c)
+#   define nh5pset_integer_c                   FNAME(h5pset_integer_c)
+#   define nh5pset_real_c                      FNAME(h5pset_real_c)
+#   define nh5pset_double_c                    FNAME(h5pset_double_c)
 #   define nh5psetc_c                     FNAME(h5psetc_c)
 #   define nh5pget_c                      FNAME(h5pget_c)
+#   define nh5pget_integer_c                   FNAME(h5pget_integer_c)
+#   define nh5pget_real_c                      FNAME(h5pget_real_c)
+#   define nh5pget_double_c                    FNAME(h5pget_double_c)
 #   define nh5pgetc_c                     FNAME(h5pgetc_c)
 #   define nh5pexist_c                    FNAME(h5pexist_c)
 #   define nh5pget_size_c                 FNAME(h5pget_size_c)
@@ -770,8 +1214,14 @@
 H5_FCDLL int_f nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims );
 H5_FCDLL int_f nh5pset_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue);
 H5_FCDLL int_f nh5pset_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f nh5pset_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f nh5pset_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f nh5pset_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
 H5_FCDLL int_f nh5pget_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue);
 H5_FCDLL int_f nh5pget_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f nh5pget_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f nh5pget_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f nh5pget_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
 H5_FCDLL int_f nh5pset_preserve_c ( hid_t_f *prp_id , int_f *flag);
 H5_FCDLL int_f nh5pget_preserve_c ( hid_t_f *prp_id , int_f *flag);
 H5_FCDLL int_f nh5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, int_f *shhdr);
@@ -840,12 +1290,24 @@
 H5_FCDLL int_f nh5pget_hyper_vector_size_c(hid_t_f *plist, size_t_f *size);
 H5_FCDLL int_f nh5pcreate_class_c(hid_t_f *parent, _fcd name, int_f *name_len, hid_t_f *class);
 H5_FCDLL int_f nh5pregister_c(hid_t_f *class, _fcd name, int_f * name_len, size_t_f *size, void *value);
+H5_FCDLL int_f nh5pregister_integer_c(hid_t_f *class, _fcd name, int_f * name_len, size_t_f *size, void *value);
+H5_FCDLL int_f nh5pregister_real_c(hid_t_f *class, _fcd name, int_f * name_len, size_t_f *size, void *value);
+H5_FCDLL int_f nh5pregister_double_c(hid_t_f *class, _fcd name, int_f * name_len, size_t_f *size, void *value);
 H5_FCDLL int_f nh5pregisterc_c(hid_t_f *class, _fcd name, int_f * name_len, size_t_f *size, _fcd value, int_f *value_len);
 H5_FCDLL int_f nh5pinsert_c(hid_t_f  *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
+H5_FCDLL int_f nh5pinsert_integer_c(hid_t_f  *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
+H5_FCDLL int_f nh5pinsert_real_c(hid_t_f  *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
+H5_FCDLL int_f nh5pinsert_double_c(hid_t_f  *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
 H5_FCDLL int_f nh5pinsertc_c(hid_t_f  *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f *value_len);
 H5_FCDLL int_f nh5pset_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
+H5_FCDLL int_f nh5pset_integer_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
+H5_FCDLL int_f nh5pset_real_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
+H5_FCDLL int_f nh5pset_double_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
 H5_FCDLL int_f nh5psetc_c(hid_t_f *prp_id, _fcd name, int_f *name_len, _fcd value, int_f *value_len);
 H5_FCDLL int_f nh5pget_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
+H5_FCDLL int_f nh5pget_integer_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
+H5_FCDLL int_f nh5pget_real_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
+H5_FCDLL int_f nh5pget_double_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
 H5_FCDLL int_f nh5pgetc_c(hid_t_f *prp_id, _fcd name, int_f *name_len, _fcd value, int_f *value_len);
 H5_FCDLL int_f nh5pexist_c(hid_t_f *prp_id, _fcd name, int_f *name_len);
 H5_FCDLL int_f nh5pget_size_c(hid_t_f *prp_id, _fcd name, int_f *name_len, size_t_f *size);

Modified: packages/hdf5/trunk/fortran/src/H5fortran_flags.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/H5fortran_flags.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5fortran_flags.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
       MODULE H5FORTRAN_FLAGS

Modified: packages/hdf5/trunk/fortran/src/H5fortran_types.f90.in
===================================================================
--- packages/hdf5/trunk/fortran/src/H5fortran_types.f90.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/H5fortran_types.f90.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -9,8 +10,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/src/HDF5.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/HDF5.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/HDF5.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     MODULE HDF5

Modified: packages/hdf5/trunk/fortran/src/HDF5mpio.f90
===================================================================
--- packages/hdf5/trunk/fortran/src/HDF5mpio.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/HDF5mpio.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     MODULE HDF5

Modified: packages/hdf5/trunk/fortran/src/Makefile.in
===================================================================
--- packages/hdf5/trunk/fortran/src/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,18 +1,19 @@
 ##
 ## HDF5 Fortran Library Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@

Modified: packages/hdf5/trunk/fortran/src/h5fc.in
===================================================================
--- packages/hdf5/trunk/fortran/src/h5fc.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/src/h5fc.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,18 +1,21 @@
 #! /bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 
+# This tool is adapted from the mpicc command of the MPICH Software.
+
 ############################################################################
 ##                                                                        ##
 ## Things You May Have to Modify:                                         ##
@@ -185,9 +188,6 @@
 	            do_link="yes"
 	            link_objs="$link_objs $arg"
                 fi
-            elif test "x$ext" = "x.a"; then
-              # This is an archive that we're linking in
-              libraries=" $libraries $arg "
             else
               compile_args="$compile_args $arg"
               link_args="$link_args $arg"

Modified: packages/hdf5/trunk/fortran/test/Dependencies
===================================================================
--- packages/hdf5/trunk/fortran/test/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/trunk/fortran/test/Makefile.in
===================================================================
--- packages/hdf5/trunk/fortran/test/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,18 +1,19 @@
 ## HDF5-Fortran test/Makefile(.in)
 
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@

Modified: packages/hdf5/trunk/fortran/test/fflush1.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/fflush1.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/fflush1.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/fflush2.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/fflush2.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/fflush2.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/fortranlib_test.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/fortranlib_test.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/fortranlib_test.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/t.c
===================================================================
--- packages/hdf5/trunk/fortran/test/t.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/t.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "t.h"

Modified: packages/hdf5/trunk/fortran/test/t.h
===================================================================
--- packages/hdf5/trunk/fortran/test/t.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/t.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "../../src/hdf5.h"

Modified: packages/hdf5/trunk/fortran/test/tH5A.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5A.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5A.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE attribute_test(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tH5D.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5D.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5D.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/tH5E.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5E.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5E.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE error_report_test(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tH5F.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5F.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5F.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/tH5G.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5G.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5G.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE group_test(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tH5I.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5I.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5I.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE identifier_test(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tH5P.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5P.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5P.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE external_test(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tH5R.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5R.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5R.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !
@@ -158,7 +159,7 @@
           !
           CALL h5rget_object_type_f(dsetr_id, ref(3), obj_type, error) 
               CALL check("h5rget_object_type_f",error,total_error)
-          if (obj_type == 2) then 
+          if (obj_type == H5G_DATASET_F) then 
               CALL h5rdereference_f(dsetr_id, ref(3), dset1_id, error)
                   CALL check("h5rdereference_f",error,total_error)
           
@@ -172,7 +173,7 @@
           !
           CALL h5rget_object_type_f(dsetr_id, ref(4), obj_type, error) 
               CALL check("h5rget_object_type_f",error,total_error)
-          if (obj_type == 3) then 
+          if (obj_type == H5G_TYPE_F) then 
               CALL h5rdereference_f(dsetr_id, ref(4), type_id, error)
                   CALL check("h5rdereference_f",error,total_error)
           end if

Modified: packages/hdf5/trunk/fortran/test/tH5S.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5S.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5S.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/tH5Sselect.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5Sselect.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5Sselect.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 ! 

Modified: packages/hdf5/trunk/fortran/test/tH5T.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5T.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5T.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE compoundtest(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tH5VL.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5VL.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5VL.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/test/tH5Z.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tH5Z.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tH5Z.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
     SUBROUTINE filters_test(cleanup, total_error)

Modified: packages/hdf5/trunk/fortran/test/tf.f90
===================================================================
--- packages/hdf5/trunk/fortran/test/tf.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/test/tf.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/testpar/Dependencies
===================================================================
--- packages/hdf5/trunk/fortran/testpar/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/testpar/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,15 +2,16 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 

Modified: packages/hdf5/trunk/fortran/testpar/Makefile.in
===================================================================
--- packages/hdf5/trunk/fortran/testpar/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/testpar/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,18 +2,19 @@
 ##
 
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 top_srcdir=@top_srcdir@/..
 top_builddir=../..
 srcdir=@srcdir@

Modified: packages/hdf5/trunk/fortran/testpar/ptesthdf5_fortran.f90
===================================================================
--- packages/hdf5/trunk/fortran/testpar/ptesthdf5_fortran.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/testpar/ptesthdf5_fortran.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Modified: packages/hdf5/trunk/fortran/testpar/thdf5.f90
===================================================================
--- packages/hdf5/trunk/fortran/testpar/thdf5.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/testpar/thdf5.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
          MODULE THDF5

Modified: packages/hdf5/trunk/fortran/testpar/thyperslab_wr.f90
===================================================================
--- packages/hdf5/trunk/fortran/testpar/thyperslab_wr.f90	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/fortran/testpar/thyperslab_wr.f90	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+!   Copyright by The HDF Group.                                               *
 !   Copyright by the Board of Trustees of the University of Illinois.         *
 !   All rights reserved.                                                      *
 !                                                                             *
@@ -8,8 +9,8 @@
 !   of the source code distribution tree; Copyright.html can be found at the  *
 !   root level of an installed copy of the electronic HDF5 document set and   *
 !   is linked from the top-level documents page.  It can also be found at     *
-!   http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
-!   access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+!   http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+!   access to either file, you may request a copy from help at hdfgroup.org.     *
 ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 !
 !

Copied: packages/hdf5/trunk/hl/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/hl/COPYING)
===================================================================
--- packages/hdf5/trunk/hl/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/hl/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/hl/Makefile.in
===================================================================
--- packages/hdf5/trunk/hl/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ## Top-level HDF5 Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ## 
 ## This makefile mostly just reinvokes make in the various subdirectories
 ## but does so in the correct order.  You can alternatively invoke make from
@@ -22,8 +23,8 @@
 
 @COMMENCE@
 
-# Subdirectories in build-order
-SUBDIRS=src test 
+# Subdirectories in build-order (not including 'examples')
+SUBDIRS=src test tools
 
 ##############################################################################
 ##		    T A R G E T S
@@ -74,27 +75,33 @@
 	   (cd $$d && $(MAKE) $@) || exit 1;				      \
 	done
 
+install-all:
+	@$(MAKE) install
 install:
 	@@SETX@; for d in $(SUBDIRS); do				      \
 	   (cd $$d && $(MAKE) $@) || exit 1;				      \
 	done
+	@$(MAKE) install-examples
 
-install-doc:
-	(cd doc && $(MAKE) $@) || exit 1;
+install-examples:
+	(cd examples && $(MAKE) $@) || exit 1;
 
-uninstall-doc:
-	(cd doc && $(MAKE) $@) || exit 1;
+uninstall-examples:
+	(cd examples && $(MAKE) $@) || exit 1;
 
+check-install:
+	(cd examples && $(MAKE) check) || exit 1
+
 .PHONY: all lib progs test _test install uninstall dep depend clean           \
 	mostlyclean distclean maintainer-clean
 
 clean mostlyclean:
-	@@SETX@; for d in $(SUBDIRS); do		                      \
+	@@SETX@; for d in $(SUBDIRS) examples; do	                      \
 	   (cd $$d && $(MAKE) $@);					      \
 	done
 
 distclean:
-	@@SETX@; for d in $(SUBDIRS); do		                      \
+	@@SETX@; for d in $(SUBDIRS) examples; do	                      \
 	   (cd $$d && $(MAKE) $@);					      \
 	done
 	-$(RM)  Makefile

Copied: packages/hdf5/trunk/hl/examples (from rev 1094, packages/hdf5/branches/upstream/current/hl/examples)

Copied: packages/hdf5/trunk/hl/src/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/hl/src/COPYING)
===================================================================
--- packages/hdf5/trunk/hl/src/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/hl/src/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/hl/src/Dependencies
===================================================================
--- packages/hdf5/trunk/hl/src/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,26 +2,129 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 H5LT.lo: \
    $(srcdir)/H5LT.c \
-   $(srcdir)/H5LT.h
+   $(srcdir)/H5LT.h \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h
 H5TA.lo: \
    $(srcdir)/H5TA.c \
    $(srcdir)/H5TA.h \
-   $(srcdir)/H5LT.h
+   $(srcdir)/H5LT.h \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h
 H5IM.lo: \
    $(srcdir)/H5IM.c \
    $(srcdir)/H5IM.h \
-   $(srcdir)/H5LT.h
+   $(srcdir)/H5LT.h \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h

Modified: packages/hdf5/trunk/hl/src/H5IM.c
===================================================================
--- packages/hdf5/trunk/hl/src/H5IM.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/H5IM.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "H5IM.h"
@@ -527,7 +528,6 @@
                          const char *pal_name )
 
 {
-
  hid_t       image_id;
  hid_t       attr_type;
  hid_t       attr_id;
@@ -539,7 +539,7 @@
  hsize_t     dim_ref;
  int         ok_pal;
 
- /* The image dataset may or not have the attribute "PALETTE"
+ /* The image dataset may or may not have the attribute "PALETTE"
   * First we try to open to see if it is already there; if not, it is created.
   * If it exists, the array of references is extended to hold the reference
   * to the new palette
@@ -552,10 +552,12 @@
  /* Try to find the attribute "PALETTE" on the >>image<< dataset */
  ok_pal = H5LT_find_attribute( image_id, "PALETTE" );
 
- /* It does not exist. We create the attribute and one reference */
+/*-------------------------------------------------------------------------
+ * It does not exist. We create the attribute and one reference
+ *-------------------------------------------------------------------------
+ */
  if ( ok_pal == 0 )
  {
-
   if ( (attr_space_id = H5Screate( H5S_SCALAR )) < 0 )
    goto out;
 
@@ -575,86 +577,83 @@
   if ( H5Awrite( attr_id, attr_type, &ref ) < 0 )
    goto out;
 
+  /* close */
   if ( H5Sclose( attr_space_id ) < 0 )
    goto out;
+  if ( H5Tclose( attr_type ) < 0 )
+   goto out;
+  if ( H5Aclose( attr_id ) < 0 )
+   goto out;
 
  }
 
- /* The attribute already exists, open it */
-
+/*-------------------------------------------------------------------------
+ * The attribute already exists, open it
+ *-------------------------------------------------------------------------
+ */
  else if ( ok_pal ==  1 )
-
+  
  {
-
   if ( (attr_id = H5Aopen_name( image_id, "PALETTE" )) < 0 )
    goto out;
-
+  
   if ( (attr_type = H5Aget_type( attr_id )) < 0 )
    goto out;
-
+  
   if ( (attr_class = H5Tget_class( attr_type )) < 0 )
    goto out;
-
-  /* Check if it is really a reference */
-
-  if ( attr_class == H5T_REFERENCE )
-  {
-
-   /* Get and save the old reference(s) */
-
-   if ( (attr_space_id = H5Aget_space( attr_id )) < 0 )
-    goto out;
-
-   n_refs = H5Sget_simple_extent_npoints( attr_space_id );
-
-   dim_ref = n_refs + 1;
-
-   refbuf = malloc( sizeof(hobj_ref_t) * (int)dim_ref );
-
-   if ( H5Aread( attr_id, attr_type, refbuf ) < 0 )
-    goto out;
-
-   if ( H5Sclose( attr_space_id ) < 0 )
-    goto out;
-
-   /* The attribute must be deleted, in order to the new one can reflect the changes*/
-   if ( H5Adelete( image_id, "PALETTE" ) < 0 )
-    goto out;
-
-   /* Create a new reference for this palette. */
-   if ( H5Rcreate( &ref, loc_id, pal_name, H5R_OBJECT, -1 ) < 0 )
-    goto out;
-
-   refbuf[n_refs] = ref;
-
-   /* Create the data space for the new references */
-   if ( (attr_space_id = H5Screate_simple( 1, &dim_ref, NULL )) < 0 )
-    goto out;
-
-   /* Create the attribute again with the changes of space */
-   if ( (attr_id = H5Acreate( image_id, "PALETTE", attr_type, attr_space_id, H5P_DEFAULT )) < 0 )
-    goto out;
-
-    /* Write the attribute with the new references */
-   if ( H5Awrite( attr_id, attr_type, refbuf ) < 0 )
-    goto out;
-
-   if ( H5Sclose( attr_space_id ) < 0 )
-    goto out;
-
-   free( refbuf );
-
-  } /* H5T_REFERENCE */
-
-  if ( H5Tclose( attr_type ) < 0 )
+  
+  /* Get and save the old reference(s) */
+  if ( (attr_space_id = H5Aget_space( attr_id )) < 0 )
    goto out;
+  
+  n_refs = H5Sget_simple_extent_npoints( attr_space_id );
+  
+  dim_ref = n_refs + 1;
+  
+  refbuf = malloc( sizeof(hobj_ref_t) * (int)dim_ref );
+  
+  if ( H5Aread( attr_id, attr_type, refbuf ) < 0 )
+   goto out;
+ 
+  /* The attribute must be deleted, in order to the new one can reflect the changes*/
+  if ( H5Adelete( image_id, "PALETTE" ) < 0 )
+   goto out;
+  
+  /* Create a new reference for this palette. */
+  if ( H5Rcreate( &ref, loc_id, pal_name, H5R_OBJECT, -1 ) < 0 )
+   goto out;
+  
+  refbuf[n_refs] = ref;
+  
+  /* Create the data space for the new references */
+  if ( H5Sclose( attr_space_id ) < 0 )
+   goto out;
+  
+  if ( (attr_space_id = H5Screate_simple( 1, &dim_ref, NULL )) < 0 )
+   goto out;
+  
+  /* Create the attribute again with the changes of space */
+  if ( H5Aclose( attr_id ) < 0 )
+   goto out;
 
-  /* Close the attribute. */
+  if ( (attr_id = H5Acreate( image_id, "PALETTE", attr_type, attr_space_id, H5P_DEFAULT )) < 0 )
+   goto out;
+  
+  /* Write the attribute with the new references */
+  if ( H5Awrite( attr_id, attr_type, refbuf ) < 0 )
+   goto out;
+  
+  /* close */
+  if ( H5Sclose( attr_space_id ) < 0 )
+   goto out;
   if ( H5Aclose( attr_id ) < 0 )
    goto out;
+  
+  free( refbuf );
+ 
+ } /* ok_pal ==  1 */
 
- }
-
   /* Close the image dataset. */
  if ( H5Dclose( image_id ) < 0 )
   return -1;
@@ -663,11 +662,13 @@
 
 out:
  H5Dclose( image_id );
+ H5Sclose( attr_space_id );
+ H5Tclose( attr_type );
+ H5Aclose( attr_id );
  return -1;
 }
 
 
-
 /*-------------------------------------------------------------------------
  * Function: H5IMunlink_palette
  *
@@ -873,9 +874,9 @@
  */
 
 herr_t H5IMget_palette_info( hid_t loc_id,
-                        const char *image_name,
-                        int pal_number,
-                        hsize_t *pal_dims )
+                             const char *image_name,
+                             int pal_number,
+                             hsize_t *pal_dims )
 {
  hid_t      image_id;
  int        has_pal;
@@ -889,91 +890,82 @@
  hid_t      pal_id;
  hid_t      pal_space_id;
  hsize_t    pal_maxdims[2];
-
+ 
  /* Open the dataset. */
  if ( (image_id = H5Dopen( loc_id, image_name )) < 0 )
   return -1;
-
+ 
  /* Try to find the attribute "PALETTE" on the >>image<< dataset */
  has_pal = H5IM_find_palette( image_id );
-
+ 
  if ( has_pal ==  1 )
  {
-
   if ( (attr_id = H5Aopen_name( image_id, "PALETTE" )) < 0 )
    goto out;
-
+  
   if ( (attr_type = H5Aget_type( attr_id )) < 0 )
    goto out;
-
+  
   if ( (attr_class = H5Tget_class( attr_type )) < 0 )
    goto out;
-
-  /* Check if it is really a reference */
-
-  if ( attr_class == H5T_REFERENCE )
-  {
-
-   /* Get the reference(s) */
-
-   if ( (attr_space_id = H5Aget_space( attr_id )) < 0 )
-    goto out;
-
-   n_refs = H5Sget_simple_extent_npoints( attr_space_id );
-
-   dim_ref = n_refs;
-
-   refbuf = malloc( sizeof(hobj_ref_t) * (int)dim_ref );
-
-   if ( H5Aread( attr_id, attr_type, refbuf ) < 0 )
-    goto out;
-
- /* Get the actual palette */
-
+  
+  /* Get the reference(s) */
+  if ( (attr_space_id = H5Aget_space( attr_id )) < 0 )
+   goto out;
+  
+  n_refs = H5Sget_simple_extent_npoints( attr_space_id );
+  
+  dim_ref = n_refs;
+  
+  refbuf = malloc( sizeof(hobj_ref_t) * (int)dim_ref );
+  
+  if ( H5Aread( attr_id, attr_type, refbuf ) < 0 )
+   goto out;
+  
+  /* Get the actual palette */
   if ( (pal_id = H5Rdereference( image_id, H5R_OBJECT, &refbuf[pal_number] )) < 0 )
-    goto out;
-
+   goto out;
+  
   if ( (pal_space_id = H5Dget_space( pal_id )) < 0 )
    goto out;
-
+  
   if ( H5Sget_simple_extent_ndims( pal_space_id ) < 0 )
    goto out;
-
+  
   if ( H5Sget_simple_extent_dims( pal_space_id, pal_dims, pal_maxdims ) < 0 )
    goto out;
-
+  
+  /* close */
+  if (H5Dclose(pal_id)<0)
+   goto out;
   if ( H5Sclose( pal_space_id ) < 0 )
    goto out;
-
   if ( H5Sclose( attr_space_id ) < 0 )
    goto out;
-
-   free( refbuf );
-
-  } /* H5T_REFERENCE */
-
   if ( H5Tclose( attr_type ) < 0 )
    goto out;
-
-  /* Close the attribute. */
   if ( H5Aclose( attr_id ) < 0 )
    goto out;
-
+  free( refbuf );
+  
+   
  }
-
-	/* Close the image dataset. */
+ 
+ /* Close the image dataset. */
  if ( H5Dclose( image_id ) < 0 )
   return -1;
-
+ 
  return 0;
-
+ 
 out:
  H5Dclose( image_id );
+ H5Sclose( attr_space_id );
+ H5Tclose( attr_type );
+ H5Aclose( attr_id );
  return -1;
-
+ 
 }
 
-
 /*-------------------------------------------------------------------------
  * Function: H5IMget_palette
  *
@@ -1019,61 +1011,49 @@
 
  if ( has_pal ==  1 )
  {
-
   if ( (attr_id = H5Aopen_name( image_id, "PALETTE" )) < 0 )
    goto out;
-
+  
   if ( (attr_type = H5Aget_type( attr_id )) < 0 )
    goto out;
-
+  
   if ( (attr_class = H5Tget_class( attr_type )) < 0 )
    goto out;
+  
+  /* Get the reference(s) */
+  if ( (attr_space_id = H5Aget_space( attr_id )) < 0 )
+   goto out;
+  
+  n_refs = H5Sget_simple_extent_npoints( attr_space_id );
+  
+  dim_ref = n_refs;
+  
+  refbuf = malloc( sizeof(hobj_ref_t) * (int)dim_ref );
+  
+  if ( H5Aread( attr_id, attr_type, refbuf ) < 0 )
+   goto out;
+  
+  /* Get the palette id */
+  if ( (pal_id = H5Rdereference( image_id, H5R_OBJECT, &refbuf[pal_number] )) < 0 )
+   goto out;
+  
+  /* Read the palette dataset */
+  if ( H5Dread( pal_id, H5Dget_type(pal_id), H5S_ALL, H5S_ALL, H5P_DEFAULT, pal_data ) < 0 )
+   goto out;
 
-  /* Check if it is really a reference */
-
-  if ( attr_class == H5T_REFERENCE )
-  {
-
-   /* Get the reference(s) */
-
-   if ( (attr_space_id = H5Aget_space( attr_id )) < 0 )
-    goto out;
-
-   n_refs = H5Sget_simple_extent_npoints( attr_space_id );
-
-   dim_ref = n_refs;
-
-   refbuf = malloc( sizeof(hobj_ref_t) * (int)dim_ref );
-
-   if ( H5Aread( attr_id, attr_type, refbuf ) < 0 )
-    goto out;
-
-   /* Get the palette id */
-   if ( (pal_id = H5Rdereference( image_id, H5R_OBJECT, &refbuf[pal_number] )) < 0 )
-    goto out;
-
-   /* Read the palette dataset */
-   if ( H5Dread( pal_id, H5Dget_type(pal_id), H5S_ALL, H5S_ALL, H5P_DEFAULT, pal_data ) < 0 )
-    goto out;
-
-   if ( H5Sclose( attr_space_id ) < 0 )
-    goto out;
-
-   free( refbuf );
-
-  } /* H5T_REFERENCE */
-
+  /* close */
+  if (H5Dclose(pal_id)<0)
+   goto out;
+  if ( H5Sclose( attr_space_id ) < 0 )
+   goto out;
   if ( H5Tclose( attr_type ) < 0 )
    goto out;
-
-  /* Close the attribute. */
   if ( H5Aclose( attr_id ) < 0 )
    goto out;
-
+  free( refbuf );
  }
 
-
-     /* Close the image dataset. */
+ /* Close the image dataset. */
  if ( H5Dclose( image_id ) < 0 )
   return -1;
 
@@ -1081,6 +1061,9 @@
 
 out:
  H5Dclose( image_id );
+ H5Sclose( attr_space_id );
+ H5Tclose( attr_type );
+ H5Aclose( attr_id );
  return -1;
 
 }

Modified: packages/hdf5/trunk/hl/src/H5IM.h
===================================================================
--- packages/hdf5/trunk/hl/src/H5IM.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/H5IM.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5IM_H
@@ -23,20 +24,20 @@
 
 
 
-herr_t H5IMmake_image_8bit( hid_t loc_id,
+H5_HLDLL herr_t H5IMmake_image_8bit( hid_t loc_id,
                             const char *dset_name,
                             hsize_t width,
                             hsize_t height,
                             const unsigned char *buffer );
 
-herr_t H5IMmake_image_24bit( hid_t loc_id,
+H5_HLDLL herr_t H5IMmake_image_24bit( hid_t loc_id,
                              const char *dset_name,
                              hsize_t width,
                              hsize_t height,
                              const char *interlace,
                              const unsigned char *buffer );
 
-herr_t H5IMget_image_info( hid_t loc_id,
+H5_HLDLL herr_t H5IMget_image_info( hid_t loc_id,
                      const char *dset_name,
                      hsize_t *width,
                      hsize_t *height,
@@ -44,44 +45,44 @@
                      char    *interlace,
                      hssize_t *npals );
 
-herr_t H5IMread_image( hid_t loc_id,
+H5_HLDLL herr_t H5IMread_image( hid_t loc_id,
                        const char *dset_name,
                        unsigned char *buffer );
 
 
 
-herr_t H5IMmake_palette( hid_t loc_id,
+H5_HLDLL herr_t H5IMmake_palette( hid_t loc_id,
                          const char *pal_name,
                          const hsize_t *pal_dims,
                          const unsigned char *pal_data );
 
-herr_t H5IMlink_palette( hid_t loc_id,
+H5_HLDLL herr_t H5IMlink_palette( hid_t loc_id,
                         const char *image_name,
                         const char *pal_name );
 
-herr_t H5IMunlink_palette( hid_t loc_id,
+H5_HLDLL herr_t H5IMunlink_palette( hid_t loc_id,
                            const char *image_name,
                            const char *pal_name );
 
-herr_t H5IMget_npalettes( hid_t loc_id,
+H5_HLDLL herr_t H5IMget_npalettes( hid_t loc_id,
                           const char *image_name,
                           hssize_t *npals );
 
-herr_t H5IMget_palette_info( hid_t loc_id,
+H5_HLDLL herr_t H5IMget_palette_info( hid_t loc_id,
                         const char *image_name,
                         int pal_number,
                         hsize_t *pal_dims );
 
 
-herr_t H5IMget_palette( hid_t loc_id,
+H5_HLDLL herr_t H5IMget_palette( hid_t loc_id,
                         const char *image_name,
                         int pal_number,
                         unsigned char *pal_data );
 
-herr_t H5IMis_image( hid_t loc_id,
+H5_HLDLL herr_t H5IMis_image( hid_t loc_id,
                      const char *dset_name );
 
-herr_t H5IMis_palette( hid_t loc_id,
+H5_HLDLL herr_t H5IMis_palette( hid_t loc_id,
                      const char *dset_name );
 
 #ifdef __cplusplus

Modified: packages/hdf5/trunk/hl/src/H5LT.c
===================================================================
--- packages/hdf5/trunk/hl/src/H5LT.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/H5LT.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "H5LT.h"
@@ -495,9 +496,9 @@
 {
 
  hid_t   did=-1;
-	hid_t   sid=-1;
-	hid_t   tid;
-	size_t  size;
+ hid_t   sid=-1;
+ hid_t   tid;
+ size_t  size;
 
  /* create a string data type */
  if ( (tid = H5Tcopy( H5T_C_S1 )) < 0 )
@@ -532,7 +533,7 @@
   return -1;
  if ( H5Sclose(sid) < 0 )
   return -1;
-	if ( H5Tclose(tid) < 0 )
+ if ( H5Tclose(tid) < 0 )
   goto out;
 
  return 0;
@@ -848,13 +849,13 @@
                                 char *buf )
 {
  hid_t   did;
-	hid_t   tid;
+ hid_t   tid;
 
  /* Open the dataset. */
  if ( (did = H5Dopen( loc_id, dset_name )) < 0 )
   return -1;
 
-	if ( (tid = H5Dget_type(did)) < 0 )
+ if ( (tid = H5Dget_type(did)) < 0 )
   goto out;
 
  /* Read */
@@ -864,14 +865,14 @@
  /* close */
  if ( H5Dclose(did) )
   goto out;
-	if ( H5Tclose(tid) )
+ if ( H5Tclose(tid) )
   return -1;
 
  return 0;
 
 out:
  H5Dclose( did );
-	H5Tclose( tid );
+ H5Tclose( tid );
  return -1;
 
 }
@@ -938,6 +939,7 @@
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
  * Date: September 4, 2001
+ *  Modified: February 28, 2006: checked for NULL parameters
  *
  *-------------------------------------------------------------------------
  */
@@ -952,36 +954,41 @@
  hid_t       tid;
  hid_t       sid;
 
- /* Open the dataset. */
+ /* open the dataset. */
  if ( (did = H5Dopen( loc_id, dset_name )) < 0 )
   return -1;
 
- /* Get an identifier for the datatype. */
+ /* get an identifier for the datatype. */
  tid = H5Dget_type( did );
 
- /* Get the class. */
- *type_class = H5Tget_class( tid );
+ /* get the class. */
+ if (type_class!=NULL)
+  *type_class = H5Tget_class( tid );
 
- /* Get the size. */
- *type_size = H5Tget_size( tid );
+ /* get the size. */
+ if (type_size!=NULL)
+  *type_size = H5Tget_size( tid );
 
-  /* Get the dataspace handle */
- if ( (sid = H5Dget_space( did )) < 0 )
-  goto out;
+ if (dims!=NULL)
+ {
+  /* get the dataspace handle */
+  if ( (sid = H5Dget_space( did )) < 0 )
+   goto out;
+  
+  /* get dimensions */
+  if ( H5Sget_simple_extent_dims( sid, dims, NULL) < 0 )
+   goto out;
+  
+  /* terminate access to the dataspace */
+  if ( H5Sclose( sid ) < 0 )
+   goto out;
+ }
 
- /* Get dimensions */
- if ( H5Sget_simple_extent_dims( sid, dims, NULL) < 0 )
-  goto out;
-
- /* Terminate access to the dataspace */
- if ( H5Sclose( sid ) < 0 )
-  goto out;
-
-  /* Release the datatype. */
+ /* release the datatype. */
  if ( H5Tclose( tid ) )
   return -1;
 
- /* End access to the dataset */
+ /* end access to the dataset */
  if ( H5Dclose( did ) )
   return -1;
 
@@ -1109,7 +1116,7 @@
  hid_t      obj_id;
  int        has_attr;
  H5G_stat_t statbuf;
-	size_t     attr_size;
+ size_t     attr_size;
 
 
  /* Get the type of object */
@@ -1897,138 +1904,10 @@
 }
 
 
-/*-------------------------------------------------------------------------
- *
- * General functions
- *
- *-------------------------------------------------------------------------
- */
 
-/*-------------------------------------------------------------------------
- * Function: H5LTcreate_compound_type
- *
- * Purpose:
- *
- * Return: Success: 0, Failure: -1
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: September 18, 2001
- *
- * Comments:
- *
- * Modifications:
- *
- *
- *-------------------------------------------------------------------------
- */
 
-hid_t H5LTcreate_compound_type( hsize_t nfields, size_t size, const char *field_names[],
-                                const size_t *field_offset, const hid_t *field_types )
-{
-
- hid_t   tid;
- hsize_t i;
-
- /* Create the memory data type. */
- if ((tid = H5Tcreate (H5T_COMPOUND, size )) < 0 )
-  goto out;
-
- /* Insert fields. */
- for ( i = 0; i < nfields; i++)
- {
-  if ( H5Tinsert(tid, field_names[i], field_offset[i], field_types[i] ) < 0 )
-   goto out;
- }
-
- return tid;
-
-out:
- return -1;
-}
-
-
-
-
-
 /*-------------------------------------------------------------------------
- * Function: H5LTrepack
  *
- * Purpose: Packs/Unpacks data from buffers. This function transfers data from a packed
- * data, src_buf, to a "natural byte aligned" (an n-byte item at an n-byte boundary)
- * data, dst_buf, and vice-versa.
- *
- * Return: Success: 0, Failure: -1
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: January 17, 2002
- *
- * Comments:
- *
- * Modifications:
- *
- *
- *-------------------------------------------------------------------------
- */
-
-herr_t H5LTrepack( hsize_t nfields,
-                   hsize_t nrecords,
-                   size_t src_size,
-                   const size_t *src_offset,
-                   const size_t *src_sizes,
-                   size_t dst_size,
-                   const size_t *dst_offset,
-                   const size_t *dst_sizes,
-                   unsigned char *src_buf,
-                   unsigned char *dst_buf )
-{
- hsize_t   i, j;
- /* size of each field of destination data counting with padding */
- size_t *size_pad = (size_t *)malloc((size_t)nfields * sizeof(size_t));
-
- /* Shut compiler */
- src_size=src_size;
- src_offset=src_offset;
-
- if ( size_pad == NULL )
-  goto out;
-
- for ( i= 0; i < nfields; i++)
- {
-
-  size_pad[i] = ( i == nfields-1 ? dst_size-dst_offset[i] : dst_offset[i+1]-dst_offset[i] );
-
- }
-
- /* Iterate tru the records */
- for ( i = 0; i < nrecords; i++)
- {
-  /* Iterate tru the members */
-  for ( j = 0; j < nfields; j++)
-  {
-
-   memcpy( dst_buf, src_buf, dst_sizes[j] );
-   dst_buf += size_pad[j];
-   src_buf += src_sizes[j];
-
-  }
-
- }
-
- if ( size_pad != NULL )
-  free( size_pad );
-
-return 0;
-
-out:
- return -1;
-
-}
-
-
-/*-------------------------------------------------------------------------
- *
  * Get attribute functions
  *
  *-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/hl/src/H5LT.h
===================================================================
--- packages/hdf5/trunk/hl/src/H5LT.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/H5LT.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5LT_H
@@ -36,50 +37,50 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t H5LTmake_dataset( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset( hid_t loc_id,
                          const char *dset_name,
                          int rank,
                          const hsize_t *dims,
                          hid_t type_id,
                          const void *buffer );
 
-herr_t H5LTmake_dataset_char( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_char( hid_t loc_id,
                               const char *dset_name,
                               int rank,
                               const hsize_t *dims,
                               const char *buffer );
 
-herr_t H5LTmake_dataset_short( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_short( hid_t loc_id,
                                const char *dset_name,
                                int rank,
                                const hsize_t *dims,
                                const short *buffer );
 
-herr_t H5LTmake_dataset_int( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_int( hid_t loc_id,
                              const char *dset_name,
                              int rank,
                              const hsize_t *dims,
                              const int *buffer );
 
-herr_t H5LTmake_dataset_long( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_long( hid_t loc_id,
                               const char *dset_name,
                               int rank,
                               const hsize_t *dims,
                               const long *buffer );
 
-herr_t H5LTmake_dataset_float( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_float( hid_t loc_id,
                                const char *dset_name,
                                int rank,
                                const hsize_t *dims,
                                const float *buffer );
 
-herr_t H5LTmake_dataset_double( hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_double( hid_t loc_id,
                                 const char *dset_name,
                                 int rank,
                                 const hsize_t *dims,
                                 const double *buffer );
 
-herr_t H5LTmake_dataset_string(hid_t loc_id,
+H5_HLDLL herr_t H5LTmake_dataset_string(hid_t loc_id,
                                const char *dset_name,
                                const char *buf );
 
@@ -91,36 +92,36 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t H5LTread_dataset( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset( hid_t loc_id,
                          const char *dset_name,
                          hid_t type_id,
                          void *buffer );
 
-herr_t H5LTread_dataset_char( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_char( hid_t loc_id,
                               const char *dset_name,
                               char *buffer );
 
-herr_t H5LTread_dataset_short( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_short( hid_t loc_id,
                                const char *dset_name,
                                short *buffer );
 
-herr_t H5LTread_dataset_int( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_int( hid_t loc_id,
                              const char *dset_name,
                              int *buffer );
 
-herr_t H5LTread_dataset_long( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_long( hid_t loc_id,
                               const char *dset_name,
                               long *buffer );
 
-herr_t H5LTread_dataset_float( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_float( hid_t loc_id,
                                const char *dset_name,
                                float *buffer );
 
-herr_t H5LTread_dataset_double( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_double( hid_t loc_id,
                                 const char *dset_name,
                                 double *buffer );
 
-herr_t H5LTread_dataset_string( hid_t loc_id,
+H5_HLDLL herr_t H5LTread_dataset_string( hid_t loc_id,
                                 const char *dset_name,
                                 char *buf );
 
@@ -132,17 +133,17 @@
  */
 
 
-herr_t H5LTget_dataset_ndims( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_dataset_ndims( hid_t loc_id,
                              const char *dset_name,
                              int *rank );
 
-herr_t H5LTget_dataset_info( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_dataset_info( hid_t loc_id,
                              const char *dset_name,
                              hsize_t *dims,
                              H5T_class_t *type_class,
                              size_t *type_size );
 
-herr_t H5LTfind_dataset( hid_t loc_id, const char *name );
+H5_HLDLL herr_t H5LTfind_dataset( hid_t loc_id, const char *name );
 
 
 
@@ -154,66 +155,66 @@
  */
 
 
-herr_t H5LTset_attribute_string( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_string( hid_t loc_id,
                                  const char *obj_name,
                                  const char *attr_name,
                                  const char *attr_data );
 
-herr_t H5LTset_attribute_char( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_char( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                const char *buffer,
                                size_t size );
 
-herr_t H5LTset_attribute_uchar( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_uchar( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                const unsigned char *buffer,
                                size_t size );
 
-herr_t H5LTset_attribute_short( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_short( hid_t loc_id,
                               const char *obj_name,
                               const char *attr_name,
                               const short *buffer,
                               size_t size );
 
-herr_t H5LTset_attribute_ushort( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_ushort( hid_t loc_id,
                               const char *obj_name,
                               const char *attr_name,
                               const unsigned short *buffer,
                               size_t size );
 
-herr_t H5LTset_attribute_int( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_int( hid_t loc_id,
                               const char *obj_name,
                               const char *attr_name,
                               const int *buffer,
                               size_t size );
 
-herr_t H5LTset_attribute_uint( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_uint( hid_t loc_id,
                               const char *obj_name,
                               const char *attr_name,
                               const unsigned int *buffer,
                               size_t size );
 
-herr_t H5LTset_attribute_long( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_long( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                const long *buffer,
                                size_t size );
 
-herr_t H5LTset_attribute_ulong( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_ulong( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                const unsigned long *buffer,
                                size_t size );
 
-herr_t H5LTset_attribute_float( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_float( hid_t loc_id,
                                 const char *obj_name,
                                 const char *attr_name,
                                 const float *buffer,
                                 size_t size );
 
-herr_t H5LTset_attribute_double( hid_t loc_id,
+H5_HLDLL herr_t H5LTset_attribute_double( hid_t loc_id,
                                  const char *obj_name,
                                  const char *attr_name,
                                  const double *buffer,
@@ -226,63 +227,63 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t H5LTget_attribute( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute( hid_t loc_id,
                           const char *obj_name,
                           const char *attr_name,
                           hid_t mem_type_id,
                           void *data );
 
-herr_t H5LTget_attribute_string( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_string( hid_t loc_id,
                                  const char *obj_name,
                                  const char *attr_name,
                                  char *data );
 
-herr_t H5LTget_attribute_char( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_char( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                char *data );
 
-herr_t H5LTget_attribute_uchar( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_uchar( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                unsigned char *data );
 
-herr_t H5LTget_attribute_short( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_short( hid_t loc_id,
                                 const char *obj_name,
                                 const char *attr_name,
                                 short *data );
 
-herr_t H5LTget_attribute_ushort( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_ushort( hid_t loc_id,
                                 const char *obj_name,
                                 const char *attr_name,
                                 unsigned short *data );
 
-herr_t H5LTget_attribute_int( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_int( hid_t loc_id,
                               const char *obj_name,
                               const char *attr_name,
                               int *data );
 
-herr_t H5LTget_attribute_uint( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_uint( hid_t loc_id,
                               const char *obj_name,
                               const char *attr_name,
                               unsigned int *data );
 
-herr_t H5LTget_attribute_long( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_long( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                long *data );
 
-herr_t H5LTget_attribute_ulong( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_ulong( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                unsigned long *data );
 
-herr_t H5LTget_attribute_float( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_float( hid_t loc_id,
                                 const char *obj_name,
                                 const char *attr_name,
                                 float *data );
 
-herr_t H5LTget_attribute_double( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_double( hid_t loc_id,
                                  const char *obj_name,
                                  const char *attr_name,
                                  double *data );
@@ -296,12 +297,12 @@
  */
 
 
-herr_t H5LTget_attribute_ndims( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_ndims( hid_t loc_id,
                                 const char *obj_name,
                                 const char *attr_name,
                                 int *rank );
 
-herr_t H5LTget_attribute_info( hid_t loc_id,
+H5_HLDLL herr_t H5LTget_attribute_info( hid_t loc_id,
                                const char *obj_name,
                                const char *attr_name,
                                hsize_t *dims,
@@ -310,54 +311,27 @@
 
 
 
-
-
 /*-------------------------------------------------------------------------
  *
- * General functions
- *
- *-------------------------------------------------------------------------
- */
-
-
-hid_t H5LTcreate_compound_type( hsize_t nfields, size_t size, const char *field_names[],
-                                const size_t *field_offset, const hid_t *field_types );
-
-
-herr_t H5LTrepack( hsize_t nfields,
-                   hsize_t nrecords,
-                   size_t src_size,
-                   const size_t *src_offset,
-                   const size_t *src_sizes,
-                   size_t dst_size,
-                   const size_t *dst_offset,
-                   const size_t *dst_sizes,
-                   unsigned char *src_buf,
-                   unsigned char *dst_buf );
-
-
-
-/*-------------------------------------------------------------------------
- *
  * Private functions
  *
  *-------------------------------------------------------------------------
  */
 
 
-herr_t H5LT_get_attribute_mem( hid_t obj_id,
+H5_HLDLL herr_t H5LT_get_attribute_mem( hid_t obj_id,
                            const char *attr_name,
                            hid_t mem_type_id,
                            void *data );
 
-herr_t H5LT_get_attribute_disk( hid_t obj_id,
+H5_HLDLL herr_t H5LT_get_attribute_disk( hid_t obj_id,
                            const char *attr_name,
                            void *data );
 
-herr_t H5LT_find_attribute( hid_t loc_id, const char *name );
+H5_HLDLL herr_t H5LT_find_attribute( hid_t loc_id, const char *name );
 
 
-herr_t H5LT_set_attribute_numerical( hid_t loc_id,
+H5_HLDLL herr_t H5LT_set_attribute_numerical( hid_t loc_id,
                                      const char *obj_name,
                                      const char *attr_name,
                                      size_t size,

Modified: packages/hdf5/trunk/hl/src/H5TA.c
===================================================================
--- packages/hdf5/trunk/hl/src/H5TA.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/H5TA.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "H5TA.h"
@@ -63,7 +64,7 @@
  *
  * Date: January 17, 2001
  *
- * Comments: The data is packed
+ * Comments: 
  *
  * Modifications:
  *
@@ -541,8 +542,9 @@
  hid_t    member_type_id;
  hid_t    nmtype_id;
  hsize_t  count[1];
- hsize_t offset[1];
- hid_t    sid=-1;
+ hsize_t  offset[1];
+ hid_t    mem_space_id=-1;
+ hid_t    file_space_id=-1;
  char     *member_name;
  hssize_t  nfields;
  hssize_t  i, j;
@@ -625,35 +627,35 @@
 
  }
 
-  /* Get the dataspace handle */
- if ( (sid = H5Dget_space( did )) < 0 )
+ /* Get the dataspace handles */
+ if ( (file_space_id = H5Dget_space( did )) < 0 )
   goto out;
+ if ( (mem_space_id = H5Screate_simple(1, &nrecords, NULL)) < 0 )
+  goto out;
 
  /* Define a hyperslab in the dataset */
  offset[0] = start;
  count[0]  = nrecords;
- if ( H5Sselect_hyperslab( sid, H5S_SELECT_SET, offset, NULL, count, NULL) < 0 )
+ if ( H5Sselect_hyperslab(file_space_id, H5S_SELECT_SET, offset, NULL, count, NULL) < 0 )
   goto out;
 
  /* Write */
- if ( H5Dwrite( did, write_type_id, H5S_ALL, sid, PRESERVE, data ) < 0 )
+ if ( H5Dwrite( did, write_type_id, mem_space_id, file_space_id, PRESERVE, data ) < 0 )
   goto out;
 
- /* End access to the write id */
+ /* close */
  if ( H5Tclose( write_type_id ) )
   goto out;
-
- /* Release the datatype. */
  if ( H5Tclose( tid ) < 0 )
   return -1;
-
- /* End access to the dataset */
  if ( H5Dclose( did ) < 0 )
   return -1;
-
- /* End access to the property list */
  if ( H5Pclose( PRESERVE ) < 0 )
   return -1;
+ if ( H5Sclose( file_space_id ) < 0 )
+  return -1;
+ if ( H5Sclose( mem_space_id ) < 0 )
+  return -1;
 
 return 0;
 
@@ -662,7 +664,8 @@
  H5E_BEGIN_TRY {
   H5Pclose(PRESERVE);
   H5Dclose(did);
-  H5Sclose(sid);
+  H5Sclose(file_space_id);
+  H5Sclose(mem_space_id);
   H5Tclose(write_type_id);
   H5Tclose(tid);
  } H5E_END_TRY;
@@ -712,7 +715,8 @@
  hid_t    nmtype_id;
  hsize_t  count[1];
  hsize_t offset[1];
- hid_t    sid=-1;
+ hid_t    mem_space_id=-1;
+ hid_t    file_space_id=-1;
  char     *member_name;
  hsize_t  i, j;
  hid_t    PRESERVE;
@@ -788,35 +792,35 @@
 
  }
 
-  /* Get the dataspace handle */
- if ( (sid = H5Dget_space( did )) < 0 )
+  /* Get the dataspace handles */
+ if ( (file_space_id = H5Dget_space( did )) < 0 )
   goto out;
+ if ( (mem_space_id = H5Screate_simple(1, &nrecords, NULL)) < 0 )
+  goto out;
 
  /* Define a hyperslab in the dataset */
  offset[0] = start;
  count[0]  = nrecords;
- if ( H5Sselect_hyperslab( sid, H5S_SELECT_SET, offset, NULL, count, NULL) < 0 )
+ if ( H5Sselect_hyperslab( file_space_id, H5S_SELECT_SET, offset, NULL, count, NULL) < 0 )
   goto out;
 
  /* Write */
- if ( H5Dwrite( did, write_type_id, H5S_ALL, sid, PRESERVE, data ) < 0 )
+ if ( H5Dwrite( did, write_type_id, mem_space_id, file_space_id, PRESERVE, data ) < 0 )
   goto out;
 
- /* End access to the write id */
+ /* close */
  if ( H5Tclose( write_type_id ) )
   goto out;
-
- /* Release the datatype. */
  if ( H5Tclose( tid ) < 0 )
   return -1;
-
- /* End access to the dataset */
  if ( H5Dclose( did ) < 0 )
   return -1;
-
- /* End access to the property list */
  if ( H5Pclose( PRESERVE ) < 0 )
   return -1;
+ if ( H5Sclose( file_space_id ) < 0 )
+  return -1;
+ if ( H5Sclose( mem_space_id ) < 0 )
+  return -1;
 
 return 0;
 
@@ -825,7 +829,8 @@
  H5E_BEGIN_TRY {
   H5Pclose(PRESERVE);
   H5Dclose(did);
-  H5Sclose(sid);
+  H5Sclose(file_space_id);
+  H5Sclose(mem_space_id);
   H5Tclose(write_type_id);
   H5Tclose(tid);
  } H5E_END_TRY;
@@ -3492,18 +3497,22 @@
 
 int H5TB_find_field( const char *field, const char *field_list )
 {
- const char *start = field_list;
- const char *end;
-
- while ( (end = strstr( start, "," )) != 0 ) {
-    if ( strncmp(start,field,(size_t)(end-start)) == 0 ) return 1;
-    start = end + 1;
- }
-
- if ( strcmp( start, field ) == 0 ) return 1;
-
- return -1;
-
+    const char *start = field_list;
+    const char *end;
+    
+    while ( (end = strstr( start, "," )) != 0 ) 
+    {
+        size_t count = end - start;
+        if ( strncmp(start, field, count) == 0 && count == strlen(field) )
+            return 1;
+        start = end + 1;
+    }
+    
+    if ( strcmp( start, field ) == 0 )
+        return 1;
+    
+    return -1;
+    
 }
 
 

Modified: packages/hdf5/trunk/hl/src/H5TA.h
===================================================================
--- packages/hdf5/trunk/hl/src/H5TA.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/H5TA.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef _H5TB_H
@@ -42,7 +43,7 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t H5TBmake_table( const char *table_title,
+H5_HLDLL herr_t H5TBmake_table( const char *table_title,
                        hid_t loc_id,
                        const char *dset_name,
                        hsize_t nfields,
@@ -64,7 +65,7 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t H5TBappend_records( hid_t loc_id,
+H5_HLDLL herr_t H5TBappend_records( hid_t loc_id,
                            const char *dset_name,
                            hsize_t nrecords,
                            size_t type_size,
@@ -72,7 +73,7 @@
                            const size_t *dst_sizes,
                            const void *data );
 
-herr_t H5TBwrite_records( hid_t loc_id,
+H5_HLDLL herr_t H5TBwrite_records( hid_t loc_id,
                           const char *dset_name,
                           hsize_t start,
                           hsize_t nrecords,
@@ -82,7 +83,7 @@
                           const void *data );
 
 
-herr_t H5TBwrite_fields_name( hid_t loc_id,
+H5_HLDLL herr_t H5TBwrite_fields_name( hid_t loc_id,
                               const char *dset_name,
                               const char *field_names,
                               hsize_t start,
@@ -92,7 +93,7 @@
                               const size_t *dst_sizes,
                               const void *data );
 
-herr_t H5TBwrite_fields_index( hid_t loc_id,
+H5_HLDLL herr_t H5TBwrite_fields_index( hid_t loc_id,
                                const char *dset_name,
                                hsize_t nfields,
                                const int *field_index,
@@ -113,7 +114,7 @@
 
 
 
-herr_t H5TBread_table( hid_t loc_id,
+H5_HLDLL herr_t H5TBread_table( hid_t loc_id,
                        const char *dset_name,
                        size_t dst_size,
                        const size_t *dst_offset,
@@ -121,7 +122,7 @@
                        void *dst_buf );
 
 
-herr_t H5TBread_fields_name( hid_t loc_id,
+H5_HLDLL herr_t H5TBread_fields_name( hid_t loc_id,
                              const char *dset_name,
                              const char *field_names,
                              hsize_t start,
@@ -131,7 +132,7 @@
                              const size_t *dst_sizes,
                              void *data );
 
-herr_t H5TBread_fields_index( hid_t loc_id,
+H5_HLDLL herr_t H5TBread_fields_index( hid_t loc_id,
                               const char *dset_name,
                               hsize_t nfields,
                               const int *field_index,
@@ -143,7 +144,7 @@
                               void *data );
 
 
-herr_t H5TBread_records( hid_t loc_id,
+H5_HLDLL herr_t H5TBread_records( hid_t loc_id,
                          const char *dset_name,
                          hsize_t start,
                          hsize_t nrecords,
@@ -160,12 +161,12 @@
  */
 
 
-herr_t H5TBget_table_info ( hid_t loc_id,
+H5_HLDLL herr_t H5TBget_table_info ( hid_t loc_id,
                             const char *dset_name,
                             hsize_t *nfields,
                             hsize_t *nrecords );
 
-herr_t H5TBget_field_info( hid_t loc_id,
+H5_HLDLL herr_t H5TBget_field_info( hid_t loc_id,
                            const char *dset_name,
                            char *field_names[],
                            size_t *field_sizes,
@@ -181,13 +182,13 @@
  */
 
 
-herr_t H5TBdelete_record( hid_t loc_id,
+H5_HLDLL herr_t H5TBdelete_record( hid_t loc_id,
                           const char *dset_name,
                           hsize_t start,
                           hsize_t nrecords );
 
 
-herr_t H5TBinsert_record( hid_t loc_id,
+H5_HLDLL herr_t H5TBinsert_record( hid_t loc_id,
                           const char *dset_name,
                           hsize_t start,
                           hsize_t nrecords,
@@ -196,20 +197,20 @@
                           const size_t *dst_sizes,
                           void *data );
 
-herr_t H5TBadd_records_from( hid_t loc_id,
+H5_HLDLL herr_t H5TBadd_records_from( hid_t loc_id,
                              const char *dset_name1,
                              hsize_t start1,
                              hsize_t nrecords,
                              const char *dset_name2,
                              hsize_t start2 );
 
-herr_t H5TBcombine_tables( hid_t loc_id1,
+H5_HLDLL herr_t H5TBcombine_tables( hid_t loc_id1,
                            const char *dset_name1,
                            hid_t loc_id2,
                            const char *dset_name2,
                            const char *dset_name3 );
 
-herr_t H5TBinsert_field( hid_t loc_id,
+H5_HLDLL herr_t H5TBinsert_field( hid_t loc_id,
                          const char *dset_name,
                          const char *field_name,
                          hid_t field_type,
@@ -217,7 +218,7 @@
                          const void *fill_data,
                          const void *data );
 
-herr_t H5TBdelete_field( hid_t loc_id,
+H5_HLDLL herr_t H5TBdelete_field( hid_t loc_id,
                          const char *dset_name,
                          const char *field_name );
 
@@ -229,10 +230,10 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t H5TBAget_title( hid_t loc_id,
+H5_HLDLL herr_t H5TBAget_title( hid_t loc_id,
                        char *table_title );
 
-herr_t H5TBAget_fill( hid_t loc_id,
+H5_HLDLL herr_t H5TBAget_fill( hid_t loc_id,
                       const char *dset_name,
                       hid_t dset_id,
                       unsigned char *dst_buf );

Modified: packages/hdf5/trunk/hl/src/Makefile.in
===================================================================
--- packages/hdf5/trunk/hl/src/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/src/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ## HDF5 Library Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## 
 top_srcdir=@top_srcdir@
 top_builddir=../..

Copied: packages/hdf5/trunk/hl/test/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/hl/test/COPYING)
===================================================================
--- packages/hdf5/trunk/hl/test/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/hl/test/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/hl/test/Dependencies
===================================================================
--- packages/hdf5/trunk/hl/test/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/test/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,26 +2,129 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 test_lite.lo: \
    $(srcdir)/test_lite.c \
-   $(top_srcdir)/hl/src/H5LT.h
+   $(top_srcdir)/hl/src/H5LT.h \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h
 test_image.lo: \
    $(srcdir)/test_image.c \
    $(top_srcdir)/hl/src/H5IM.h \
-   $(top_srcdir)/hl/src/H5LT.h
+   $(top_srcdir)/hl/src/H5LT.h \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h
 test_table.lo: \
    $(srcdir)/test_table.c \
    $(top_srcdir)/hl/src/H5TA.h \
-   $(top_srcdir)/hl/src/H5LT.h
+   $(top_srcdir)/hl/src/H5LT.h \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h

Modified: packages/hdf5/trunk/hl/test/Makefile.in
===================================================================
--- packages/hdf5/trunk/hl/test/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/test/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 ## HDF5 Library Test Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## 
 top_srcdir=@top_srcdir@
 top_builddir=../..

Modified: packages/hdf5/trunk/hl/test/test_image.c
===================================================================
--- packages/hdf5/trunk/hl/test/test_image.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/test/test_image.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,187 +9,231 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
 #include "H5IM.h"
 
 #define FILE_NAME "test_image.h5"
-#define WIDTH  (hsize_t)500
-#define HEIGHT (hsize_t)200
-unsigned char image_in1 [ WIDTH*HEIGHT ];
-unsigned char image_out1[ WIDTH*HEIGHT ];
-unsigned char image_in2 [ WIDTH*HEIGHT*3 ];
-unsigned char image_out2[ WIDTH*HEIGHT*3 ];
 
+#define WIDTH        400
+#define HEIGHT       200
+#define PAL_ENTRIES  256
+#define IMAGE1_NAME  "image1"
+#define IMAGE2_NAME  "image2"
+#define PAL_NAME     "palette"
 
+
 /*-------------------------------------------------------------------------
  * the main program
  *-------------------------------------------------------------------------
  */
 int main( void )
 {
- hid_t         file_id;
- hsize_t       width, height, planes;
- hsize_t       pal_dims[] = {9,3};
- hsize_t       pal_dims_out[2];
- hsize_t       i;
- char          interlace[20];
- hssize_t      npals;
+    hsize_t       width    = WIDTH;
+    hsize_t       height   = HEIGHT;
+    hsize_t       planes;
+    hid_t         fid;
+    int           i, j, n, space;
+    char          interlace[20];
+    hssize_t      npals;
+    
+    /* 8-bit image */
+    unsigned char buf1 [ WIDTH*HEIGHT ];
+    unsigned char pal[ PAL_ENTRIES * 3 ];        /* palette array */
+    hsize_t       pal_dims[2] = {PAL_ENTRIES,3}; /* palette dimensions */
+    
+    /* 24-bit image */
+    unsigned char buf2 [ WIDTH*HEIGHT*3 ];
+    
+    /* read data */
+    unsigned char buf1_out [ WIDTH*HEIGHT ];
+    unsigned char buf2_out [ WIDTH*HEIGHT*3 ];
+    unsigned char pal_out[ PAL_ENTRIES * 3 ];    /* palette array */
+    hsize_t       pal_dims_out[2];               /* palette dimensions */
+    
+    /* create an image */
+    space = WIDTH*HEIGHT / PAL_ENTRIES;
+    for (i=0, j=0, n=0; i < WIDTH*HEIGHT; i++, j++ )
+    {
+        buf1[i] = n;
+        if ( j > space )
+        {
+            n++;
+            j=0;
+        }
+        
+    }
+    
+    
+    /* create an image */
+    space = WIDTH*HEIGHT / 256;
+    for (i=0, j=0, n=0; i < WIDTH*HEIGHT*3; i+=3, j++ )
+    {
+        unsigned char r, g, b;
 
- unsigned char pal_data_out[9*3];
- /* create a 9 entry grey palette */
- unsigned char pal_data_in[9*3] = {0,0,0,
- 25,25,25,
- 50,50,50,
- 75,75,75,
- 100,100,100,
- 125,125,125,
- 150,150,150,
- 175,175,175,
- 200,200,200};
-
- for (i = 0; i < WIDTH*HEIGHT; i++ )
-  image_in1[i] = (unsigned char)i;
- for (i = 0; i < WIDTH*HEIGHT*3; i++)
-  image_in2[i] = (unsigned char)i;
-
- /* Create a new HDF5 file using default properties. */
- file_id = H5Fcreate(FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT );
-
-/*-------------------------------------------------------------------------
- * Indexed image test
- *-------------------------------------------------------------------------
- */
-
- TESTING("indexed image");
-
- /* Write image */
- if ( H5IMmake_image_8bit( file_id, "Image1", WIDTH, HEIGHT, image_in1 ) < 0 )
-  goto out;
-
- /* Make a palette */
- if ( H5IMmake_palette( file_id, "Pallete", pal_dims, pal_data_in ) < 0 )
-  goto out;
-
-  /* Attach a palette to the image dataset */
- if ( H5IMlink_palette( file_id, "Image1", "Pallete" ) < 0 )
-  goto out;
-
- /* Read image */
- if ( H5IMget_image_info( file_id, "Image1", &width, &height, &planes, interlace, &npals ) < 0 )
-  goto out;
-
- if ( H5IMread_image( file_id, "Image1", image_out1 ) < 0 )
-  goto out;
-
- for (i = 0; i < height*width*planes; i++) {
-  if ( image_in1[i] != image_out1[i] ) {
-    goto out;
-
-  }
- }
-
- PASSED();
-
-/*-------------------------------------------------------------------------
- * True color image test
- *-------------------------------------------------------------------------
- */
-
- TESTING("true color image");
-
- /* Write image */
- if ( H5IMmake_image_24bit( file_id, "Image2", WIDTH, HEIGHT, "INTERLACE_PIXEL", image_in2 ) )
-  goto out;
-
- /* Read image */
- if ( H5IMget_image_info( file_id, "Image2", &width, &height, &planes, interlace, &npals ) < 0 )
-  goto out;
-
- if ( H5IMread_image( file_id, "Image2", image_out2 ) < 0 )
-  goto out;
-
- for (i = 0; i < height*width*planes; i++) {
-  if ( image_in2[i] != image_out2[i] ) {
-    goto out;
-  }
- }
-
- PASSED();
-
-/*-------------------------------------------------------------------------
- * H5IMget_npalettes test
- *-------------------------------------------------------------------------
- */
-
- TESTING("pallete functions");
-
- if ( H5IMget_npalettes( file_id, "Image1", &npals ) < 0 )
-  goto out;
-
-/*-------------------------------------------------------------------------
- * H5IMget_palette_info test
- *-------------------------------------------------------------------------
- */
-
- if ( H5IMget_palette_info( file_id, "Image1", 0, pal_dims_out ) < 0 )
-  goto out;
-
- for (i = 0; i < 2; i++) {
-  if ( pal_dims[i] != pal_dims_out[i] ) {
-    goto out;
-  }
- }
-
-/*-------------------------------------------------------------------------
- * H5IMget_palette test
- *-------------------------------------------------------------------------
- */
-
- if ( H5IMget_palette( file_id, "Image1", 0, pal_data_out ) < 0 )
-  goto out;
-
- for (i = 0; i < 9*3; i++) {
-  if ( pal_data_in[i] != pal_data_out[i] ) {
-   goto out;
-  }
- }
-
-/*-------------------------------------------------------------------------
- * H5IMis_image test
- *-------------------------------------------------------------------------
- */
-
- if ( H5IMis_image( file_id, "Image1" ) < 0 )
-  goto out;
-
- if ( H5IMis_image( file_id, "Image2" ) < 0 )
-  goto out;
-
-/*-------------------------------------------------------------------------
- * H5IMis_palette test
- *-------------------------------------------------------------------------
- */
-
- if ( H5IMis_palette( file_id, "Pallete" ) < 0 )
-  goto out;
-
-/*-------------------------------------------------------------------------
- * end tests
- *-------------------------------------------------------------------------
- */
-
-     /* Close the file. */
- if(H5Fclose( file_id ) < 0) goto out;
-
- PASSED();
- return 0;
-
+        r = n; g = 0; b = 255-n;
+        buf2[i]   = r;
+        buf2[i+1] = g;
+        buf2[i+2] = b;
+        if ( j > space )
+        {
+            n++;
+            j=0;
+        }
+    }
+    
+   /*-------------------------------------------------------------------------
+    * define a palette, blue to red tones 
+    *-------------------------------------------------------------------------
+    */
+    for ( i=0, n=0; i<PAL_ENTRIES*3; i+=3, n++)
+    {
+        pal[i]  =n;      /* red */
+        pal[i+1]=0;      /* green */
+        pal[i+2]=255-n;  /* blue */
+    }
+    
+    /* Create a new HDF5 file using default properties. */
+    fid = H5Fcreate(FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT );
+    
+   /*-------------------------------------------------------------------------
+    * Indexed image test
+    *-------------------------------------------------------------------------
+    */
+    
+    TESTING("indexed image");
+    
+    /* Write image */
+    if ( H5IMmake_image_8bit( fid, IMAGE1_NAME, width, height, buf1 ) < 0 )
+        goto out;
+    
+    /* Make a palette */
+    if ( H5IMmake_palette( fid, PAL_NAME, pal_dims, pal ) < 0 )
+        goto out;
+    
+    /* Attach a palette to the image dataset */
+    if ( H5IMlink_palette( fid, IMAGE1_NAME, PAL_NAME ) < 0 )
+        goto out;
+    
+    /* Read image */
+    if ( H5IMget_image_info( fid, IMAGE1_NAME, &width, &height, &planes, interlace, &npals ) < 0 )
+        goto out;
+    
+    if ( H5IMread_image( fid, IMAGE1_NAME, buf1_out ) < 0 )
+        goto out;
+    
+    for (i = 0; i < height*width*planes; i++) 
+    {
+        if ( buf1[i] != buf1_out[i] ) 
+            goto out;
+ 
+    }
+    
+    
+    PASSED();
+    
+   /*-------------------------------------------------------------------------
+    * True color image test
+    *-------------------------------------------------------------------------
+    */
+    
+    TESTING("true color image");
+    
+    /* Write image */
+    if ( H5IMmake_image_24bit( fid, IMAGE2_NAME, width, height, "INTERLACE_PIXEL", buf2 ) )
+        goto out;
+    
+    /* Read image */
+    if ( H5IMget_image_info( fid, IMAGE2_NAME, &width, &height, &planes, interlace, &npals ) < 0 )
+        goto out;
+    
+    if ( H5IMread_image( fid, IMAGE2_NAME, buf2_out ) < 0 )
+        goto out;
+    
+    for (i = 0; i < height*width*planes; i++) 
+    {
+        if ( buf2[i] != buf2_out[i] ) 
+            goto out;
+    }
+    
+    
+    PASSED();
+    
+   /*-------------------------------------------------------------------------
+    * H5IMget_npalettes test
+    *-------------------------------------------------------------------------
+    */
+    
+    TESTING("pallete functions");
+    
+    if ( H5IMget_npalettes( fid, IMAGE1_NAME, &npals ) < 0 )
+        goto out;
+    
+   /*-------------------------------------------------------------------------
+    * H5IMget_palette_info test
+    *-------------------------------------------------------------------------
+    */
+    
+    if ( H5IMget_palette_info( fid, IMAGE1_NAME, 0, pal_dims_out ) < 0 )
+        goto out;
+    
+    for (i = 0; i < 2; i++) 
+    {
+        if ( pal_dims[i] != pal_dims_out[i] ) 
+            goto out;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * H5IMget_palette test
+    *-------------------------------------------------------------------------
+    */
+    
+    if ( H5IMget_palette( fid, IMAGE1_NAME, 0, pal_out ) < 0 )
+        goto out;
+    
+    for (i = 0; i < PAL_ENTRIES * 3; i++) 
+    {
+        if ( pal[i] != pal_out[i] ) 
+            goto out;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * H5IMis_image test
+    *-------------------------------------------------------------------------
+    */
+    
+    if ( H5IMis_image( fid, IMAGE1_NAME ) < 0 )
+        goto out;
+    
+    if ( H5IMis_image( fid, IMAGE2_NAME ) < 0 )
+        goto out;
+    
+   /*-------------------------------------------------------------------------
+    * H5IMis_palette test
+    *-------------------------------------------------------------------------
+    */
+    
+    if ( H5IMis_palette( fid, PAL_NAME ) < 0 )
+        goto out;
+    
+   /*-------------------------------------------------------------------------
+    * end tests
+    *-------------------------------------------------------------------------
+    */
+    
+    /* Close the file. */
+    if(H5Fclose( fid ) < 0) 
+        goto out;
+    
+    
+    PASSED();
+    return 0;
+    
 out:
- H5_FAILED();
- return 1;
-
+    H5_FAILED();
+    return 1;
+    
 }

Modified: packages/hdf5/trunk/hl/test/test_lite.c
===================================================================
--- packages/hdf5/trunk/hl/test/test_lite.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/test/test_lite.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdlib.h>

Modified: packages/hdf5/trunk/hl/test/test_table.c
===================================================================
--- packages/hdf5/trunk/hl/test/test_table.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/hl/test/test_table.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "H5TA.h"
@@ -52,9 +53,11 @@
  *-------------------------------------------------------------------------
  */
 
-#define TITLE "Title"
-#define NFIELDS  (hsize_t)5
-#define NRECORDS (hsize_t)8
+#define TITLE           "Title"
+#define NFIELDS          5
+#define NRECORDS         8
+#define NRECORDS_ADD     3
+
 #define TESTING2(WHAT) {printf("%-70s", "Testing     " WHAT); fflush(stdout);}
 
 /*-------------------------------------------------------------------------
@@ -145,7 +148,12 @@
  hsize_t     position;
  char        tname[20];
 
+ /* indices */
+ int i, j;
+
  /* write, read, append, delete, insert some records and fields */
+ hsize_t FIELDS   = NFIELDS;
+ hsize_t RECORDS  = NRECORDS;
  hsize_t start;
  hsize_t wstart;
  hsize_t rstart;
@@ -159,7 +167,6 @@
  hsize_t drecords;
  hsize_t nfields;
  hsize_t rfields;
- hsize_t i, j;
  hsize_t start1;      /* record to start reading from 1st table */
  hsize_t start2;      /* record to start writing in 2nd table */
 
@@ -189,15 +196,10 @@
  float           pressure_out [NRECORDS];
  int             buf_new[NRECORDS] = { 0,1,2,3,4,5,6,7 };
  /* buffers for the fields "Latitude,Longitude"  */
- position_t      position_out[NRECORDS];
- position_t      position_in[NRECORDS] = { {0,0},
+ position_t      position_out[NRECORDS_ADD];
+ position_t      position_in[NRECORDS_ADD] = { {0,0},
  {10,10},
- {20,20},
- {30,30},
- {40,40},
- {50,50},
- {60,60},
- {70,70} };
+ {20,20}};
  /* buffers for the fields "Name,Pressure"  */
  namepressure_t   namepre_out[NRECORDS];
  namepressure_t   namepre_in[NRECORDS] =
@@ -351,7 +353,7 @@
  {
  TESTING2("making table");
 
- if (H5TBmake_table(TITLE,fid,"table1",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table1",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
@@ -392,7 +394,7 @@
  TESTING2("writing records");
 
  /* create an empty table */
- if (H5TBmake_table(TITLE,fid,"table2",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table2",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,0)<0)
                     goto out;
@@ -456,7 +458,7 @@
   goto out;
 
  /* compare */
- for( i=rstart; i<rrecords; i++)
+ for( i=(int)rstart; i<(int)rrecords; i++)
  {
   if (cmp_par(i,i,rbuf,wbuf)<0)
    goto out;
@@ -496,12 +498,12 @@
 
  /* compare */
  wrecords=8;
- for( i=rstart; i<wrecords; i++)
+ for( i=(int)rstart; i<(int)wrecords; i++)
  {
   if (cmp_par(i,i,rbuf,wbuf)<0)
    goto out;
  }
- for( i=wrecords, j=0; i<rrecords; i++,j++)
+ for( i=(int)wrecords, j=0; i<(int)rrecords; i++,j++)
  {
   if (cmp_par(i,j,rbuf,abuf)<0)
    goto out;
@@ -547,15 +549,15 @@
    if (cmp_par(i,i,rbuf,wbuf)<0)
     goto out;
   }
-  else if (i>=istart && i<istart+irecords)
+  else if (i>=(int)istart && i<(int)istart+(int)irecords)
   {
-   j=i-istart;
+   j=i-(int)istart;
    if (cmp_par(i,j,rbuf,ibuf)<0)
     goto out;
   }
-  else if (i>=istart+irecords && i<10)
+  else if (i>=(int)istart+(int)irecords && i<10)
   {
-   j=i-irecords;
+   j=i-(int)irecords;
    if (cmp_par(i,j,rbuf,wbuf)<0)
     goto out;
   }
@@ -588,10 +590,19 @@
  * data= 0 1 2 3 4 5 6 7
  *-------------------------------------------------------------------------
  */
+
  for( i=0; i<NRECORDS; i++)
-  wbufd[i] = wbuf[i];
+ {
+  wbufd[i].lati = wbuf[i].lati;
+  wbufd[i].longi = wbuf[i].longi;
+  wbufd[i].pressure = wbuf[i].pressure;
+  wbufd[i].temperature = wbuf[i].temperature;
+  strcpy(wbufd[i].name, wbuf[i].name );
+  
+ }
 
- if (H5TBmake_table(TITLE,fid,"table3",NFIELDS,NRECORDS,type_size_mem,
+
+ if (H5TBmake_table(TITLE,fid,"table3",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbufd)<0)
                     goto out;
@@ -750,11 +761,11 @@
  TESTING2("adding records");
 
  /* create 2 tables */
- if (H5TBmake_table(TITLE,fid,"table4",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table4",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
- if (H5TBmake_table(TITLE,fid,"table5",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table5",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
@@ -778,15 +789,15 @@
    if (cmp_par(i,i,rbuf,wbuf)<0)
     goto out;
   }
-  else if ( i < start2+nrecords )
+  else if ( i < (int)start2+(int)nrecords )
   {
-   j = i-start1;
+   j = i-(int)start1;
    if (cmp_par(i,j,rbuf,wbuf)<0)
     goto out;
   }
   else
   {
-   j = i-nrecords;
+   j = i-(int)nrecords;
    if (cmp_par(i,j,rbuf,wbuf)<0)
     goto out;
   }
@@ -810,11 +821,11 @@
  TESTING2("combining tables");
 
  /* create 2 tables */
- if (H5TBmake_table(TITLE,fid,"table6",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table6",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
- if (H5TBmake_table(TITLE,fid,"table7",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table7",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
@@ -852,11 +863,11 @@
  fid2 = H5Fcreate("combine_tables2.h5",H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT);
 
  /* create 2 tables, one in each file */
- if (H5TBmake_table(TITLE,fid1,"table1",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid1,"table1",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
- if (H5TBmake_table(TITLE,fid2,"table2",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid2,"table2",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;
@@ -905,14 +916,14 @@
  TESTING2("writing fields by name");
 
  /* make an empty table with fill values */
- if (H5TBmake_table(TITLE,fid,"table9",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table9",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill1,compress,0)<0)
                     goto out;
 
  /* write the pressure field starting at record 2 */
  start    = 2;
- nrecords = 3;
+ nrecords = NRECORDS_ADD;
  if (H5TBwrite_fields_name(fid,"table9","Pressure",start,nrecords,sizeof(float),
   0,field_sizes_pre,pressure_in)<0)
   goto out;
@@ -930,24 +941,30 @@
  if (H5TBread_table(fid,"table9",type_size_mem,field_offset,field_size,rbuf)<0)
   goto out;
 
- /* compare the read values with the initial values */
- for( i = 0; i < NRECORDS; i++ )
- {
-  if ( i >= 2 && i <= 4 )
   {
-    if ( rbuf[i].lati        != position_in[i].lati ||
-         rbuf[i].longi       != position_in[i].longi ||
-         rbuf[i].pressure    != pressure_in[i] )
+   
+   
+   /* compare the read values with the initial values */
+   for( i = 0; i < NRECORDS; i++ )
+   {
+    if ( i >= 2 && i <= 4 )
     {
-     fprintf(stderr,"%ld %f %d\n",
-      rbuf[i].longi,rbuf[i].pressure,rbuf[i].lati);
-     fprintf(stderr,"%ld %f %d\n",
-      position_in[i].longi,pressure_in[i],position_in[i].lati);
+     if ( rbuf[i].lati        != position_in[i-NRECORDS_ADD+1].lati ||
+      rbuf[i].longi       != position_in[i-NRECORDS_ADD+1].longi ||
+      rbuf[i].pressure    != pressure_in[i-NRECORDS_ADD+1] )
+     {
+      fprintf(stderr,"%ld %f %d\n",
+       rbuf[i].longi,rbuf[i].pressure,rbuf[i].lati);
+      fprintf(stderr,"%ld %f %d\n",
+       position_in[i].longi,pressure_in[i],position_in[i].lati);
       goto out;
+     }
     }
+   }
   }
- }
 
+
+
  PASSED();
  } /*write*/
 
@@ -967,7 +984,7 @@
  */
  if (write)
  {
-  if (H5TBmake_table(TITLE,fid,"table10",NFIELDS,NRECORDS,type_size_mem,
+  if (H5TBmake_table(TITLE,fid,"table10",FIELDS,RECORDS,type_size_mem,
    field_names,field_offset,field_type,
    chunk_size,fill1,compress,0)<0)
    goto out;
@@ -987,6 +1004,7 @@
   sizeof(float),0,field_sizes_pre,pressure_out)<0)
   goto out;
 
+
  /* Compare the extracted table with the initial values */
  for( i = 0; i < NRECORDS; i++ )
  {
@@ -1003,7 +1021,7 @@
  {
   /* Write the new longitude and latitude information to all the records */
   start    = 0;
-  nrecords = NRECORDS;
+  nrecords = NRECORDS_ADD;
   if ( H5TBwrite_fields_name(fid,"table10", "Latitude,Longitude", start, nrecords,
    sizeof( position_t ), field_offset_pos, field_sizes_pos, position_in  ) < 0 )
    goto out;
@@ -1011,13 +1029,14 @@
 
  /* Read the "Latitude,Longitude" fields */
  start    = 0;
- nrecords = NRECORDS;
+ nrecords = NRECORDS_ADD;
  if ( H5TBread_fields_name( fid, "table10", "Latitude,Longitude",
   start, nrecords, sizeof(position_t), field_offset_pos, field_sizes_pos, position_out ) < 0 )
   goto out;
 
+
  /* Compare the extracted table with the initial values */
- for( i = 0; i < NRECORDS; i++ )
+ for( i = 0; i < NRECORDS_ADD; i++ )
  {
   if ( position_out[i].lati  != position_in[i].lati ||
    position_out[i].longi != position_in[i].longi )
@@ -1047,6 +1066,7 @@
    namepre_out ) < 0 )
   goto out;
 
+
  /* Compare the extracted table with the initial values */
  for( i = 0; i < NRECORDS; i++ )
  {
@@ -1055,6 +1075,7 @@
    goto out;
   }
  }
+
  /* reset buffer */
  for( i = 0; i < NRECORDS; i++ )
  {
@@ -1073,14 +1094,19 @@
    field_sizes_namepre, namepre_out ) < 0 )
   goto out;
 
+
  /* Compare the extracted table with the initial values */
  for( i = 0; i < 3; i++ )
  {
-  if ( ( strcmp( namepre_out[i].name,  namepre_in[start+i].name ) != 0 ) ||
-         namepre_out[i].pressure != namepre_in[start+i].pressure ) {
+  int iistart = (int) start;
+  if ( ( strcmp( namepre_out[i].name,  namepre_in[iistart+i].name ) != 0 ) ||
+         namepre_out[i].pressure != namepre_in[iistart+i].pressure ) {
    goto out;
   }
  }
+
+ 
+
  PASSED();
 
 /*-------------------------------------------------------------------------
@@ -1096,7 +1122,7 @@
  TESTING2("writing fields by index");
 
  /* make an empty table */
- if (H5TBmake_table(TITLE,fid,"table11",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table11",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,NULL)<0)
                     goto out;
@@ -1104,7 +1130,7 @@
  /* write the pressure field starting at record 2 */
  nfields  = 1;
  start    = 2;
- nrecords = 3;
+ nrecords = NRECORDS_ADD;
  if ( H5TBwrite_fields_index(fid, "table11", nfields, field_index_pre, start, nrecords,
    sizeof( float ), 0, field_sizes_pre, pressure_in  ) < 0 )
   goto out;
@@ -1113,7 +1139,7 @@
  /* write the new longitude and latitude information starting at record 2  */
  nfields  = 2;
  start    = 2;
- nrecords = 3;
+ nrecords = NRECORDS_ADD;
  if ( H5TBwrite_fields_index(fid, "table11", nfields, field_index_pos, start, nrecords,
    sizeof( position_t ), field_offset_pos, field_sizes_pos, position_in  ) < 0 )
   goto out;
@@ -1131,9 +1157,9 @@
  {
   if ( i >= 2 && i <= 4 )
   {
-    if ( rbuf[i].lati        != position_in[i].lati ||
-         rbuf[i].longi       != position_in[i].longi ||
-         rbuf[i].pressure    != pressure_in[i] )
+    if ( rbuf[i].lati        != position_in[i-NRECORDS_ADD+1].lati ||
+         rbuf[i].longi       != position_in[i-NRECORDS_ADD+1].longi ||
+         rbuf[i].pressure    != pressure_in[i-NRECORDS_ADD+1] )
    goto out;
   }
  }
@@ -1156,7 +1182,7 @@
  if (write)
  {
  /* make an empty table */
- if (H5TBmake_table(TITLE,fid,"table12",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table12",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,NULL)<0)
                     goto out;
@@ -1209,13 +1235,13 @@
  /* read the "Latitude,Longitude" fields */
  nfields = 2;
  start    = 0;
- nrecords = NRECORDS;
+ nrecords = NRECORDS_ADD;
  if ( H5TBread_fields_index(fid, "table12", nfields, field_index_pos,
    start, nrecords, sizeof(position_t), field_offset_pos, field_sizes_pos, position_out ) < 0 )
   goto out;
 
  /* compare the extracted table with the initial values */
- for( i = 0; i < NRECORDS; i++ )
+ for( i = 0; i < NRECORDS_ADD; i++ )
  {
   if ( position_out[i].lati  != position_in[i].lati ||
        position_out[i].longi != position_in[i].longi ) {
@@ -1281,8 +1307,9 @@
  /* compare the extracted table with the initial values */
  for( i = 0; i < 3; i++ )
  {
-  if ( ( strcmp( namepre_out[i].name,  wbuf[start+i].name ) != 0 ) ||
-   namepre_out[i].pressure != wbuf[start+i].pressure ) {
+  int iistart = (int) start;
+  if ( ( strcmp( namepre_out[i].name,  wbuf[iistart+i].name ) != 0 ) ||
+   namepre_out[i].pressure != wbuf[iistart+i].pressure ) {
    goto out;
   }
  }
@@ -1304,7 +1331,7 @@
  TESTING2("inserting fields");
 
  /* make a table */
- if (H5TBmake_table(TITLE,fid,"table13",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table13",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill1,compress,wbuf)<0)
                     goto out;
@@ -1348,7 +1375,7 @@
  TESTING2("deleting fields");
 
   /* make a table */
- if (H5TBmake_table(TITLE,fid,"table14",NFIELDS,NRECORDS,type_size_mem,
+ if (H5TBmake_table(TITLE,fid,"table14",FIELDS,RECORDS,type_size_mem,
                     field_names,field_offset,field_type,
                     chunk_size,fill,compress,wbuf)<0)
                     goto out;

Copied: packages/hdf5/trunk/hl/tools (from rev 1094, packages/hdf5/branches/upstream/current/hl/tools)

Copied: packages/hdf5/trunk/perform/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/perform/COPYING)
===================================================================
--- packages/hdf5/trunk/perform/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/perform/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/perform/Dependencies
===================================================================
--- packages/hdf5/trunk/perform/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 iopipe.lo: \
    $(srcdir)/iopipe.c \

Modified: packages/hdf5/trunk/perform/Makefile.in
===================================================================
--- packages/hdf5/trunk/perform/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Performance Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -31,8 +32,6 @@
 TEST_PROGS_PARA=h5perf
 TEST_PROGS=iopipe chunk overhead zip_perf perf_meta
 
-PUB_PROGS=h5perf
-
 ## These are the files that `make clean' (and derivatives) will remove from
 ## this directory.
 CLEAN=*.h5 *.raw *.dat x-gnuplot

Modified: packages/hdf5/trunk/perform/benchpar.c
===================================================================
--- packages/hdf5/trunk/perform/benchpar.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/benchpar.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <unistd.h>

Modified: packages/hdf5/trunk/perform/chunk.c
===================================================================
--- packages/hdf5/trunk/perform/chunk.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/chunk.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/gen_report.pl
===================================================================
--- packages/hdf5/trunk/perform/gen_report.pl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/gen_report.pl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/usr/bin/perl
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 
 #

Modified: packages/hdf5/trunk/perform/iopipe.c
===================================================================
--- packages/hdf5/trunk/perform/iopipe.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/iopipe.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/mpi-perf.c
===================================================================
--- packages/hdf5/trunk/perform/mpi-perf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/mpi-perf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/overhead.c
===================================================================
--- packages/hdf5/trunk/perform/overhead.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/overhead.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/perf.c
===================================================================
--- packages/hdf5/trunk/perform/perf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/perf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -460,7 +461,7 @@
 #else /* H5_HAVE_PARALLEL */
 /* dummy program since H5_HAVE_PARALLE is not configured in */
 int
-main()
+main(int UNUSED argc, char UNUSED **argv)
 {
 printf("No parallel performance because parallel is not configured in\n");
 return(0);

Modified: packages/hdf5/trunk/perform/perf_meta.c
===================================================================
--- packages/hdf5/trunk/perform/perf_meta.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/perf_meta.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/pio_engine.c
===================================================================
--- packages/hdf5/trunk/perform/pio_engine.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/pio_engine.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/pio_perf.c
===================================================================
--- packages/hdf5/trunk/perform/pio_perf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/pio_perf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/pio_perf.h
===================================================================
--- packages/hdf5/trunk/perform/pio_perf.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/pio_perf.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef PIO_PERF_H__

Modified: packages/hdf5/trunk/perform/pio_timer.c
===================================================================
--- packages/hdf5/trunk/perform/pio_timer.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/pio_timer.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/perform/pio_timer.h
===================================================================
--- packages/hdf5/trunk/perform/pio_timer.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/pio_timer.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef PIO_TIMER__

Modified: packages/hdf5/trunk/perform/zip_perf.c
===================================================================
--- packages/hdf5/trunk/perform/zip_perf.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/perform/zip_perf.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* ===========================================================================

Copied: packages/hdf5/trunk/release_docs/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/release_docs/COPYING)
===================================================================
--- packages/hdf5/trunk/release_docs/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/release_docs/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/release_docs/HISTORY.txt
===================================================================
--- packages/hdf5/trunk/release_docs/HISTORY.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/HISTORY.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,6 +4,7 @@
 
 CONTENTS
 
+19.     Release Information for hdf5-1.6.5
 18.     Release Information for hdf5-1.6.4
 17.     Release Information for hdf5-1.6.3
 16.     Release Information for hdf5-1.6.2
@@ -26,6 +27,625 @@
 
 [Search on the string '%%%%' for per-release section breaks.]
 
+%%%%1.6.5%%%%   Release Information for hdf5-1.6.5 (10/November/05)
+
+
+HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
+================================================================================
+
+INTRODUCTION
+============
+This document describes the differences between HDF5-1.6.4 and
+HDF5-1.6.5.  It contains information on the platforms tested and
+known problems in HDF5-1.6.5. For more details, check the HISTORY.txt
+file in the HDF5 source.
+
+The HDF5 documentation can be found on the NCSA ftp server
+(ftp.ncsa.uiuc.edu) in the directory:
+
+     /HDF/HDF5/docs/
+
+Documentation for the current release is also on the HDF web site:
+
+     http://hdf.ncsa.uiuc.edu/HDF5/doc/
+
+For more information look at the HDF5 home page at:
+
+    http://hdf.ncsa.uiuc.edu/HDF5/
+
+If you have any questions or comments, please send them to:
+
+    hdfhelp at ncsa.uiuc.edu
+
+
+CONTENTS
+========
+- New Features
+- Support for New Platforms, Languages and Compilers
+- Bug Fixes since HDF5-1.6.4
+- Documentation
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+    Configuration:
+    -------------------------
+	- Added yodconfigure, a configure tool, that patches up the configure
+	  file to allow configure to launch executable via the proper
+	  launching command like "yod -sz 1".  AKC - 2005/11/10
+	- Configure now recognizes the TR variable as the location of the
+          tr utility.  JML 2005/10/20
+
+    Source code distribution:
+    -------------------------
+	- Added g95 as a testing "platform" informally. AKC - 2005/10/04.
+        - Added MD5 checksumming to snapshot releases.  Releases will now
+          produce an .md5 file as well as a .tar archive.  md5sum can be
+          used to verify the arvhice with the .md5 checksum.  -JL 2005/09/06
+
+    Library:
+    --------
+        - Added HSYS_ERROR which retrieves the system error message and pushes
+          it to the error stack.  This provides more information regarding the 
+	  failed system call. AKC - 2005/08/04
+        - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
+          allow querying for objects in a file that was opened with a particular
+          file ID, instead of all objects opened in the file with any file ID.
+          QAK - 2005/06/01
+
+    Parallel Library:
+    -----------------
+	- Added mpich2 as a testing "platform" informally. AKC - 2005/10/04.
+	- HDF5 supports collective MPI-IO for irregular selection with HDF5
+	  dataset. Irregular selection is when users use API H5Sselect_hyperslab
+	  more than once for the same dataset.
+	  Currently, not all MPI-IO packages support the complicated 
+	  MPI derived datatypes used in the implementation of irregular 
+	  selections INSIDE HDF5. 
+	  1) DEC 5.x wdoes not support complicated derived datatypes.
+	  2) For AIX 5.1:
+	     If your poe version number is 3.2.0.20 or lower,
+	     please edit powerpc-ibm-aix5.x in the directory hdf5/config/.
+	     Find the line with
+	          << hdf5_mpi_complex_derived_datatype_works >>
+	     and UNCOMMENT this line before the configure.
+	     check poe version with the following command:
+	     lpp -l all | grep ppe.poe
+	  3) For Linux cluster,:
+	     If mpich version is 1.2.5 or lower, collective irregular selection
+	     IO is not supported; internally independent IO is used.
+	  4) For IRIX 6.5:
+	     if C compiler version is 7.3 or lower, collective irregular 
+	     selection IO is not supported; internally independent IO is used.
+	  5) For platforms which internally used mpich: 
+	     If the mpich version is 1.2.5 or lower, please find the 
+	     corresponding config (in hdf5/config) file and add
+	         hdf5_mpi_complex_derived_datatype_works='no' 
+	     at the end of the configuration file. For example, on the 
+	     NCSA SGI Altix, the internal mpich library is 1.2.5. So 
+	         hdf5_mpi_complex_derived_datatype_works='no' 
+	     should be added at the end of the config file ia64-linux-gnu.
+	     KY - 2005/09/12
+
+    Tools:
+    ------
+        - Removed obsolete pdb2hdf tool.  JML - 2005/10/28
+        - Sped up h5dump on files with large numbers of objects.
+            QAK - 2005/08/25
+
+    F90 API:
+    --------
+        - Added missing h5tget_member_class_f function
+                                            EIP 2005/04/06
+    C++ API:
+    --------
+        - Added missing member functions:
+		H5::CompType::getMemberArrayType
+		H5::CompType::getMemberVarLenType
+		H5::AbstractDs::getArrayType
+		H5::AbstractDs::getVarLenType
+		H5::CommonFG::openArrayType
+		H5::CommonFG::openVarLenType
+		H5::PropList::copyProp -- this will replace the current
+			H5::PropList::copyProp in later releases due
+			to incorrect prototype.
+		BMR - 2005/07/27
+
+
+Support for New Platforms, Languages and Compilers
+==================================================
+    - Added support for RedStorm platform (serial only.)  AKC 2005/11/10
+    - Added support for BG/L platform (serial only.)  LA 2005/11/10
+    - Added support for HPUX 11.23 (IA64); only C and C++ are supported
+      with the +DD64 flag 
+                                             EIP 2005/10/05
+ 
+
+    Configuration
+    -------------
+        - Added support for Cray X1.  JML 2005/10/03
+
+
+Bug Fixes since HDF5-1.6.4 Release
+==================================
+
+    Library
+    -------
+        - Fixed collective IO in chunking-storage.  HDF5 may have called the 
+            wrong routine when the shape of the dataspace in the file and in 
+            the bufferred chunk were different. This bug was fixed to make sure
+            the correct routine is called. KY - 2005/10/19
+        - Fixed core dump when closing root groups opened through two different
+            file handles that operate on the same actual file.  QAK - 2005/10/02
+        - The ./dsets tests used to fail in the TFLOPS machine if the
+            test program, dsets.c, was compiled with the -O option.
+            The HDF5 library still worked correctly with the -O option. Only
+            the ./dsets failed.  It is fixed. AKC - 2005/09/14
+        - Corrected errors when performing various operations on a group opened
+            by dereferencing an object reference.  QAK - 2005/07/30
+        - Fixed a bug with named datatypes where a copy of a named datatype
+            used to create a dataset would accidentally use the original
+            named datatype for the dataset's datatype.  QAK - 2005/07/23
+        - Made H5Fget_name() to be consistent and always return name of actual
+            file the ID is in.  (Instead of the name of the top file in a
+            file mounting hierarchy).  QAK - 2005/07/19
+        - Reworked internal file mounting semantics to hopefully eliminate
+            mounting problems.  We now require that files that are mounting
+            together all have the same "file close degree".  QAK - 2005/07/19
+        - More bug fixes on holding open files that are mounted and have
+            IDs open.  QAK - 2005/07/14
+        - Dataset sieve buffer cache was inadvertantly disabled; it has been
+            re-enabled.  QAK - 2005/07/08
+        - Don't unmount child files until the parent file actually closes.
+            (Previously, if an object was holding open a file, the child files
+            would get unmounted too early).  QAK - 2005/07/05
+        - Fixed bug where unmounted files could cause the library to go into
+            an infinite loop when shutting down.  QAK - 2005/06/30
+        - Fixed bug with hyperslab selections that use selection offsets and
+            operate on chunked datasets going into infinite loop or dumping
+            core.  QAK - 2005/06/17
+        - Corrected memory leak and possible corruption when opening a group.
+            QAK - 2005/06/17
+        - Added check for opaque datatype tags being too long (check against
+            H5T_OPAQUE_TAG_MAX, currently set to 256).  QAK - 2005/06/14
+        - Fixed various errors in maintaining names for open objects in the
+            face of unusual mount & unmount operations.  QAK - 2005/06/08
+        - "SEMI" and "STRONG" file close degree settings now apply only to the
+            particular file ID being closed, instead of operating on all open
+            file IDs for a given file.  QAK - 2005/06/01
+        - Fixed error in opening object in a group that was opened in a mounted
+            file which has been unmounted.  QAK - 2005/03/17
+
+    Configuration
+    -------------
+	- Configure can recognize -lmpich as a form of MPI library. -AKC-
+	  2005/9/28.
+	- Changed default C++ compiler for the IA64 platform from icc to
+	    icpc which is the preferred compiler for Intel Compiler version
+	    8. AKC - 2005/09/02
+
+    Performance
+    -------------
+        - Optimized I/O for enumerated datatypes that are a superset of a 
+            source enumerated datatype.  QAK - 2005/03/19
+   
+    Tools
+    -----
+
+    Documentation 
+    ------------- 
+
+    F90 API
+    -------
+       - h5pget_driver_f was returning information that could not be
+         interpreted by a Fortran application program; fixed. EIP - 2005/04/10
+                                
+    C++ API
+    -------
+	- Several member functions' prototype changed due to the 
+	  "int -> unsigned" change in the main library.  They are:
+		H5::CompType::getMemberDataType(unsigned member_num)
+		H5::CompType::getMemberCompType(unsigned member_num)
+		H5::CompType::getMemberEnumType(unsigned member_num)
+		H5::CompType::getMemberIntType(unsigned member_num)
+		H5::CompType::getMemberFloatType(unsigned member_num)
+		H5::CompType::getMemberStrType(unsigned member_num)
+		BMR - 2005/07/27
+
+
+
+   
+
+Platforms Tested
+================
+
+    AIX 5.1  (32 and 64-bit)      xlc 6.0.0.6
+                                  xlf 8.1.1.3
+    				  xlC 6.0.0.6
+				  mpcc_r 6.0.0.6
+                                  mpxlf_r 8.1.1.3
+				  xlc 5.0.2.5
+				  xlf 7.1.1.2
+				  xlC 5.0.2.5
+				  mpcc_r 5.0.2.5
+				  mpxlf_r 7.1.1.2
+    AIX 5.2 (32/64 bit)           xlc 6.0.0.8
+                                  xlC 6.0.0.9
+                                  xlf 8.1.1.7
+                                  mpcc_r 6.0.0.8
+                                  mpxlf_r 8.1.1.7
+    AIX 5.2 (32/64 bit, LLNL frost)    xlc 6.0.0.8
+                                  xlC 6.0.0.8
+                                  xlf 8.1.1.7
+                                  mpcc_r 6.0.0.8
+                                  mpxlf_r 8.1.1.7
+    AIX 5.3 (32/64 bit)           xlc 7.0.0.0
+                                  xlC 7.0.
+                                  xlf 9.1.0.3
+    Cray X1 water 3.0.35          Cray Standard C Version 5.4.0.7.4
+                                  Cray Fortran 5.4.0.7.3
+                                  Cray C++ 5.4.0.7.4
+    FreeBSD 4.11                  gcc 2.95.4
+                                  g++ 2.95.4
+                                  gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0
+    HP-UX B.11.00                 HP C  HP92453-01 A.11.01.20 
+                                  HP F90 v2.4
+                                  HP ANSI C++ B3910B A.03.13
+    HP-UX B.11.23                 HP aC++/ANSI C B3910B A.06.00
+                                  HP F90 v2.9
+                                  HP aC++/ANSI C B3910B A.06.00
+    IRIX64 6.5 (tesla -64)        MIPSpro cc 7.4.2m
+                                  F90 MIPSpro 7.4.2m
+                                  C++ MIPSpro cc 7.4.2m
+    IRIX64 6.5 (64 & n32)         MIPSpro cc 7.3.1.3m
+                                  F90 MIPSpro 7.3.1.3m (64 only)
+                                  C++ MIPSpro cc 7.3.1.3m
+				  mpt 1.6
+    Linux 2.4.20-28.7             gcc 2.96
+    (eirene, verbena)             gcc 3.3.2
+                                  PGI compilers (pgcc, pgf90, pgCC) 
+                                  version 5.2-1
+                                  Absoft Fortran compiler v9.0
+                         	  Intel(R) C++ 32-bit Version 8.1
+    				  Intel(R) Fortran 32-bit Version 8.1
+                                  MPIch 1.2.6
+    Linux 2.4.21-268-smp x86_64   gcc 3.3.1 (SuSE Linux, AMD)
+    (mir)                         PGI 5.2-1 C and F90 (with k3-32) 
+                         	  Intel(R) C++ 32-bit Version 8.1
+    				  Intel(R) Fortran 32-bit Version 8.1
+    Linux 2.4.21-sgi306rp21 Altix 
+          SMP ia64                Intel(R) C++ Version 8.1
+    (cobalt)                      Intel(R) Fortran Itanium(R) Version 8.1
+                                  SGI MPI
+    OSF1 V5.1 (QSC)               Compaq C V6.5-011 
+                                  HP Fortran V5.5A-3548
+				  Compaq C++ V6.5-036  
+				  MPIX200_64_r13.4
+    OSF1 V5.1 (PSC)               Compaq C V6.5-303 
+                                  HP Fortran V5.5A-3548
+				  Compaq C++ V6.5-040  
+    SunOS 5.8 32,46               Sun WorkShop 6 update 2 C 5.3
+     (Solaris 2.8)                Sun WorkShop 6 update 2 Fortran 90
+                                  Sun WorkShop 6 update 2 C++ 5.3
+    SunOS 5.9 32,64               Sun C 5.6 2004/07/15
+     (Solaris 2.9)                Sun Fortran 95 8.0 2004/07/15
+                                  Sun C++ 5.6 2004/07/15
+    SunOS 5.10                    Sun WorkShop 6 update 2 C 5.3
+                                  Sun WorkShop 6 update 2 Fortran 95 6.2
+                                  Sun WorkShop 6 update 2 C++ 5.3
+                                  Patch 111685-13 
+    Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+    (tungsten)	                  Intel(R) C++ Version 9.0
+                                  Intel(R) Fortran Compiler Version 9.0
+    IA-64 Linux 2.4.21.SuSE_292.til1 ia64
+    (NCSA tg-login)               Intel(R) C++ Version 8.0
+                                  Intel(R) Fortran Compiler Version 8.0
+				  mpich-gm-1.2.5..10-intel-r2
+    Windows XP                    MSVC++.NET
+                                  MSVC++ 6.0
+                                  Intel 8.1 C++
+    MAC OS X                      Darwin 7.5
+                                  gcc and g++ Apple Computer, Inc. GCC 
+                                  version 1175, based on gcc version 3.3.2
+                                  IBM XL Fortran version 8.1 
+                                  Absoft Fortran compiler v8.2
+
+
+Supported Configuration Features Summary
+========================================
+
+Key:   y   = tested and supported
+       n   = not supported or not tested in this release
+       x   = not working in this release
+       dna = does not apply
+       ( ) = footnote appears below second table
+
+Platform                             C        F90    F90      C++  zlib  SZIP
+                                     parallel        parallel      
+IBM BG/L (16)			     n        n      n        n    y     y
+Solaris2.8 64-bit                    y        y      y(1)     y    y     y
+Solaris2.8 32-bit                    y        y      y(1)     y    y     y
+Solaris2.9 64-bit                    y(1)     y      y(1)     y    y     y
+Solaris2.9 32-bit                    y(1)     y      y(1)     y    y     y
+Solaris2.10 64-bit                   y(1)     y      n        y    y     y
+Solaris2.10 32-bit                   y(1)     y      n        y    y     y
+IRIX64_6.5 64-bit                    y(2)     y      y        y    y     y
+IRIX64_6.5 32-bit                    y(2)     n      n        n    y     y
+HPUX11.00                            y(1)     y      y        y    y     y
+HPUX11.23-32bit                      n        y      n        y    y     y
+HPUX11.23-64bit                      n        n      n        y    y     y
+OSF1 v5.1                            y        y      y        y    y     y
+X1                                   y        y      y        y    y     n
+AIX-5.1, 5.2 & 5.3 32-bit            y        y      y        y    y     y
+AIX-5.1, 5.2 & 5.3 64-bit            y        y      y        y    y     y
+WinXP Visual Studio 6.0              n        n(9)   n        y    y     y
+WinXP .Net                           n        n      n        y(8) y     y
+Mac OS X 10.3                        n        y(10)  n        y    y     y
+FreeBSD 4.11                         n        n      n        y    y     y
+RedHat 7.3  W (3)                    y(1)     y(11)  n        y    y     y
+RedHat 7.3  W Intel (3)              n        y      n        y    y     y
+RedHat 7.3  W PGI (3)                n        y      n        y    y     y
+RedStorm (16)			     n        y      n        y    y     n
+SuSe x86_64 gcc (3,13)               n        y(12)  n        y    y     y
+SuSe x86_64 icc (3,13)               n        y(14)  n        y    y     y
+Linux 2.4 Xeon C Lustre Intel (3,6)  n        y      n        y    y     y
+Linux 2.4 SuSE ia64 C Intel (3,7)    y        y      y        y    y     y
+Linux 2.4 SGI Altix ia64 Intel (3)   y        y      y        y    y     y
+
+
+Platform                             Shared        static-  Thread-  STREAM- 
+                                     libraries(4)  exec     safe     VFD    
+IBM BG/L 			     n              y       n        n
+Solaris2.8 64-bit                    y              x       y        y
+Solaris2.8 32-bit                    y              x       y        y
+Solaris2.9 64-bit                    y              x       y        y
+Solaris2.9 32-bit                    y              x       y        y
+Solaris2.10 64-bit                   y              x       y        y
+Solaris2.10 32-bit                   y              x       y        y
+IRIX64_6.5 64-bit                    y              y       y        y
+IRIX64_6.5 32-bit                    y              y       y        y
+HPUX11.00                            y              x       n        y
+HPUX11.23                            y              y       n        y
+OSF1 v5.1                            y              y       n        y
+X1                                   n              y       n        y
+AIX-5.1, 5.2 & 5.3 32-bit            n              y       n        y
+AIX-5.1, 5.2 & 5.3 64-bit            n              y       n        y
+WinXP Visual Studio 6.0              y              y       n        n
+WinXP .Net                           y              y       n        n
+Mac OS X 10.3                        y              y       n        y
+FreeBSD 4.11                         y              y       y        y
+RedHat 7.3   W (3)                   y              y       y        y
+RedHat 7.3  W  Intel (3)             n              y       n        y
+RedHat 7.3  W  PGI (3)               n              y       n        y
+RedStorm 			     n              y       n        y
+SuSe x86_64 gcc (3,13)               n              y       n        y
+SuSe x86_64 icc (3,13)               y              y(15)   n        y
+Linux 2.4 Xeon C Lustre Intel (3,6)  y              y       n        y
+Linux 2.4 SuSE ia64 C Intel (3,7)    y              y       n        n
+Linux 2.4 SGI Altix ia64 Intel  (3)  y              y       n        y
+
+
+Compiler versions for each platform are listed in the "Platforms Tested" 
+table found elsewhere in this file (RELEASE.txt).  Unless otherwise noted, 
+compilers used are the system compilers.
+
+Footnotes:  (1) Using mpich 1.2.6
+            (2) Using mpt and mpich 1.2.6.
+            (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.  
+                  W or C indicates workstation or cluster, respectively.
+            (4) Shared libraries are provided only for the C library, 
+                except on Windows where they are provided for C and C++.
+            (5) Using mpt.
+            (6) Linux 2.4.21-32.0.1.  Xeon cluster with ELsmp-perfctr-lustre 
+                and Intel compilers
+            (7) Linux 2.4.21, SuSE_292.til1.  Ia64 cluster with Intel compilers
+            (8) Intel 8.1
+            (9) One test of this release failed with Compaq Visual Fortran 6.6c.
+                No binary fortran release will be provided. Users should build
+                the library by themselves and use it at their own risk. 
+                We recommend that users use HDF5 1.7 instead 
+                or use Compaq Visual Fortran 6.0.
+           (10) IBM XLF and Absoft
+           (11) PGI, Absoft.  No shared libraries with Absoft; 
+                use '--disable-shared'.
+           (12) PGI and Intel compilers for both C and Fortran
+           (13) AMD Opteron x86_64
+           (14) ifort
+           (15) Yes with C and Fortran, but not with C++
+           (16) Only serial is ported.  PFS does not work for PHDF5 yet.
+           FMB/EIP - 2005/11/10
+
+
+Known Problems
+==============
+* Intel Compilers for Linux x86_86 platforms (EM64T-based, v8.1) has
+  optimization error in the data types conversion code.  Before running
+  configure, edit the file config/intel-flags by changing the setting of
+  PROD_CFLAGS from -O3 to -O0, then run configure.  AKC - 2005/11/10.
+
+* Fortran testing and compiling failures on windows XP 
+  1. Compaq visual fortran 6.6c with VS 6.0
+     The Fortran tests failed for both release, release dll, debug and debug
+     dll. The failure is a random one. We won't provide fortran libraries. The
+     same test passed with the 1.7.51 snapshot. You may find the 1.7.51 
+     snapshot under ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots/.
+  2. Intel fortran 8.1 under .Net environment
+     The fortran library cannot even be compiled. Some users have pointed this
+     to intel forum.
+
+* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 at IRIX
+  6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example 
+  120000, in order to pass the complicated collective IO tests inside parallel 
+  HDF5 library. This is not a problem inside parallel HDF5 library. You can 
+  always set a bigger number in your system.
+                                  KY - 2005/10/6
+
+* A contiguous or chunked dataset created by a sequential version may
+  not be modified with a parallel version of the library. 
+  Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the 
+  dataset creation property list to avoid the problem.
+                                    EIP - 2005/09/09
+
+* The dataset created or rewritten with the v1.6.3 library or after can't 
+  be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is 
+  enabled.  There was a bug in the calculating code of the Fletcher32 
+  checksum in the library before v1.6.3.  The checksum value wasn't consistent 
+  between big-endian and little-endian systems.  This bug was fixed in 
+  Release 1.6.3.  However, after fixing the bug, the checksum value is no 
+  longer the same as before on little-endian system.  The library release 
+  after 1.6.4 can still read the dataset created or rewritten with the library
+  of v1.6.2 or before.  SLU - 2005/7/8
+
+* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
+  processor, there's a bug in the compiler for optimization(-O2).  The library
+  failed in several tests but all related to multi driver.  The problem has 
+  been reported to the vendor.  
+
+* test/big fails sometimes with the message "Possible overlap with another
+  region."  The test selects regions randomly, and this error occurs when
+  two regions overlap each other; it is a bug in the test and not in
+  HDF5.  Since the error is triggered by a random situation, it will
+  usually disappear if the test is re-run.
+
+* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
+  has a "guard" statement in stdint.h that will #error and skip the rest
+  of the header file if C99 option is not used explicitly.  Hardset
+  $CC to c99 will resolve the problem. AKC - 2004/12/13
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+  messages like "INFO: 0031-XXX ...".  This is from the command poe.
+  Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+  and run the tests again.
+  The tests may fail with messages like "The socket name is already
+  in use".  HDF5 does not use sockets (except for stream-VFD).  This is
+  due to problems of the poe command trying to set up the debug socket.
+  Check if there are many old /tmp/s.pedb.* staying around.  These are
+  sockets used by the poe command and left behind due to failed commands.
+  Ask your system administrator to clean them out.  Lastly, request IBM
+  to provide a means to run poe without the debug socket.
+
+* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) 
+  failed on windows xp with .NET for debug and debug dll. Release and 
+  Release dll work fine. 
+
+* The h5dump tests may fail to match the expected output on some platforms
+  (e.g. parallel jobs, Windows) where the error messages directed to
+  "stderr" do not appear in the "right order" with output from stdout.
+  This is not an error.
+
+* The stream-vfd test uses ip port 10007 for testing. If another
+  application is already using that port address, the test will hang
+  indefinitely and has to be terminated by the kill command. To try the
+  test again, change the port address in test/stream_test.c to one not
+  being used in the host.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+  platforms. This is due to the fact that not all of the system
+  libraries on Solaris are available in a static format.
+
+  The --enable-static-exec configure flag also fails to correctly compile
+  on IBM SP2 platform for the serial mode. The parallel mode works fine
+  with this option.
+
+  The --enable-static-exec configure flag also fails to correctly compile
+  on the HPUX 11.00.
+  
+  It is suggested that you don't use this option on these platforms
+  during configuration.
+
+* The Stream VFD was not tested yet under Windows.
+
+
+* Before building HDF5 F90 Library from source on Crays 
+  replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
+  subdirectory in the top level directory with the Cray-specific files
+  from the site:
+  ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
+
+* Use --disable-shared configure flag if building with Absoft Fortran
+  compiler.
+
+* Information about building with PGI and Intel compilers is available in
+  INSTALL file sections 5.7 and 5.8.
+
+* In LANL QSC, the new cc compiler has problems converting small values of
+  long long (absolute values less than 1**-308) to double.  This triggers
+  the test/dtypes to report failure in the
+      Testing random sw long double -> double conversions
+  If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
+  If -ieee is not used, the converted double values are mostly 0.0 but
+  occasionally as 1**-308.  This has been reported to the system staff.
+  All other tests have passed.
+
+* Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on
+  Windows. 
+
+* Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler,
+  Building Fortran static library with Intel 8.1 in .NET environment 
+  requires manually setting the project file.
+  Please contact to hdfhelp at ncsa.uiuc.edu if you need to build
+  Fortran static library with Intel 8.1 with .NET environment.
+
+* On at least one system, SDSC DataStar, the scheduler (in this case
+  LoadLeveler) sends job status updates to standard error when you run
+  any executable that was compiled with the parallel compilers.
+
+  This causes problems when running "make check" on parallel builds, as
+  many of the tool tests function by saving the output from test runs,
+  and comparing it to an exemplar.
+
+  The best solution is to reconfigure the target system so it no longer
+  inserts the extra text.  However, this may not be practical.
+
+  In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+  the configure and build.  This will cause "make check" to continue after
+  detecting errors in the tool tests.  However, in the case of SDSC DataStar,
+  it also leaves you with some 150 "failed" tests to examine by hand.
+
+  A second solution is to write a script to run serial tests and filter
+  out the text added by the scheduler.  A sample script used on SDSC
+  DataStar is given below, but you will probably have to customize it
+  for your installation.
+
+  Observe that the basic idea is to insert the script as the first item
+  on the command line which executes the test.  The script then
+  executes the test and filters out the offending text before passing
+  it on.
+
+        #!/bin/csh
+
+        set STDOUT_FILE=~/bin/serial_filter.stdout
+        set STDERR_FILE=~/bin/serial_filter.stderr
+
+        rm -f $STDOUT_FILE $STDERR_FILE
+
+        ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+        set RETURN_VALUE=$status
+
+        cat $STDOUT_FILE
+
+        tail +3 $STDERR_FILE
+
+        exit $RETURN_VALUE
+
+  You get the HDF make files and test scripts to execute your filter script
+  by setting the environment variable "RUNSERIAL" to the full path of the
+  script prior to running configure for parallel builds.  Remember to
+  "unsetenv RUNSERIAL" before running configure for a serial build.
+
+  Note that the RUNSERIAL environment variable exists so that we can
+  prefix serial runs as necessary on the target system.  On DataStar,
+  no prefix is necessary.  However, on an MPICH system, the prefix might
+  have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+  get the serial tests to run at all.
+
+  In such cases, you will have to include the regular prefix in your
+  filter script.
+
 %%%%1.6.4%%%%   Release Information for hdf5-1.6.4 (15/March/05)
 
 

Modified: packages/hdf5/trunk/release_docs/INSTALL
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,649 +1,553 @@
 
-	Instructions for the Installation of HDF5 Software
-	==================================================
+        Instructions for the Installation of HDF5 Software
+        ==================================================
 
-	CONTENTS
-	--------
-	1. Obtaining HDF5
+        CONTENTS
+        --------
+        1. Obtaining HDF5
 
-	2. Warnings about compilers
-	2.1. GNU (Intel platforms)
-	2.2. DEC
-	2.3. SGI (Irix64 6.2)
+        2. Quick installation
+        2.1. Windows
 
-	3. Quick installation
-	3.1. TFLOPS
-	3.2. Windows
-	3.3. Certain Virtual File Layer(VFL)
+        3. HDF5 dependencies
+        3.1. Zlib
+        3.2  Szip (optional)
+        3.3. MPI and MPI-IO
 
-	4. HDF5 dependencies
-	4.1. Zlib
-	4.2  Szip
-	4.3. MPI and MPI-IO
+        4. Full installation instructions for source distributions
+        4.1. Unpacking the distribution
+        4.1.1. Non-compressed tar archive (*.tar)
+        4.1.2. Compressed tar archive (*.tar.Z)
+        4.1.3. Gzip'd tar archive (*.tar.gz)
+        4.1.4. Bzip'd tar archive (*.tar.bz2)
+        4.2. Source versus build directories
+        4.3. Configuring
+        4.3.1. Specifying the installation directories
+        4.3.2. Using an alternate C compiler
+        4.3.3. Additional compilation flags
+        4.3.4. Compiling HDF5 wrapper libraries
+        4.3.5. Specifying other programs
+        4.3.6. Specifying other libraries and headers
+        4.3.7. Static versus shared linking
+        4.3.8. Optimization versus symbolic debugging
+        4.3.9. Parallel versus serial library
+        4.3.10. Disabling high-level C APIs 
+        4.3.11. Threadsafe capability
+        4.3.12. Backward compatibility with HDF5 1.4* releases
+        4.3.13. Network stream capability
+        4.4. Building
+        4.5. Testing
+        4.6. Installing
 
-	5. Full installation instructions for source distributions
-	5.1. Unpacking the distribution
-	5.1.1. Non-compressed tar archive (*.tar)
-	5.1.2. Compressed tar archive (*.tar.Z)
-	5.1.3. Gzip'd tar archive (*.tar.gz)
-	5.1.4. Bzip'd tar archive (*.tar.bz2)
-	5.2. Source vs. Build Directories
-	5.3. Configuring
-	5.3.1. Specifying the installation directories
-	5.3.2. Using an alternate C compiler
-	5.3.3. Additional compilation flags
-	5.3.4. Compiling HDF5 wrapper libraries
-	5.3.5. Specifying other programs
-	5.3.6. Specifying other libraries and headers
-	5.3.7. Static versus shared linking
-	5.3.8. Optimization versus symbolic debugging
-	5.3.9. Large (>2GB) vs. small (<2GB) file capability
-	5.3.10. Parallel vs. serial library
-	5.4. Building
-	5.5. Testing
-	5.6. Installing
-	5.7  Building and testing with Intel compilers
-	5.8  Building and testing with PGI compilers
+        5. Using the Library
+        5.1. Using the C++ API
 
-	6. Using the Library
+        6. Support
 
-	7. Support
-
 *****************************************************************************
 
 1. Obtaining HDF5
-	The latest supported public release of HDF5 is available from
-	ftp://hdf.ncsa.uiuc.edu/HDF5/current/src.  It is
-	available in tar format compressed with gzip. 
+        The latest supported public release of HDF5 is available from
+        ftp://ftp.hdfgroup.org/HDF5/current/src.  It is available in tar 
+        format compressed with gzip. 
 
-	The HDF team also makes snapshots of the source code available on
-	a regular basis. These snapshots are unsupported (that is, the
-	HDF team will not release a bug-fix on a particular snapshot;
-	rather any bug fixes will be rolled into the next snapshot).
-	Furthermore, the snapshots have only been tested on a few
-	machines and may not test correctly for parallel applications.
-	Snapshots can be found at
-	ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots in a limited
-	number of formats.
+        The HDF team also makes snapshots of the source code available on
+        a regular basis. These snapshots are unsupported (that is, the
+        HDF team will not release a bug-fix on a particular snapshot;
+        rather any bug fixes will be rolled into the next snapshot).
+        Furthermore, the snapshots have only been tested on a few
+        machines and may not test correctly for parallel applications.
+        Snapshots can be found at
+        ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots in a 
+        limited number of formats.
 
 
-2. Warnings about compilers
-	OUTPUT FROM THE FOLLOWING COMPILERS SHOULD BE EXTREMELY SUSPECT
-	WHEN USED TO COMPILE THE HDF5 LIBRARY, ESPECIALLY IF
-	OPTIMIZATIONS ARE ENABLED. IN ALL CASES, HDF5 ATTEMPTS TO WORK
-	AROUND THE COMPILER BUGS BUT THE HDF5 DEVELOPMENT TEAM MAKES NO
-	GUARANTEES THAT THERE ARE OTHER CODE GENERATION PROBLEMS.
+2. Quick installation
+        For those that don't like to read ;-) the following steps can be
+        used to configure, build, test, and install the HDF5 Library, header
+        files, and support programs. The "#" symbol in "hdf5-1.6.#" below
+        stands for the release number and/or the subrelease version.  (For  
+        example, use "3" for hdf5-1.6.3 or "3-snap4" for hdf5-1.6.3-snap4.)
 
-2.1. GNU (Intel platforms)
-	Versions before 2.8.1 have serious problems allocating registers
-	when functions contain operations on `long long' data types.
-	Supplying the `--disable-hsizet' switch to configure (documented
-	below) will prevent hdf5 from using `long long' data types in
-	situations that are known not to work, but it limits the hdf5
-	address space to 2GB.
+            $ gunzip < hdf5-1.6.#.tar.gz | tar xf -
+            $ cd hdf5-1.6.#
+            $ make check
+            $ make install
 
-2.2. COMPAQ/DEC
-	The V5.2-038 compiler (and possibly others) occasionally
-	generates incorrect code for memcpy() calls when optimizations
-	are enabled, resulting in unaligned access faults. HDF5 works
-	around the problem by casting the second argument to `char *'.
-        The fortran module (5.4.1a) fails in compiling some fortran
-        programs.  Need to use 5.5.0 or more.
+2.1. Windows
+        Users of Microsoft Windows should see one of the INSTALL_Windows files
+        for detailed instructions.
 
-2.3. SGI (Irix64 6.2)
-	The Mongoose 7.00 compiler has serious optimization bugs and
-	should be upgraded to MIPSpro 7.2.1.2m. Patches are available
-	from SGI.
 
+3. HDF5 dependencies
+3.1. Zlib 
+        The HDF5 Library has a predefined compression filter that uses
+        the "deflate" method for chunked datatsets. If zlib-1.1.2 or
+        later is found, HDF5 will use it. Otherwise, HDF5's predefined
+        compression method will degenerate to a no-op; the compression
+        filter will succeed but the data will not be compressed.
 
-3. Quick installation
-	For those that don't like to read ;-) the following steps can be
-	used to configure, build, test, and install the HDF5 library,
-	header files, and support programs. "#" in "hdf5-1.6.#" below stands
-        for the release number, for example "3" for hdf5-1.6.3, or
-        for release and subrelease versions, for example,
-        "3-snap4" for hdf5-1.6.3-snap4.
+3.2. Szip (optional)
+        The HDF5 Library has a predefined compression filter that uses
+        the extended-Rice lossless compression algorithm for chunked 
+        datatsets. For more information about Szip compression and license 
+        terms, see http://hdfgroup.org/doc_resource/SZIP/index.html.
 
-	    $ gunzip < hdf5-1.6.#.tar.gz | tar xf -
-	    $ cd hdf5-1.6.#
-	    $ make check
-	    $ make install
-
-3.1. TFLOPS
-	Users of the Intel TFLOPS machine, after reading this file,
-	should see the INSTALL_TFLOPS for more instructions.
-
-3.2. Windows
-	Users of Microsoft Windows should see the INSTALL_Windows for
-	detailed instructions.
-
-3.3. Certain Virtual File Layer(VFL)
-	If users want to install with special Virtual File Layer(VFL),
-	please go to read INSTALL_VFL file.  SRB and Globus-GASS have
-	been documented. 
-
-
-4. HDF5 dependencies
-4.1. Zlib 
-	The HDF5 library has a predefined compression filter that uses
-	the "deflate" method for chunked datatsets. If zlib-1.1.2 or
-	later is found then HDF5 will use it, otherwise HDF5's predefined
-	compression method will degenerate to a no-op (the compression
-	filter will succeed but the data will not be compressed).
-
-4.2. Szip (optional)
-	The HDF5 library has a predefined compression filter that uses
-	the extended-Rice lossless compression algorithm for chunked 
-        datatsets. For more information about Szip compression and license terms
-        see http://hdf.ncsa.uiuc.edu/doc_resource/SZIP/index.html.
-        Precompiled szip binaries for each supported platform and source tar ball
-        file can be found at ftp://ftp.ncsa.uiuc.edu/HDF/szip/
+        Precompiled szip binaries for each supported platform and a source tar 
+        ball file can be found at ftp://ftp.hdfgroup.org/lib-external/szip/.
         
-        To configure HDF5 library with Szip compression filter, use 
-        --enable-szlib=/PATH_TO_SZIP flag. For more information see 5.3.6.
+        To configure the HDF5 Library with the Szip compression filter, use 
+        the '--enable-szlib=/PATH_TO_SZIP' flag. For more information, see 
+        section 4.3.6, "Specifying other libraries and headers."
 
-        Starting with the release 1.6.3 Szip library binaries are distributed 
-        with encoder enabled (license may be required to use this binary) 
-        and with encoder disabled (license free). Depending on which Szip 
-        binary is used, Szip compression is available or is not available 
-        for an HDF5 application. Szip decoding is always available, i.e.
-        an HDF5 application can always read Szip compressed data if Szip filter
-        is present.
+        Starting with release 1.6.3, Szip library binaries are distributed 
+        with the encoder enabled (a license may be required to use this binary) 
+        and with the encoder disabled (freely usable without a license). 
+        Depending on which Szip binary is used, Szip compression is available 
+        or is not available for an HDF5 application. Szip decoding is always 
+        available, i.e., an HDF5 application can always read Szip compressed 
+        data, if the Szip filter is present.
 
-4.3. MPI and MPI-IO
-	The parallel version of the library is built upon the foundation
-	provided by MPI and MPI-IO. If these libraries are not available
-	when HDF5 is configured then only a serial version of HDF5 can be
-	built.
+3.3. MPI and MPI-IO
+        The parallel version of the library is built upon the foundation
+        provided by MPI and MPI-IO. If these libraries are not available
+        when HDF5 is configured, only a serial version of HDF5 can be
+        built.
 
 
-5. Full installation instructions for source distributions
-5.1. Unpacking the distribution
-	The HDF5 source code is distributed in a variety of formats which
-	can be unpacked with the following commands, each of which
-	creates an `hdf5-1.6.#' directory.
+4. Full installation instructions for source distributions
+4.1. Unpacking the distribution
+        The HDF5 source code is distributed in a variety of formats which
+        can be unpacked with the following commands, each of which
+        creates an 'hdf5-1.6.#' directory.
 
-5.1.1. Non-compressed tar archive (*.tar)
+4.1.1. Non-compressed tar archive (*.tar)
 
-	    $ tar xf hdf5-1.6.#.tar
+            $ tar xf hdf5-1.6.#.tar
 
-5.1.2. Compressed tar archive (*.tar.Z)
+4.1.2. Compressed tar archive (*.tar.Z)
 
-	    $ uncompress -c < hdf5-1.6.#.tar.Z | tar xf -
+            $ uncompress -c < hdf5-1.6.#.tar.Z | tar xf -
 
-5.1.3. Gzip'd tar archive (*.tar.gz)
+4.1.3. Gzip'd tar archive (*.tar.gz)
 
-	    $ gunzip < hdf5-1.6.#.tar.gz | tar xf -
+            $ gunzip < hdf5-1.6.#.tar.gz | tar xf -
 
-5.1.4. Bzip'd tar archive (*.tar.bz2)
+4.1.4. Bzip'd tar archive (*.tar.bz2)
 
-	    $ bunzip2 < hdf5-1.6.#.tar.bz2 | tar xf -
+            $ bunzip2 < hdf5-1.6.#.tar.bz2 | tar xf -
 
-5.2. Source vs. Build Directories
-	On most systems the build can occur in a directory other than the
-	source directory, allowing multiple concurrent builds and/or
-	read-only source code. In order to accomplish this, one should
-	create a build directory, cd into that directory, and run the
-	`configure' script found in the source directory (configure
-	details are below).
+4.2. Source versus build directories
+        On most systems, the build can occur in a directory other than the
+        source directory, allowing multiple concurrent builds and/or
+        read-only source code. In order to accomplish this, one should
+        create a build directory, cd into that directory, and run the
+        'configure' script found in the source directory (configure
+        details are below).
 
-	Unfortunately, this does not work on recent Irix platforms (6.5?
-	and later) because that `make' doesn't understand the VPATH
-	variable. However, hdf5 also supports Irix `pmake' which has a
-	.PATH target which serves a similar purpose. Here's what the man
-	pages say about VPATH, which is the facility used by HDF5
-	makefiles for this feature:
+        Unfortunately, this does not work on recent Irix platforms (6.5
+        and later) because that 'make' does not understand the VPATH
+        variable. However, HDF5 also supports Irix 'pmake' which has a
+        .PATH target that serves a similar purpose. Here's what the man
+        pages say about VPATH, which is the facility used by HDF5
+        makefiles for this feature:
 
-		The VPATH facility is a derivation of the undocumented
-		VPATH feature in the System V Release 3 version of make.
-		System V Release 4 has a new VPATH implementation, much
-		like the pmake(1) .PATH feature. This new feature is also
-		undocumented in the standard System V Release 4 manual
-		pages.  For this reason it is not available in the IRIX
-		version of make. The VPATH facility should not be used
-		with the new parallel make option.
+                The VPATH facility is a derivation of the undocumented
+                VPATH feature in the System V Release 3 version of make.
+                System V Release 4 has a new VPATH implementation, much
+                like the pmake(1) .PATH feature. This new feature is also
+                undocumented in the standard System V Release 4 manual
+                pages.  For this reason it is not available in the IRIX
+                version of make. The VPATH facility should not be used
+                with the new parallel make option.
 
-5.3. Configuring
-	HDF5 uses the GNU autoconf system for configuration, which
-	detects various features of the host system and creates the
-	Makefiles. On most systems it should be sufficient to say:
+4.3. Configuring
+        HDF5 uses the GNU autoconf system for configuration, which
+        detects various features of the host system and creates the
+        Makefiles. On most systems it should be sufficient to say:
 
-	    $ ./configure		OR
-	    $ sh configure
+            $ ./configure
+                  OR
+            $ sh configure
 
-	The configuration process can be controlled through environment
-	variables, command-line switches, and host configuration files.
-	For a complete list of switches type:
+        The configuration process can be controlled through environment
+        variables, command-line switches, and host configuration files.
+        For a complete list of switches, type:
 
-	    $ ./configure --help
+            $ ./configure --help
 
-	The host configuration files are located in the `config'
-	directory and are based on architecture name, vendor name, and/or
-	operating system which are displayed near the beginning of the
-	`configure' output. The host config file influences the behavior
-	of configure by setting or augmenting shell variables.
+        The host configuration files are located in the 'config'
+        directory and are based on architecture name, vendor name, and/or
+        operating system, which are displayed near the beginning of the
+        'configure' output. The host config file influences the behavior
+        of configure by setting or augmenting shell variables.
 
-5.3.1. Specifying the installation directories
-	Typing `make install' will install the HDF5 library, header
-	files, examples, and support programs in hdf5/lib,
-	hdf5/include, hdf5/examples and hdf5/bin under the directory where it
-        was built (hdf5-1.6.# or build directory mentioned in 5.2)
-        To use a path other than hdf5 specify the path with 
-        the `--prefix=PATH' switch:
+4.3.1. Specifying the installation directories
+        Typing 'make install' will install the HDF5 Library, header files, 
+        examples, and support programs in hdf5/lib, hdf5/include, 
+        hdf5/examples, and hdf5/bin under the directory where it was built 
+        (hdf5-1.6.# or the build directory mentioned in section 4.2, "Source 
+        versus build directories").  To use a path other than hdf5/, specify 
+        the path with the '--prefix=PATH' switch:
 
-	    $ ./configure --prefix=$HOME
+            $ ./configure --prefix=$HOME
 
-	If shared libraries are being built (the default) then the final
-	home of the shared library must be specified with this switch
-	before the library and executables are built.
+        If shared libraries are being built (the default), the final
+        home of the shared library must be specified with this switch
+        before the library and executables are built.
 
-5.3.2. Using an alternate C compiler
-	By default, configure will look for the C compiler specified
+4.3.2. Using an alternate C compiler
+        By default, configure will look for the C compiler specified
         in the host configuration file in the config directory or by trying
-	`gcc' and `cc'. However, if the environment variable "CC" is set
-	then its value is used as the C compiler (users of csh and
-	derivatives will need to prefix the commands below with `env').
-	For instance, to use the native C compiler on a system which also
-	has the GNU gcc compiler:
+        'gcc' and 'cc'. However, if the environment variable "CC" is set,
+        then its value is used as the C compiler (users of csh and
+        derivatives will need to prefix the commands below with 'env').
+        For instance, to use the native C compiler on a system which also
+        has the GNU gcc compiler:
 
-	    $ CC=cc ./configure
+            $ CC=cc ./configure
 
-	A parallel version of hdf5 can be built by specifying parallel compiler,
-        usually `mpicc', as the C compiler (the `--enable-parallel' flag documented
-	below is optional in this case).  Using the `mpicc' compiler
-	will insure that the correct MPI and MPI-IO header files and
-	libraries are used.
+        A parallel version of HDF5 can be built by specifying a parallel 
+        compiler, usually 'mpicc', as the C compiler (the '--enable-parallel' 
+        flag documented below is optional in this case).  Using the 'mpicc' 
+        compiler will insure that the correct MPI and MPI-IO header files and
+        libraries are used.
 
-	    $ CC=/usr/local/mpi/bin/mpicc ./configure
+            $ CC=/usr/local/mpi/bin/mpicc ./configure
 
-	On Irix64 the default compiler is `cc'. To use an alternate
-	compiler specify it with the CC variable:
+        On Irix64, the default compiler is 'cc'. To use an alternate
+        compiler, specify it with the CC variable:
 
-	    $ CC='cc -n32' ./configure
+            $ CC='cc -n32' ./configure
 
-	Similarly, users compiling on a Solaris machine and desiring to
-	build the distribution with 64-bit support should specify the
-	correct flags with the CC variable:
+        Similarly, users compiling on a Solaris machine and desiring to
+        build the distribution with 64-bit support should specify the
+        correct flags with the CC variable:
 
-	    $ CC='cc -xarch=v9' ./configure
+            $ CC='cc -xarch=v9' ./configure
 
-	To configure AIX 64 bits including fortran API and C++,
-	(Remark: need to hardset $AR to 'ar -X 64'.)
-	Serial:
-	    $ CFLAGS=-q64 FFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\
-	    $ ./configure --enable-fortran
-	Parallel:
-	    $ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
-	    $ ./configure --enable-fortran --enable-parallel
+        To configure AIX 64-bit, including the Fortran and C++ APIs, set the
+        compilation flags as follows (note the requirement to hardset $AR to
+        'ar -X 64') and run configure with the appropriate flags as follows:
 
-5.3.3. Additional compilation flags
-	If addtional flags must be passed to the compilation commands
-	then specify those flags with the CFLAGS variable. For instance,
-	to enable symbolic debugging of a production version of HDF5 one
-	might say:
+            Serial:
+                $ CFLAGS=-q64 FFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\
+                $ ./configure --enable-fortran
 
-	    $ CFLAGS=-g ./configure --enable-production
+            Parallel:
+                $ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
+                $ ./configure --enable-fortran --enable-parallel
 
-5.3.4. Compiling HDF5 wrapper libraries
-	One can optionally build the Fortran and/or C++ interface to the
-	HDF5 C library. By default, both options are disabled. To build
-	them, specify `--enable-fortran' and `--enable-cxx' respectively.
+4.3.3. Additional compilation flags
+        If addtional flags must be passed to the compilation commands,
+        specify those flags with the CFLAGS variable. For instance,
+        to enable symbolic debugging of a production version of HDF5 one
+        might say:
 
-	    $ ./configure --enable-fortran
-	    $ ./configure --enable-cxx
-	
-        Configure uses Fortran compiler specified in the host configuration
-        file in the fortran/config directory and C++ compiler specified in the
-        host configuration file under the c++/config directory. 
+            $ CFLAGS=-g ./configure --enable-production
+
+4.3.4. Compiling HDF5 wrapper libraries
+        One can optionally build the Fortran and/or C++ interface to the HDF5
+        C library. By default, both options are disabled. To build one or 
+        both, specify '--enable-fortran' and/or '--enable-cxx', respectively.
+
+            $ ./configure --enable-fortran
+            $ ./configure --enable-cxx
+        
+        Configure uses the Fortran compiler specified in the host configuration
+        file in the fortran/config directory and the C++ compiler specified in 
+        the host configuration file under the c++/config directory. 
         Configuration will halt if a working Fortran 90 or 95 compiler or 
         C++ compiler is not found. Currently, the Fortran configure tests
-	for these compilers in order: f90, pgf90, f95. To use an
-	alternative Fortran compiler specify it with the F9X variable,
-        for example:
+        for these compilers in order: f90, pgf90, f95. To use an
+        alternate Fortran compiler, specify it with the F9X variable.
+        For example:
 
-	    $ F9X=/mycompiler/bin/g95 ./configure --enable-fortran
+            $ F9X=/mycompiler/bin/g95 ./configure --enable-fortran
 
-        To use an alternative C++ compiler specify it with the CXX variable:
+        To use an alternate C++ compiler, specify it with the CXX variable:
 
             $ CXX=/mycompiler/bin/c++ ./configure --enable-cxx 
 
-	Note: Fortran interface supports parallel HDF5 while the 
+        Note: The Fortran interface supports parallel HDF5 while the 
               C++ interface does not.
           
-        Note:  On Cray T3E machines the following files need to be modified
-               before building the Fortran Library:
-                 fortran/src/H5Dff.f90
-                 fortran/src/H5Aff.f90
-                 fortran/src/H5Pff.f90
-               Check for "Comment if on T3E ..." comment and comment out 
-               specified lines or use a patch from HDF FTP server
-               ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
+4.3.5. Specifying other programs
+        The build system has been tuned for use with GNU make but works
+        also with other versions of make.  If the 'make' command runs a
+        non-GNU version but a GNU version is available under a different
+        name (perhaps 'gmake'), then HDF5 can be configured to use it by
+        setting the MAKE variable. Note that whatever value is used for
+        MAKE must also be used as the make command when building the
+        library:
 
-        Note: See sections 5.7 and 5.8 for how to build Fortran Library with
-              PGI or Intel compilers. 
+            $ MAKE=gmake ./configure
+            $ gmake
 
-5.3.5. Specifying other programs
-	The build system has been tuned for use with GNU make but works
-	also with other versions of make.  If the `make' command runs a
-	non-GNU version but a GNU version is available under a different
-	name (perhaps `gmake') then HDF5 can be configured to use it by
-	setting the MAKE variable. Note that whatever value is used for
-	MAKE must also be used as the make command when building the
-	library:
+        The 'AR' and 'RANLIB' variables can also be set to the names of
+        the 'ar' and 'ranlib' (or ':') commands to override values
+        detected by configure.
 
-	    $ MAKE=gmake ./configure
-	    $ gmake
+        The HDF5 Library, include files, and utilities are installed
+        during 'make install' (described below) with a BSD-compatible
+        install program detected automatically by configure. If none is
+        found, the shell script bin/install-sh is used. Configure
+        does NOT check that the install program actually works, but if a
+        bad install is detected on your system, you have two choices: 
 
-	The `AR', 'TR', and `RANLIB' variables can also be set to the names
-	of the `ar', 'tr', and `ranlib' (or `:') commands to override values
-	detected by configure.
+            1. Copy the bin/install-sh program to your $HOME/bin
+               directory, name it 'install', and make sure that $HOME/bin
+               is searched before the system bin directories.
 
-	The HDF5 library, include files, and utilities are installed
-	during `make install' (described below) with a BSD-compatible
-	install program detected automatically by configure. If none is
-	found then the shell script bin/install-sh is used. Configure
-	doesn't check that the install script actually works, but if a
-	bad install is detected on your system (e.g., on the ASCI blue
-	machine as of March 2, 1999) you have two choices:
+            2. Specify the full path name of the 'install-sh' program
+               as the value of the INSTALL environment variable. 
+               Note: Do not use 'cp' or some other program in place of install
+               because the HDF5 makefiles also use the install program to
+               change file ownership and/or access permissions.
 
-	    1. Copy the bin/install-sh program to your $HOME/bin
-	       directory, name it `install', and make sure that $HOME/bin
-	       is searched before the system bin directories.
+4.3.6. Specifying other libraries and headers
+        Configure searches the standard places (those places known by the
+        system compiler) for include files and header files. However,
+        additional directories can be specified by using the CPPFLAGS
+        and/or LDFLAGS variables:
 
-	    2. Specify the full path name of the `install-sh' program
-	       as the value of the INSTALL environment variable. Note: do
-	       not use `cp' or some other program in place of install
-	       because the HDF5 makefiles also use the install program to
-	       also change file ownership and/or access permissions.
-
-5.3.6. Specifying other libraries and headers
-	Configure searches the standard places (those places known by the
-	systems compiler) for include files and header files. However,
-	additional directories can be specified by using the CPPFLAGS
-	and/or LDFLAGS variables:
-
-	    $ CPPFLAGS=-I/home/robb/include \
+            $ CPPFLAGS=-I/home/robb/include \
               LDFLAGS=-L/home/robb/lib \
-	      ./configure
+              ./configure
 
-	HDF5 uses the zlib library for two purposes: it provides support
-	for the HDF5 deflate data compression filter, and it is used by
-	the h5toh4 converter and  the h4toh5 converter in support of
-	HDF4. Configure searches the standard places (plus those
-	specified above with CPPFLAGS and LDFLAGS variables) for the zlib
-	headers and library. The search can be disabled by specifying
-	`--without-zlib' or alternate directories can be specified with
-	`--with-zlib=/PATH_TO_ZLIB' or through the CPPFLAGS and LDFLAGS
-	variables:
+        HDF5 uses the zlib library to support the HDF5 deflate data 
+        compression filter.  Configure searches the standard places (plus 
+        those specified above with CPPFLAGS and LDFLAGS variables) for the 
+        zlib headers and library. The search can be disabled by specifying
+        '--without-zlib' or alternate directories can be specified with
+        '--with-zlib=/PATH_TO_ZLIB' or through the CPPFLAGS and LDFLAGS
+        variables:
 
-	    $ ./configure --with-zlib=/PATH_TO_ZLIB
+            $ ./configure --with-zlib=/PATH_TO_ZLIB
 
-	    $ CPPFLAGS=-I/PATH_TO_ZLIB/include \
-	      LDFLAGS=-L/PATH_TO_ZLIB/lib \
-	      ./configure
+            $ CPPFLAGS=-I/PATH_TO_ZLIB/include \
+              LDFLAGS=-L/PATH_TO_ZLIB/lib \
+              ./configure
 
-	HDF5 has Szip predefined compression method (see 4.2).  To enable
-	Szip compression, HDF5 library has to be configured and build using 
-	Szip Library
+        HDF5 also provides a predefined Szip compression method (see section
+        3.2, "Szip").  To enable Szip compression, the HDF5 Library has to 
+        be configured and built using the Szip Library:
 
-        $ ./configure --with-szlib=/PATH_TO_SZIP
+            $ ./configure --with-szlib=/PATH_TO_SZIP
 
-5.3.7. Static versus shared linking
-	The build process will create static libraries on all systems and
-	shared libraries on systems that support dynamic linking to a
-	sufficient degree. Either form of library may be suppressed by
-	saying `--disable-static' or `--disable-shared'.
+4.3.7. Static versus shared linking
+        The build process will create static libraries on all systems and
+        shared libraries on systems that support dynamic linking to a
+        sufficient degree. Either form of the library may be suppressed by
+        saying '--disable-static' or '--disable-shared'.
 
-	    $ ./configure --disable-shared
+            $ ./configure --disable-shared
 
-	The C++ and Fortran libraries are currently only available in the
-	static format.
+        To build only statically linked executables on platforms which
+        support shared libraries, use the '--enable-static-exec' flag.
 
-	To build only statically linked executables on platforms which
-	support shared libraries, use the `--enable-static-exec' flag.
+            $ ./configure --enable-static-exec
 
-	    $ ./configure --enable-static-exec
+4.3.8. Optimization versus symbolic debugging
+        The library can be compiled to provide symbolic debugging support
+        so it can be debugged with gdb, dbx, ddd, etc., or it can be
+        compiled with various optimizations. To compile for symbolic
+        debugging (the default for snapshots), say '--disable-production';
+        to compile with optimizations (the default for supported public
+        releases), say '--enable-production'. On some systems, the library
+        can also be compiled for profiling with gprof by saying
+        '--enable-production=profile'.
 
-5.3.8. Optimization versus symbolic debugging
-	The library can be compiled to provide symbolic debugging support
-	so it can be debugged with gdb, dbx, ddd, etc or it can be
-	compiled with various optimizations. To compile for symbolic
-	debugging (the default for snapshots) say `--disable-production';
-	to compile with optimizations (the default for supported public
-	releases) say `--enable-production'. On some systems the library
-	can also be compiled for profiling with gprof by saying
-	`--enable-production=profile'.
+            $ ./configure --disable-production         #symbolic debugging
+            $ ./configure --enable-production          #optimized code
+            $ ./configure --enable-production=profile  #for use with gprof
 
-	    $ ./configure --disable-production         #symbolic debugging
-	    $ ./configure --enable-production          #optimized code
-	    $ ./configure --enable-production=profile  #for use with gprof
+        Regardless of whether support for symbolic debugging is enabled,
+        the library can also perform runtime debugging of certain packages 
+        (such as type conversion execution times and extensive invariant 
+        condition checking). To enable this debugging, supply a
+        comma-separated list of package names to the '--enable-debug'
+        switch.  (See "Debugging HDF5 Applications" for a list of package 
+        names.  In the documentation distributed with this release, that
+        document is in doc/html/Debugging.html.  In the HDF5 documentation 
+        at http:hdfgroup.org/HDF5/doc/, select "HDF5 User's Guide from 
+        Release 1.4.5," then select "Debugging.")
 
-	Regardless of whether support for symbolic debugging is enabled,
-	the library also is able to perform runtime debugging of certain
-	packages (such as type conversion execution times, and extensive
-	invariant condition checking). To enable this debugging supply a
-	comma-separated list of package names to to the `--enable-debug'
-	switch (see doc/html/Debugging.html in the source directory
-        for a list of package names).
-	Debugging can be disabled by saying `--disable-debug'. The
-	default debugging level for snapshots is a subset of the
-	available packages; the default for supported releases is no
-	debugging (debugging can incur a significant runtime penalty).
+        Debugging can be disabled by saying '--disable-debug'. The
+        default debugging level for snapshots is a subset of the
+        available packages; the default for supported releases is no
+        debugging (debugging can incur a significant runtime penalty).
 
-	    $ ./configure --enable-debug=s,t  #debug only H5S and H5T
-	    $ ./configure --enable-debug      #debug normal packages
-	    $ ./configure --enable-debug=all  #debug all packages
-	    $ ./configure --disable-debug     #no debugging
+            $ ./configure --enable-debug=s,t   #debug only H5S and H5T
+            $ ./configure --enable-debug       #debug normal packages
+            $ ./configure --enable-debug=all   #debug all packages
+            $ ./configure --disable-debug      #no debugging
 
-	HDF5 is also able to print a trace of all API function calls,
-	their arguments, and the return values. To enable or disable the
-	ability to trace the API say `--enable-trace' (the default for
-	snapthots) or `--disable-trace' (the default for public
-	releases). The tracing must also be enabled at runtime to see any
-	output (see Debugging.html).
+        HDF5 is also able to print a trace of all API function calls,
+        their arguments, and the return values. To enable or disable the
+        ability to trace the API, say '--enable-trace' (the default for
+        snapthots) or '--disable-trace' (the default for public releases). 
+        The tracing must also be enabled at runtime to see any output 
+        (see Debugging.html).
 
-5.3.9. Large (>2GB) vs. small (<2GB) file capability
-	In order to read or write files that could potentially be larger
-	than 2GB it is necessary to use the non-ANSI `long long' data
-	type on some platforms. However, some compilers (e.g., GNU gcc
-	versions before 2.8.1 on Intel platforms) are unable to produce
-	correct machine code for this data type. To disable use of the
-	`long long' type on these machines say:
 
-	    $ ./configure --disable-hsizet
+4.3.9. Parallel versus serial library
+        The HDF5 Library can be configured to use MPI and MPI-IO for
+        parallelism on a distributed multi-processor system.  Read the
+        file INSTALL_parallel for detailed explanations.
 
-5.3.10. Parallel vs. serial library
-	The HDF5 library can be configured to use MPI and MPI-IO for
-	parallelizm on a distributed multi-processor system.  Read the
-	file INSTALL_parallel for detailed explanations.
+4.3.10. Disabling high-level C APIs
+        By default, the HDF5 Library is configured to build the high-level 
+        C APIs.  If this feature is not desired, use the '--disable-hl' 
+        configuration flag to bypass building and testing high-level C APIs.
 
-5.3.11. Threadsafe capability
-	The HDF5 library can be configured to be thread-safe (on a very
-	large scale) with the with the `--enable-threadsafe' flag to
-        the configure script.  Some platforms may also require the 
-        '-with-pthread=INC,LIB' (or '--with-pthread=DIR') flag to the configure
-        script as well.  Read the file doc/html/TechNotes/ThreadSafeLibrary.html
-         in the source directory for further details.
+4.3.11. Threadsafe capability
+        The HDF5 Library can be configured to be thread-safe (on a very
+        large scale) with the '--enable-threadsafe' flag to the configure 
+        script.  Some platforms may also require the '-with-pthread=INC,LIB' 
+        flag (or '--with-pthread=DIR') to the configure script.  
+        (For further details, see "Thread Safe HDF5 Library Implementation" 
+        in the "HDF5 Technical Notes."  This document is included in the 
+        HDF5 documentation set distributed with this release and posted at
+        http:hdfgroup.org/HDF5/doc/.)
 
-5.3.12. Backward compatibility
-	The 1.6 version of the HDF5 library can be configured to operate
-	identically to the v1.4 library with the `--enable-hdf5v1_4'
-	configure flag. This allows existing code to be compiled with the
-	v1.6 library without requiring immediate changes to the
-	application source code. This flag will only be supported in the
-	v1.6 branch of the library, it will not be available in v1.7+.
+4.3.12. Backward compatibility with HDF5 1.4* releases
+        The 1.6 version of the HDF5 Library can be configured to operate
+        identically to the v1.4 library with the '--enable-hdf5v1_4'
+        configure flag. This allows existing code to be compiled with the
+        v1.6 library without requiring immediate changes to the
+        application source code. This flag will only be supported in the
+        v1.6 branch of the library; it will not be available in v1.8+.
 
-5.3.13. Network stream capability
-	The HDF5 library can be configured with a network stream file
-	driver with the `--enable-stream-vfd' configure flag. This option
-	compiles the "stream" Virtual File Driver into the main library.
-	See the documentation on the Virtual File Layer for more details
-	about the use of this driver. This option is ON by default. Use
-        --disable-stream-vfd configuration flag to turn it OFF.
+4.3.13. Network stream capability
+        By default, the HDF5 Library is configured with a network stream file
+        driver. See the documentation on the Virtual File Layer for more 
+        details about the use of this driver. Use the '--disable-stream-vfd' 
+        configuration flag to turn it OFF.
 
-5.4. Building
-	The library, confidence tests, and programs can be build by
-	saying just:
+4.4. Building
+        The library, confidence tests, and programs can be built by
+        saying just:
 
-	    $ make
+            $ make
 
-	Note that if you supplied some other make command via the MAKE
-	variable during the configuration step then that same command
-	must be used here.
+        Note that if you supplied some other make command via the MAKE
+        variable during the configuration step, that same command must
+        be used here.
 
-	When using GNU make you can add `-j -l6' to the make command to
-	compile in parallel on SMP machines. Do not give a number after
-	th `-j' since GNU make will turn it off for recursive invocations
-	of make.
+        When using GNU make you can add '-j -l6' to the make command to
+        compile in parallel on SMP machines. Do not give a number after
+        the '-j' since GNU make will turn it off for recursive invocations
+        of make.
 
-	    $ make -j -l6
+            $ make -j -l6
 
-5.5. Testing
-	HDF5 comes with various test suites, all of which can be run by
-	saying
+4.5. Testing
+        HDF5 comes with various test suites, all of which can be run by
+        saying
 
-	    $ make check
+            $ make check
 
-	To run only the tests for the library change to the `test'
-	directory before issuing the command. Similarly, tests for the
-	parallel aspects of the library are in `testpar' and tests for
-	the support programs are in `tools'.
+        To run only the tests for the library, change to the 'test'
+        directory before issuing the command. Similarly, tests for the
+        parallel aspects of the library are in 'testpar' and tests for
+        the support programs are in 'tools'.
 
-	Temporary files will be deleted by each test when it complets,
-	but may continue to exist in an incomplete state if the test
-	fails. To prevent deletion of the files define the HDF5_NOCLEANUP
-	environment variable.
+        Temporary files will be deleted by each test when it completes
+        but may continue to exist in an incomplete state if the test fails.
+        To prevent deletion of the files, define the HDF5_NOCLEANUP
+        environment variable.
 
-5.6. Installing
-	The HDF5 library, include files, and support programs can be
-	installed in a (semi-)public place by saying `make install'. The
-	files are installed under the directory specified with
-	`--prefix=DIR' (or 'hdf5' in the build directory) in directories named `lib',
-	`include', 'doc', and `bin'. The prefix directory DIR must exist prior to
-	`make install', but its subdirectories are created automatically. 
-        'hdf5' directory under the build directory is created automatically.
+4.6. Installing
+        The HDF5 Library, include files, and support programs can be
+        installed in a (semi-)public place by saying 'make install'. The
+        files are installed under the directory specified with
+        '--prefix=DIR' (or 'hdf5' in the build directory) in directories 
+        named 'lib', 'include', 'doc', and 'bin'. The prefix directory DIR 
+        must exist prior to 'make install', but its subdirectories are 
+        created automatically.  An 'hdf5' directory under the build directory
+        is created automatically.
 
-	If `make install' fails because the install command at your site
-	somehow fails, you may use the install-sh that comes with the
-	source. You need to run ./configure again.
+        If 'make install' fails because the install command at your site
+        somehow fails, you may use the install-sh script that comes with the
+        source. You need to run ./configure again.
 
             $ INSTALL="$PWD/bin/install-sh -c" ./configure ...
             $ make install
 
-	The library can be used without installing it by pointing the
-	compiler at the `src' and 'src/.libs' directory for include files and
-	libraries. However, the minimum which must be installed to make
-	the library publically available is:
+        The library can be used without installing it by pointing the
+        compiler at the 'src' and 'src/.libs' directory for include files and
+        libraries. However, the minimum which must be installed to make
+        the library publicly available is:
 
-	    The library:
-		./src/.libs/libhdf5.a
+            The library:
+                ./src/.libs/libhdf5.a
 
-	    The public header files:
-		./src/H5*public.h, ./src/H5public.h
+            The public header files:
+                ./src/H5*public.h, ./src/H5public.h
                 ./src/H5FD*.h except ./src/H5FDprivate.h,
                 ./src/H5api_adpt.h
 
-	    The main header file:
-		./src/hdf5.h
+            The main header file:
+                ./src/hdf5.h
 
-	    The configuration information:
-		./src/H5pubconf.h
-	
-    	The support programs that are useful are:
-	    ./tools/h5ls/h5ls		(list file contents)
-	    ./tools/h5dump/h5dump	(dump file contents)
-	    ./tools/misc/h5repart	(repartition file families)
-	    ./tools/misc/h5debug	(low-level file debugging)
-	    ./tools/h5import/h5import	(imports data to HDF5 file)
-            ./tools/h5diff/h5diff       (compares two HDF5 files)
-            ./tools/gifconv/h52gif	(HDF5 to GIF converter) 
-            ./tools/gifconv/gif2h5      (GIF to HDF5 converter)
+            The configuration information:
+                ./src/H5pubconf.h
+        
+        The support programs that are useful are:
+            ./tools/h5ls/h5ls          (lists file contents)
+            ./tools/h5dump/h5dump      (dumps file contents)
+            ./tools/h5repack/h5repack  (repacks HDF5 file)
+            ./tools/h5jam/h5jam(unjam) (adds/removes user block to/from 
+                                           HDF5 file)
+            ./tools/misc/h5repart      (repartitions file families)
+            ./tools/misc/h5debug       (low-level file debugging)
+            ./tools/h5import/h5import  (imports data to HDF5 file)
+            ./tools/h5diff/h5diff      (compares two HDF5 files)
+            ./hl//tools/h52gif/h52gif  (HDF5 to GIF converter) 
+            ./hl//tools/gif2h5/gif2h5  (GIF to HDF5 converter)
 
-5.7  Building and testing with Intel compilers
 
+5. Using the Library
+        Please see the HDF5 User's Guide and the HDF5 Reference Manual 
+        in the HDF5 documentation.
 
-     When Intel compilers are used (icc or ecc), you will need to 
-     modify the generated "libtool" program after configuration is finished.
-     On or around line 104 of the libtool file, there are lines which 
-     look like:
+        C programs must include <hdf5.h> and link with the HDF5 Libraries.
+        Additional libraries may also be necessary depending on whether
+        support for compression, etc., was compiled into the HDF5 Library.
 
-          # How to pass a linker flag through the compiler.
-          wl=""
+        A summary of the current HDF5 installation can be found in the
+        libhdf5.settings and libhdf5_fortran.settings files in the bin
+        subdirectory. 
 
-      Change these lines to this:
+        Users are encouraged to use the helper compiler scripts h5cc, h5fc, 
+        and h5c++ to build HDF5 C, Fortran, and C++ applications, 
+        respectively.  Those scripts are installed under the bin subdirectory 
+        when 'make install' is run.
 
-          # How to pass a linker flag through the compiler.
-          wl="-Wl,"
+        Scripts inherit flags used during library compilation.  Users may 
+        examine these and other flags used by a script by typing the script 
+        name with the '-echo' option:
+            <script> -echo
+        The script may then be edited as needed.
 
-      UPDATE: This is now done automatically by the configure script. However,
-      if you still experience a problem, you may want to check this line in
-      the libtool file and make sure that it has the correct value.
 
-    * To build the Fortran library using Intel compiler on Linux 2.4, one has to 
-          x Use -fpp -DDEC$=DEC_ -DMS$=MS_ compiler flags to disable
-            DEC and MS compiler directives in source files in fortran/src, fortran/test 
-            and fortran/examples directories.
-	    e.g., setenv F9X 'ifc -fpp -DDEC$=DEC_ -DMS$=MS_'
-	    (do not use double quotes since $ is interpreted in them.)
+5.1. Using the C++ API
+        To use the C++ API, one must include the header file H5Cpp.h
+        in the application.  Please refer to the examples in c++/examples
+        for sample code.
 
-          x If Version 6.0 of Fortran compiler is used, build fails in 
-            the fortran/test directory and then in the
-            fortran/examples directory; to proceed, edit the work.pcl files in
-            those directories to contain two lines
+        A Doxygen-generated Reference Manual for the C++ API is provided 
+        in the HDF5 documentation.  If an updated version or a different 
+        format is desired, users can re-generate this document with Doxygen.
 
-                    work.pc
-                    ../src/work.pc 
+        When running in c++/src, Doxygen will put the generated html 
+        files in doc/html/cpplus_RM.  Users may specify a different
+        location by editing the field OUTPUT_DIRECTORY in the configuration
+        file c++/src/cpp_doc_config.  The field HTML_STYLESHEET specifies
+        the stylesheet that can be used to change the document layout.
 
-          x Do the same in fortran/examples directory
-          x Problem with work.pc files was resolved for newest version of the compiler (7.0)
 
-    * To build the Fortran Library on IA32 follow step described above, except 
-      that DEC and MS compiler directives should be removed manually or 
-      use a patch from HDF FTP server ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
-      Also check "How to build HDF5 Fortran with Intel Compiler" under HDF5 FAQ
-      http://hdf.ncsa.uiuc.edu/hdf5-quest.html#plat-intel
+6. Support
+        Support is described in the README file.
 
-
-5.8  Building and testing with PGI compilers
-     
-     When PGI C and C++ compilers are used (pgcc or pgCC), you will need to 
-     modify the generated "libtool" program after configuration is finished.
-     On or around line 104 of the libtool file, there are lines which 
-     look like:
-
-          # How to pass a linker flag through the compiler.
-          wl=""
-
-      Change these lines to this:
-
-          # How to pass a linker flag through the compiler.
-          wl="-Wl,"
-
-      UPDATE: This is now done automatically by the configure script. However,
-      if you still experience a problem, you may want to check this line in
-      the libtool file and make sure that it has the correct value.
-
-      To build HDF5 C++ Library with pgCC (version 4.0 and later), set
-      environment variable CXX to "pgCC -tlocal"
-         setenv CXX "pgCC -tlocal"
-      before running the configure script.
-
-
-6. Using the Library
-	Please see the User Manual in the doc/html directory.
-
-	Most programs will include <hdf5.h> and link with -lhdf5.
-	Additional libraries may also be necessary depending on whether
-	support for compression, etc. was compiled into the hdf5 library.
-
-	A summary of the hdf5 installation can be found in the
-	libhdf5.settings and libhdf5_fortran.settings files in the bin
-        subdirectory. 
-
-        Users are encouraged to use helper compiler scripts h5cc, h5fc, and
-        h5c++ to build HDF5 C, Fortran and C++ applications correspondigly. Those
-        scripts are installed under bin subdirectory when make install is run.
-
-
-7. Support
-	Support is described in the README file.

Copied: packages/hdf5/trunk/release_docs/INSTALL_Cygwin.txt (from rev 1094, packages/hdf5/branches/upstream/current/release_docs/INSTALL_Cygwin.txt)
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_Cygwin.txt	                        (rev 0)
+++ packages/hdf5/trunk/release_docs/INSTALL_Cygwin.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,212 @@
+************************************************************************
+         HDF5 Build and Install Instructions for Cygwin
+************************************************************************
+
+Preconditions:
+--------------
+
+1. Installed Cygwin 1.5.17 or higher
+
+   To install the Cygwin net release, go to http://www.cygwin.com and 
+   click on "Install or update now!" icon. This will download a GUI 
+   installer called setup.txt which can be run to download a complete 
+   Cygwin installation via the internet. Then follow the instructions 
+   on each screen to install Cygwin.
+
+   Cygwin uses packages to manage installing various software. Users can 
+   choose to install or uninstall certain packages by running setup.exe.
+   http://www.cygwin.com/packages/ provides detailed information about 
+   Cygwin packages.
+
+   To build HDF5 on Cygwin, Devel package (including gcc,gcc-g++,
+   gcc-g77, and gcc-java compiles, and gdb tool) should be installed.
+
+2. Compilers Installed
+
+   2.1 C/C++ Compilers HDF5-1.6 Supported
+
+       gcc-3.4.4 is included in Cygwin, which includes: 
+       gcc    : GNU C compiler
+       gcc-g++: GNU C++ compiler
+       gcc-g77: GNU Fortran 77 compiler
+
+   2.2 Fortran Compiler HDF5-1.6 Supported
+       
+       HDF5-1.6 supports g95(GCC 4.0.1 (g95!) Jul 22 2005) and higher.
+       
+       g95 is a free, open source Fortran 95 compiler. Users can 
+       download the g95 binaries for Cygwin in the following website: 
+       http://www.g95.org.
+
+   2.3 Using Compilers Not Supported
+       
+       The compilers in 2.1 and 2.2 are supported and tested by HDF 
+       group. Any other compilers may still work but they are not 
+       guaranteed by HDF group.
+
+       If users want to use other compilers except those in 2.1 and 2.2,
+       try to set the following variables to override the default 
+       choices.
+       
+       CXX : C++ compiler command
+       FC  : Fortran compiler command
+
+       For example, if users want to use pgf90 as fortran compiler, then 
+
+            setenv FC pgf90
+           
+3. HDF5 Dependencies
+
+   3.1 Zlib
+
+       zlib-1.2.2 or later is supported and tested on Cygwin.
+
+   3.2 Szip
+       The HDF5 library has a predefined compression filter that uses
+       the extended-Rice lossless compression algorithm for chunked
+       datatsets. For more information about Szip compression and 
+       license terms see 
+       http://hdfgroup.org/HDF5/doc_resource/SZIP/index.html.
+      
+       The latest supported public release of SZIP is available from
+       ftp://ftp.hdfgroup.org/lib-external/szip/2.0/bin/. Binary distribution can be 
+       found under ftp://ftp.hdfgroup.org/lib-external/szip/2.0/bin/cygwin
+
+
+Install HDF5 on Cygwin
+----------------------
+
+1. Get HDF5 source code package
+   Users can download HDF5 source code package from HDF website
+   (http://hdfgroup.org). 
+     
+2. Unpacking the distribution
+
+   The HDF5 source code is distributed in a variety of formats which
+   can be unpacked with the following commands, each of which creates 
+   an `hdf5-1.6' directory.
+
+   2.1 Non-compressed tar archive (*.tar)
+
+            $ tar xf hdf5-1.6.tar
+
+   2.2 Gzip'd tar archive (*.tar.gz)
+
+            $ gunzip < hdf5-1.6.tar.gz | tar xf -
+
+   2.3 Bzip'd tar archive (*.tar.bz2)
+
+            $ bunzip2 < hdf5-1.6.tar.bz2 | tar xf - 
+            
+3. Configuring 
+     
+   Notes: See detailed information in hdf5/release_docs/INSTALL, 
+          part 5. Full installation instructions for source 
+          distributions
+
+   The host configuration file for cygwin i686-pc-cygwin is located 
+   in the `config' directory and are based on architecture name, 
+   vendor name, and operating system which are displayed near the 
+   beginning of the `configure' output. The host config file influences
+   the behavior of configure by setting or augmenting shell variables. 
+     
+   In short,
+     
+   3.1 To configure HDF5 C Library, using 
+            
+            $ ./configure
+                   
+   3.2 To configure HDF5 C/C++ Library, using
+
+            $ ./configure --enable-cxx
+                   
+   3.3 To configure HDF5 C/Fortran Library, using
+
+            $ ./configure --enable-fortran
+                   
+   3.4 To configure HDF5 C with Szip library, using
+
+            $ ./configure  --with-szlib="path to szlib"
+           
+       For example, if szip library was installed in the directory 
+       /cygdrive/c/szip, which is parent directory of "include" and
+       "lib", then the following command will configure HDF5 C library 
+       with szip enabled:
+           
+            $ ./configure --with-szlib=/cygdrive/c/szip
+                   
+   3.5 To configure HDF5 C without Zlib,
+     
+       To disable zlib, using
+
+           $ ./configure --without-zlib
+           
+   3.6 To configure HDF5 C with Zlib,
+     
+     To enable zlib, using
+
+           $ ./configure --with-zlib
+
+   3.7 To specify the installation directories, using 
+
+            $ ./configure --prefix="path for installation"
+                 
+       By default, HDF5 library, header files, examples, and 
+       support programs will be installed in /usr/local/lib,
+       /usr/local/include, /usr/local/doc/hdf5/examples, and
+       /usr/local/bin. To use a path other than /usr/local specify 
+       the path with the `--prefix=PATH' switch as in the above
+       command.
+
+   3.8 Combination of Switches 
+
+       All of the above switches can be combined together. For 
+       example, if users want to configure HDF5 C/C++/Fortran 
+       library with szip library enabled, with zlib library at 
+       /cygdrive/c/usr/, and install HDF5 into directory 
+       /cygdrive/c/hdf5 using gcc/g++ as C/C++ compiler and g95
+       as fortran compiler
+     
+           $ ./configure
+             --with-szlib=/cygdrive/c/szip
+             --with-zlib
+             --prefix=/cygdrive/c/hdf5
+             --enable-cxx
+             --enable-fortran 
+             <"If no more switches, then hit Enter">
+
+       Notes: The command format above is for readilibity. In practice,
+              please type in the command above with at least one
+              space between each line, No "Enter" until users finish 
+              the switches and want to run the configure. 
+
+                           
+4. Make and Make Check
+
+   After configuration is done successfully, run the following series of
+   commands to build, test and install HDF5
+    
+            $ make          > "output file name"
+            $ make check    > "output file name"
+            
+   Before run "make install", check output file for "make check", there
+   should be no failures at all.
+
+5. Make Install
+
+            $ make install           > "output file name"
+            $ make check-install    > "output file name"
+   
+     
+6. Check installed HDF5 library
+
+   After step 4, go to your installation directory, there should be 
+   three subdirectories: "bin" "include" and "lib".
+
+7. Known Problems 
+   
+   Shared libraries can not be built on Cygwin In release 1.6.
+
+-----------------------------------------------------------------------
+
+Need Further assistance, email help at hdfgroup.org

Deleted: packages/hdf5/trunk/release_docs/INSTALL_TFLOPS
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_TFLOPS	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_TFLOPS	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,166 +0,0 @@
-FOR THE INTEL TFLOPS MACHINE:
-
-Below are the step-by-step procedures for building, testing, and
-installing the parallel and sequential versions of the HDF5 library.
-
------------------
-Software locations
-------------------
-The zlib compression library is installed in /usr/community/hdf5/ZLIB.
-The latest version is zlib v1.1.4.
-
-The mpich library, including mpi-io support, is now supported by the 
-TFLOPS system staff.  Check Sasn100:/usr/local/FAQ/R4.4.0_Release_Notes
-for details.  A modified version of mpicc is created to simply the
-command. It is installed as /usr/community/hdf5/tflop-mpich/bin/mpicc.
-
----------------
-gmake recommended
----------------
-Both Sasn100 and Janus have multiple versions of the make command.
-We recommand the use of the Gnu gmake which has some features
-(e.g., -j and --srcdir support) that makes (sic) life easier.
-
----------------
-Parallel HDF5:
----------------
-
-The setup process for building the parallel HDF5 library for the
-ASCI Red machine is done by a coordination of events from sasn100 and
-janus.  Though janus can do compiling, it is better to build it
-from sasn100 which has more complete building tools and runs faster.
-It is also anti-social to tie up janus with compiling.  The HDF5 building
-requires the use of janus because one of steps is to execute a program
-to find out the run-time characteristics of the TFLOPS machine.
-
-Assuming you have already unpacked the HDF5 tar-file into the 
-directory <hdf5>, follow the steps below:
-FROM SASN100,
-
-1) cd <hdf5>
-
-2) CC=/usr/community/hdf5/tflop-mpich/bin/mpicc \
-      ./configure --host=i386-intel-osf1 --with-zlib=/usr/community/hdf5/ZLIB
-
-   Skip the "--with-zlib=..." option if you do not wish to include the zlib
-   compression feature.  Without the zlib compression feature, the library
-   will not be able to access zlib compressed datasets.
-
-   You may safely ignore the WARNING message,
-    =========
-    configure: WARNING: If you wanted to set the --build type, don't use --host.
-	If a cross compiler is detected then cross compile mode will be used.
-    =========
-   You may add the option "--build=i386-intel-osf1" to get rid of the WARNING.
-
-3) gmake H5detect
-
-
-FROM JANUS, 
-
-4) cd <hdf5>
-
-5) gmake H5Tinit.c
-
-
-FROM SASN100,
-
-6) gmake
-
-
-When everything is finished compiling and linking,
-FROM JANUS, 
-
-7) gmake check 
-   (We have not encountered the following problem for a year.)
-   Sometimes the "gmake check" fails in the sub-directories of test
-   or tools with a message as "print not found".  This is due to the
-   "gmake" of Janus thinking some binary code needs to be recompiled.
-   The easiest way to fix it is
-   FROM SASN100
-   cd <hdf5>/test	# or cd <hdf5>/tools
-   gmake clean; gmake   # re-make all binary
-
-
-Once satisfied with the parallel test results, as long as you 
-have the correct permission,
-FROM SASN100,
-
-8) gmake install
-
-
----------------
-Sequential HDF5:
----------------
-(**NOTE** We have stopped testing sequential HDF5 for the Tflops machine
-since it has little practical value to build sequential applications for
-the Tflops machine.  The instruction below are kept more for historical
-purpose.)
-
-The setup process for building the sequential HDF5 library for the
-ASCI Red machine is done by a coordination of events from sasn100 and
-janus.  Though janus can do compiling, it is better to build it
-from sasn100 which has more complete building tools and runs faster.
-It is also anti-social to tie up janus with compiling.  The HDF5 building
-requires the use of janus because one of steps is to execute a program
-to find out the run-time characteristics of the TFLOPS machine.
-
-Assuming you have already unpacked the HDF5 tar-file into the 
-directory <hdf5>, follow the steps below:
-
-FROM SASN100,
-
-1) cd <hdf5>
-
-2) ./configure --host=i386-intel-osf1 --with-zlib=/usr/community/hdf5/ZLIB
-
-   Skip the "--with-zlib=..." option if you do not wish to include the zlib
-   compression feature.  Without the zlib compression feature, the library
-   will not be able to access zlib compressed datasets.
-
-   You may safely ignore the WARNING message,
-    =========
-    configure: WARNING: If you wanted to set the --build type, don't use --host.
-	If a cross compiler is detected then cross compile mode will be used.
-    =========
-   You may add the option "--build=i386-intel-osf1" to get rid of the WARNING.
-
-   (The previous bugs in src/Makefile and test/Makefile have been resolved.
-    You don't need to edit them any more.)
-
-3) gmake H5detect
-
-
-FROM JANUS, 
-
-4) cd <hdf5>
-
-5) gmake H5Tinit.c
-
-
-FROM SASN100,
-
-6) gmake
-
-
-When everything is finished compiling and linking,
-you can run the tests by
-FROM JANUS, 
-
-7) gmake check 
-     Sometimes the "gmake check" fails in the sub-directories of test
-     or tools with a message as "print not found".  This is due to the
-     "gmake" of Janus thinking some binary code needs to be recompiled.
-     The easiest way to fix it is
-     FROM SASN100
-     cd <hdf5>/test	# or cd <hdf5>/tools
-     gmake clean; gmake   # re-make all binary
-
-
-Once satisfied with the test results, you can install
-the software by
-FROM SASN100,
-
-8) gmake install
-
-

Deleted: packages/hdf5/trunk/release_docs/INSTALL_VFL
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_VFL	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_VFL	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,130 +0,0 @@
-		Installation Instructions for HDF5
-                with Different Virtual File Layer 
-              
-                   *              *             *
-
-This file contains installation instructions for HDF5 with certain Virtual File
-Layer to handle file I/O.  We currently have documented SRB and Globus-GASS.
-
-
-
-                         ---   Part I.   SRB   ---
-I. Overview
------------
-This part contains instructions for remote-accessing HDF5 through SRB.  The 
-SRB version 1.1.7 on Sun Solaris 2.7 platform has been tested.  If you have 
-difficulties installing the software in your system, please send mails to me
-(Raymond Lu) at
-
-        slu at ncsa.uiuc.edu
-
-First, you must obtain and unpack the HDF5 source as described in the file 
-INSTALL.  You need the SRB library(client part) installed.  You should also 
-have access to SRB server. 
-
-
-The Storage Resource Broker(SRB) from San Diego Supercomputer Center is client-
-server middleware that provides a uniform interface for connecting to 
-heterogeneous data resources over a network and accessig replicated data sets.
-SRB, in conjunction with the Metadata Catalog(MCAT), provides a way to access 
-data sets and resources based on their attributes rather than their names or 
-physical locations.  Their webpage is at http://www.npaci.edu/Research/DI/srb.
-
-HDF5 is built on the top of SRB as a client to remotely access files on SRB
-server through SRB.  Right now, HDF-SRB only support low-level file transfer of
-SRB.  The MCAT part is not supported yet.  Low-level file transfer means files
-are treated just like Unix type files.  Files can be read, written and 
-appended.  Partial access(read and write to a chunk of file without transferrig
-the whole) is also supported.  
-
-
-II. Installation Steps
-----------------------
-The installation steps are similar to the ones in INSTALL file:
-
-1. Run 'configure' file with SRB options:
-   configure --with-srb=$SRB/include,$SRB/lib
-   where $SRB is your SRB installed library directory.
-
-   For example, below is a script file to run 'configure':
-	#! /bin/sh
-	# how to configure to use the SRB
-
-	SRB_DIR=/afs/ncsa.uiuc.edu/projects/hdf/users/slu/srb_install
-	configure --with-srb=$SRB_DIR/include,$SRB_DIR/lib
-
-2. Run 'make'
-
-3. Run 'make check'
-
-4. Run 'make install'
-
-5. Run testing program(Optional):
-   Go to the testing directory(cd test) and run srb_write, srb_read, 
-   srb_append.  Actually, these tests have been run in step 3.
-
-   srb_write:  Connect to SRB server, write an HDF5 file with an integer 
-               dataset to SRB server.
-   srb_read:   Connect to SRB server, read part of HDF5 file on the SRB server.
-   srb_append: Connect to SRB server, append an integer dataset to an existent
-               HDF5 file on the SRB server.
-
-6. For using HDF-SRB, please read comments in srb_write.c, srb_read.c, 
-   srb_append.c in the hdf5/test directory.
-
-
-
-                      ---   Part II.   Globus-GASS   ---
-
-I. Overview
------------
-This part contains instructions for remote-accessing HDF5 through Globus-GASS.
-The SGI IRIX64(and IRIX) 6.5 platform have been tested.  If you have 
-difficulties installing the software in your system, please send mails to me
-(Raymond Lu) at
-        slu at ncsa.uiuc.edu
-
-First, you must obtain and unpack the HDF5 source as described in the file 
-INSTALL.  You need the Globus 1.1.x and SSL(should have come with Globus) 
-packages.  
-
-HDF5 is built on the top of Globus-GASS(1.1.x) to handle remote access.  
-Globus-GASS(1.1.x) only supports HTTP and HTTPS protocals for 'whole file 
-read and write'.  More features may be added in the future.  
-
-II. Installation Steps
-----------------------
-The installation steps are similar to the ones in INSTALL file:
-
-1. Run 'configure' file with SSL and GASS options:
-   configure --with-ssl=$SSL/lib --with-gass=$GASS/include,$GASS/lib
-   where $SSL is your SSL directory, and $GASS is your Globus directory.
-
-   For example, below is a script file to run 'configure':
-	#! /bin/sh
-	# how to configure to use the Globus-GASS(1.1.x)
-
-	GASS_DIR=/usr/local/globus-install-1.1.1/development/mips-sgi-irix6.5-64_nothreads_standard_debug
-	SSL_LIB=/usr/local/ssl/lib
-
-	configure --with-ssl=$SSL_LIB --with-gass=$GASS_DIR/include,$GASS_DIR/lib
-
-2. Run 'make'
-
-3. Run 'make check'
-
-4. Run 'make install'
-
-5. Run testing program:
-   There is one read testing program called 'gass_read' in the 'test' 
-   directory.  It does whole file read through HTTP protocal.  The URL is 
-   hard coded as 
-      http://hdf.ncsa.uiuc.edu/GLOBUS/a.h5
-
-   The writing really depends on your web server.  You have to set up your 
-   server in right way to accept writing in files.  We have tested it using 
-   Apache Server(1.3.12) without authentication.  If you need more details 
-   about our testing, please contact us.  Globus suggests using their GASS
-   server. 
-
-   There is another program called 'gass_append' used for experiments.

Modified: packages/hdf5/trunk/release_docs/INSTALL_Windows.txt
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_Windows.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_Windows.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,22 +1,28 @@
+----------------------------------------------------------------------
 HDF5 Build and Install Instructions for Windows 2000/XP (Full Version)
-------------------------------------------------------------------------
+----------------------------------------------------------------------
 
-The following instructions assume that the HDF5 source code package from
-HDF website (http://hdf.ncsa.uiuc.edu) is used.
+The following instructions assume that the HDF5 source code package 
+from HDF website (http://hdfgroup.org) is used.
 
 
-***************************WARNINGS*************************************
+***************************WARNINGS***********************************
 Please read CAREFULLY about the following preconditions and notes first.
 
-Preconditions 
+Preconditions
+~~~~~~~~~~~~~
 
-   1. Installed Microsoft Visual C++ 6.0 or Intel C compiler and WinZip.
+   1. Installed Microsoft Visual C++ 6.0 and 7zip or WinZip.
        
-      1.1 Installed DEC Visual Fortran compiler(6.0 or higher version), 
-          or Intel Fortran compiler if you want to build HDF5 Fortran
-          libraries.    
+      1.1 Installed Intel Fortran Compiler (9.1 or higher version), 
+          if you want to build HDF5 Fortran libraries.    
 
-      Note: By default, WinZip will convert the Unix end of line format
+      Note: 1. 7zip is an open-source alternative to WinZip.  Some of the
+            advanced functionality is disabled in WinZip unless you buy the
+            software.  With 7zip, most of this functionality is included for
+            free.
+      
+            2. By default, WinZip will convert the Unix end of line format
             when extracting .tar file.  This conversion will cause
             "false" failure in some HDF5 tools testings.
  
@@ -36,7 +42,7 @@
 	        c:\                              (any drive)
 	        MyHDFstuff\                      (any folder name)
 
-   3. Download the hdf5-1.6.x source code package and use WinZip to 
+   3. Download the hdf5-1.6.x source code package and use 7zip or WinZip to 
       extract the HDF5 package into c:\MyHDFstuff.  This creates a 
       directory called 'hdf5-1.6.x' under MyHDFstuff which contains 
       several files and directories.  Rename "hdf5-1.6.x" to "hdf5".  
@@ -45,25 +51,22 @@
       library.  Currently, two external compression libraries Zlib and
       Szip can be used with HDF5.
 
-      4.1 HDF5 uses Zlib version 1.2.2 for compression and Zlib is NOT
+      4.1 HDF5 uses Zlib version 1.2.3 for compression and Zlib is NOT
           distributed with HDF5 library in 1.6.x release. To use Zlib
           library, you have to install your own Zlib DLL library or go
-          to ftp://hdf.ncsa.uiuc.edu/lib-external/zlib/bin/windows 
+          to ftp://ftp.hdfgroup.org/lib-external/zlib/1.2/bin 
           to download the Zlib library.
-
-          Note: Zlib 1.2.2 DLL library can also be downloaded from
-          http://www.zlib.net/zlib122-dll.zip
       
       4.2 HDF5 uses Szip version 2.0 for compression and Szip
           compression software is provided with HDF5 products starting
           from 1.6.0 release.  To use Szip 2.0 library, you can
           download Szip source codes and binaries from
-          ftp://hdf.ncsa.uiuc.edu/lib-external/szip/bin/windows
+          ftp://ftp.hdfgroup.org/lib-external/szip/2.0/bin/windows
 
           Please note that Szip is not a totally open-source free
           software.  For licensing issue of Szip, please check 
           "Licensing terms" at
-          http://hdf.ncsa.uiuc.edu/doc_resource/SZIP/index.html.
+          http://hdfgroup.org/doc_resource/SZIP/index.html.
 
       Compression feature inside HDF5 is optional. 
       
@@ -130,7 +133,7 @@
       
 Notes
 
-   1. To build HDF5 C++ and FORTRAN libraries, please read through
+   1. To build HDF5 C++ and Fortran libraries, please read through
       this document.
    
    2. For users who want to quickly build HDF5 library or do not 
@@ -142,36 +145,44 @@
    
    4. HDF4-related tools are not built and released with HDF5 library
       packages any more. To obtain HDF4-related tools, please check
-      http://hdf.ncsa.uiuc.edu/h4toh5/ and 
-      ftp://hdf.ncsa.uiuc.edu/HDF5/h4toh5/
+      http://hdfgroup.org/h4toh5/ and 
+      ftp://ftp.hdfgroup.org/HDF5/h4toh5
 
    5. For DLL users, please do read and follow "DLL hints"
       at Section IV.
 
    6. For .NET users, please read section VI.
+ 
+   7. For fortran users, please read section VII.
 
-   7. For users who would like to build, test and use HDF5 snapshot
-      release, please read Section VII.
+   8. We no longer support compaq viusal fortran compiler. Compaq visual
+      fortran projects are still included for forward compatibility with intel
+      fortran 9.1.  
 
+   9. For users who would like to build, test and use HDF5 snapshot
+      release, please read Section VIII.
+
 ------------------------------------------------------------------------
 
 The following sections discuss installation procedures in detail:
 
-   Section I:    What do we build and install
-   Section II:   How to build and test HDF5 libraries and tools 
-   Section III:  How to build an application using the HDF5 library 
+   Section I   : What do we build and install
+   Section II  : How to build and test HDF5 libraries and tools 
+   Section III : How to build an application using the HDF5 library 
                  or DLL
-   Section IV:   Helpful pointers
-   Section V:    How to disable Gzip(Zlib)/Szip compression  
-   Section VI:   How to build in HDF5 in VS 7.0(.NET) and Intel 8.x with
-                 .NET environment
-   Section VII:  How to build and test HDF5 snapshot release
-   Section VIII: Misc. 
+   Section IV  : Helpful pointers
+   Section V   : How to disable Gzip(Zlib)/Szip compression  
+   Section VI  : How to build HDF5 in Visual Studio .NET or 2005
+   Section VII : How to Build with Intel Fortran 9.1
+   Section VIII: How to build and test HDF5 snapshot release
+   Section IX  : How to build HDF5 Multithreaded Static Library
+   Section X   : Misc. 
 
-************************************************************************
+---------------------------------------------------------------------
 
+
 Section I: What do we build and install? 
-========================================================================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
    1. Build and Install
 
@@ -201,23 +212,27 @@
    3. Examples (Not included in the binary distribution)
 
       HDF5 examples:
-           simple HDF5 C/C++/Fortran examples
+           Simple HDF5 C/C++/Fortran examples
 
-************************************************************************
 
 
 Section II: How to build and test HDF5 libraries and tools 
-========================================================================
-STEP 1: Building HDF5 libraries and tools
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Note: To build and test Fortran libraries, please see
+    Section VII.
     
-   1. Unpack all.zip
     
-      Unpack all.zip in c:\MyHDFstuff\hdf5\windows directory.  Files in 
-      all.zip has path hdf5\....  Make sure that you extract files into
-      the c:\MyHDFstuff directory. 
+    STEP 1: Building HDF5 libraries and tools
+    =========================================
 
-   2. Invoke Microsoft Visual C++ compiler
+      1. Unpack all.zip
     
+      Unpack windows\all.zip in c:\MyHDFstuff\hdf5\ directory.  If 
+      prompted to overwrite files, select "Yes to All".
+
+      2. Invoke Microsoft Visual C++ compiler
+    
       Invoke Microsoft Visual C++.  From the main menu, go to "File"
       and select the "Open Workspace" option. Then open the
       c:\MyHDFstuff\hdf5\proj\all\all.dsw workspace. 
@@ -225,7 +240,7 @@
       You should find windows project files listed as "all files, 
       big files etc." on the left.        
 
-   3. (Optional) HDF5 C++, Fortran libraries and Intel compiler
+      3. (Optional) HDF5 C++ libraries
     
       3.1 Skip this step if you do not want to build HDF5 C++ libraries
         
@@ -239,50 +254,10 @@
              hdf5_cppdll
              testhdf5_cpp
              testhdf5_cppdll
-
-      3.2 Skip this step if you do not want to build HDF5 Fortran
-          libraries
-        
-          Go to "Project" and select "dependencies";
-          Select "all" in the "Select project to modify:" box,
-          then enable the desired projects:
-              
-             flush1_fortran
-             flush1_fortrandll
-             flush2_fortran
-             flush2_fortrandll
-             hdf5_f90cstub
-             hdf5_f90cstubdll
-             hdf5_fortran
-             hdf5_fortrandll
-             libtest_cstubdll
-             libtest_fortran
-             libtest_fortrandll
-             testhdf5_fortran
-             testhdf5_fortrandll
-
-      3.3 Skip this step if you are not using Intel 7.x compilers
-    
-          a. Intel C Compiler
-             Go to Tools-->Select Compiler
-             Check Intel box and click OK button.
-          
-          b. Intel Fortran Compiler
-             Go to Tools-->Select Compiler
-             Check Intel box and click OK button.
-             Go to Tools-->Customize-->Add-ins and Macro Files
-             and check Intel Fortran Compiler Build Tool
-           
-          Note: Szip library is different when using Intel 7.x compiler.
-                You should build Szip source codes with Intel
-                compiler or download binaries for Intel compiler
-                from ftp://ftp.ncsa.uiuc.edu/HDF/szip/bin/windows.
-                The Szip library and header path should also be 
-                set up accordingly (refer to precondition 6).
                
-   4. Select "Build", then Select "Set Active Configuration".
+      4. Select "Build", then Select "Set Active Configuration".
 
-      In "Project configurations", select the active configuration
+         In "Project configurations", select the active configuration
 
             "all -- Win32 Debug" to build debug versions of
                     single-threaded static libraries, Debug 
@@ -294,12 +269,12 @@
                     single-threaded static libraries, 
                     multithreaded DLLs and tests.
 
-      Then build project "all".
+        Then build project "all".
        
-      Warning messages can be ignored. 
+        Warning messages can be ignored. 
 
-      When the debug or release build is done the directories 
-      listed below will contain the following files:
+        When the debug or release build is done the directories 
+        listed below will contain the following files:
 
             c:\MyHDFstuff\hdf5\proj\hdf5\debug - 
 
@@ -320,7 +295,7 @@
                hdf5dll.lib- the DLL export library
 
             c:\MyHDFstuff\hdf5\test\libtest\debug - 
-        and c:\MyHDFstuff\hdf5\test\libtest\release -
+            and c:\MyHDFstuff\hdf5\test\libtest\release -
             
                libtest.lib - the internal library for test
 
@@ -335,12 +310,12 @@
                libtestD.lib - the internal DLL export library for test
 
             c:\MyHDFstuff\hdf5\tools\toolslib\debug -
-        and c:\MyHDFstuff\hdf5\tools\toolslib\release -
+            and c:\MyHDFstuff\hdf5\tools\toolslib\release -
 
                toolslib.lib- the internal tools library
 
             c:\MyHDFstuff\hdf5\tools\toolslibD\debug -
-        and c:\MyHDFstuff\hdf5\tools\toolslibD\release -
+            and c:\MyHDFstuff\hdf5\tools\toolslibD\release -
 
                toolslibD.dll- DLL
                toolslibD.lib- the internal DLL export library for tools 
@@ -348,8 +323,8 @@
             c:\MyHDFstuff\hdf5\tools\"tools directory"-
             where tools are located		
 
-       The directories listed below will contain the following files
-       ONLY when you choose to build HDF5 C++ libraries:
+        The directories listed below will contain the following files
+        ONLY when you choose to build HDF5 C++ libraries:
        
             c:\MyHDFstuff\hdf5\proj\hdf5_cpp\debug - 
                
@@ -369,105 +344,26 @@
                hdf5_cppdll.dll- the HDF5 C++ API DLL
                hdf5_cppdll.lib- the C++ API DLL export library
             
-       The directories listed below will contain the following files
-       ONLY when you choose to build HDF5 Fortran libraries:
-
-            c:\MyHDFstuff\hdf5\proj\hdf5_fortran\debug - 
-       
-               hdf5_fortrand.lib- the HDF5 Fortran API static library
-               
-            c:\MyHDFstuff\hdf5\proj\hdf5_fortran\release - 
-       
-               hdf5_fortran.lib- the HDF5 Fortran API static library
-
-            c:\MyHDFstuff\hdf5\proj\hdf5_fortrandll\debug - 
-       
-               hdf5_fortranddll.dll- the HDF5 Fortran API DLL
-               hdf5_fortranddll.lib- the HDF5 Fortran API DLL export
-                                     library
-               
-            c:\MyHDFstuff\hdf5\proj\hdf5_fortrandll\release - 
-       
-               hdf5_fortrandll.dll- the HDF5 Fortran API DLL
-               hdf5_fortrandll.lib- the HDF5 Fortran API DLL export
-                                    library
-               
-            c:\MyHDFstuff\hdf5\proj\hdf5_f90sctub\debug - 
-
-               hdf5_f90cstubd.lib- the HDF5 C and Fortran stub static
-                                   library
-
-            c:\MyHDFstuff\hdf5\proj\hdf5_f90cstub\release - 
-
-               hdf5_f90cstub.lib- the HDF5 C and Fortran stub static
-                                  library
-
-            c:\MyHDFstuff\hdf5\proj\hdf5_f90sctubdll\debug - 
-
-               hdf5_f90cstubddll.dll- the HDF5 C and Fortran stub DLL
-               hdf5_f90cstubddll.lib- the HDF5 C and Fortran stub DLL
-                                      export library
-
-            c:\MyHDFstuff\hdf5\proj\hdf5_f90cstubdll\release - 
-
-               hdf5_f90cstubdll.dll- the HDF5 C and Fortran stub DLL
-               hdf5_f90cstubdll.lib- the HDF5 C and Fortran stub DLL
-                                     export library
-
-            c:\MyHDFstuff\hdf5\fortran\test\libtest_cstubdll\debug - 
-          
-               libtest_cstubddll.dll- the HDF5 Fortran test C and
-                                      Fortran stub DLL
-               libtest_cstubddll.lib- the HDF5 Fortran test C and
-                                      Fortran stub DLL export library
-
-            c:\MyHDFstuff\hdf5\fortran\test\libtest_cstubdll\release - 
-          
-               libtest_cstubdll.dll- the HDF5 Fortran test C and
-                                     Fortran stub DLL
-               libtest_cstubdll.lib- the HDF5 Fortran test C and
-                                     Fortran stub DLL export library
-
-            c:\MyHDFstuff\hdf5\fortran\test\libtest_fortran\debug - 
-          
-               libtest_fortrand.lib- the HDF5 Fortran test static
-                                     library
-
-            c:\MyHDFstuff\hdf5\fortran\test\libtest_fortran\release - 
-          
-               libtest_fortran.lib- the HDF5 Fortran test static
-                                    library
-
-            c:\MyHDFstuff\hdf5\fortran\test\libtest_fortrandll\debug - 
-          
-               libtest_fortranddll.dll- the HDF5 Fortran test DLL
-               libtest_fortranddll.lib- the HDF5 Fortran test DLL
-                                        export library
-
-            c:\MyHDFstuff\hdf5\fortran\test\libtest_fortran\release - 
-          
-               libtest_fortrandll.dll- the HDF5 Fortran test DLL
-               libtest_fortrandll.lib- the HDF5 Fortran test DLL
-                                       export library
               
 
-STEP 2: Testing HDF5 libraries and tools
+    STEP 2: Testing HDF5 libraries and tools
+    ========================================
 
-HDF5 libraries and tools should be tested to make sure that they were
-built correctly.
+      HDF5 libraries and tools should be tested to make sure that they
+      were built correctly.
 
-We provide 2 options for users to test HDF5 libraries and tools.  
+      We provide 2 options for users to test HDF5 libraries and tools.  
 
-   Option 1: Automatic testings
+      <<---Option 1: Automatic testings--->>
 
-   HDF5 comes with various test suites, all of which can be tested
-   with hdf5check.bat batch file in c:\MyHDFstuff\hdf5 directory.
+      HDF5 comes with various test suites, all of which can be tested
+      with hdf5check.bat batch file in c:\MyHDFstuff\hdf5 directory.
 
-   To use automatic testing batch file, you must build both HDF5 
-   release and debug libraries.
+      To use automatic testing batch file, you must build both HDF5 
+      release and debug libraries.
 
-   hdf5check batch file can be run with one of the following four
-   options:
+      hdf5check batch file can be run with one of the following four
+      options:
    
       hdf5check                  test HDF5 C library and tools only
       
@@ -476,61 +372,61 @@
                                  libraries must have been built 
                                  in step I.
       
-      hdf5check enablefortran    test HDF5 C/FORTRAN libraries and
+      hdf5check enablefortran    test HDF5 C/Fortran libraries and
                                  tools
                                  To use this option, HDF5 Fortran
                                  libraries must have been built 
-                                 in step I.      
+                                 in Section VII.      
       
-      hdf5check enableall        test HDF5 C/C++/FORTRAN libraries
+      hdf5check enableall        test HDF5 C/C++/Fortran libraries
                                  and tools
                                  To use this option, HDF5 C++ and 
                                  Fortran libraries must have been
-                                 built in step I.      
+                                 built in Step I and Section VII.
 
-   Invoke a command prompt window and run hdf5check with appropriate
-   option.
+      Invoke a command prompt window and run hdf5check with appropriate
+      option.
 
-   Test results are saved in two files:
+      Test results are saved in two files:
 
       c:\MyHDFstuff\hdf5\check_results.txt   
 
       c:\MyHDFstuff\hdf5\tests_results.txt.
 
-   In general, you only need to check tests_results.txt.  If all the
-   tests passed, then you do not have to check check_results.txt.  
-   If some tests failed, check check_results.txt can help you
-   figure out what was wrong.
+      In general, you only need to check tests_results.txt.  If all the
+      tests passed, then you do not have to check check_results.txt.  
+      If some tests failed, check check_results.txt can help you
+      figure out what was wrong.
 
-   Option 2: Step-by-step HDF5 libraries and tools testings
+      <<---Option 2: Step-by-step HDF5 libraries and tools testings--->>
 
-   You can also test HDF5 libraries and tools one by one.  There are
-   possibly four versions of HDF5 libraries and tools testings. 
+      You can also test HDF5 libraries and tools one by one.  There are
+      possibly four versions of HDF5 libraries and tools testings. 
 
-   They are:
+      They are:
 
       release version
       release dll version
       debug version
       debug dll version
 
-   We strongly suggest you to redirect your testing results into an
-   output file so that you can easily check the testing results. You
-   may use either Notepad or WordPad or whatever other windows word
-   processor to check the results.  For the purpose of printing,  
-   please choose font less than 14 for better alignment of the text.
+      We strongly suggest you to redirect your testing results into an
+      output file so that you can easily check the testing results. You
+      may use either Notepad or WordPad or whatever other windows word
+      processor to check the results.  For the purpose of printing,  
+      please choose font less than 14 for better alignment of the text.
 
-   DLLs listed below should be placed into the Windows system
-   directory.  A batch file named install_dll.bat is included in 
-   c:\MyHDFstuff\hdf5 directory.  Run this batch file and the 
-   following HDF5 DLLs will be copied to the system directory.
+      DLLs listed below should be placed into the Windows system
+      directory.  A batch file named install_dll.bat is included in 
+      c:\MyHDFstuff\hdf5 directory.  Run this batch file and the 
+      following HDF5 DLLs will be copied to the system directory.
 
       hdf5\proj\hdf5dll\release\hdf5dll.dll
       hdf5\proj\hdf5dll\debug\hdf5ddll.dll
       hdf5\test\libtestD\release\libtestD.dll
       hdf5\test\libtestD\debug\libtestDd.dll
 
-   1. HDF5 library testing 
+      1. HDF5 library testing 
 
       cd into the hdf5\test directory. 
 
@@ -577,7 +473,7 @@
       Use Notepad or WordPad to check results. You should 
       not find any FAILED marks in your output files.
 
-   2. HDF5 tools testing
+      2. HDF5 tools testing
  
       To test HDF5 tools, cd back into hdf5 directory and then cd into 
       tools directory(c:\MyHDFstuff\hdf5\tools).  The HDF5 tools testing
@@ -609,7 +505,7 @@
       Use Notepad or WordPad to check results. You should 
       not find any FAILED marks in your output files.
     
-   3. HDF5 C++ library test
+      3. HDF5 C++ library test
   
       Skip this step UNLESS you have built HDF5 C++ libraries
       and want to test them.
@@ -633,98 +529,74 @@
       Use Notepad or WordPad to check results. You should 
       not find any FAILED marks in your output files.
      
-   4. HDF5 Fortran library test
-  
-      Skip this step UNLESS you have built HDF5 Fortran libraries     
-      and want to test them.
      
-      DLLs listed below should be placed into to the Windows system
-      directory.  A batch file named install_f90dll.bat is included in 
-      c:\MyHDFstuff\hdf5 directory.  Run this batch file and the 
-      following HDF5 Fortran DLLs will be copied to the system
-      directory.
-       
-         hdf5\proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.dll
-         hdf5\proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.dll
-         hdf5\proj\hdf5_fortrandll\release\hdf5_fortrandll.dll
-         hdf5\proj\hdf5_fortrandll\debug\hdf5_fortranddll.dll
-         hdf5\fortran\test\libtest_cstubdll\release\libtest_cstubdll.dll
-         hdf5\fortran\test\libtest_cstubdll\debug\libtest_cstubddll.dll
-         hdf5\fortran\test\libtest_fortrandll\release\libtest_fortrandll.dll
-         hdf5\fortran\test\libtest_fortrandll\debug\libtest_fortranddll.dll
+    STEP 3: Installing HDF5 Libraries
+    =================================
 
-      Run testhdf5_fortran.bat at the command prompt as below:
-
-         testhdf5_fortran release >"Your output filename"
-         testhdf5_fortran release dll >"Your output filename"
-         testhdf5_fortran debug >"Your output filename"
-         testhdf5_fortran debug dll >"Your output filename"
-
-      Use Notepad or WordPad to check results. You should 
-      not find any FAILED marks in your output files.
-
-     
-STEP 3: Installing HDF5 Libraries
-
-We provide a batch file for users to relocate all HDF5 libraries in one
-folder (C++ and Fortran libraries will also be copied into this folder
-if they have been built in step I).  The file is called
-installhdf5lib.bat under c:\MyHDFstuff\hdf5 directory.  Run the batch 
-file, you may see a folder called hdf5lib under c:\MyHDFstuff\hdf5.  
+      We provide a batch file for users to relocate all HDF5 libraries
+      in one folder (C++ and Fortran libraries will also be copied 
+      into this folder if they have been built in step I and Section VII,
+      respectively).  The file is called installhdf5lib.bat under 
+      c:\MyHDFstuff\hdf5 directory. Run the batch file, you may see a 
+      folder called hdf5lib under c:\MyHDFstuff\hdf5.  
     
-The <release> layout of <hdf5lib> should be:
+      The <release> layout of <hdf5lib> should be:
     
-   release\include   --  HDF5 header files
-   release\bin       --  HDF5 static tool executables
-   release\bindll    --  HDF5 DLL tool executables
-   release\lib       --  HDF5 static libraries
-   release\dll       --  HDF5 DLLs
+      release\include   --  HDF5 header files
+      release\bin       --  HDF5 static tool executables
+      release\bindll    --  HDF5 DLL tool executables
+      release\lib       --  HDF5 static libraries
+      release\dll       --  HDF5 DLLs
        
-You may also find the similar layout for the <debug>.
+      You may also find the similar layout for the <debug>.
 
 
-STEP 4: Building HDF5 C/C++/Fortran examples (Optional)
+    STEP 4: Building HDF5 C/C++ examples (Optional)
+    =======================================================
 
-Simple examples have been provided for users to test HDF5
-C/C++/Fortran library and tools.
+      Simple examples have been provided for users to test HDF5
+      C/C++ library and tools.
 
-Note: 
-      1) To build HDF5 C++ examples, HDF5 C++ library must have been
-         built in step I.
+      Note: 
+        1) To build HDF5 C++ examples, HDF5 C++ library must have been
+        built in step I.
 
-      2) To build HDF5 Fortran examples, HDF5 Fortran library must
-         have been built in step I.
+        2) To build HDF5 Fortran examples, please seee Section VII, step 3.
 
-      3) By default, the debug versions of HDF5 C/C++/Fortran examples
-         are linked with the debug versions of HDF5 C/C++/Fortran
-         libraries and DLLs.  The debug versions of HDF5 C/C++/Fortran
-         examples will fail if they are linked with HDF5 binary
-         distribution, which only includes the release versions of
-         HDF5 C/C++/Fortran libraries and DLLs.
+        3) To build HDF5 HL C examples, HDF5 HL library must have been
+        built in step I.
 
-To build and test HDF5 C examples:
+        4) By default, the debug versions of HDF5 C/C++ examples
+        are linked with the debug versions of HDF5 C/C++
+        libraries and DLLs.  The debug versions of HDF5 C/C++
+        examples will fail if they are linked with HDF5 binary
+        distribution, which only includes the release versions of
+        HDF5 C/C++ libraries and DLLs.
 
-   1. Invoke Microsoft Visual C++, go to "File" and select
-      the "Open Workspace" option. 
+
+      <<---To build and test HDF5 C examples--->>
+
+        1. Invoke Microsoft Visual C++, go to "File" and select
+        the "Open Workspace" option. 
       
-      Then open the workspace
-      c:\MyHDFstuff\hdf5\examples\allexamples\allexamples.dsw.
+        Then open the workspace
+        c:\MyHDFstuff\hdf5\examples\allexamples\allexamples.dsw.
 
-   2. Select "Build", then Select "Set Active Configuration".
+        2. Select "Build", then Select "Set Active Configuration".
 
-      In "Project configurations", select the active configuration
+        In "Project configurations", select the active configuration
 
-          "allexamples -- Win32 Debug" to build debug versions of the
-                                       C examples.
+        "allexamples -- Win32 Debug" to build debug versions of the
+                        C examples.
 
-                          or
-	
-          "allexamples -- Win32 Release" to build release versions the 
-                                         C examples.
+        and
 
-      When the debug build or release build is done, there should be the 
-      following subdirectories in c:\MyHDFstuff\hdf5\examples\
+        "allexamples -- Win32 Release" to build release versions the 
+                        C examples.
 
+        When the debug build or release build is done, there should be the 
+        following subdirectories in c:\MyHDFstuff\hdf5\examples\
+
           attributetest
           attributetestdll
           chunkread
@@ -742,21 +614,21 @@
           writetest 
           writetestdll
 
-   3. Invoke a command prompt window and run the batch file 
-      InstallExamples.bat which resides in the top level directory
-      (c:\MyHDFstuff\hdf5).  This file creates 4 new directories, 
-      examplesREL, examplesRELDLL, examplesDBG, and examplesDBGDLL,
-      in the c:\MyHDFstuff\hdf5\examples directory and places all the
-      executables in it.  Both the release and debug versions of the
-      examples should be built before this step is done.
+        3. Invoke a command prompt window and run the batch file 
+        InstallExamples.bat which resides in the top level directory
+        (c:\MyHDFstuff\hdf5).  This file creates 4 new directories, 
+        examplesREL, examplesRELDLL, examplesDBG, and examplesDBGDLL,
+        in the c:\MyHDFstuff\hdf5\examples directory and places all the
+        executables in it.  Both the release and debug versions of the
+        examples should be built before this step is done.
 
-   4. We provide a batch file named testExamples.bat and an expected
-      examples tests output file named testExamples_exp_output.txt
-      in c:\MyHDFstuff\hdf5\examples directory for you to test HDF5
-      C examples. You need to run InstallExamples.bat before running 
-      testExamples.bat. 
+        4. We provide a batch file named testExamples.bat and an expected
+        examples tests output file named testExamples_exp_output.txt
+        in c:\MyHDFstuff\hdf5\examples directory for you to test HDF5
+        C examples. You need to run InstallExamples.bat before running 
+        testExamples.bat. 
       
-      testExamples.bat batch file has 4 options:
+        testExamples.bat batch file has 4 options:
 
          testExamples release     -- for release version
 
@@ -766,34 +638,35 @@
 
          testExamples debug dll   -- for debug DLL version
 
-      Invoke a command prompt window and run testExamples with
-      appropriate options.  You should get "All HDF5 C examples tests
-      passed." when the C examples are built successfully.  Otherwise,
-      the difference between the expected outputs and actual outputs
-      will be given.
+        Invoke a command prompt window and run testExamples with
+        appropriate options.  You should get "All HDF5 C examples tests
+        passed." when the C examples are built successfully. Otherwise,
+        the difference between the expected outputs and actual outputs
+        will be given.
 
-To build and test HDF5 C++ examples:
+      <<---To build and test HDF5 C++ examples--->>
 
-   1. Invoke Microsoft Visual C++, go to "File" and select
-      the "Open Workspace" option. 
+        1. Invoke Microsoft Visual C++, go to "File" and select
+        the "Open Workspace" option. 
 
-      Then open the workspace
-      c:\myHDFstuff\hdf5\c++\examples\allcppexamples\allcppexamples.dsw.
+        Then open the workspace
+        c:\myHDFstuff\hdf5\c++\examples\allcppexamples\allcppexamples.dsw.
 
-   2. Select "Build", then Select "Set Active Configuration".
+        2. Select "Build", then Select "Set Active Configuration".
 
-      In "Project configurations", select the active configuration
+        In "Project configurations", select the active configuration
 
-          "allcppexamples -- Win32 Debug" to build debug versions of the
-                                          C++ examples.
+        "allcppexamples -- Win32 Debug" to build debug versions of the
+                           C++ examples.
 
-                             or
+        and
 	
-          "allcppexamples -- Win32 Release" to build release versions the 
-                                            C++ examples.
+        "allcppexamples -- Win32 Release" to build release versions the 
+                           C++ examples.
 
-      When the debug build or release build is done, there should be the 
-      following subdirectories in c:\MyHDFstuff\hdf5\c++\examples\
+        When the debug build or release build is done, there should be  
+        the following subdirectories in 
+        c:\MyHDFstuff\hdf5\c++\examples\
 
           chunkstest
           chunkstestdll
@@ -810,21 +683,21 @@
           writedatatest 
           writedatatestdll 
 
-   3. Invoke a command prompt window and run the batch file 
-      InstallcppExamples.bat which resides in the top level directory
-      (c:\MyHDFstuff\hdf5).  This file creates 4 new directories, 
-      cppexamplesREL, cppexamplesRELDLL, cppexamplesDBG,
-      and cppexamplesDBGDLL, in the c:\MyHDFstuff\c++\examples
-      directory and places all the executables in it.  Both the release
-      and debug versions of the examples should be built before this 
-      step is done.
+        3. Invoke a command prompt window and run the batch file 
+        InstallcppExamples.bat which resides in the top level directory
+        (c:\MyHDFstuff\hdf5).  This file creates 4 new directories, 
+        cppexamplesREL, cppexamplesRELDLL, cppexamplesDBG,
+        and cppexamplesDBGDLL, in the c:\MyHDFstuff\c++\examples
+        directory and places all the executables in it.  Both the 
+        release and debug versions of the examples should be built
+        before this step is done.
 
-   4. We provide a batch file named testcppExamples.bat in
-      c:\MyHDFstuff\hdf5\c++\examples directory for you to test HDF5
-      C++ examples. You should run InstallcppExamples.bat before
-      running testcppExamples.bat.
+        4. We provide a batch file named testcppExamples.bat in
+        c:\MyHDFstuff\hdf5\c++\examples directory for you to test HDF5
+        C++ examples. You should run InstallcppExamples.bat before
+        running testcppExamples.bat.
       
-      testcppExamples.bat batch file has 4 options:
+        testcppExamples.bat batch file has 4 options:
 
          testcppExamples release     -- for release version
 
@@ -834,103 +707,103 @@
 
          testcppExamples debug dll   -- for debug DLL version 
 
-      Invoke a command prompt window and run testcppExamples with
-      appropriate options.  You should get "All HDF5 C++ examples tests
-      passed." when the C++ examples are built successfully.  Otherwise,
-      the difference between the expected outputs and actual outputs
-      will be given.
+        Invoke a command prompt window and run testcppExamples with
+        appropriate options.  You should get "All HDF5 C++ examples 
+        tests passed." when the C++ examples are built successfully.  
+        Otherwise, the difference between the expected outputs and 
+        actual outputs will be given.
 
-To build and test HDF5 Fortran example:
 
-   1. Invoke Compaq visual Fortran or intel Fortran under Microsoft 
-      Visual studio development environment, go to "File" and select
-      the "Open Workspace" option.
+        <<----To build and test HDF5 HL C examples--->>
 
-      Then open the workspace
-      c:\MyHDFstuff\hdf5\fortran\examples\allf90examples\allf90examples.dsw.
+        1. Invoke Microsoft Visual C++, go to "File" and select
+        the "Open Workspace" option. 
+      
+        Then open the workspace
+        c:\MyHDFstuff\hdf5\hl\examples\allhlcexamples\allhlcexamples.dsw.
 
-   2. Select "Build", then Select "Set Active Configuration".
+        2. Select "Build", then Select "Set Active Configuration".
 
-      In "Project configurations", select the active configuration
+        In "Project configurations", select the active configuration
 
-          "allf90examples -- Win32 Debug" to build debug versions of the
-                                          Fortran examples.
+       "allhlcexamples -- Win32 Debug" to build debug versions of the
+                          HL C examples.
 
-                             or
-	
-          "allf90examples -- Win32 Release" to build release versions the 
-                                            Fortran examples.
+        and
 
-      When the debug build or release build is done, there should be the 
-      following subdirectories in c:\MyHDFstuff\hdf5\fortran\examples\
+       "allhlcexamples -- Win32 Release" to build release versions the 
+                          HL C examples.
 
-          attreexampletest
-          attreexampletestdll 
-          compoundtest 
-          compoundtestdll
-          dsetexampletest
-          dsetexampletestdll
-          fileexampletest
-          fileexampletestdll
-          groupexampletest
-          groupexampletestdll
-          grpdsetexampletest
-          grpdsetexampletestdll
-          grpittest
-          grpittestdll
-          grpsexampletest
-          grpsexampletestdll
-          hyperslabtest
-          hyperslabtestdll
-          mountexampletest
-          mountexampletest
-          refobjexampletest
-          refobjexampletestdll
-          refregexampletest
-          refregexampletestdll
-          rwdsetexampletest
-          rwdsetexampletestdll
-          selecteletest
-          selecteletestdll
+       When the debug build or release build is done, there should be the 
+       following subdirectories in c:\MyHDFstuff\hdf5\hl\examples
 
-   3. Invoke a command prompt window and run the batch file 
-      Installf90Examples.bat which resides in the top level directory
-      (c:\MyHDFstuff\hdf5).  This file creates 4 new directories, 
-      f90examplesREL, f90examplesRELDLL, f90examplesDBG, and
-      f90examplesDBGDLL, in the c:\MyHDFstuff\fortran\examples directory
-      and places all the executables in it.  Both the release and debug
-      versions of the examples should be built before this step is done.
+            ex_images
+            ex_imagesdll
+            ex_lite
+            ex_litedll
+            ex_table
+            ex_tabledll
 
-************************************************************************
+        3. We provide a batch file 
+        c:\MyHDFstuff\hdf5\hl\examples\test_hlcexamples.bat to test HL C
+        examples.
 
+        testhlcexamples.bat batch file has 4 options:
 
+         testhlcexamples release     -- for release version
+
+         testhlcexamples release dll -- for release DLL version
+
+         testhlcexamples debug       -- for debug version
+
+         testhlcexamples debug dll   -- for debug DLL version
+
+        Invoke a command prompt window and run testhlcexamples.bat with
+        appropriate options.  
+      
+        If you get messages:
+ 
+                      "All of the HL C Examples Passed!"
+
+        All of the HL C examples are built successfully.
+      
+        If you get messages:
+         
+                      "Some HL C Examples Failed!"
+
+        One or more of the HL C examples Failed. 
+
+
+
 Section III: Building an application using the HDF5 library or DLL
-========================================================================
-Waring: The instructions below will only describe how to build an
-        application using the release version of the HDF5 library or
-        DLL.  To use the debug version of the HDF5 library or DLL, you
-        need to substitute the release version of the HDF5 library or
-        DLL with the debug version.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-To use HDF5 static library
+    Waring: The instructions below will only describe how to build an
+            application using the release version of the HDF5 library 
+            or DLL. To use the debug version of the HDF5 library or 
+            DLL, you need to substitute the release version of the 
+            HDF5 library or DLL with the debug version.
 
-  To build an application that uses the HDF5 static library the
-  following locations will need to be specified for locating header
-  files and linking with the HDF static library, for example:
+    To use HDF5 static library
+    ==========================
 
-   c:\MyHDFstuff\hdf5\hdf5lib\include
-   c:\MyHDFstuff\hdf5\hdf5lib\release\lib
+    To build an application that uses the HDF5 static library the
+    following locations will need to be specified for locating header
+    files and linking with the HDF static library, for example:
 
-  if you have installed HDF5 library in Section II, step 3.
+    c:\MyHDFstuff\hdf5\hdf5lib\include
+    c:\MyHDFstuff\hdf5\hdf5lib\release\lib
 
-  We assume that you will use Zlib and Szip compression with HDF5
-  library.
+    if you have installed HDF5 library in Section II, step 3.
 
-  To specify these locations in the settings for your VC++ project,
-  you may choose one of the following two methods.
+    We assume that you will use Zlib and Szip compression with HDF5
+    library.
 
-   1) Method One
+    To specify these locations in the settings for your VC++ project,
+    you may choose one of the following two methods.
 
+    1) Method One
+
     Step 1: 
     To insert the path that specifies HDF5 and Zlib, Szip header files:
 
@@ -956,7 +829,7 @@
 
        Then click OK.
 
-    7. (optional) to use HDF5 Fortran static library, the location of 
+    7. (optional) To use HDF5 Fortran static library, the location of 
        Fortran module files should be specified by following
        Project->Settings->Fortran->Preprocessor,
        and in a test-area labeled with "INCLUDE and USE Paths:", add
@@ -988,12 +861,12 @@
     8. (optional) repeat 1-5, to select hdf5_fortran.lib to link with
        HDF5 Fortran static library.
 
-   2)  Method Two
+    2)  Method Two
 
     1. Go to Tools->Options->Directories,
 
-    2. Insert the correct HDF5, Zlib, Szip paths for both headers(include)
-       and libraries.  For example, 
+    2. Insert the correct HDF5, Zlib, Szip paths for both headers
+       (include) and libraries.  For example, 
        
           c:\MyHDFstuff\hdf5\hdf5lib\include
           c:\MyHDFstuff\hdf5\hdf5lib\lib
@@ -1010,11 +883,11 @@
     5. (Optional) repeat 3-4, to insert "hdf5_cpp.lib" if you want to 
        use HDF5 C++ static library.
 
-    6. (Optional) repeat 3-4, to insert "hdf5_fortran.lib" if you want to 
-       use HDF5 Fortran static library.
+    6. (Optional) repeat 3-4, to insert "hdf5_fortran.lib" if you want
+       to use HDF5 Fortran static library.
 
 
-To use the DLL:
+    To use the DLL:
 
     1. Follow the steps for specifying the location of the header files
        as shown above.
@@ -1025,14 +898,14 @@
        hdf5_cppdll.lib for HDF5 C++ library, and hdf5_fortrandll.lib
        for HDF5 Fortran library.
 
-    3. Place the DLL in a location that Windows will be able to locate 
-       it. The searched path and order for DLL's is
+    3. Place the DLL in a location that Windows will be able to 
+       locate it. The searched path and order for DLL's is
 
        a) The directory where the executable module for the current
           process is located.
        b) The current directory. 
-       c} The Windows system directory. The GetSystemDirectory function 
-          retrieves the path of this directory. 
+       c} The Windows system directory. The GetSystemDirectory 
+          function retrieves the path of this directory. 
        d) The Windows directory. The GetWindowsDirectory function
           retrieves the path of this directory.
        e) The directories listed in the PATH environment variable.
@@ -1040,16 +913,14 @@
     4. To modify your own application settings, please DO FOLLOW the 
        "DLL Hints" at section IV "HELPFUL POINTERS".
 
-************************************************************************
 
-
 Section IV: HELPFUL POINTERS
-========================================================================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Here are some notes that may be of help if you are not familiar with
-using the Visual C++ Development Environment.
+    Here are some notes that may be of help if you are not familiar 
+    with using the Visual C++ Development Environment.
 
-Project name and location issues: 
+    Project name and location issues: 
        
     If you must install all.dsw and all.dsp in another directory,
     relative to hdf5 directory, you will be asked to locate the 
@@ -1063,7 +934,7 @@
     files to be installed in another directory.
 
   
-Settings... details:
+    Settings... details:
 
     If you create your own project, the necessary settings can be read
     from the all.dsp file(as text), or from the Project Settings in the
@@ -1077,10 +948,10 @@
                    Use run-time Library
                       These are all set to use Single-Threaded
 
-DLL... hints:
+    DLL... hints:
   
-   If you want to use DLL versions of HDF5 library in your application, 
-   you should  
+    If you want to use DLL versions of HDF5 library in your application, 
+    you should  
       1) put HDF5 DLL into windows system directory
       2) add HDF5 DLL export library into your project
       3) Follow "Settings... details" into the last line:
@@ -1103,19 +974,19 @@
          General->Predefined Preprocess or Symbols, and add 
          "HDF5F90_WINDOWS" to use HDF5 Fortran DLL.
 
-************************************************************************
 
-
 Section V: How to disable Gzip(Zlib)/Szip compression
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Warning: When you modify the H5pubconf.h file as described below,
-         DO NOT just change the values of these macros from 1 to 0.
-         Please DO remove(or comment out) appropriate lines.
+
+     Warning: When you modify the H5pubconf.h file as described below,
+              DO NOT just change the values of these macros from 1 to 0.
+              Please DO remove(or comment out) appropriate lines.
          
-   1. Disable Gzip compression 
+    1. Disable Gzip compression 
 
-      If you would like to remove Gzip compression from the HDF5
-      library, follow the steps below.
+    If you would like to remove Gzip compression from the HDF5
+    library, follow the steps below.
 
       1.1 Open the H5pubconf.h file from the c:\MyHDFstuff\hdf5\src
           directory and remove(or comment out) the following two lines:
@@ -1138,7 +1009,7 @@
 
       This message can be ignored.
 
-   2. Disable Szip compression (both encoder and decoder)
+    2. Disable Szip compression (both encoder and decoder)
 
       If you would like to remove Szip compression from the HDF5
       library, follow the steps below.
@@ -1166,12 +1037,12 @@
 
       This message can be ignored.
 
-   Note:   
+    Note:   
 
-   To disable Gzip and Szip at the same time, just follow 1.1~1.3
-   and 2.1~2.4 and run-compile HDF5 library according to section II.
+    To disable Gzip and Szip at the same time, just follow 1.1~1.3
+    and 2.1~2.4 and run-compile HDF5 library according to section II.
 
-   3. Disable Szip encoder
+    3. Disable Szip encoder
 
       If you would like to just disable Szip encoder from the HDF5
       library while keeping Szip decoder enabled, follow the steps
@@ -1179,9 +1050,9 @@
 
       3.1 Download Szip library without encoder
 
-          Szip library is different if you want to disable Szip encoder.
-          Download szip_noencoder binaries from
-          ftp://ftp.ncsa.uiuc.edu/HDF/szip/bin/windows.
+          Szip library is different if you want to disable Szip 
+          encoder. Download szip_noencoder binaries from
+          ftp://ftp.hdfgroup.org/lib-external/szip/2.0/bin/windows.
           The Szip library and header path should also be set up
           accordingly (refer to precondition 6).
    
@@ -1194,95 +1065,438 @@
 	
       3.3 Run-compile HDF5 library according to section II.
 
-************************************************************************
 
+Section VI: How to build HDF5 in Visual Studio .NET or 2005
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Section VI: 
-How to build HDF5 in VS 7.0(.NET) and intel 8.x with .NET environment
+    We just briefly introduce you how to build HDF5 in Visual Studio 
+    .NET 2003 or 2005.
 
-========================================================================
+    1. Build HDF5 in Visual Studio .NET or 2005
 
-We just briefly introduce you how to build HDF5 in VS 7.0(.NET)
-and intel 8.x with .NET environment
+    1.1 You need to specify the zlib and szip include header files 
+    and libraries under Tools->Options->Projects->VC++ Directories 
+    and choose Include libraries under the category of 
+    "show directories for" to add the corresponding path if you want 
+    to use compression feature inside HDF5.
+    
+    1.2 Open the old workspace file with the "Open solution" option,
+    Visual Studio will ask you whether you want to convert all VS 
+    6.0 project files to .NET corresponding project files, choose 
+    <CONVERT ALL>, .NET will automatically convert the data space 
+    file to solution file.
+    
+    1.3 Then find  "Build" and go to "Configuration Manager"; choose
+    "release" or "debug", if you don't want to build C++ or Fortran 
+    libraries, you need to explicitly turn off project files in the 
+    "Configuration Manager" and then choose "build all".
+   
+    1.4 If you want to change some project setting, select the project 
+        and right click the button to choose Properties; find the 
+        similar menu there as in 6.0.
 
-1. Build HDF5 in VS 7.x(.NET)
+    NOTE: 
+    Please read section V if you do not want to use compression
+    feature inside HDF5.
 
+    
+Section VII: Building with Intel Fortran 9.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Notes:  1. For Intel Compiler users, Intel fortran Compiler 9.1 is currently
+            supported-- please see below.  Intel Compiler verion
+            7.x and 8.x are no longer supported.
 
-1.1 You need to specify the zlib and szip include header files and 
-    libraries under Tools->Options->Projects->VC++ Directories and choose
-    Include and libraries under the category of "show directories for" to
-    add the corresponding path if you want to use compression feature
-    inside HDF5.
-1.2 Open the old workspace file with the "Open solution" option,
-    .NET will ask you whether you want to convert all VS 6.0 project files 
-    to .NET corresponding project files, choose <CONVERT ALL>,
-    .NET will automatically convert the data space file to solution file.
-1.3 Then find  "Build" and go to "Configuration Manager"; choose
-    "release" or "debug", if you don't want to build C++ or Fortran libraries,
-    you need to explicitly turn off project files in the "Configuration
-    Manager" and then choose "build all".
-   
-1.4 If you want to change some project setting, select the project and
-    right click the button to choose Properties; find the similar menu
-    there as in 6.0.
+            2. Intel Fortran 9.1 works only under .Net 2003 or Visual Studio 2005 
+            environments
 
-2. Build HDF5 in Intel 8.x with .NET environment
+            3. For Visual Studio 2005 users, parallel builds should be disabled.  To
+            do so: Go to  Tools > Options > Projects and Solutions > Build and Run. 
+            Set "maximum number of parallel project builds" to 1.
 
-2.1 Repeat 1.1 - 1.2 of this section. You may need to install intel 8.x version of
-    szip library.
-2.2 Right click Solution "all" in the "Solution Explorer" window, choose
-    "Convert to use Intel C++ Project System",
-2.3 Repeat 1.3 - 1.4 of this section. 
+  Preconditions:
 
-NOTE: Please read section V if you do not want to use compression
-      feature inside HDF5.
+     a. Setup Szip Library for Intel Compiler.
+
+     Intel compilers use different Szip library from other compilers.
+     Szip source codes or binaries for Intel compiler can be downloaded
+     from the following address:
+
+     ftp://ftp.hdfgroup.org/lib-external/szip/2.0/bin/windows.
+
+     b. Set up path for external libraries and headers
+
+      Skip this part if you don't want to use ANY compression features
+      provided by HDF5.  Please do read Section V.
+
+      You have to read this part even if you want to only use Zlib
+      or Szip.  You also need to read Section V.
+
+      Invoke Microsoft Visual C++ .Net 2003 or 2005.  From the main
+      menu, Go to Tools > Options > Intel(R) Fortran.
+      In the right panel, make sure you "Selected Compiler" is Intel Fortran 9.1.
+      Click rightmost box for "Libraries",
+      Add Zlib and Szip Library Path (c:\zlib122\lib, c:\szip\dll for example)
+      Click rightmost box for "Includes",
+      Add Zlib and Szip header path (c:\zlib122\include c:\szip\include, for example).
+      Then click "OK".
+
+
+  1. Build Fortran Libraries under Intel Fortran Compiler 9.1
+
+      Note: This step will build HDF5 Static and DLL C and C++
+            Library using .Net 2003 or Visual 2005 Compiler as well as HDF5
+            Static and High Level Fortran Library using Intel
+            Fortran 9.1 Compiler.
+
+            
+      1.1 Open all.dsw and Convert Project Files (.dsp) to Visual
+            C++ .Net Format (.vcproj)
+
+      Invoke Microsoft Visual C++ .Net 2003.  From the main menu, go to
+      "File" and select "Open Solution". In the "Open Solution" window,
+      Change "Files of type" to "All Project Files". Choose "all.dsw"
+      under the directory c:\MyHDFstuff\hdf5\windows\proj\all. In the
+      pop up window, choose "Yes To All" to convert all project files
+      to Visual C++ .Net project format.
+
+      1.2 Extract Compaq Fortran Project Files
+
+       a. Select project "flush1_fortran" in the Solution Explorer
+       window. In the Project menu, select
+       "Extract Compaq Visual Fortran Project".
+
+       Do the same thing for the following project files, but for now, skip
+       the projects labelled "**SKIP**":
+
+        flush1_fortrandll
+        flush2_fortran
+        flush2_fortrandll
+        hdf5_fortran
+        hdf5_fortrandll
+        **SKIP** libtest_fortran
+        libtest_fortrandll
+        testhdf5_fortran
+        testhdf5_fortrandll
+        
+             
+       b. Select project "libtest_fortran" in the Solution
+       Explorer window. In the Project menu, select
+       "Extract Compaq Visual Fortran Project". Since Project
+       file "libtest_fortran" contain both C and Fortran code,
+       you will be asked to specify which project, either
+       Fortran or C/C++, will serve as the main project for
+       this mixed language projects. Choose
+       "The Intel Fortran project" as the the main project and
+       click "OK".
+
+       Note: In Visual Studio 2005, you may receive a message that 
+       says "The attempt to convert the Fortran project file failed.
+       The project file (.dsp) has not been converted."  This message
+       can safely be ignored.
+
+
+      1.3: Fix Project Output
+      
+      1) Change libtest_fortran_lib Release Output
+      
+        For .Net 2003:
+            Choose configuration to be "Release". Right click project 
+            libtest_fortran_lib. Click "librarian" on the left panel. Change 
+            ".\Release\libtest_fortran.lib" to ".\Release\libtest_fortranr.lib" 
+            on the panel of Output File; then click "OK".
+
+        For Visual Studio 2005:
+            In Build > Configuration Manager, set the configuration to "Release"
+            and click OK.  Then, right click on the project libtest_fortran_lib
+            and select "Properties".  From the left pane, choose Librarian >
+            General.  In the right pane, under Output File, change
+            ".\Release\libtest_fortran.lib" to ".\Release\libtest_fortranr.lib" 
+            Then click "OK".
+            
+      2) Change hdf5_fortran Debug Output
+      
+        For .Net 2003:
+            Choose configuration to be "Debug". Right click project 
+            hdf5_fortran. Click "librarian" on the left panel. Change 
+            "$(OutDir)/$(ProjectName).lib" to "$(OutDir)/hdf5_fortrand.lib" 
+            on the panel of Output File; then click "OK".
+
+        For Visual Studio 2005:
+            In Build > Configuration Manager, set the configuration to "Debug"
+            and click OK.  Then, right click on the project hdf5_fortran
+            and select "Properties".  From the left pane, choose Librarian >
+            General.  In the right pane, under Output File, change
+            "$(OutDir)/$(ProjectName).lib" to "$(OutDir)/hdf5_fortrand.lib" 
+            Then click "OK".
+            
+
+      1.4: Change project dependencies
+
+
+      To check the project dependencies,
+      right click the selected project, you should see "Project Dependencies" 
+      on the menu, click "Project Dependencies", You should see a "Project 
+      Dependencies" panel, with the selected project and the projects it 
+      depends on checked under "Depends on" list.  
+      
+      The project "libtest_fortran_lib" will need to be added as a
+      dependnecy to the following projects:
+
+            flush1_fortran
+            flush2_fortran
+            libtest_fortran
+            testhdf5_fortran
+
+
+      1.5 Building HDF5 C/C++/Fortran Libraries and Tools
+
+      Select "Build", then Select "Configuration Manager".
+
+      Select "Debug" or "Release"
+
+      Select "Ok". Select "Build" -> "Build" or "Rebuild All" to
+      build Debug or Release version of HDF5 C, C++, fortran
+      Library using Intel fortran 9.1 Compiler with .Net 2003 or .Net 2005.
+
+    
+  2. Test HDF5 Static and High Level Fortran Library
+
+    We provide 2 options for users to test HDF5 libraries and tools.
+
+       Option 1: Automatic testings
+
+       HDF5 comes with various test suites, all of which can be tested
+       with hdf5check.bat batch file in c:\MyHDFstuff\hdf5 directory.
+
+       hdf5check batch file can used to test HDF libraries with Fortran with
+       the following options:
+
+          hdf5check enablefortran    test HDF5 C/FORTRAN libraries and
+                                     tools
+
+
+          hdf5check enableall        test HDF5 C/C++/FORTRAN libraries
+                                     and tools
+                                     To use this option, HDF5 C++ and
+                                     Fortran libraries must have been
+                                     built.
+
+       Invoke a command prompt window and run hdf5check with appropriate
+       option.
+
+       Test results are saved in two files:
+
+          c:\MyHDFstuff\hdf5\check_results.txt
+
+          c:\MyHDFstuff\hdf5\tests_results.txt.
+
+       In general, you only need to check tests_results.txt.  If all the
+       tests passed, then you do not have to check check_results.txt.
+       If some tests failed, check check_results.txt can help you
+       figure out what was wrong.
+
+       
+       Option 2: Step-by-step HDF5 libraries and tools testings
+
+       Note: This section provides step-by-step instructions for testing the
+       Fortran librariy and tools only.  To test the rest of the HDF5 library
+       and tools, please see Section II, Step 2.
+       
+       
+       a. Test HDF5 Static Fortran Library
+
+       Go to directory c:\myHDFstuff\hdf5\fortran\test, Run batch file
+       testhdf5_fortran.bat with the following two options to test
+       fortran static library
+
+         testhdf5_fortran release >> "Your output file name"
+         testhdf5_fortran debug   >> "Your output file name"
+
+       Check your output files, there should be no "failures" at all.
+
+       b. Test HDF5 High Level Fortran Library
+
+       Go to directory c:\myHDFstuff\hdf5\hl\fortran\test, Run batch file
+       testhdf5_fortran.bat with the following two options to test
+       fortran static library
+
+            test_hdf5_hl_fortran release >> "Your output file name"
+            test_hdf5_hl_fortran debug   >> "Your output file name"
+
+       Check your output files, there should be no "failures" at all.
+    
+  3. (Optional) Build HDF5 Fortan and HL Fortran Examples
+  
+        Note: This section only covers building Fortran and HL Fortran examples.
+        For other examples, please see Section II, step 4.
  
-************************************************************************
+        To build and test HDF5 Fortran example:
 
+            1. Invoke Intel Fortran Compiler 9.1 or above under Microsoft 
+            Visual Studio development environment, go to "File" and select
+            the "Open Workspace" option.
 
-Section VII: Building and testing HDF5 snapshot release
-========================================================================
+            Then open the workspace
+            c:\MyHDFstuff\hdf5\fortran\examples\allf90examples\allf90examples.dsw.
 
-Note: This section is only for users who would like to build and test 
-      HDF5 snapshot release.
+            2. Select "Build", then Select "Set Active Configuration".
 
-If you want to test and build HDF5 snapshot release, you need extra 
-steps to automatically generate H5Tinit.c before going to section II
-step 1(2).
+            In "Project configurations", select the active configuration
 
-Previous step: section II, step 1(1).
-Extra steps:
-1) After extracting all.zip to the correct path, open the 
-   c:\myHDFstuff\hdf5\misc\typegen\typegen.dsw.
-2) Build the project file.
-3) Invoke command prompt and go to c:\myHDFstuff\hdf5\src.
-4) type H5Tinit.exe >H5Tinit.c
-5) Go back to section II, continue with step 1(2).
+            "allf90examples -- Win32 Debug" to build debug versions of the
+                               Fortran examples.
 
-************************************************************************
+            and
+    
+           "allf90examples -- Win32 Release" to build release versions the 
+                              Fortran examples.
 
+            When the debug build or release build is done, there should 
+            be the following subdirectories in 
+            c:\MyHDFstuff\hdf5\fortran\examples\
 
-Section VIII: Misc.
-========================================================================
+              attreexampletest
+              attreexampletestdll 
+              compoundtest 
+              compoundtestdll
+              dsetexampletest
+              dsetexampletestdll
+              fileexampletest
+              fileexampletestdll
+              groupexampletest
+              groupexampletestdll
+              grpdsetexampletest
+              grpdsetexampletestdll
+              grpittest
+              grpittestdll
+              grpsexampletest
+              grpsexampletestdll
+              hyperslabtest
+              hyperslabtestdll
+              mountexampletest
+              mountexampletest
+              refobjexampletest
+              refobjexampletestdll
+              refregexampletest
+              refregexampletestdll
+              rwdsetexampletest
+              rwdsetexampletestdll
+              selecteletest
+              selecteletestdll
 
-1) drivers we support
-The default driver on windows we support is sec2 driver. However, stdio
-driver is also supported. If you want to use stdio driver in your 
-application, you may set environment variable HDF5_DRIVER to "stdio".
+            3. Invoke a command prompt window and run the batch file 
+            Installf90Examples.bat which resides in the top level 
+            directory (c:\MyHDFstuff\hdf5).  This file creates 4 new 
+            directories, f90examplesREL, f90examplesRELDLL, f90examplesDBG, 
+            and f90examplesDBGDLL, in the c:\MyHDFstuff\fortran\examples 
+            directory and places all the executables in it.  Both the 
+            release and debug versions of the examples should be built 
+            before this step is done.
+ 
+Section VIII: Building and testing HDF5 snapshot release
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-On windows 2000/XP, the following steps should be followed to set the
-environment variable,
+    Note: 
+    This section is only for users who would like to build and test 
+    HDF5 snapshot release.
 
- a) Go to Control panel and find "system",
- b) Click "system" and choose "advanced",
- c) Choose Environment Variables
- d) Add new variable "HDF5_DRIVER"
- e) set the "HDF5_DRIVER" to "stdio"
+    If you want to test and build HDF5 snapshot release, you need 
+    extra steps to automatically generate H5Tinit.c before going to 
+    section II step 1(2).
 
-Reminder: if you don't want to use stdio driver, please remember to 
-delete the environment variable "HDF5_DRIVER" or change the variable 
-value to "sec2".
+    Previous step: section II, step 1(1).
+    
+    Extra steps:
+    1) After extracting all.zip to the correct path, open the 
+    c:\myHDFstuff\hdf5\misc\typegen\typegen.dsw.
+    
+    2) Build the project file.
 
+    3) Invoke command prompt and go to c:\myHDFstuff\hdf5\src.
 
-Please send email to hdfhelp at ncsa.uiuc.edu for further assistance.
+    4) type H5Tinit.exe >H5Tinit.c
 
+    5) Go back to section II, continue with step 1(2).
+
+    
+Section IX: How to build Multi-threaded version of HDF5 library  
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Notes: Preconditions and Section I also apply to this section. Users who 
+           want to build Multi-threaded version of HDF5 library, please read 
+           those two sections carefully before go to the following part.
+                  
+    1. Unpack all.zip
+    
+       Unpack windows\all.zip in c:\MyHDFstuff\hdf5\ directory.  If 
+       prompted to overwrite files, select "Yes to All".
+      
+    2. Invoke Microsoft Visual C++ compiler
+        
+       Invoke Microsoft Visual C++.  From the main menu, go to "File"
+       and select the "Open Workspace" option. Then open the
+       c:\MyHDFstuff\hdf5\proj\all\all.dsw workspace. 
+
+       You should find windows project files listed as "all files, 
+       big files etc." on the left.        
+
+    3. Please refer to Section II, Step 1(3) to set the dependencies of 
+       project "all.dsp".
+
+    4. Change Project settings
+
+       Choose "Project"->"Settings", 
+       In the left pane of the window "Project Settings",  from the drop 
+       down box to the right of "Setting For:", choose "Win32 Release"; 
+       Highlight all of the static project file in the left lower pane 
+       by pressing "ctrl" key while clicking the project file name.
+         
+       In the right pane of the "Project Settings" window, choose "C/C++".
+       From the drop down box to the right of "Category",  choose 
+       "Code Generation", under "Use run-time library:", 
+       "Single-Threaded" should appear. If it is blank inside this
+       box, check if you highlight some dll project files. Change 
+       "Single-Threaded" to "Multithreaded".
+        
+       In the left pane of the window "Project Settings",  from the drop 
+       down box to the right of "Setting For:", choose "Win32 Debug"; 
+       Highlight all of the static project file in the left lower pane 
+       by pressing "ctrl" key while clicking the project file name.
+         
+       In the right pane of the "Project Settings" window, choose "C/C++".
+       From the drop down box to the right of "Category",  choose 
+       "Code Generation", under "Use run-time library:", 
+       "Debug Single-Threaded" should appear. If it is blank inside this 
+       box, check if you highlight some dll project files. Change
+       "Debug Single-Threaded" to "Debug Multithreaded"
+         
+    5. Go back to Section II, Step 1 (4), continue to build and test HDF5 library.
+
+
+Section X: Misc.
+~~~~~~~~~~~~~~~~~~~
+
+    1) drivers we support
+
+    The default driver on windows we support is sec2 driver. However, 
+    stdio driver is also supported. If you want to use stdio driver 
+    in your application, you may set environment variable HDF5_DRIVER 
+    to "stdio".
+
+    On windows 2000/XP, the following steps should be followed to set
+    the environment variable,
+
+      a) Go to Control panel and find "system",
+      b) Click "system" and choose "advanced",
+      c) Choose Environment Variables
+      d) Add new variable "HDF5_DRIVER"
+      e) set the "HDF5_DRIVER" to "stdio"
+
+    Reminder: 
+    If you don't want to use stdio driver, please remember to 
+    delete the environment variable "HDF5_DRIVER" or change the 
+    variable value to "sec2".
+
+*******************************************************************
+Please send email to help at hdfgroup.org for further assistance.
+

Modified: packages/hdf5/trunk/release_docs/INSTALL_Windows_From_Command_Line.txt
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_Windows_From_Command_Line.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_Windows_From_Command_Line.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,7 +7,10 @@
       line.
          
       Currently, we only support building and testing HDF5 on command
-      line with Microsoft Visual C++ 6.0 and DEC Fortran 6.0.
+      line with Microsoft Visual C++ 6.0.  Building Fortran libraries 
+      from the commandline is not supported.  This is because building
+      Fortran libraries requires Visual Studio .NET or 2005, which are
+      also not supported on commandline.
       
       For all other Windows development tools, HDF5 should be built in
       the development environment.  Please refer to INSTALL_Windows.txt
@@ -24,7 +27,7 @@
 
 Extra Preconditions
 
-   1. Set path for Microsoft Visual C++ 6.0 and DEC Fortran 6.0
+   1. Set path for Microsoft Visual C++ 6.0
    
       Open "System" in Control Panel.
    
@@ -32,34 +35,55 @@
       "Path" in the "System variables" box, then click "Edit" and 
       add your Visual C++ 6.0 path (For example, 
       C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\)
-      and DEC Fortran 6.0 path (For example, 
-      C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\)
       into "Variable Value" and click "OK".
 
-   2. Add WinZip command line support (Optional)
-      
-      To use WinZip command line utility, you have to install 
-      WinZip 9.0 or higher version.
+   2. Add command line file-extraction support
+   
+      Option A. Winzip
+         
+          To use WinZip command line utility, you have to install 
+          WinZip 9.0 or higher version.  You will also need the Winzip command
+          line utility, which is free after the purchase of Winzip Pro
 
-      If you want to extract hdf5\windows\all.zip on the command line,
-      you should
+          If you want to extract hdf5\windows\all.zip on the command line,
+          you should
+       
+          Step 1) Install WinZip command line support add-on 1.1
+       
+              Download WinZip command line support add-on 1.1 from 
+              http://www.winzip.com and install it.
+       
+          Step 2) Add WinZip into environment path
+       
+              Open "System" in Control Panel.
+              On the "Advanced" tab, click "Environment Variables", click
+              "Path" in the "System variables" box, then click "Edit" and 
+              add your WinZip path (For example C:\Program Files\WinZip)
+              into "Variable Value" and click "OK".
+  
+      Option B. 7-Zip
+
+          7-Zip is a free, open-source file archiver which supports
+          unpacking zip file from the command line.  To use 7-Zip:
+
+          Step 1) Install 7-Zip
+          
+             7-Zip is available online at http://www.7-zip.org/
+             Please install the latest version available
+         
+          Step 2) Add 7-Zip to Path
+          
+             Open "System" in Control Panel.
    
-      2.1 Install WinZip command line support add-on 1.1
-   
-          Download WinZip command line support add-on 1.1 from 
-          http://www.winzip.com and install it.
-   
-      2.2 Add WinZip into environment path
-   
-          Open "System" in Control Panel.
-          On the "Advanced" tab, click "Environment Variables", click
-          "Path" in the "System variables" box, then click "Edit" and 
-          add your WinZip path (For example C:\Program Files\WinZip)
-          into "Variable Value" and click "OK".
+             On the "Advanced" tab, click "Environment Variables", click "Path"
+             in the "System variables" box, then click "Edit" and add your 7-Zip
+             path (For example, C:\Program Files\7-Zip) into "Variable Value" 
+             and click "OK".
 
+
       Note: 
-         You can also extract all.zip from interactive WinZip interface 
-         without the above two steps.
+         You can also extract all.zip from interactive WinZip or 7-Zip interface 
+         without the above steps.
   
 ***********************************************************************
 Step 1. Building and testing HDF5 libraries and tools
@@ -67,17 +91,27 @@
    1. Unpack all.zip
 
       Unpack all.zip in c:\MyHDFstuff\hdf5\windows into the 
-      C:\myHDFstuff directory.
+      C:\myHDFstuff\hdf5\ directory.
       
-      This can be done with either of the following 2 options:
+      This can be done with either of the following 3 options:
 
-      Option A. Unpack from the interactive WinZip interface
+      Option A. Unpack from the interactive WinZip or 7-Zip interface
 
-      Option B. unpack on the command line
+      Option B. Unpack on the command line with WinZip
 
          cd into the c:\MyHDFstuff\hdf5\windows directory
    
-         type: wzunzip -yO -d -o all.zip c:\MyHDFstuff
+         type: wzunzip -yO -d -o all.zip c:\MyHDFstuff\hdf5
+
+      Option C. Unpack on the command line with 7-Zip
+      
+         Open a command prompt and navigate the the directory
+         C:\MyHDFstuff\hdf5\windows  Then run the command:
+         
+            7z x all.zip -o..\ -y
+
+         This will extract all windows files into the c:\MyHDFstuff\hdf5
+         directory.
    
 
    2. Build and Test
@@ -91,19 +125,13 @@
          is provided for users to build and test HDF5 library and tools
          together from command line.
 
-         hdf5bt.bat has four options:
+         You may use the following options:
 
             hdf5bt                 build and test C library and tools
 
             hdf5bt enablecpp       build and test C/C++ libraries 
                                    and tools
 
-            hdf5bt enablefortran   build and test C/Fortran libraries
-                                   and tools
-
-            hdf5bt enableall       build and test C/C++/Fortran 
-                                   libraries and tools
-
          Invoke a command prompt window and run hdf5bt with
          appropriate options.
 
@@ -129,7 +157,7 @@
             directory is provided for users to build HDF5 library and 
             tools from command line.
 
-            hdf5build.bat has four options:
+         You may use the following options:
   
                hdf5build                 build HDF5 C library 
                                          and tools
@@ -137,12 +165,6 @@
                hdf5build enablecpp       build HDF5 C/C++ libraries 
                                          and tools
 
-               hdf5build enablefortran   build HDF5 C/Fortran libraries
-                                         and tools
-
-               hdf5build enableall       build HDF5 C/C++/Fortran 
-                                         libraries and tools
-
             Invoke a command prompt window and run hdf5build with 
             appropriate options.  Compiling outputs are saved in 
             c:\MyHDFstuff\hdf5\build_results.txt.  You can check 
@@ -155,19 +177,13 @@
             directory is provided for users to test HDF5 library 
             and tools from command line.
 
-            hdf5check.bat has four options:
+         You may use the following options:
 
                hdf5check                 test HDF5 C library and tools
       
                hdf5check enablecpp       test HDF5 C/C++ libraries 
                                          and tools
       
-               hdf5check enablefortran   test HDF5 C/Fortran libraries
-                                         and tools
-      
-               hdf5check enableall       test HDF5 C/C++/Fortran 
-                                         libraries and tools
-
             Invoke a command prompt window and run hdf5check with 
             appropriate options.
 

Deleted: packages/hdf5/trunk/release_docs/INSTALL_Windows_Short.txt
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_Windows_Short.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_Windows_Short.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,123 +0,0 @@
-HDF5 Build and Install Instructions for Windows 2000/XP (Short Version)
-------------------------------------------------------------------------
-Note: This short instruction is written for users who want to quickly
-      build HDF5 library and tools from the HDF5 source code package
-      but do not want to know HDF5 building and installation details
-      on Windows 2000/XP.
-         
-      For detailed HDF5 build and install information, or if you have
-      trouble following any steps in the instructions, please refer to
-      INSTALL_Windows.txt for further information.
-      
-      For users who would like to build and test HDF5 package from the
-      command line, please refer to
-      INSATLL_Windows_From_Command_Line.txt.
-        
-***************************WARNINGS*************************************
-Please read CAREFULLY about HDF5 build and install preconditions and 
-notes in INSTALL_Windows.txt before starting below procedures.
-************************************************************************
-
-STEP 1: Building HDF5 Libraries and Tools
-    
-1. Unpack all.zip
-    
-   Unpack all.zip in c:\MyHDFstuff\hdf5\windows into the 
-   c:\MyHDFstuff directory. 
-
-2. Open all.dsw workspace
-    
-   Open the c:\MyHDFstuff\hdf5\proj\all\all.dsw workspace. 
-
-3. (Optional) Add C++ and/or FORTRAN related projects
-    
-   3.1 Add the following projects to project "all" dependencies 
-       ONLY if you want to build HDF5 C++ libraries
-        
-          dsets_cpp
-          dsets_cppdll
-          hdf5_cpp
-          hdf5_cppdll
-          testhdf5_cpp
-          testhdf5_cppdll
-
-   3.2 Add the follwing projects to project "all" dependencies 
-       ONLY if you want to build HDF5 FORTRAN libraries
-              
-          flush1_fortran
-          flush1_fortrandll
-          flush2_fortran
-          flush2_fortrandll
-          hdf5_f90cstub
-          hdf5_f90cstubdll
-          hdf5_fortran
-          hdf5_fortrandll
-          libtest_cstubdll
-          libtest_fortran
-          libtest_fortrandll
-          testhdf5_fortran
-          testhdf5_fortrandll
-         
-4. Select "Build", then Select "Set Active Configuration".
-
-   In "Project configurations", select the active configuration
-
-	    "all -- Win32 Debug"
-               
-               or
-
-	    "all -- Win32 Release"
-	        
-   Then build project "all".
-
-
-STEP 2: Testing HDF5 Libraries and Tools 
-
-HDF5 libraries and tools should be tested to make sure that they were
-built correctly.
-
-HDF5 libraries and tools can be tested with hdf5check.bat batch file 
-in c:\MyHDFstuff\hdf5 directory.
-
-hdf5check.bat has four options:
-   
-   hdf5check                     test HDF5 C library and tools only
-      
-   hdf5check enablecpp           test HDF5 C/C++ libraries and tools
-         
-   hdf5check enablefortran       test HDF5 C/Fortran libraries 
-                                 and tools
-         
-   hdf5check enableall           test HDF5 C/C++/Fortran libraries
-                                 and tools
-   
-
-Invoke a command prompt window and run hdf5check with appropriate
-options.
-
-Test results are saved in two files:
-
-   c:\MyHDFstuff\hdf5\tests_results.txt   
-
-   c:\MyHDFstuff\hdf5\check_results.txt.
-
-In general, you only need to check tests_results.txt.  If all the
-tests passed, then you do not have to check check_results.txt.  
-If some tests failed, check check_results.txt can help you
-figure out what was wrong.
-
-If you want to test HDF5 libraries and tools one by one, please refer to
-section II, step 2 in INSTALL_Windows.txt.
-
-
-STEP 3: Installing HDF5 Libraries
-
-Run the batch file c:\MyHDFstuff\hdf5\installhdf5lib.bat to install 
-all HDF5 libraries and tools into c:\MyHDFstuff\hdf5\hdf5lib directory.
-
-
-STEP 4: Building HDF5 Examples (Optional)
-
-Please read section II, step 4 in INSTALL_Windows.txt.
-
-

Copied: packages/hdf5/trunk/release_docs/INSTALL_Windows_Short_VS6.0.txt (from rev 1094, packages/hdf5/branches/upstream/current/release_docs/INSTALL_Windows_Short_VS6.0.txt)
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_Windows_Short_VS6.0.txt	                        (rev 0)
+++ packages/hdf5/trunk/release_docs/INSTALL_Windows_Short_VS6.0.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,118 @@
+HDF5 Build and Install Instructions for Windows 2000/XP (Short Version)
+------------------------------------------------------------------------
+Note: This short instruction is written for users who want to quickly
+      build HDF5 library and tools from the HDF5 source code package
+      but do not want to know HDF5 building and installation details
+      on Windows 2000/XP.  This is written for the Microsoft Visual
+      Studio 6.0 compiler.
+         
+      For detailed HDF5 build and install information, or if you have
+      trouble following any steps in the instructions, please refer to
+      INSTALL_Windows.txt for further information.
+      
+      For users who would like to build and test HDF5 package from the
+      command line, please refer to
+      INSATLL_Windows_From_Command_Line.txt.
+        
+***************************WARNINGS*************************************
+Please read CAREFULLY about HDF5 build and install preconditions and 
+notes in INSTALL_Windows.txt before starting below procedures.
+************************************************************************
+
+STEP 1: Building HDF5 Libraries and Tools
+    
+1. Unpack all.zip
+    
+   Unpack windows\all.zip in c:\MyHDFstuff\hdf5\ directory.  If
+   prompted to overwrite files, select "Yes to All".
+
+2. Open all.dsw workspace
+    
+   Open the c:\MyHDFstuff\hdf5\proj\all\all.dsw workspace. 
+
+3. (Optional) Add C++ and/or FORTRAN related projects
+    
+   3.1 Add the following projects to project "all" dependencies 
+       ONLY if you want to build HDF5 C++ libraries
+        
+          dsets_cpp
+          dsets_cppdll
+          hdf5_cpp
+          hdf5_cppdll
+          testhdf5_cpp
+          testhdf5_cppdll
+
+   3.2 Add the follwing projects to project "all" dependencies 
+       ONLY if you want to build HDF5 FORTRAN libraries
+              
+          flush1_fortran
+          flush1_fortrandll
+          flush2_fortran
+          flush2_fortrandll
+          hdf5_f90cstub
+          hdf5_f90cstubdll
+          hdf5_fortran
+          hdf5_fortrandll
+          libtest_cstubdll
+          libtest_fortran
+          libtest_fortrandll
+          testhdf5_fortran
+          testhdf5_fortrandll
+         
+4. Select "Build", then Select "Set Active Configuration".
+
+   In "Project configurations", select the active configuration
+
+	    "all -- Win32 Debug"
+               
+               or
+
+	    "all -- Win32 Release"
+	        
+   Then build project "all".
+
+
+STEP 2: Testing HDF5 Libraries and Tools 
+
+HDF5 libraries and tools should be tested to make sure that they were
+built correctly.
+
+HDF5 libraries and tools can be tested with hdf5check.bat batch file 
+in c:\MyHDFstuff\hdf5 directory.
+
+The following options are supported:
+   
+   hdf5check                     test HDF5 C library and tools only
+      
+   hdf5check enablecpp           test HDF5 C/C++ libraries and tools
+            
+
+Invoke a command prompt window and run hdf5check with appropriate
+options.
+
+Test results are saved in two files:
+
+   c:\MyHDFstuff\hdf5\tests_results.txt   
+
+   c:\MyHDFstuff\hdf5\check_results.txt.
+
+In general, you only need to check tests_results.txt.  If all the
+tests passed, then you do not have to check check_results.txt.  
+If some tests failed, check check_results.txt can help you
+figure out what was wrong.
+
+If you want to test HDF5 libraries and tools one by one, please refer to
+section II, step 2 in INSTALL_Windows.txt.
+
+
+STEP 3: Installing HDF5 Libraries
+
+Run the batch file c:\MyHDFstuff\hdf5\installhdf5lib.bat to install 
+all HDF5 libraries and tools into c:\MyHDFstuff\hdf5\hdf5lib directory.
+
+
+STEP 4: Building HDF5 Examples (Optional)
+
+Please read section II, step 4 in INSTALL_Windows.txt.
+
+

Deleted: packages/hdf5/trunk/release_docs/INSTALL_codewarrior.txt
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_codewarrior.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_codewarrior.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,74 +0,0 @@
-
-Instructions for Building the HDF5 Library, Tests, and Tools 
-with the Metrowerks Code Warrior Compiler
----------------------------------------------------------------------------
-
-The HDF5 library is supported under the Metrowerks Code Warrior version 8.0 compiler.
-The Code Warrior port of the HDF5 library has been tested only on the
-Windows NT platform.
-The following instructions assume we will be using the path D:\hdf5 for installing the library.
-
-------------------------------------------------------------------------
-Pre conditions: 
--------------------------------------------------------------------------
-Both the ZLIB and SZIP libraries are needed to link with HDF5.
-The Code Warrior project file settings assumes ZLIB is intalled in D:\zlib\zlib.lib  
-and SZIP is installed in D:\szip\codewarrior\szip.lib
-These precompiled libraries can be obtained from the HDF web site, 
-please see hdf.ncsa.uiuc.edu for downloading instructions.
-If you do not have these libraries installed on these locations, you must change
-the path in the Project Settings (menu Edit->Settings->Target->Access Paths)
-
--------------------------------------------------------------------------
-Setup
---------------------------------------------------------------------------
-
-1. This setup assumes that you installed the distribution zip file as 
-   explained in INSTALL_windows.txt file. The steps are
-   a) making a folder called <my install>/hdf5/ as your base hdf5 folder 
-   b) unpack the file all.zip located  in d:\hdf5\windows to d:\. 
-      This file contains the Windows specific files of HDF5.
-
-To build the HDF5 library with Code Warrior:
-1. Open the project file hdf5.mcp (located in d:\hdf5\proj\codewarrior\).
-2. To build the library:
-	Select the 'hdf5' target and build (menu Projects-> Make or F7 key).
-3. To build all the targets (HDF5 library, test, and tools):
-	Select the 'all' target and build.
-4. To run the tests in a command line window:
-	In the command line window, change directory to d:\hdf5\test\. 
-	Type 
-	    Hdf5test debug
-	or, to redirect the output to a file called myfile.txt,
-	    Hdf5test debug > myfile.txt
-   The test and tools files are generated in the same directory as 
-   those compiled with the Microsoft Visual Studio compiler.
-
-
----------------------------------------------------------------------------
-Known problems
----------------------------------------------------------------------------
-
-The test "testhdf5" fails on a open file call. This is caused by a CodeWarrior v8.0
-bug in the "open" function
-
-Metrowerks provides a patch for this error
-
-1) Edit the file file_io.win32.c, located on <MY_INSTALL\MSL\MSL_C\MSL_Win32\Src\>
-
-2) Change the following symbol to 1 instead of 0
-
-#define _MSL_ALLOW_SHARED_WRITING  0  
-/* Set this value to 1 for file opening with shared writing */	
-
-3)  Add this source code to your project and relink it with your application.
-    A source code in a project overrides the library source.
-
-
-
----------------------------------------------------------------------------
-The HDF Group would like to thank Ron Liechty of Metrowerks technical 
-support for all the help provided during the development of this project.
-
-
-

Modified: packages/hdf5/trunk/release_docs/INSTALL_parallel
===================================================================
--- packages/hdf5/trunk/release_docs/INSTALL_parallel	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/INSTALL_parallel	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,19 +4,33 @@
 
 1. Overview
 -----------
-
 This file contains instructions for the installation of parallel HDF5 (PHDF5).
-PHDF5 requires an MPI compiler with MPI-IO support and a parallel file system. 
+It is assumed that you are familiar with the general installation steps as
+described in the INSATLL file.  Get familiar with that file before trying
+the parallel HDF5 installation.
+
+The remaining of this section explains the requirements to run PHDF5.
+Section 2 shows quick instructions for some well know systems.  Section 3
+explains the details of the installation steps. Section 4 shows some details
+of running the parallel test suites.
+
+
+1.1. Requirements
+-----------------
+PHDF5 requires an MPI compiler with MPI-IO support and a parallel file system.
 If you don't know yet, you should first consult with your system support staff
 of information how to compile an MPI program, how to run an MPI application,
 and how to access the parallel file system.  There are sample MPI-IO C and
-Fortran programs in the section of "Sample programs".  You can use them to
-run simple tests of your MPI compilers and the parallel file system.
+Fortran programs in the appendix section of "Sample programs".  You can use
+them to run simple tests of your MPI compilers and the parallel file system.
 
-If you still have difficulties installing PHDF5 in your system, please
-send mail to
-	hdfhelp at ncsa.uiuc.edu
 
+1.2. Further Help
+-----------------
+If you still have difficulties installing PHDF5 in your system, please send
+mail to
+	help at hdfgroup.org
+
 In your mail, please include the output of "uname -a". If you have run the
 "configure" command, attach the output of the command and the content of
 the file "config.log".
@@ -24,190 +38,138 @@
 
 2. Quick Instruction for known systems
 --------------------------------------
+The following shows particular steps to run the parallel HDF5 configure for
+a few machines we've tested. If your particular platform is not shown or
+somehow the steps do not work for yours, please go to the next section for
+more detailed explanations.
 
-The following shows particular steps to run the parallel HDF5
-configure for a few machines we've tested. If your particular platform
-is not shown or somehow the steps do not work for yours, please go
-to the next section for more detailed explanations.
 
-------
-Know parallel compilers
-------
+2.1. Know parallel compilers
+----------------------------
+HDF5 knows several parallel compilers: mpicc, hcc, mpcc, mpcc_r.  To build
+parallel HDF5 with one of the above, just set CC as it and configure.
+The "--enable-parallel" is optional in this case.
 
-HDF5 knows several parallel compilers: mpicc, hcc, mpcc, mpcc_r.
-To build parallel HDF5 with one of the above, just set CC as it
-and configure.  The "--enable-parallel" is optional in this case.
-
     $ CC=/usr/local/mpi/bin/mpicc ./configure --prefix=<install-directory>
     $ make
     $ make check
     $ make install
 
 
-------
-TFLOPS
-------
+2.2. IBM SP
+-----------
+Make sure your environment variables are set correctly to compile and execute
+a single process mpi applications for the SP machine. Unfortunately, the
+setting varies from machine to machine.  E.g., the following works for the
+Blue machine of LLNL.
 
-Follow the instructions in INSTALL_TFLOPS.
-
--------
-IBM SP
--------
-
-First of all, make sure your environment variables are set correctly
-to compile and execute a single process mpi applications for the SP
-machine. Unfortunately, the setting varies from machine to machine.
-E.g., the following works for the Blue machine of LLNL.
-
     setenv MP_PROCS     1
     setenv MP_NODES     1
     setenv MP_LABELIO   no
     setenv MP_RMPOOL    0
     setenv LLNL_COMPILE_SINGLE_THREADED TRUE    # for LLNL site only
 
-The shared library configuration for this version is broken. So, only
-static library is supported.
+The shared library configuration is problematic.  So, only static library
+is supported.
 
 Then do the following steps:
 
     $ ./configure --disable-shared --prefix=<install-directory>
     $ make		# build the library
     $ make check	# verify the correctness
+			# Read the Details section about parallel tests.
     $ make install
 
+We also suggest that you add "-qxlf90=autodealloc" to FFLAGS when building
+parallel with fortran enabled.  This can be done by invoking:
 
-We also suggest that you add "-qxlf90=autodealloc" to FFLAGS when 
-building parallel with fortran enabled.  This can be done by invoking:
-
     setenv FFLAGS -qxlf90=autodealloc		# 32 bit build
-
 or
-
     setenv FFLAGS "-q64 -qxlf90=autodealloc"	# 64 bit build
 
-prior to running configure.  Recall that the "-q64" is necessary
-for 64 bit builds.
+prior to running configure.  Recall that the "-q64" is necessary for 64
+bit builds.
 
----------------
-SGI Origin 2000
-Cray T3E
-(where MPI-IO is part of system MPI library such as the mpt module)
----------------
 
-#!/bin/sh
+2.3. Linux 2.4 and greater
+--------------------------
+Be sure that your installation of MPICH was configured with the following
+configuration command-line option:
 
-RUNPARALLEL="mpirun -np 3"
-export RUNPARALLEL
-LIBS="-lmpi"
-export LIBS
-./configure --enable-parallel --prefix=$PWD/installdir
-make
-make check
-make install
+    -cflags="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
 
+This allows for >2GB sized files on Linux systems and is only available with
+Linux kernels 2.4 and greater.
 
-***Known problem***
-Some O2K system may encounter an error during make.
-    ld32: FATAL 9: I/O error (-lmpi): No such file or directory
 
-This is because libtool tries too hard to locate the loader 'ld'
-but ends up with one that does not know where to find the right
-version of libmpi.a for the particular ABI requested.
-The fix is to edit the file 'libtool' at the top of the build directory.
-Search for a string that looks like the following:
-    LD="/opt/MIPSpro/MIPSpro_default/opt/MIPSpro/bin/ld -n32"
+2.4. Red Storm (Cray XT3) (for v1.8 only)
+-------------------------
+The following steps are for building the Parallel HDF5 for the Red Storm
+compute nodes.  They would probably work for other Cray XT3 systems but have
+not been verified.
 
-Replace it with something that knows how to find the right libmpi.a.
-E.g.,
-    LD="/opt/MIPSpro/MIPSpro_default/opt/MIPSpro/bin/cc -n32"
+# Assume you already have a copy of HDF5 source code in directory `hdf5' and
+# want to install the binary in directory `/project/hdf5/phdf5'.  You also
+# have done the proper setup to have mpicc and mpif90 as the compiler commands.
 
-Or you can pre-empt it by setting LD at configure time
-    $ LD="cc" ./configure --enable-parallel ...
+$ cd hdf5
+$ bin/yodconfigure configure
+$ env RUNSERIAL="yod -sz 1" RUNPARALLEL="yod -sz 3" \
+    CC="mpicc -DRED_STORM" F9X=mpif90 \
+    ./configure --disable-hl --without-zlib --disable-stream-vfd \
+    --enable-parallel --prefix=/project/hdf5/phdf5
+$ make
+$ make check
 
+# if all is well, install the binary.
+$ make install
 
----------------
-SGI Origin 2000
-Cray T3E
-(where MPI-IO is not part of system MPI library or I want to use my own
- version of MPIO)
----------------
 
-mpi1_inc=""                                     #mpi-1 include
-mpi1_lib=""                                     #mpi-1 library
-mpio_inc=-I$HOME/ROMIO/include                  #mpio include
-mpio_lib="-L$HOME/ROMIO/lib/IRIX64"             #mpio library
-
-MPI_INC="$mpio_inc $mpi1_inc"
-MPI_LIB="$mpio_lib $mpi1_lib"
-
-#for version 1.1
-CPPFLAGS=$MPI_INC
-export CPPFLAGS
-LDFLAGS=$MPI_LIB
-export LDFLAGS
-RUNPARALLEL="mpirun -np 3"
-export RUNPARALLEL
-LIBS="-lmpio -lmpi"
-export LIBS
-
-./configure --enable-parallel --prefix=$PWD/installdir
-make
-make check
-make install
-
-
+3. Detail explanation
 ---------------------
-Linux 2.4 and greater
----------------------
 
-Be sure that your installation of MPICH was configured with the following
-configuration command-line option:
+3.1. Installation steps (Uni/Multiple processes modes)
+-----------------------
+During the step of configure, you must be running in the uni-process mode.
+If multiple processes are doing the configure simultaneously, they will
+incur errors.
 
-    -cflags="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
+In the build step (make), it depends on your make command whether it can
+run correctly in multiple processes mode.  If you are not sure, you should
+try running it in uni-process mode.
 
-This allows for >2GB sized files on Linux systems and is only available
-with Linux kernels 2.4 and greater.
+In the test step (make check), if your system can control number of processes
+running in the MPI application, you can just use "make check".  But if your
+system (e.g., IBM SP) has a fixed number of processes for each batch run,
+you need to do the serial tests by "make check-s", requesting 1 process and
+then do the parallel tests by "make check-p", requesting n processes.
 
+Lastly, "make install" should be run in the uni-process mode.
 
-------------------
-HP V2500 and N4000
-------------------
 
-Follow the instructions in section 3.
+3.2. Configure details
+----------------------
+The HDF5 library can be configured to use MPI and MPI-IO for parallelism on
+a distributed multi-processor system. The easiest way to do this is to have
+a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc_r)
+and supply the compiler name as the value of the CC environment variable.
+For examples,
 
-
-3. Detail explanation
----------------------
-
-The HDF5 library can be configured to use MPI and MPI-IO for parallelism
-on a distributed multi-processor system. The easiest way to do this is to
-have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's
-mpcc_r) and supply that executable as the value of the CC environment
-variable.  For examples,
-
     $ CC=mpcc_r ./configure
-    
     $ CC=/usr/local/mpi/bin/mpicc ./configure
 
-If no such wrapper script is available then you must specify your normal
-C compiler along with the distribution of MPI/MPI-IO which is to be used
-(values other than `mpich' will be added at a later date):
+If no such a compiler command is available then you must use your normal
+C compiler along with the location(s) of MPI/MPI-IO files to be used.
+For example,
 
-    $ ./configure --enable-parallel=mpich
-
-If the MPI/MPI-IO include files and/or libraries cannot be found by the
-compiler then their directories must be given as arguments to CPPFLAGS
-and/or LDFLAGS:
-
     $ CPPFLAGS=-I/usr/local/mpi/include \
       LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
       ./configure --enable-parallel=mpich
 
-If a parallel library is being built then configure attempts to determine
-how to run a parallel application on one processor and on many
-processors. If the compiler is `mpicc' and the user hasn't specified
-values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from
-the same directory as `mpicc':
+If a parallel library is being built then configure attempts to determine how
+to run a parallel application on one processor and on many processors. If the
+compiler is `mpicc' and the user hasn't specified values for RUNSERIAL and
+RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc':
 
     RUNSERIAL:    /usr/local/mpi/bin/mpirun -np 1
     RUNPARALLEL:  /usr/local/mpi/bin/mpirun -np $${NPROCS:=3}
@@ -216,38 +178,35 @@
 environment variable at the time `make check' is run (or the value 3).
 
 
-4. Parallel tests
------------------
+4. Parallel test suite
+----------------------
+The testpar/ directory contains tests for Parallel HDF5 and MPI-IO.  The t_mpi
+tests the basic functionalities of some MPI-IO features used by Parallel HDF5.
+It usually exits with non-zero code if a required MPI-IO feature does not
+succeed as expected.  One exception is the testing of accessing files larger
+than 2GB.  If the underlying filesystem or if the MPI-IO library fails to
+handle file sizes larger than 2GB, the test will print informational messages
+stating the failure but will not exit with non-zero code.  Failure to support
+file size greater than 2GB is not a fatal error for HDF5 because HDF5 can
+use other file-drivers such as families of files to bypass the file size limit.
 
-The testpar/ directory contains tests for Parallel HDF5 and MPI-IO.
-The t_mpi tests the basic functionalities of some MPI-IO features used by
-Parallel HDF5.  It usually exits with non-zero code if a required MPI-IO
-feature does not succeed as expected.  One exception is the testing of
-accessing files larger than 2GB.  If the underlaying filesystem or if
-the MPI-IO library fails to handle file sizes larger than 2GB, the test
-will print informational messages stating the failure but will not exit
-with non-zero code.  Failure to support file size greater than 2GB is
-not a fatal error for HDF5 because HDF5 can use other file-drivers such
-as families of files to by pass the file size limit.
-
 By default, the parallel tests use the current directory as the test directory.
-This can be changed by the environment variable $HDF5_PARAPREFIX.
-For example, if the tests should use directory /PFS/user/me, do
+This can be changed by the environment variable $HDF5_PARAPREFIX.  For example,
+if the tests should use directory /PFS/user/me, do
     HDF5_PARAPREFIX=/PFS/user/me
     export HDF5_PARAPREFIX
     make check
 
-(In some batch job system, you many need to hardset HDF5_PARAPREFIX in
-the shell initial files like .profile, .cshrc, etc.)
+(In some batch job system, you many need to hardset HDF5_PARAPREFIX in the
+shell initial files like .profile, .cshrc, etc.)
 
 
-5. Sample programs
-------------------
-
+Appendix A. Sample programs
+---------------------------
 Here are sample MPI-IO C and Fortran programs.  You may use them to run simple
 tests of your MPI compilers and the parallel file system.  The MPI commands
 used here are mpicc, mpif90 and mpirun.  Replace them with the commands of
-your system.  
+your system.
 
 The programs assume they run in the parallel file system. Thus they create
 the test data file in the current directory.  If the parallel file system

Modified: packages/hdf5/trunk/release_docs/RELEASE.txt
===================================================================
--- packages/hdf5/trunk/release_docs/RELEASE.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/release_docs/RELEASE.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,36 +1,37 @@
-HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005
+HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007
 ================================================================================
 
 INTRODUCTION
 ============
-This document describes the differences between HDF5-1.6.4 and
-HDF5-1.6.5.  It contains information on the platforms tested and
-known problems in HDF5-1.6.5. For more details, check the HISTORY.txt
+This document describes the differences between HDF5-1.6.5 and
+HDF5-1.6.6  It contains information on the platforms tested and
+known problems in HDF5-1.6.6. For more details, check the HISTORY.txt
 file in the HDF5 source.
 
-The HDF5 documentation can be found on the NCSA ftp server
-(ftp.ncsa.uiuc.edu) in the directory:
+HDF5 documentation can be found in the distributed release source 
+code in the subdirectory doc/html/ or on the THG (The HDF Group) 
+ftp server (ftp.hdfgroup.org) in the directory:
 
-     /HDF/HDF5/docs/
+     /HDF5/docs/
 
 Documentation for the current release is also on the HDF web site:
 
-     http://hdf.ncsa.uiuc.edu/HDF5/doc/
+     http://hdfgroup.org/HDF5/doc/
 
-For more information look at the HDF5 home page at:
+For more information, see the HDF5 home page at:
 
-    http://hdf.ncsa.uiuc.edu/HDF5/
+    http://hdfgroup.org/HDF5/
 
 If you have any questions or comments, please send them to:
 
-    hdfhelp at ncsa.uiuc.edu
+    help at hdfgroup.org
 
 
 CONTENTS
 ========
 - New Features
 - Support for New Platforms, Languages and Compilers
-- Bug Fixes since HDF5-1.6.4
+- Bug Fixes since HDF5-1.6.5
 - Documentation
 - Platforms Tested
 - Supported Configuration Features Summary
@@ -41,424 +42,426 @@
 ============
     Configuration:
     -------------------------
-	- Added yodconfigure, a configure tool, that patches up the configure
-	  file to allow configure to launch executable via the proper
-	  launching command like "yod -sz 1".  AKC - 2005/11/10
-	- Configure now recognizes the TR variable as the location of the
-          tr utility.  JML 2005/10/20
+        - HDF5 now uses autoconf 2.61 to generate configure. MAM - 2007/7/25.
 
-    Source code distribution:
-    -------------------------
-	- Added g95 as a testing "platform" informally. AKC - 2005/10/04.
-        - Added MD5 checksumming to snapshot releases.  Releases will now
-          produce an .md5 file as well as a .tar archive.  md5sum can be
-          used to verify the arvhice with the .md5 checksum.  -JL 2005/09/06
-
+    Source code distribution
+    ========================
     Library:
     --------
-        - Added HSYS_ERROR which retrieves the system error message and pushes
-          it to the error stack.  This provides more information regarding the 
-	  failed system call. AKC - 2005/08/04
-        - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
-          allow querying for objects in a file that was opened with a particular
-          file ID, instead of all objects opened in the file with any file ID.
-          QAK - 2005/06/01
+        - None
 
     Parallel Library:
     -----------------
-	- Added mpich2 as a testing "platform" informally. AKC - 2005/10/04.
-	- HDF5 supports collective MPI-IO for irregular selection with HDF5
-	  dataset. Irregular selection is when users use API H5Sselect_hyperslab
-	  more than once for the same dataset.
-	  Currently, not all MPI-IO packages support the complicated 
-	  MPI derived datatypes used in the implementation of irregular 
-	  selections INSIDE HDF5. 
-	  1) DEC 5.x wdoes not support complicated derived datatypes.
-	  2) For AIX 5.1:
-	     If your poe version number is 3.2.0.20 or lower,
-	     please edit powerpc-ibm-aix5.x in the directory hdf5/config/.
-	     Find the line with
-	          << hdf5_mpi_complex_derived_datatype_works >>
-	     and UNCOMMENT this line before the configure.
-	     check poe version with the following command:
-	     lpp -l all | grep ppe.poe
-	  3) For Linux cluster,:
-	     If mpich version is 1.2.5 or lower, collective irregular selection
-	     IO is not supported; internally independent IO is used.
-	  4) For IRIX 6.5:
-	     if C compiler version is 7.3 or lower, collective irregular 
-	     selection IO is not supported; internally independent IO is used.
-	  5) For platforms which internally used mpich: 
-	     If the mpich version is 1.2.5 or lower, please find the 
-	     corresponding config (in hdf5/config) file and add
-	         hdf5_mpi_complex_derived_datatype_works='no' 
-	     at the end of the configuration file. For example, on the 
-	     NCSA SGI Altix, the internal mpich library is 1.2.5. So 
-	         hdf5_mpi_complex_derived_datatype_works='no' 
-	     should be added at the end of the config file ia64-linux-gnu.
-	     KY - 2005/09/12
-
+        - None
+      
     Tools:
     ------
-        - Removed obsolete pdb2hdf tool.  JML - 2005/10/28
-        - Sped up h5dump on files with large numbers of objects.
-            QAK - 2005/08/25
+        - h52gif and gif2h5: Both these tools were revised to include High
+            Level Image API support.  Tests were added to /hl/tools/gif2h5.
+            PVN - 2007/04/13
+        - h5dump: Added support for double long type H5T_NATIVE_LDOUBLE. 
+            PVN - 2007/03/13
+        - h5dump: Added support for binary output; see usage. PVN 2007/03/13
+        - h5repack: Added support for reading and writing by hyperslabs for
+            large files. PVN - 2007/03/01
+        - h5repack: A new option allows the copy to use the source file type
+            (default) instead of the previous conversion to native type. 
+            PVN - 2007/03/01
+        - h5repack: Added output of the percentage of compression achieved. 
+            PVN - 2007/03/01
+        - h5diff: Added support for comparing dataset regions. PVN - 2007/02/20
+        - h5diff: Added support for reading and comparing by hyperslabs for 
+            large files.  PVN - 2007/02/20
+        - h5diff: Added printing of dataset dimensions along with dataset name. 
+            PVN - 2007/02/19
 
     F90 API:
     --------
-        - Added missing h5tget_member_class_f function
-                                            EIP 2005/04/06
+        - None
+
     C++ API:
     --------
-        - Added missing member functions:
-		H5::CompType::getMemberArrayType
-		H5::CompType::getMemberVarLenType
-		H5::AbstractDs::getArrayType
-		H5::AbstractDs::getVarLenType
-		H5::CommonFG::openArrayType
-		H5::CommonFG::openVarLenType
-		H5::PropList::copyProp -- this will replace the current
-			H5::PropList::copyProp in later releases due
-			to incorrect prototype.
-		BMR - 2005/07/27
+        - Added support for Szip: DSetCreatPropList::setSzip - BMR 2007/01/24
 
 
 Support for New Platforms, Languages and Compilers
 ==================================================
-    - Added support for RedStorm platform (serial only.)  AKC 2005/11/10
-    - Added support for BG/L platform (serial only.)  LA 2005/11/10
-    - Added support for HPUX 11.23 (IA64); only C and C++ are supported
-      with the +DD64 flag 
-                                             EIP 2005/10/05
- 
+        - Added support for MAC Intel (Darwin 8.8.2)  (gcc 4.0.1 and g95 0.91)
+                                EIP - 2007/02/13
+        - Added support for GNU C compiler version 4.2.1 for FreeBSD 6.2 
+          (32- and 64-bit)
 
-    Configuration
-    -------------
-        - Added support for Cray X1.  JML 2005/10/03
 
-
-Bug Fixes since HDF5-1.6.4 Release
+Bug Fixes since HDF5-1.6.5 Release
 ==================================
 
     Library
     -------
-        - Fixed collective IO in chunking-storage.  HDF5 may have called the 
-            wrong routine when the shape of the dataspace in the file and in 
-            the bufferred chunk were different. This bug was fixed to make sure
-            the correct routine is called. KY - 2005/10/19
-        - Fixed core dump when closing root groups opened through two different
-            file handles that operate on the same actual file.  QAK - 2005/10/02
-        - The ./dsets tests used to fail in the TFLOPS machine if the
-            test program, dsets.c, was compiled with the -O option.
-            The HDF5 library still worked correctly with the -O option. Only
-            the ./dsets failed.  It is fixed. AKC - 2005/09/14
-        - Corrected errors when performing various operations on a group opened
-            by dereferencing an object reference.  QAK - 2005/07/30
-        - Fixed a bug with named datatypes where a copy of a named datatype
-            used to create a dataset would accidentally use the original
-            named datatype for the dataset's datatype.  QAK - 2005/07/23
-        - Made H5Fget_name() to be consistent and always return name of actual
-            file the ID is in.  (Instead of the name of the top file in a
-            file mounting hierarchy).  QAK - 2005/07/19
-        - Reworked internal file mounting semantics to hopefully eliminate
-            mounting problems.  We now require that files that are mounting
-            together all have the same "file close degree".  QAK - 2005/07/19
-        - More bug fixes on holding open files that are mounted and have
-            IDs open.  QAK - 2005/07/14
-        - Dataset sieve buffer cache was inadvertantly disabled; it has been
-            re-enabled.  QAK - 2005/07/08
-        - Don't unmount child files until the parent file actually closes.
-            (Previously, if an object was holding open a file, the child files
-            would get unmounted too early).  QAK - 2005/07/05
-        - Fixed bug where unmounted files could cause the library to go into
-            an infinite loop when shutting down.  QAK - 2005/06/30
-        - Fixed bug with hyperslab selections that use selection offsets and
-            operate on chunked datasets going into infinite loop or dumping
-            core.  QAK - 2005/06/17
-        - Corrected memory leak and possible corruption when opening a group.
-            QAK - 2005/06/17
-        - Added check for opaque datatype tags being too long (check against
-            H5T_OPAQUE_TAG_MAX, currently set to 256).  QAK - 2005/06/14
-        - Fixed various errors in maintaining names for open objects in the
-            face of unusual mount & unmount operations.  QAK - 2005/06/08
-        - "SEMI" and "STRONG" file close degree settings now apply only to the
-            particular file ID being closed, instead of operating on all open
-            file IDs for a given file.  QAK - 2005/06/01
-        - Fixed error in opening object in a group that was opened in a mounted
-            file which has been unmounted.  QAK - 2005/03/17
+        - Fixed several bugs with writing fill values for datasets that have
+            a variable-length datatype or component datatype.  QAK - 2007/06/19
+        - STDIO driver didn't support files bigger than 2GB because the OFFSET
+            parameter of fseek is of type LONG INT, not big enough for big 
+            files.  Use fseeko instead for big files if it's available on the 
+            system.  SLU - 2007/4/5
+        - Relaxed restrictions on attribute operations to allow a file ID to
+            be used as the "location ID".  If a file ID is used, the attribute
+            operation will occur on the root group of the file.
+            QAK - 2007/02/09
+        - Fixed a bug in H5Sselect_valid() that caused an incorrect value to
+            be returned (0) instead of FAIL on error conditions such as the
+            selection or extent not being defined. CMC - 2007/01/05
+        - Fixed potential file corruption bug which could overwrite a portion
+            of an object's header when an attribute was renamed.  If the new
+            name for the attribute was longer than the old name, it was possible
+            that the attribute would grow enough to overwrite another message
+            in the object's header.  QAK - 2007/01/02
+        - Fixed file corruption bug which could write an incorrect number of
+            messages to an object's header under certain circumstances.
+            Generally, the sequence of actions to generate this bug looks
+            like this:
+                - Create an object.
+                - Close the file.
+                - Re-open the file.
+                - Add 2 (or more) attributes to the object.
+                - Close the file.
+                - Re-open the file.
+                - Delete one of the attributes on the object.
+                - Add a smaller attribute to the object.
+                - Delete the smaller atttribute on the object.
+                - Add a larger attribute on the object.
 
+            After this, the number of header messages stored for the object
+            will be off by one.  Other sequences of modifying attributes on an
+            object could also trigger this bug.  If you are opening an
+            object and the bottom few messages of the HDF5 error stack
+            resembles the following, the object has been affected by this bug:
+
+              #007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry(): unable to load entry
+                major(08): Meta data cache layer
+                minor(40): Unable to load metadata into cache
+              #008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load(): corrupt object header - too few messages
+                major(12): Object header layer
+                minor(40): Unable to load metadata into cache
+
+            Specifically, "corrupt object header" is the best string to search
+            for in the HDF5 error stack output.
+
+            If your files have been affected by this bug, or you are concerned
+            that your files might have been, please contact the HDF Helpdesk
+            at help at hdfgroup.org for a tool to detect and repair files
+            affected by this problem.  QAK - 2006/6/16
+
+        - Fixed various problems with retrieving names of objects, especially
+            with mounted files.  QAK - 2005/12/25
+
     Configuration
     -------------
-	- Configure can recognize -lmpich as a form of MPI library. -AKC-
-	  2005/9/28.
-	- Changed default C++ compiler for the IA64 platform from icc to
-	    icpc which is the preferred compiler for Intel Compiler version
-	    8. AKC - 2005/09/02
+        - Changed to default to --disable-shared if parallel is enabled. 
+            AKC - 2007/5/12
+        - Corrected a coding error in configure when it tries to locate the
+          needed MPI and MPI-IO library for the fortran interface. 
+            AKC - 007/5/9.
+        - Changed default fortran compiler to g95 when gcc is used. 
+            AKC - 007/2/17.
+        - Configure can now use any tr command.  No more need for
+            defining the variable TR, nor is it supported.  AKC - 2006/05/20
 
     Performance
     -------------
-        - Optimized I/O for enumerated datatypes that are a superset of a 
-            source enumerated datatype.  QAK - 2005/03/19
+        - None
    
     Tools
     -----
+        - Fixed a bug in h5dump regarding the display of named datatypes
+            attributes. PVN - 2007/03/13
+        - Fixed a bug in h5dump regarding the display of group comments. 
+            PVN - 2007/03/13
+        - Fixed a bug in h5dump regarding the display of hardlinks pointing 
+            to the root group.  PVN - 2007/03/13
+        - Fixed a bug in the h5diff percentage option -p.  PVN - 2007/03/05
+        - Fixed a bug in h5dump that caused array indices greater than 2^32-1
+            not to be printed correctly.  PVN - 2007/2/19
 
     Documentation 
     ------------- 
+        - Corrected errors and extended the descriptions in Reference Manual 
+            entries for several functions.  
 
     F90 API
     -------
-       - h5pget_driver_f was returning information that could not be
-         interpreted by a Fortran application program; fixed. EIP - 2005/04/10
+        - None
                                 
     C++ API
     -------
-	- Several member functions' prototype changed due to the 
-	  "int -> unsigned" change in the main library.  They are:
-		H5::CompType::getMemberDataType(unsigned member_num)
-		H5::CompType::getMemberCompType(unsigned member_num)
-		H5::CompType::getMemberEnumType(unsigned member_num)
-		H5::CompType::getMemberIntType(unsigned member_num)
-		H5::CompType::getMemberFloatType(unsigned member_num)
-		H5::CompType::getMemberStrType(unsigned member_num)
-		BMR - 2005/07/27
+          - Changed
+                  StrType::StrType(const size_t& size);
+            to
+                  StrType::StrType(const int dummy, const size_t& size);
+            because the first one clashed with
+                  StrType::StrType(const hid_t existing_id); - BMR 2007/05/03
+          - Wrappers of H5Rcreate had incorrect prototypes.  Added these
+            overloaded functions:
+                  IdComponent::reference(void* ref, const char* name, DataSpace&
+                          dataspace, H5R_type_t ref_type = H5R_DATASET_REGION)
+                  IdComponent::void reference(void* ref, const char* name)
+                  IdComponent::reference(void* ref, const H5std_string& name)
+            and will remove these incorrect member functions:
+                  DataSet::Reference
+                  DataType::Reference
+                  Group::Reference
+                  H5File::Reference
+          - Added wrappers for H5Rdereference as constructors:
+                  DataSet(IdComponent& obj, void* ref);
+                  Group(IdComponent& obj, void* ref);
+                  DataType(IdComponent& obj, void* ref);
 
 
+Documentation
+=============
 
-   
+    HDF5 documentation can be found in the distributed release source 
+    code in the subdirectory doc/html/ (start with index.html) or on the 
+    THG (The HDF Group) ftp server (ftp.hdfgroup.org) in the directory:
 
+         /HDF5/docs/
+
+    Online documentation for the current release can be found on the THG 
+    web site:
+
+         http://hdfgroup.org/HDF5/doc/
+
+
 Platforms Tested
 ================
 
-    AIX 5.1  (32 and 64-bit)      xlc 6.0.0.6
-                                  xlf 8.1.1.3
-    				  xlC 6.0.0.6
-				  mpcc_r 6.0.0.6
-                                  mpxlf_r 8.1.1.3
-				  xlc 5.0.2.5
-				  xlf 7.1.1.2
-				  xlC 5.0.2.5
-				  mpcc_r 5.0.2.5
-				  mpxlf_r 7.1.1.2
     AIX 5.2 (32/64 bit)           xlc 6.0.0.8
-                                  xlC 6.0.0.9
+    (datastar)                    xlC 6.0.0.9
                                   xlf 8.1.1.7
                                   mpcc_r 6.0.0.8
                                   mpxlf_r 8.1.1.7
-    AIX 5.2 (32/64 bit, LLNL frost)    xlc 6.0.0.8
-                                  xlC 6.0.0.8
-                                  xlf 8.1.1.7
-                                  mpcc_r 6.0.0.8
-                                  mpxlf_r 8.1.1.7
+
     AIX 5.3 (32/64 bit)           xlc 7.0.0.0
-                                  xlC 7.0.
+    (copper)                      xlC 7.0.
                                   xlf 9.1.0.3
-    Cray X1 water 3.0.35          Cray Standard C Version 5.4.0.7.4
-                                  Cray Fortran 5.4.0.7.3
-                                  Cray C++ 5.4.0.7.4
-    FreeBSD 4.11                  gcc 2.95.4
-                                  g++ 2.95.4
-                                  gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0
-    HP-UX B.11.00                 HP C  HP92453-01 A.11.01.20 
-                                  HP F90 v2.4
-                                  HP ANSI C++ B3910B A.03.13
-    HP-UX B.11.23                 HP aC++/ANSI C B3910B A.06.00
-                                  HP F90 v2.9
-                                  HP aC++/ANSI C B3910B A.06.00
-    IRIX64 6.5 (tesla -64)        MIPSpro cc 7.4.2m
-                                  F90 MIPSpro 7.4.2m
-                                  C++ MIPSpro cc 7.4.2m
-    IRIX64 6.5 (64 & n32)         MIPSpro cc 7.3.1.3m
-                                  F90 MIPSpro 7.3.1.3m (64 only)
-                                  C++ MIPSpro cc 7.3.1.3m
-				  mpt 1.6
-    Linux 2.4.20-28.7             gcc 2.96
-    (eirene, verbena)             gcc 3.3.2
-                                  PGI compilers (pgcc, pgf90, pgCC) 
-                                  version 5.2-1
-                                  Absoft Fortran compiler v9.0
-                         	  Intel(R) C++ 32-bit Version 8.1
-    				  Intel(R) Fortran 32-bit Version 8.1
-                                  MPIch 1.2.6
-    Linux 2.4.21-268-smp x86_64   gcc 3.3.1 (SuSE Linux, AMD)
-    (mir)                         PGI 5.2-1 C and F90 (with k3-32) 
-                         	  Intel(R) C++ 32-bit Version 8.1
-    				  Intel(R) Fortran 32-bit Version 8.1
-    Linux 2.4.21-sgi306rp21 Altix 
-          SMP ia64                Intel(R) C++ Version 8.1
-    (cobalt)                      Intel(R) Fortran Itanium(R) Version 8.1
+
+    FreeBSD 6.2 (32- and 64-bit)  gcc  and g++3.4.6
+    (duty and liberty)            gcc and g++ 4.2.1
+
+    HP-UX B.11.23                 HP aC++/ANSI C B3910B A.06.02
+    (sirius)                      HP F90 v3.1 (32-bit only)
+                                  HP aC++/ANSI C B3910B A.06.02
+
+    IRIX64 6.5                    MIPSpro cc 7.4.4m
+    (ucar mop1 64 & n32)          F90 MIPSpro 7.4.4m (64 only)
+                                  C++ MIPSpro cc 7.4.4m
+
+    Linux 2.4.21-47.ELsmp #1 SMP  gcc 3.2.3
+        i686 i386 GNU/Linux
+    (osage)
+
+    Linux 2.6.9-42.0.10.ELsmp #1  gcc (GCC) 3.4.6
+        SMP i686 i386             G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
+    (kagiso)                      PGI C, Fortran, C++ 6.2-5 32-bit 
+                                  icc (ICC) 9.1 
+                                  Intel(R) C++ Compiler for 32-bit 
+                                      applications, Version 9.1
+                                  Intel(R) Fortran Compiler for 32-bit 
+                                      applications, Version 9.1 
+                                  Absoft 32-bit Fortran 95 10.0.4
+                                  MPICH mpich2-1.0.4p1 compiled with  
+                                  gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.91!) 
+
+    Linux 2.6.16.46-0.12-debug #1 
+        SMP ia64 GNU/Linux        Intel(R) C++ Version 10.0.025
+    (ucar hir1)                   Intel(R) Fortran Itanium(R) Version 10.0.025
+
+    Linux 2.6.16.46-0.14-smp #1   Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037
+        SMP x86_64 GNU/Linux      Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031
+    (smirom)                      PGI C, Fortran, C++ Version 6.2-5
+                                         for 64-bit target on x86-64
+                                  tested for both 32- and 64-bit binaries
+
+    Linux 2.6.5-7.283-rtgfx Altix 
+        SMP ia64                  Intel(R) C++ Version 9.0
+    (cobalt)                      Intel(R) Fortran Itanium(R) Version 9.0
                                   SGI MPI
+
     OSF1 V5.1 (QSC)               Compaq C V6.5-011 
-                                  HP Fortran V5.5A-3548
-				  Compaq C++ V6.5-036  
-				  MPIX200_64_r13.4
-    OSF1 V5.1 (PSC)               Compaq C V6.5-303 
-                                  HP Fortran V5.5A-3548
-				  Compaq C++ V6.5-040  
-    SunOS 5.8 32,46               Sun WorkShop 6 update 2 C 5.3
-     (Solaris 2.8)                Sun WorkShop 6 update 2 Fortran 90
+    (See "Known Problems.")       HP Fortran V5.5A-3548
+                                  Compaq C++ V6.5-036  
+                                  MPIX200_64_r13.4
+
+    SunOS 5.8 32- and 64-bit      Sun WorkShop 6 update 2 C 5.3
+    (sol)                         Sun WorkShop 6 update 2 Fortran 95 6.2
                                   Sun WorkShop 6 update 2 C++ 5.3
-    SunOS 5.9 32,64               Sun C 5.6 2004/07/15
-     (Solaris 2.9)                Sun Fortran 95 8.0 2004/07/15
-                                  Sun C++ 5.6 2004/07/15
-    SunOS 5.10                    Sun WorkShop 6 update 2 C 5.3
-                                  Sun WorkShop 6 update 2 Fortran 95 6.2
-                                  Sun WorkShop 6 update 2 C++ 5.3
-                                  Patch 111685-13 
+
+    SunOS 5.10 32- and 64-bit     Sun WorkShop 6 update 2 C 5.8
+    (linew)                       Sun WorkShop 6 update 2 Fortran 95 8.2
+                                  Sun WorkShop 6 update 2 C++ 5.8
+                                  Patch 121019-06 
+
     Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
-    (tungsten)	                  Intel(R) C++ Version 9.0
+    (tungsten)                    Intel(R) C++ Version 9.0
                                   Intel(R) Fortran Compiler Version 9.0
-    IA-64 Linux 2.4.21.SuSE_292.til1 ia64
+                                  PGI C Version 6.0
+                                  PGI C++ Version 6.0
+                                  PGI Fortran Version 6.0
+                                  gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5)
+
+    Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+    (abe)                         Intel(R) C++ Version 10.0
+                                  Intel(R) Fortran Compiler Version 10.0
+                                  Open MPI 1.2.2
+
+    IA-64 Linux 2.4.21.SuSE_292.til1
+        ia64                      gcc (GCC) 3.2.2
     (NCSA tg-login)               Intel(R) C++ Version 8.0
                                   Intel(R) Fortran Compiler Version 8.0
-				  mpich-gm-1.2.5..10-intel-r2
-    Windows XP                    MSVC++.NET
-                                  MSVC++ 6.0
-                                  Intel 8.1 C++
-    MAC OS X                      Darwin 7.5
-                                  gcc and g++ Apple Computer, Inc. GCC 
-                                  version 1175, based on gcc version 3.3.2
-                                  IBM XL Fortran version 8.1 
-                                  Absoft Fortran compiler v8.2
+                                  mpich-gm-1.2.5..10-intel-r2
 
+    Windows XP                    Visual Studio 6.0
+                                  Visual Studio .NET (with Intel Fortran 9.0)
+                                  Visual Studio 2005 (with Intel Fortran 9.0)
+                                  cygwin (gcc 3.4.4)
 
+    MAC OS X Intel                Darwin 8.10.1
+                                  i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
+                                  g95 0.91
+
+
 Supported Configuration Features Summary
 ========================================
 
-Key:   y   = tested and supported
-       n   = not supported or not tested in this release
-       x   = not working in this release
-       dna = does not apply
-       ( ) = footnote appears below second table
+Key:   y   = Tested and supported
+       n   = Not supported or not tested in this release
+       C   = Cluster
+       W   = Workstation
+       ( ) = Footnote appears below second table
 
-Platform                             C        F90    F90      C++  zlib  SZIP
-                                     parallel        parallel      
-IBM BG/L (16)			     n        n      n        n    y     y
-Solaris2.8 64-bit                    y        y      y(1)     y    y     y
-Solaris2.8 32-bit                    y        y      y(1)     y    y     y
-Solaris2.9 64-bit                    y(1)     y      y(1)     y    y     y
-Solaris2.9 32-bit                    y(1)     y      y(1)     y    y     y
-Solaris2.10 64-bit                   y(1)     y      n        y    y     y
-Solaris2.10 32-bit                   y(1)     y      n        y    y     y
-IRIX64_6.5 64-bit                    y(2)     y      y        y    y     y
-IRIX64_6.5 32-bit                    y(2)     n      n        n    y     y
-HPUX11.00                            y(1)     y      y        y    y     y
-HPUX11.23-32bit                      n        y      n        y    y     y
-HPUX11.23-64bit                      n        n      n        y    y     y
-OSF1 v5.1                            y        y      y        y    y     y
-X1                                   y        y      y        y    y     n
-AIX-5.1, 5.2 & 5.3 32-bit            y        y      y        y    y     y
-AIX-5.1, 5.2 & 5.3 64-bit            y        y      y        y    y     y
-WinXP Visual Studio 6.0              n        n(9)   n        y    y     y
-WinXP .Net                           n        n      n        y(8) y     y
-Mac OS X 10.3                        n        y(10)  n        y    y     y
-FreeBSD 4.11                         n        n      n        y    y     y
-RedHat 7.3  W (3)                    y(1)     y(11)  n        y    y     y
-RedHat 7.3  W Intel (3)              n        y      n        y    y     y
-RedHat 7.3  W PGI (3)                n        y      n        y    y     y
-RedStorm (16)			     n        y      n        y    y     n
-SuSe x86_64 gcc (3,13)               n        y(12)  n        y    y     y
-SuSe x86_64 icc (3,13)               n        y(14)  n        y    y     y
-Linux 2.4 Xeon C Lustre Intel (3,6)  n        y      n        y    y     y
-Linux 2.4 SuSE ia64 C Intel (3,7)    y        y      y        y    y     y
-Linux 2.4 SGI Altix ia64 Intel (3)   y        y      y        y    y     y
+Platform                              C        F90  F90      C++  zlib  SZIP
+                                      parallel      parallel
+Solaris2.8 32- and 64-bit             n        y    n        y    y     y
+Solaris2.10 32- and 64-bit            n        y    n        y    y     y
+IRIX64_6.5 32-bit                     n        n    n        n    y     y
+IRIX64_6.5 64-bit                     n        y    n        n    y     y
+HPUX11.23-32bit                       n        y    n        y    y     y
+HPUX11.23-64bit                       n        n    n        y    y     y
+WinXP Visual Studio 6.0               n        n    n        y    y     y
+WinXP CYGWIN                          n        n    n        y    y     y
+WinXP 2005                            n        y    n        y    y     y
+WinXP .Net                            n        y    n        y    y     y
+Mac OS X 10.4.10                      n        y    n        y    y     y
+AIX-5.2 & 5.3 32- and 64-bit          y        y    y        y    y     y
+FreeBSD 6.2 32- and 64-bit            n        n    n        y    y     y
+RedHat Linux 2.4.21              W    n        n    n        y    y     y
+SuSE Linux 2.6.9-42 i686 GNU (1) W    y        y    y        y    y     y
+SuSE Linux 2.6.9-42 i686 Intel   W    n        y    n        y    y     y
+SuSE Linux 2.6.9-42 i686 PGI     W    n        y    n        y    y     y
+SuSE Linux 2.6.16 x86_64 GNU (1) W    y        y    y        y    y     y
+SuSE Linux 2.6.16 x86_64 Intel   W    n        y    n        y    y     y
+SuSE Linux 2.6.16 x86_64 PGI     W    n        y    n        y    y     y
+RHEL 4 Linux 2.6.9 Xeon Lustre   C    y        y    y        y    y     y
+RedHat Linux 2.4 Xeon Lustre     C    n        y    n        y    y     y
+SuSE Linux 2.4 ia64              C    y        y    y        y    y     y
+SuSe Linux 2.6.16 SGI Altix ia64      n        y    n        y    y     y
+SuSe Linux 2.6.5 SGI Altix ia64       n        y    n        y    y     y
+OSF1 v5.1                             y        y    y        y    y     n
 
 
-Platform                             Shared        static-  Thread-  STREAM- 
-                                     libraries(4)  exec     safe     VFD    
-IBM BG/L 			     n              y       n        n
-Solaris2.8 64-bit                    y              x       y        y
-Solaris2.8 32-bit                    y              x       y        y
-Solaris2.9 64-bit                    y              x       y        y
-Solaris2.9 32-bit                    y              x       y        y
-Solaris2.10 64-bit                   y              x       y        y
-Solaris2.10 32-bit                   y              x       y        y
-IRIX64_6.5 64-bit                    y              y       y        y
-IRIX64_6.5 32-bit                    y              y       y        y
-HPUX11.00                            y              x       n        y
-HPUX11.23                            y              y       n        y
-OSF1 v5.1                            y              y       n        y
-X1                                   n              y       n        y
-AIX-5.1, 5.2 & 5.3 32-bit            n              y       n        y
-AIX-5.1, 5.2 & 5.3 64-bit            n              y       n        y
-WinXP Visual Studio 6.0              y              y       n        n
-WinXP .Net                           y              y       n        n
-Mac OS X 10.3                        y              y       n        y
-FreeBSD 4.11                         y              y       y        y
-RedHat 7.3   W (3)                   y              y       y        y
-RedHat 7.3  W  Intel (3)             n              y       n        y
-RedHat 7.3  W  PGI (3)               n              y       n        y
-RedStorm 			     n              y       n        y
-SuSe x86_64 gcc (3,13)               n              y       n        y
-SuSe x86_64 icc (3,13)               y              y(15)   n        y
-Linux 2.4 Xeon C Lustre Intel (3,6)  y              y       n        y
-Linux 2.4 SuSE ia64 C Intel (3,7)    y              y       n        n
-Linux 2.4 SGI Altix ia64 Intel  (3)  y              y       n        y
+Platform                              Shared        static-  Thread-  STREAM-
+                                      libraries(4)  exec     safe     VFD
+Solaris2.8 32- and 64-bit             y             n        y        y
+Solaris2.10 32- and 64-bit            y             n        y        y
+IRIX64_6.5 32-bit                     y             n        y        y
+IRIX64_6.5 64-bit                     y             n        y        y
+HPUX11.23-32bit                       y (3)         n        n        y
+HPUX11.23-64bit                       y (3)         n        n        y
+WinXP Visual Studio 6.0               y             n        n        n
+WinXP CYGWIN                          y             n        n        n
+WinXP 2005                            y             n        n        n
+WinXP .Net                            y             n        n        n
+Mac OS X 10.4.10                      y             n        n        y
+AIX-5.2 & 5.3 32- and 64-bit          n             n        n        y
+FreeBSD 6.2 32- and 64-bit            y             n        n        y
+RedHat Linux 2.4.21              W    y             n        n        y
+SuSE Linux 2.6.9-42 i686 GNU (1) W    y             n        y        y
+SuSE Linux 2.6.9-42 i686 Intel   W    y             n        n        y
+SuSE Linux 2.6.9-42 i686 PGI     W    n             n        n        y
+SuSE Linux 2.6.16 x86_64 GNU (1) W    y             n        n        y
+SuSE Linux 2.6.16 x86_64 Intel   W    y             n        n        y
+SuSE Linux 2.6.16 x86_64 PGI     W    n             n        n        y
+RHEL 4 Linux 2.6.9 Xeon Lustre   C    y             n        n        y
+RedHat Linux 2.4 Xeon Lustre     C    y             n        n        y
+SuSE Linux 2.4 ia64              C    y             n        n        y
+SuSe Linux 2.6.16 SGI Altix ia64      n             n        n        y
+SuSe Linux 2.6.5 SGI Altix ia64       n             n        n        y
+OSF1 v5.1                             n             n        n        y
 
-
 Compiler versions for each platform are listed in the "Platforms Tested" 
 table found elsewhere in this file (RELEASE.txt).  Unless otherwise noted, 
 compilers used are the system compilers.
 
-Footnotes:  (1) Using mpich 1.2.6
-            (2) Using mpt and mpich 1.2.6.
-            (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated.  
-                  W or C indicates workstation or cluster, respectively.
-            (4) Shared libraries are provided only for the C library, 
-                except on Windows where they are provided for C and C++.
-            (5) Using mpt.
-            (6) Linux 2.4.21-32.0.1.  Xeon cluster with ELsmp-perfctr-lustre 
-                and Intel compilers
-            (7) Linux 2.4.21, SuSE_292.til1.  Ia64 cluster with Intel compilers
-            (8) Intel 8.1
-            (9) One test of this release failed with Compaq Visual Fortran 6.6c.
-                No binary fortran release will be provided. Users should build
-                the library by themselves and use it at their own risk. 
-                We recommend that users use HDF5 1.7 instead 
-                or use Compaq Visual Fortran 6.0.
-           (10) IBM XLF and Absoft
-           (11) PGI, Absoft.  No shared libraries with Absoft; 
-                use '--disable-shared'.
-           (12) PGI and Intel compilers for both C and Fortran
-           (13) AMD Opteron x86_64
-           (14) ifort
-           (15) Yes with C and Fortran, but not with C++
-           (16) Only serial is ported.  PFS does not work for PHDF5 yet.
-           FMB/EIP - 2005/11/10
+Footnotes:
+(1) Fortran compiled with g95.
+(2) In most cases, shared libraries are provided only for the C library, 
+    except on Windows where they are provided for C, C++, and Fortran.
+(3) C++ works only with static libraries.
 
 
 Known Problems
 ==============
-* Intel Compilers for Linux x86_86 platforms (EM64T-based, v8.1) has
-  optimization error in the data types conversion code.  Before running
-  configure, edit the file config/intel-flags by changing the setting of
-  PROD_CFLAGS from -O3 to -O0, then run configure.  AKC - 2005/11/10.
+* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It
+  does not include the -lmpi properly.  This will be fixed in the next
+  release.  AKC - 2007/08/07.
 
-* Fortran testing and compiling failures on windows XP 
-  1. Compaq visual fortran 6.6c with VS 6.0
-     The Fortran tests failed for both release, release dll, debug and debug
-     dll. The failure is a random one. We won't provide fortran libraries. The
-     same test passed with the 1.7.51 snapshot. You may find the 1.7.51 
-     snapshot under ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots/.
-  2. Intel fortran 8.1 under .Net environment
-     The fortran library cannot even be compiled. Some users have pointed this
-     to intel forum.
+* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared
+  library, especially for h5repacktst and h52gifgentst, the following (or
+  similar) error message may appear:
+  "523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname
+  'libh5test.so.1' under any of the filenames .......(bunch of directories)
+  "
+  And the testing will fail. 
+  We believe this is a libtool problem. One way to get rid of this is to
+  add the paths of libh5test.so.1 and libh5.so.1 to the shared library path.
 
-* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 at IRIX
-  6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example 
-  120000, in order to pass the complicated collective IO tests inside parallel 
-  HDF5 library. This is not a problem inside parallel HDF5 library. You can 
-  always set a bigger number in your system.
-                                  KY - 2005/10/6
+  For 32-bit:
+  You may do this, under csh:
+  setenv LD_LIBRARYN32_PATH .......(existing pathes):[full path of HDF5
+  directory/test/.libs]:[full path of HDF5 directory/src/.libs]
 
-* A contiguous or chunked dataset created by a sequential version may
-  not be modified with a parallel version of the library. 
+  For 64-bit:
+  setenv LD_LIBRARY64_PATH ......(existing pathes):[full path of HDF5
+  directory/test/.libs]:[full path of HDF5 directory/src/.libs]
+
+  NOTE: This problem ONLY affects the testing of the HDF5 library when you 
+  build from source. It won't affect any applications that would like to link 
+  with the HDF5 shared library since the shared library path needs to be set 
+  anyway.  KY - 2007/8/2
+
+* QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test
+  "calloc".  All other tests passed.  This indicates that a dataset using 
+  chunked storage created by serial HDF5 may not work properly with parallel 
+  HDF5.  The calloc test can be skipped by running "prun ... testphdf5 -x 
+  calloc".  AKC - 2007/7/12.
+
+* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has
+  an optimization error in the datax types conversion code.  Before running
+  configure, edit the file config/intel-flags by changing the setting of
+  PROD_CFLAGS from -O3 to -O0.  Then run configure.  AKC - 2005/11/10.
+
+* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX
+  6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for 
+  example 120000, in order to pass the complicated collective IO tests inside 
+  the parallel HDF5 library. This is not a problem inside the parallel HDF5 
+  library. You can always set a bigger number on your system.  KY - 2005/10/6
+
+* A contiguous or chunked dataset created by a sequential version of HDF5 
+  might not be able to be modified with a parallel version of the library. 
   Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the 
-  dataset creation property list to avoid the problem.
-                                    EIP - 2005/09/09
+  dataset creation property list to avoid the problem.  EIP - 2005/09/09
 
 * The dataset created or rewritten with the v1.6.3 library or after can't 
-  be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is 
+  be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is 
   enabled.  There was a bug in the calculating code of the Fletcher32 
   checksum in the library before v1.6.3.  The checksum value wasn't consistent 
   between big-endian and little-endian systems.  This bug was fixed in 
@@ -469,7 +472,7 @@
 
 * For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
   processor, there's a bug in the compiler for optimization(-O2).  The library
-  failed in several tests but all related to multi driver.  The problem has 
+  failed in several tests, all related to the multi driver.  The problem has 
   been reported to the vendor.  
 
 * test/big fails sometimes with the message "Possible overlap with another
@@ -478,27 +481,24 @@
   HDF5.  Since the error is triggered by a random situation, it will
   usually disappear if the test is re-run.
 
-* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
-  has a "guard" statement in stdint.h that will #error and skip the rest
-  of the header file if C99 option is not used explicitly.  Hardset
+* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but 
+  have a "guard" statement in stdint.h that will #error and skip the rest
+  of the header file if the C99 option is not used explicitly.  Hardsetting
   $CC to c99 will resolve the problem. AKC - 2004/12/13
 
 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error
   messages like "INFO: 0031-XXX ...".  This is from the command poe.
   Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
   and run the tests again.
-  The tests may fail with messages like "The socket name is already
+
+  The tests may also fail with messages like "The socket name is already
   in use".  HDF5 does not use sockets (except for stream-VFD).  This is
   due to problems of the poe command trying to set up the debug socket.
-  Check if there are many old /tmp/s.pedb.* staying around.  These are
-  sockets used by the poe command and left behind due to failed commands.
+  Check whether there are many old /tmp/s.pedb.* files staying around.  These 
+  are sockets used by the poe command and left behind due to failed commands.
   Ask your system administrator to clean them out.  Lastly, request IBM
   to provide a means to run poe without the debug socket.
 
-* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) 
-  failed on windows xp with .NET for debug and debug dll. Release and 
-  Release dll work fine. 
-
 * The h5dump tests may fail to match the expected output on some platforms
   (e.g. parallel jobs, Windows) where the error messages directed to
   "stderr" do not appear in the "right order" with output from stdout.
@@ -515,7 +515,7 @@
   libraries on Solaris are available in a static format.
 
   The --enable-static-exec configure flag also fails to correctly compile
-  on IBM SP2 platform for the serial mode. The parallel mode works fine
+  on the IBM SP2 platform for the serial mode. The parallel mode works fine
   with this option.
 
   The --enable-static-exec configure flag also fails to correctly compile
@@ -524,16 +524,9 @@
   It is suggested that you don't use this option on these platforms
   during configuration.
 
-* The Stream VFD was not tested yet under Windows.
+* The Stream VFD is not supported under Windows.
 
-
-* Before building HDF5 F90 Library from source on Crays 
-  replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
-  subdirectory in the top level directory with the Cray-specific files
-  from the site:
-  ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/
-
-* Use --disable-shared configure flag if building with Absoft Fortran
+* Use the --disable-shared configure flag if building with Absoft Fortran
   compiler.
 
 * Information about building with PGI and Intel compilers is available in
@@ -541,22 +534,15 @@
 
 * In LANL QSC, the new cc compiler has problems converting small values of
   long long (absolute values less than 1**-308) to double.  This triggers
-  the test/dtypes to report failure in the
+  the test/dtypes to report failure in the following test:
       Testing random sw long double -> double conversions
-  If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308.
-  If -ieee is not used, the converted double values are mostly 0.0 but
-  occasionally as 1**-308.  This has been reported to the system staff.
+  If -ieee is used, the converted doubles spread over the range 0.0 to 
+  10**-308.  If -ieee is not used, the converted double values are mostly 
+  0.0, but occasionally appear as 10**-308.  This has been reported to the 
+  system staff.
+
   All other tests have passed.
 
-* Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on
-  Windows. 
-
-* Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler,
-  Building Fortran static library with Intel 8.1 in .NET environment 
-  requires manually setting the project file.
-  Please contact to hdfhelp at ncsa.uiuc.edu if you need to build
-  Fortran static library with Intel 8.1 with .NET environment.
-
 * On at least one system, SDSC DataStar, the scheduler (in this case
   LoadLeveler) sends job status updates to standard error when you run
   any executable that was compiled with the parallel compilers.
@@ -600,7 +586,7 @@
 
         exit $RETURN_VALUE
 
-  You get the HDF make files and test scripts to execute your filter script
+  You get the HDF5 make files and test scripts to execute your filter script
   by setting the environment variable "RUNSERIAL" to the full path of the
   script prior to running configure for parallel builds.  Remember to
   "unsetenv RUNSERIAL" before running configure for a serial build.
@@ -612,5 +598,5 @@
   get the serial tests to run at all.
 
   In such cases, you will have to include the regular prefix in your
-  filter script.
+  filter script.  JM - 2004/9/15
 

Copied: packages/hdf5/trunk/src/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/src/COPYING)
===================================================================
--- packages/hdf5/trunk/src/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/src/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/src/Dependencies
===================================================================
--- packages/hdf5/trunk/src/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 H5.lo: \
    $(srcdir)/H5.c \
@@ -31,6 +32,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5Dprivate.h \
    $(srcdir)/H5Dpublic.h \
@@ -41,8 +43,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -55,7 +55,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Ipkg.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
@@ -85,6 +84,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Sprivate.h \
@@ -96,8 +96,6 @@
    $(srcdir)/H5FDmpio.h \
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -109,7 +107,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h
 H5AC.lo: \
@@ -136,8 +133,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -145,6 +140,7 @@
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Bprivate.h \
    $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -177,6 +173,7 @@
    $(srcdir)/H5Bpkg.h \
    $(srcdir)/H5Bprivate.h \
    $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5Dprivate.h \
    $(srcdir)/H5Dpublic.h \
@@ -187,8 +184,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -204,12 +199,33 @@
    $(srcdir)/H5Fpkg.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MFprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Pprivate.h \
    $(srcdir)/H5Ppublic.h
+H5Bcache.lo: \
+   $(srcdir)/H5Bcache.c \
+   $(srcdir)/H5private.h \
+   $(srcdir)/H5public.h \
+   H5pubconf.h \
+   $(srcdir)/H5api_adpt.h \
+   $(srcdir)/H5MPprivate.h \
+   $(srcdir)/H5Bpkg.h \
+   $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5ACprivate.h \
+   $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5Ipublic.h \
+   $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5Cprivate.h \
+   $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5RCprivate.h \
+   $(srcdir)/H5Eprivate.h \
+   $(srcdir)/H5Epublic.h
 H5C.lo: \
    $(srcdir)/H5C.c \
    $(srcdir)/H5private.h \
@@ -232,8 +248,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -243,6 +257,7 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -254,7 +269,6 @@
    $(srcdir)/H5Fpkg.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Pprivate.h \
@@ -279,9 +293,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -291,8 +302,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -304,7 +317,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
    $(srcdir)/H5HLprivate.h \
@@ -332,9 +344,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -344,8 +353,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -357,7 +368,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5MFprivate.h \
    $(srcdir)/H5Vprivate.h
 H5Dcompact.lo: \
@@ -380,9 +390,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -392,8 +399,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -405,7 +414,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Vprivate.h
 H5Defl.lo: \
    $(srcdir)/H5Defl.c \
@@ -427,9 +435,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -439,8 +444,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -472,9 +479,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -484,8 +488,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -497,7 +503,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5SLprivate.h \
@@ -520,6 +525,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5Dpkg.h \
    $(srcdir)/H5Dprivate.h \
@@ -531,8 +537,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -548,7 +552,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MFprivate.h \
    $(srcdir)/H5MMprivate.h \
@@ -573,9 +576,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -585,8 +585,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -618,9 +620,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -630,8 +629,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -642,8 +643,7 @@
    $(srcdir)/H5Pprivate.h \
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
-   $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h
+   $(srcdir)/H5Epublic.h
 H5Dtest.lo: \
    $(srcdir)/H5Dtest.c \
    $(srcdir)/H5private.h \
@@ -664,9 +664,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -676,8 +673,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -725,6 +724,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Dprivate.h \
@@ -735,8 +735,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -749,7 +747,6 @@
    $(srcdir)/H5Fpkg.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Pprivate.h \
@@ -788,6 +785,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Iprivate.h \
@@ -798,8 +796,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -830,6 +826,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Iprivate.h \
@@ -840,8 +837,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -873,13 +868,13 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5FDprivate.h \
    $(srcdir)/H5FDmpi.h \
    $(srcdir)/H5FDmpio.h \
-   $(srcdir)/H5FDmpiposix.h \
-   $(srcdir)/H5FLprivate.h
+   $(srcdir)/H5FDmpiposix.h
 H5Fsuper.lo: \
    $(srcdir)/H5Fsuper.c \
    $(srcdir)/H5private.h \
@@ -905,6 +900,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5FDprivate.h \
@@ -919,8 +915,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -945,9 +939,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -957,8 +948,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -980,7 +973,6 @@
    $(srcdir)/H5FDsrb.h \
    $(srcdir)/H5FDstdio.h \
    $(srcdir)/H5FDstream.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Pprivate.h
@@ -1012,8 +1004,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1024,6 +1014,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1057,8 +1048,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1069,6 +1058,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1102,8 +1092,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1114,6 +1102,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1147,8 +1136,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1159,6 +1146,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1189,8 +1177,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1201,6 +1187,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1230,8 +1217,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -1239,6 +1224,7 @@
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Bprivate.h \
    $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1282,14 +1268,13 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Bprivate.h \
    $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1360,8 +1345,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1405,8 +1388,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1417,6 +1398,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1485,9 +1467,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -1496,8 +1475,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -1541,14 +1522,12 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -1586,6 +1565,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Dprivate.h \
@@ -1596,8 +1576,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -1610,7 +1588,6 @@
    $(srcdir)/H5Fpkg.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Gpkg.h \
    $(srcdir)/H5HLprivate.h \
    $(srcdir)/H5HLpublic.h \
@@ -1641,15 +1618,13 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Gpkg.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -1659,6 +1634,51 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5HLprivate.h \
    $(srcdir)/H5HLpublic.h
+H5Gname.lo: \
+   $(srcdir)/H5Gname.c \
+   $(srcdir)/H5private.h \
+   $(srcdir)/H5public.h \
+   H5pubconf.h \
+   $(srcdir)/H5api_adpt.h \
+   $(srcdir)/H5MPprivate.h \
+   $(srcdir)/H5Dprivate.h \
+   $(srcdir)/H5Dpublic.h \
+   $(srcdir)/H5Ipublic.h \
+   $(srcdir)/H5FDprivate.h \
+   $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDmpi.h \
+   $(srcdir)/H5FDmpio.h \
+   $(srcdir)/H5FDmpiposix.h \
+   $(srcdir)/H5Oprivate.h \
+   $(srcdir)/H5Opublic.h \
+   $(srcdir)/H5Spublic.h \
+   $(srcdir)/H5Tprivate.h \
+   $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5MMpublic.h \
+   $(srcdir)/H5Gprivate.h \
+   $(srcdir)/H5Gpublic.h \
+   $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5ACprivate.h \
+   $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Cprivate.h \
+   $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5RCprivate.h \
+   $(srcdir)/H5RSprivate.h \
+   $(srcdir)/H5Rprivate.h \
+   $(srcdir)/H5Rpublic.h \
+   $(srcdir)/H5Zprivate.h \
+   $(srcdir)/H5Zpublic.h \
+   $(srcdir)/H5Eprivate.h \
+   $(srcdir)/H5Epublic.h \
+   $(srcdir)/H5Fpkg.h \
+   $(srcdir)/H5FOprivate.h \
+   $(srcdir)/H5SLprivate.h \
+   $(srcdir)/H5Gpkg.h \
+   $(srcdir)/H5Iprivate.h
 H5Gnode.lo: \
    $(srcdir)/H5Gnode.c \
    $(srcdir)/H5private.h \
@@ -1684,15 +1704,13 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Gpkg.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -1733,14 +1751,13 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Gpkg.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -1751,6 +1768,92 @@
    $(srcdir)/H5HLprivate.h \
    $(srcdir)/H5HLpublic.h \
    $(srcdir)/H5MMprivate.h
+H5Gtest.lo: \
+   $(srcdir)/H5Gtest.c \
+   $(srcdir)/H5private.h \
+   $(srcdir)/H5public.h \
+   H5pubconf.h \
+   $(srcdir)/H5api_adpt.h \
+   $(srcdir)/H5MPprivate.h \
+   $(srcdir)/H5Dprivate.h \
+   $(srcdir)/H5Dpublic.h \
+   $(srcdir)/H5Ipublic.h \
+   $(srcdir)/H5FDprivate.h \
+   $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDmpi.h \
+   $(srcdir)/H5FDmpio.h \
+   $(srcdir)/H5FDmpiposix.h \
+   $(srcdir)/H5Oprivate.h \
+   $(srcdir)/H5Opublic.h \
+   $(srcdir)/H5Spublic.h \
+   $(srcdir)/H5Tprivate.h \
+   $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5MMpublic.h \
+   $(srcdir)/H5Gprivate.h \
+   $(srcdir)/H5Gpublic.h \
+   $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5ACprivate.h \
+   $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Cprivate.h \
+   $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5RCprivate.h \
+   $(srcdir)/H5RSprivate.h \
+   $(srcdir)/H5Rprivate.h \
+   $(srcdir)/H5Rpublic.h \
+   $(srcdir)/H5Zprivate.h \
+   $(srcdir)/H5Zpublic.h \
+   $(srcdir)/H5Eprivate.h \
+   $(srcdir)/H5Epublic.h \
+   $(srcdir)/H5Gpkg.h \
+   $(srcdir)/H5HLprivate.h \
+   $(srcdir)/H5HLpublic.h \
+   $(srcdir)/H5Iprivate.h
+H5Gtraverse.lo: \
+   $(srcdir)/H5Gtraverse.c \
+   $(srcdir)/H5private.h \
+   $(srcdir)/H5public.h \
+   H5pubconf.h \
+   $(srcdir)/H5api_adpt.h \
+   $(srcdir)/H5MPprivate.h \
+   $(srcdir)/H5Eprivate.h \
+   $(srcdir)/H5Epublic.h \
+   $(srcdir)/H5Ipublic.h \
+   $(srcdir)/H5Fpkg.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5FOprivate.h \
+   $(srcdir)/H5SLprivate.h \
+   $(srcdir)/H5Gprivate.h \
+   $(srcdir)/H5Gpublic.h \
+   $(srcdir)/H5Opublic.h \
+   $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5ACprivate.h \
+   $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Cprivate.h \
+   $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5RCprivate.h \
+   $(srcdir)/H5RSprivate.h \
+   $(srcdir)/H5Gpkg.h \
+   $(srcdir)/H5Oprivate.h \
+   $(srcdir)/H5Dpublic.h \
+   $(srcdir)/H5Spublic.h \
+   $(srcdir)/H5Tprivate.h \
+   $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5MMpublic.h \
+   $(srcdir)/H5Rprivate.h \
+   $(srcdir)/H5Rpublic.h \
+   $(srcdir)/H5Zprivate.h \
+   $(srcdir)/H5Zpublic.h \
+   $(srcdir)/H5HLprivate.h \
+   $(srcdir)/H5HLpublic.h \
+   $(srcdir)/H5MMprivate.h
 H5HG.lo: \
    $(srcdir)/H5HG.c \
    $(srcdir)/H5private.h \
@@ -1776,9 +1879,9 @@
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5HGpkg.h \
    $(srcdir)/H5HGprivate.h \
    $(srcdir)/H5HGpublic.h \
@@ -1835,9 +1938,9 @@
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5HLpkg.h \
    $(srcdir)/H5HLprivate.h \
    $(srcdir)/H5HLpublic.h \
@@ -1935,6 +2038,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5FDprivate.h \
@@ -1979,9 +2083,9 @@
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MFprivate.h \
    $(srcdir)/H5FDprivate.h \
@@ -1994,8 +2098,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -2027,6 +2129,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Sprivate.h \
@@ -2038,8 +2141,6 @@
    $(srcdir)/H5FDmpio.h \
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2051,7 +2152,6 @@
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Opkg.h \
    $(srcdir)/H5Spkg.h
@@ -2072,13 +2172,53 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
+   $(srcdir)/H5Tprivate.h \
+   $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5Gprivate.h \
+   $(srcdir)/H5Gpublic.h \
+   $(srcdir)/H5Bprivate.h \
+   $(srcdir)/H5Bpublic.h \
+   $(srcdir)/H5ACprivate.h \
+   $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Fpublic.h \
    $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5Cprivate.h \
+   $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5RCprivate.h \
+   $(srcdir)/H5RSprivate.h \
+   $(srcdir)/H5Rprivate.h \
+   $(srcdir)/H5Rpublic.h \
+   $(srcdir)/H5Zprivate.h \
+   $(srcdir)/H5Zpublic.h
+H5Ocache.lo: \
+   $(srcdir)/H5Ocache.c \
+   $(srcdir)/H5private.h \
+   $(srcdir)/H5public.h \
+   H5pubconf.h \
+   $(srcdir)/H5api_adpt.h \
+   $(srcdir)/H5MPprivate.h \
+   $(srcdir)/H5Eprivate.h \
+   $(srcdir)/H5Epublic.h \
+   $(srcdir)/H5Ipublic.h \
+   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5MFprivate.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5FDprivate.h \
+   $(srcdir)/H5FDmpi.h \
+   $(srcdir)/H5FDmpio.h \
+   $(srcdir)/H5FDmpiposix.h \
+   $(srcdir)/H5Opkg.h \
+   $(srcdir)/H5Oprivate.h \
+   $(srcdir)/H5Opublic.h \
+   $(srcdir)/H5Dpublic.h \
+   $(srcdir)/H5Spublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5MMpublic.h \
    $(srcdir)/H5Gprivate.h \
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Bprivate.h \
@@ -2104,20 +2244,22 @@
    $(srcdir)/H5Epublic.h \
    $(srcdir)/H5Ipublic.h \
    $(srcdir)/H5FLprivate.h \
-   $(srcdir)/H5MMprivate.h \
-   $(srcdir)/H5MMpublic.h \
+   $(srcdir)/H5MFprivate.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
+   $(srcdir)/H5FDprivate.h \
+   $(srcdir)/H5FDmpi.h \
+   $(srcdir)/H5FDmpio.h \
+   $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Opkg.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5MMpublic.h \
    $(srcdir)/H5Gprivate.h \
    $(srcdir)/H5Gpublic.h \
    $(srcdir)/H5Bprivate.h \
@@ -2163,8 +2305,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -2194,8 +2334,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2206,6 +2344,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2231,11 +2370,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2244,6 +2378,9 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -2273,9 +2410,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2285,8 +2419,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2295,7 +2431,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5MFprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Opkg.h
@@ -2317,11 +2452,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2330,6 +2460,9 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -2355,11 +2488,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2368,8 +2496,12 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2389,11 +2521,6 @@
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Ipublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2403,8 +2530,12 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2429,11 +2560,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2442,6 +2568,9 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -2481,8 +2610,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -2523,6 +2650,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5MMprivate.h \
@@ -2531,8 +2659,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Rprivate.h \
@@ -2568,8 +2694,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2597,9 +2721,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2609,8 +2730,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2619,7 +2742,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Ppkg.h \
@@ -2645,9 +2767,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2657,8 +2776,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2692,9 +2813,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2704,8 +2822,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2737,9 +2857,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2749,8 +2866,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2782,6 +2901,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
@@ -2794,8 +2914,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2827,9 +2945,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2838,8 +2953,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2866,9 +2983,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -2878,8 +2992,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -2891,6 +3007,8 @@
    $(srcdir)/H5Fpkg.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
+   $(srcdir)/H5HGprivate.h \
+   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Sprivate.h \
    $(srcdir)/H5Pprivate.h \
@@ -2937,11 +3055,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -2950,6 +3063,9 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -2991,9 +3107,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3003,8 +3116,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3039,9 +3154,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3051,6 +3163,7 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -3081,9 +3194,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3093,8 +3203,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3132,9 +3244,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3144,8 +3253,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3182,9 +3293,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -3193,6 +3301,7 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -3229,9 +3338,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3241,6 +3347,7 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
    $(srcdir)/H5RCprivate.h \
@@ -3276,9 +3383,6 @@
    $(srcdir)/H5FDmpiposix.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3288,8 +3392,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3341,9 +3447,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -3353,8 +3456,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3363,7 +3468,6 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5FOprivate.h \
    $(srcdir)/H5SLprivate.h \
    $(srcdir)/H5Iprivate.h \
@@ -3381,7 +3485,6 @@
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
    $(srcdir)/H5Ipublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5Tpkg.h \
    $(srcdir)/H5Tprivate.h \
@@ -3399,6 +3502,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3431,6 +3535,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3451,26 +3556,25 @@
    $(srcdir)/H5Fpublic.h \
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5SLprivate.h \
-   $(srcdir)/H5Iprivate.h \
-   $(srcdir)/H5Oprivate.h \
-   $(srcdir)/H5Opublic.h \
-   $(srcdir)/H5Dpublic.h \
-   $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Tprivate.h \
-   $(srcdir)/H5Tpublic.h \
-   $(srcdir)/H5MMpublic.h \
    $(srcdir)/H5Gprivate.h \
    $(srcdir)/H5Gpublic.h \
+   $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Bprivate.h \
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
+   $(srcdir)/H5Iprivate.h \
+   $(srcdir)/H5Oprivate.h \
+   $(srcdir)/H5Dpublic.h \
+   $(srcdir)/H5Spublic.h \
+   $(srcdir)/H5Tprivate.h \
+   $(srcdir)/H5Tpublic.h \
+   $(srcdir)/H5MMpublic.h \
    $(srcdir)/H5Rprivate.h \
    $(srcdir)/H5Rpublic.h \
    $(srcdir)/H5Zprivate.h \
@@ -3504,6 +3608,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3520,21 +3625,21 @@
    $(srcdir)/H5Epublic.h \
    $(srcdir)/H5Ipublic.h \
    $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5HGprivate.h \
+   $(srcdir)/H5HGpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5MMpublic.h \
    $(srcdir)/H5Pprivate.h \
    $(srcdir)/H5Ppublic.h \
    $(srcdir)/H5Dpublic.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -3578,6 +3683,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3593,7 +3699,6 @@
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
    $(srcdir)/H5Ipublic.h \
-   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5MMpublic.h \
@@ -3612,6 +3717,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3645,6 +3751,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3677,6 +3784,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3709,6 +3817,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3768,9 +3877,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -3779,8 +3885,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3815,6 +3923,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3848,6 +3957,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3880,6 +3990,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3912,6 +4023,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3944,6 +4056,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -3976,6 +4089,7 @@
    $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -4000,9 +4114,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -4012,8 +4123,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -4022,7 +4135,8 @@
    $(srcdir)/H5Zpublic.h \
    $(srcdir)/H5Eprivate.h \
    $(srcdir)/H5Epublic.h \
-   $(srcdir)/H5FLprivate.h \
+   $(srcdir)/H5HGprivate.h \
+   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Iprivate.h \
    $(srcdir)/H5MMprivate.h \
    $(srcdir)/H5Pprivate.h \
@@ -4054,11 +4168,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
-   $(srcdir)/H5Fpublic.h \
-   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -4068,8 +4177,12 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
+   $(srcdir)/H5Fpublic.h \
+   $(srcdir)/H5FDpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -4096,9 +4209,6 @@
    $(srcdir)/H5Oprivate.h \
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
-   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5MMpublic.h \
@@ -4108,8 +4218,10 @@
    $(srcdir)/H5Bpublic.h \
    $(srcdir)/H5ACprivate.h \
    $(srcdir)/H5ACpublic.h \
+   $(srcdir)/H5Fprivate.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \
@@ -4196,8 +4308,6 @@
    $(srcdir)/H5Opublic.h \
    $(srcdir)/H5Dpublic.h \
    $(srcdir)/H5Spublic.h \
-   $(srcdir)/H5HGprivate.h \
-   $(srcdir)/H5HGpublic.h \
    $(srcdir)/H5Tprivate.h \
    $(srcdir)/H5Tpublic.h \
    $(srcdir)/H5Gprivate.h \
@@ -4208,6 +4318,7 @@
    $(srcdir)/H5ACpublic.h \
    $(srcdir)/H5Cprivate.h \
    $(srcdir)/H5Cpublic.h \
+   $(srcdir)/H5FLprivate.h \
    $(srcdir)/H5RCprivate.h \
    $(srcdir)/H5RSprivate.h \
    $(srcdir)/H5Rprivate.h \

Modified: packages/hdf5/trunk/src/H5.c
===================================================================
--- packages/hdf5/trunk/src/H5.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,12 +9,13 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5I_PACKAGE		/*suppress error about including H5Ipkg	  */
 
+
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Bprivate.h"		/* B-link trees				*/
 #include "H5Dprivate.h"		/* Datasets				*/
@@ -711,16 +713,16 @@
 H5close(void)
 {
     /*
-     * Don't call FUNC_ENTER() since we don't want to initialize the whole
-     * thing just to release it all right away.  It is safe to call this
-     * function for an uninitialized library.
+     * Don't call normal FUNC_ENTER() since we don't want to initialize the
+     * whole library just to release it all right away.  It is safe to call
+     * this function for an uninitialized library.
      */
-    FUNC_ENTER_API_NOINIT(H5close)
+    FUNC_ENTER_API_NOINIT_NOFS(H5close)
     H5TRACE0("e","");
 
     H5_term_library();
 
-    FUNC_LEAVE_API(SUCCEED)
+    FUNC_LEAVE_API_NOFS(SUCCEED)
 }
 
 
@@ -2153,7 +2155,7 @@
                             /* Save the rank of simple data spaces for arrays */
                             /* This may generate recursive call to the library... -QAK */
                             {
-                                H5S_t *space = H5I_object(obj);
+                                H5S_t *space = (H5S_t *)H5I_object(obj);
                                 if (H5S_SIMPLE==H5S_GET_EXTENT_TYPE(space)) {
                                     asize[argno] = H5S_GET_EXTENT_NDIMS(space);
                                 }
@@ -2399,7 +2401,7 @@
 
                 /* Get the class name and print it */
                 /* This may generate recursive call to the library... -QAK */
-                if(NULL != (pclass = H5I_object(pclass_id)) &&
+                if(NULL != (pclass = (H5P_genclass_t *)H5I_object(pclass_id)) &&
                         (class_name=H5P_get_class_name(pclass))!=NULL) {
 		    fprintf (out, class_name);
                     H5MM_xfree(class_name);

Modified: packages/hdf5/trunk/src/H5A.c
===================================================================
--- packages/hdf5/trunk/src/H5A.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5A.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5A_PACKAGE		/*suppress error about including H5Apkg	*/
@@ -21,8 +22,10 @@
 /* Private header files */
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Apkg.h"		/* Attributes				*/
+#include "H5Dprivate.h"		/* Datasets 			  	*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
 #include "H5FLprivate.h"	/* Free Lists				*/
+#include "H5Gprivate.h"		/* Groups 			  	*/
 #include "H5Iprivate.h"		/* IDs			  		*/
 #include "H5MMprivate.h"	/* Memory management			*/
 #include "H5Sprivate.h"		/* Dataspace functions			*/
@@ -70,7 +73,7 @@
 static herr_t
 H5A_init_interface(void)
 {
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED;   /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5A_init_interface)
 
@@ -108,8 +111,8 @@
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5A_term_interface)
 
-    if (H5_interface_initialize_g) {
-	if ((n=H5I_nmembers(H5I_ATTR))>0) {
+    if(H5_interface_initialize_g) {
+	if((n = H5I_nmembers(H5I_ATTR))>0) {
 	    (void)H5I_clear_group(H5I_ATTR, FALSE);
 	} else {
 	    (void)H5I_destroy_group(H5I_ATTR);
@@ -136,8 +139,6 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function creates an attribute which is attached to the object
     specified with 'location_id'.  The name specified with 'name' for each
@@ -154,11 +155,7 @@
     attribute is reduced to zero.
         The location object may be either a group or a dataset, both of
     which may have any sort of attribute.
- *
- * Modifications:
- * 	Robb Matzke, 5 Jun 1998
- *	The LOC_ID can also be a committed datatype.
- *
+
 --------------------------------------------------------------------------*/
 /* ARGSUSED */
 hid_t
@@ -174,20 +171,20 @@
     H5TRACE5("i","isiii",loc_id,name,type_id,space_id,plist_id);
 
     /* check arguments */
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if (NULL==(ent=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
+    if(!name || !*name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
-    if (NULL == (type = H5I_object_verify(type_id, H5I_DATATYPE)))
+    if(NULL == (type = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a type")
-    if (NULL == (space = H5I_object_verify(space_id, H5I_DATASPACE)))
+    if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data space")
 
     /* Go do the real work for attaching the attribute to the dataset */
-    if ((ret_value=H5A_create(ent,name,type,space, H5AC_dxpl_id))<0)
-	HGOTO_ERROR (H5E_ATTR, H5E_CANTINIT, FAIL, "unable to create attribute")
+    if((ret_value = H5A_create(ent,name,type,space, H5AC_dxpl_id))<0)
+	HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to create attribute")
 
 done:
     FUNC_LEAVE_API(ret_value)
@@ -211,11 +208,6 @@
  * Programmer:	Quincey Koziol
  *		April 2, 1998
  *
- * Modifications:
- *
- *	 Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *	 Added a deep copy of the symbol table entry
- *
  *-------------------------------------------------------------------------
  */
 static hid_t
@@ -229,45 +221,45 @@
     FUNC_ENTER_NOAPI_NOINIT(H5A_create)
 
     /* check args */
-    assert(ent);
-    assert(name);
-    assert(type);
-    assert(space);
+    HDassert(ent);
+    HDassert(name);
+    HDassert(type);
+    HDassert(space);
 
     /* Iterate over the existing attributes to check for duplicates */
-    cb.name=name;
-    cb.idx=(-1);
-    if((ret_value=H5O_iterate(ent,H5O_ATTR_ID,H5A_find_idx_by_name,&cb,dxpl_id))<0)
+    cb.name = name;
+    cb.idx = (-1);
+    if((ret_value = H5O_iterate(ent,H5O_ATTR_ID,H5A_find_idx_by_name,&cb,dxpl_id))<0)
         HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "error iterating over attributes")
-    if(ret_value>0)
+    if(ret_value > 0)
         HGOTO_ERROR(H5E_ATTR, H5E_ALREADYEXISTS, FAIL, "attribute already exists")
 
     /* Check if the dataspace has an extent set (or is NULL) */
-    if( !(H5S_has_extent(space)) )
+    if(!(H5S_has_extent(space)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dataspace extent has not been set")
 
     /* Build the attribute information */
-    if((attr = H5FL_CALLOC(H5A_t))==NULL)
+    if((attr = (H5A_t *)H5FL_CALLOC(H5A_t)) == NULL)
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for attribute info")
 
     /* Copy the attribute name */
-    attr->name=HDstrdup(name);
+    attr->name = HDstrdup(name);
 
     /* Copy the attribute's datatype */
-    attr->dt=H5T_copy(type, H5T_COPY_ALL);
+    attr->dt = H5T_copy(type, H5T_COPY_ALL);
 
     /* Mark any VL datatypes as being on disk now */
     if (H5T_vlen_mark(attr->dt, ent->file, H5T_VLEN_DISK)<0)
-        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location");
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location")
 
     /* Copy the dataspace for the attribute */
-    attr->ds=H5S_copy(space, FALSE);
+    attr->ds = H5S_copy(space, FALSE);
 
     /* Mark it initially set to initialized */
     attr->initialized = TRUE; /*for now, set to false later*/
 
     /* Deep copy of the symbol table entry */
-    if (H5G_ent_copy(&(attr->ent),ent,H5G_COPY_DEEP)<0)
+    if(H5G_ent_copy(&(attr->ent), ent, H5_COPY_DEEP) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to copy entry")
 
     /* Compute the size of pieces on disk */
@@ -286,29 +278,29 @@
     } /* end if */
     else
         attr->dt_size=H5O_raw_size(H5O_DTYPE_ID,attr->ent.file,type);
-    assert(attr->dt_size>0);
-    attr->ds_size=H5S_raw_size(attr->ent.file,space);
-    assert(attr->ds_size>0);
-    H5_ASSIGN_OVERFLOW(attr->data_size,H5S_GET_EXTENT_NPOINTS(attr->ds)*H5T_get_size(attr->dt),hssize_t,size_t);
+    HDassert(attr->dt_size > 0);
+    attr->ds_size = H5S_raw_size(attr->ent.file,space);
+    HDassert(attr->ds_size > 0);
+    H5_ASSIGN_OVERFLOW(attr->data_size, H5S_GET_EXTENT_NPOINTS(attr->ds) * H5T_get_size(attr->dt), hssize_t, size_t);
 
     /* Hold the symbol table entry (and file) open */
-    if (H5O_open(&(attr->ent)) < 0)
+    if(H5O_open(&(attr->ent)) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to open")
     attr->ent_opened=1;
 
     /* Create the attribute message and save the attribute index */
-    if (H5O_modify(&(attr->ent), H5O_ATTR_ID, H5O_NEW_MESG, 0, H5O_UPDATE_TIME, attr, dxpl_id) < 0)
+    if(H5O_modify(&(attr->ent), H5O_ATTR_ID, H5O_NEW_MESG, 0, H5O_UPDATE_TIME, attr, dxpl_id) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to update attribute header messages")
 
     /* Register the new attribute and get an ID for it */
-    if ((ret_value = H5I_register(H5I_ATTR, attr)) < 0)
+    if((ret_value = H5I_register(H5I_ATTR, attr)) < 0)
         HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register attribute for ID")
 
     /* Now it's safe to say it's uninitialized */
     attr->initialized = FALSE;
 
 done:
-    if (ret_value < 0) {
+    if(ret_value < 0) {
         if(attr)
             (void)H5A_close(attr);
     } /* end if */
@@ -330,8 +322,6 @@
  RETURNS
     Non-negative on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function determines if an attribute matches the name to search
     for (from the 'op_data') and sets the index value in the 'op_data'.
@@ -353,7 +343,7 @@
      * callback info if names are the same.
      */
     if(HDstrcmp(mesg->name,op_data->name)==0) {
-        op_data->idx=idx;
+        op_data->idx = idx;
         ret_value=1;
     } /* end if */
     else
@@ -375,8 +365,6 @@
  RETURNS
     non-negative on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function determines the index of the attribute within an object
     header.  This is not stored in the attribute structure because it is only
@@ -386,20 +374,20 @@
 static int
 H5A_get_index(H5G_entry_t *ent, const char *name, hid_t dxpl_id)
 {
-    H5A_iter_cb1 cb;                    /* Iterator callback */
-    int		ret_value=FAIL;         /* Return value */
+    H5A_iter_cb1 udata;         /* Iterator callback info */
+    int	ret_value = FAIL;       /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5A_get_index)
 
-    assert(ent);
-    assert(name);
+    HDassert(ent);
+    HDassert(name);
 
-    cb.name=name;
-    cb.idx=(-1);
-    if((ret_value=H5O_iterate(ent,H5O_ATTR_ID,H5A_find_idx_by_name,&cb,dxpl_id))<0)
+    udata.name = name;
+    udata.idx = (-1);
+    if((ret_value=H5O_iterate(ent,H5O_ATTR_ID,H5A_find_idx_by_name,&udata,dxpl_id))<0)
         HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "error iterating over attributes")
-    if(ret_value>0)
-        ret_value=cb.idx;
+    if(ret_value > 0)
+        ret_value = udata.idx;
     else
         HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "attribute not found")
 
@@ -420,8 +408,6 @@
  RETURNS
     ID of attribute on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function opens an existing attribute for access.  The attribute
     name specified is used to look up the corresponding attribute for the
@@ -429,27 +415,23 @@
     H5Aclose or resource leaks will develop.
         The location object may be either a group or a dataset, both of
     which may have any sort of attribute.
- *
- * Modifications:
- * 	Robb Matzke, 5 Jun 1998
- *	The LOC_ID can also be a named (committed) datatype.
 --------------------------------------------------------------------------*/
 hid_t
 H5Aopen_name(hid_t loc_id, const char *name)
 {
     H5G_entry_t    	*ent = NULL;   /*Symtab entry of object to attribute*/
-    int            	idx=0;
+    int            	idx;
     hid_t		ret_value;
 
     FUNC_ENTER_API(H5Aopen_name, FAIL)
     H5TRACE2("i","is",loc_id,name);
 
     /* check arguments */
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if (NULL==(ent=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
+    if(!name || !*name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
 
     /* Look up the attribute for the object */
@@ -477,8 +459,6 @@
  RETURNS
     ID of attribute on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function opens an existing attribute for access.  The attribute
     index specified is used to look up the corresponding attribute for the
@@ -486,11 +466,6 @@
     H5Aclose or resource leaks will develop.
         The location object may be either a group or a dataset, both of
     which may have any sort of attribute.
- *
- * Modifications:
- * 	Robb Matzke, 5 Jun 1998
- *	The LOC_ID can also be a named (committed) datatype.
- *
 --------------------------------------------------------------------------*/
 hid_t
 H5Aopen_idx(hid_t loc_id, unsigned idx)
@@ -502,7 +477,7 @@
     H5TRACE2("i","iIu",loc_id,idx);
 
     /* check arguments */
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if (NULL==(ent=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
@@ -531,11 +506,6 @@
  * Programmer:	Quincey Koziol
  *		April 2, 1998
  *
- * Modifications:
- *
- *	 Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *	 Added a deep copy of the symbol table entry
- *
  *-------------------------------------------------------------------------
  */
 static hid_t
@@ -547,32 +517,38 @@
     FUNC_ENTER_NOAPI_NOINIT(H5A_open)
 
     /* check args */
-    assert(ent);
+    HDassert(ent);
 
     /* Read in attribute with H5O_read() */
     H5_CHECK_OVERFLOW(idx,unsigned,int);
-    if (NULL==(attr=H5O_read(ent, H5O_ATTR_ID, (int)idx, NULL, dxpl_id)))
+    if(NULL==(attr=(H5A_t *)H5O_read(ent, H5O_ATTR_ID, (int)idx, NULL, dxpl_id)))
         HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to load attribute info from dataset header")
-    attr->initialized=1;
+    attr->initialized = TRUE;
 
+#if defined(H5_USING_PURIFY) || !defined(NDEBUG)
+    /* Clear entry */
+    if(H5G_ent_reset(&(attr->ent)) < 0)
+        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to reset path")
+#endif /* H5_USING_PURIFY */
+
     /* Deep copy of the symbol table entry */
-    if (H5G_ent_copy(&(attr->ent),ent,H5G_COPY_DEEP)<0)
+    if(H5G_ent_copy(&(attr->ent), ent, H5_COPY_DEEP) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to copy entry")
 
     /* Hold the symbol table entry (and file) open */
-    if (H5O_open(&(attr->ent)) < 0)
+    if(H5O_open(&(attr->ent)) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to open")
-    attr->ent_opened=1;
+    attr->ent_opened = TRUE;
 
     /* Register the new attribute and get an ID for it */
-    if ((ret_value = H5I_register(H5I_ATTR, attr)) < 0)
+    if((ret_value = H5I_register(H5I_ATTR, attr)) < 0)
         HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register attribute for ID")
 
 done:
-    if (ret_value < 0) {
+    if(ret_value < 0) {
         if(attr)
             (void)H5A_close(attr);
-    }
+    } /* end if */
 
     FUNC_LEAVE_NOAPI(ret_value)
 } /* H5A_open() */
@@ -591,8 +567,6 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function writes a complete attribute to disk.
 --------------------------------------------------------------------------*/
@@ -607,15 +581,15 @@
     H5TRACE3("e","iix",attr_id,type_id,buf);
 
     /* check arguments */
-    if (NULL == (attr = H5I_object_verify(attr_id, H5I_ATTR)))
+    if(NULL == (attr = (H5A_t *)H5I_object_verify(attr_id, H5I_ATTR)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute")
-    if (NULL == (mem_type = H5I_object_verify(type_id, H5I_DATATYPE)))
+    if(NULL == (mem_type = (const H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
-    if (NULL == buf)
+    if(NULL == buf)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "null attribute buffer")
 
     /* Go write the actual data to the attribute */
-    if ((ret_value=H5A_write(attr,mem_type,buf, H5AC_dxpl_id))<0)
+    if((ret_value = H5A_write(attr,mem_type,buf, H5AC_dxpl_id)) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_WRITEERROR, FAIL, "unable to write attribute")
 
 done:
@@ -636,8 +610,6 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
     This function writes a complete attribute to disk.
 --------------------------------------------------------------------------*/
@@ -658,41 +630,41 @@
 
     FUNC_ENTER_NOAPI_NOINIT(H5A_write)
 
-    assert(attr);
-    assert(mem_type);
-    assert(buf);
+    HDassert(attr);
+    HDassert(mem_type);
+    HDassert(buf);
 
     /* Create buffer for data to store on disk */
-    if((snelmts=H5S_GET_EXTENT_NPOINTS(attr->ds))<0)
-        HGOTO_ERROR (H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid")
-    H5_ASSIGN_OVERFLOW(nelmts,snelmts,hssize_t,size_t);
+    if((snelmts = H5S_GET_EXTENT_NPOINTS(attr->ds)) < 0)
+        HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid")
+    H5_ASSIGN_OVERFLOW(nelmts, snelmts, hssize_t, size_t);
 
-    if(nelmts>0) {
+    if(nelmts > 0) {
         /* Get the memory and file datatype sizes */
         src_type_size = H5T_get_size(mem_type);
         dst_type_size = H5T_get_size(attr->dt);
 
         /* Convert memory buffer into disk buffer */
         /* Set up type conversion function */
-        if (NULL == (tpath = H5T_path_find(mem_type, attr->dt, NULL, NULL, dxpl_id)))
+        if(NULL == (tpath = H5T_path_find(mem_type, attr->dt, NULL, NULL, dxpl_id)))
             HGOTO_ERROR(H5E_ATTR, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dst datatypes")
 
         /* Check for type conversion required */
-        if (!H5T_path_noop(tpath)) {
-            if ((src_id = H5I_register(H5I_DATATYPE, H5T_copy(mem_type, H5T_COPY_ALL)))<0 ||
-                    (dst_id = H5I_register(H5I_DATATYPE, H5T_copy(attr->dt, H5T_COPY_ALL)))<0)
+        if(!H5T_path_noop(tpath)) {
+            if((src_id = H5I_register(H5I_DATATYPE, H5T_copy(mem_type, H5T_COPY_ALL))) < 0 ||
+                    (dst_id = H5I_register(H5I_DATATYPE, H5T_copy(attr->dt, H5T_COPY_ALL))) < 0)
                 HGOTO_ERROR(H5E_ATTR, H5E_CANTREGISTER, FAIL, "unable to register types for conversion")
 
             /* Get the maximum buffer size needed and allocate it */
-            buf_size=nelmts*MAX(src_type_size,dst_type_size);
-            if (NULL==(tconv_buf = H5FL_BLK_MALLOC (attr_buf, buf_size)) || NULL==(bkg_buf = H5FL_BLK_CALLOC(attr_buf, buf_size)))
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+            buf_size = nelmts * MAX(src_type_size, dst_type_size);
+            if(NULL == (tconv_buf = (uint8_t *)H5FL_BLK_MALLOC (attr_buf, buf_size)) || NULL == (bkg_buf = (uint8_t *)H5FL_BLK_CALLOC(attr_buf, buf_size)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
             /* Copy the user's data into the buffer for conversion */
-            HDmemcpy(tconv_buf,buf,(src_type_size*nelmts));
+            HDmemcpy(tconv_buf, buf, (src_type_size * nelmts));
 
             /* Perform datatype conversion */
-            if (H5T_convert(tpath, src_id, dst_id, nelmts, (size_t)0, (size_t)0, tconv_buf, bkg_buf, dxpl_id)<0)
+            if(H5T_convert(tpath, src_id, dst_id, nelmts, (size_t)0, (size_t)0, tconv_buf, bkg_buf, dxpl_id) < 0)
                 HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "datatype conversion failed")
 
             /* Free the previous attribute data buffer, if there is one */
@@ -700,19 +672,19 @@
                 H5FL_BLK_FREE(attr_buf, attr->data);
 
             /* Set the pointer to the attribute data to the converted information */
-            attr->data=tconv_buf;
+            attr->data = tconv_buf;
         } /* end if */
         /* No type conversion necessary */
         else {
-            HDassert(dst_type_size==src_type_size);
+            HDassert(dst_type_size == src_type_size);
 
                 /* Allocate the attribute buffer, if there isn't one */
-                if(attr->data==NULL)
-                    if (NULL==(attr->data = H5FL_BLK_MALLOC(attr_buf, dst_type_size*nelmts)))
-                        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+                if(attr->data == NULL)
+                    if(NULL == (attr->data = H5FL_BLK_MALLOC(attr_buf, dst_type_size * nelmts)))
+                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
                 /* Copy the attribute data into the user's buffer */
-                HDmemcpy(attr->data,buf,(dst_type_size*nelmts));
+                HDmemcpy(attr->data, buf, (dst_type_size * nelmts));
         } /* end else */
 
         /* Look up the attribute for the object */
@@ -725,15 +697,15 @@
     } /* end if */
 
     /* Indicate the the attribute doesn't need fill-values */
-    attr->initialized=TRUE;
+    attr->initialized = TRUE;
 
 done:
     /* Release resources */
-    if (src_id >= 0)
+    if(src_id >= 0)
         (void)H5I_dec_ref(src_id);
-    if (dst_id >= 0)
+    if(dst_id >= 0)
         (void)H5I_dec_ref(dst_id);
-    if (bkg_buf)
+    if(bkg_buf)
         H5FL_BLK_FREE(attr_buf, bkg_buf);
 
     FUNC_LEAVE_NOAPI(ret_value)
@@ -753,8 +725,6 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function reads a complete attribute from disk.
 --------------------------------------------------------------------------*/
@@ -769,15 +739,15 @@
     H5TRACE3("e","iix",attr_id,type_id,buf);
 
     /* check arguments */
-    if (NULL == (attr = H5I_object_verify(attr_id, H5I_ATTR)))
+    if(NULL == (attr = (H5A_t *)H5I_object_verify(attr_id, H5I_ATTR)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute")
-    if (NULL == (mem_type = H5I_object_verify(type_id, H5I_DATATYPE)))
+    if(NULL == (mem_type = (const H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
-    if (NULL == buf)
+    if(NULL == buf)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "null attribute buffer")
 
     /* Go write the actual data to the attribute */
-    if ((ret_value=H5A_read(attr,mem_type,buf,H5AC_dxpl_id))<0)
+    if((ret_value = H5A_read(attr,mem_type,buf,H5AC_dxpl_id)) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_READERROR, FAIL, "unable to read attribute")
 
 done:
@@ -798,8 +768,6 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
     This function reads a complete attribute from disk.
 --------------------------------------------------------------------------*/
@@ -824,8 +792,8 @@
     assert(buf);
 
     /* Create buffer for data to store on disk */
-    if((snelmts=H5S_GET_EXTENT_NPOINTS(attr->ds))<0)
-        HGOTO_ERROR (H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid")
+    if((snelmts = H5S_GET_EXTENT_NPOINTS(attr->ds)) < 0)
+        HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid")
     H5_ASSIGN_OVERFLOW(nelmts,snelmts,hssize_t,size_t);
 
     if(nelmts>0) {
@@ -844,21 +812,21 @@
                 HGOTO_ERROR(H5E_ATTR, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dst datatypes")
 
             /* Check for type conversion required */
-            if (!H5T_path_noop(tpath)) {
-                if ((src_id = H5I_register(H5I_DATATYPE, H5T_copy(attr->dt, H5T_COPY_ALL)))<0 ||
-                        (dst_id = H5I_register(H5I_DATATYPE, H5T_copy(mem_type, H5T_COPY_ALL)))<0)
+            if(!H5T_path_noop(tpath)) {
+                if((src_id = H5I_register(H5I_DATATYPE, H5T_copy(attr->dt, H5T_COPY_ALL))) < 0 ||
+                        (dst_id = H5I_register(H5I_DATATYPE, H5T_copy(mem_type, H5T_COPY_ALL))) < 0)
                     HGOTO_ERROR(H5E_ATTR, H5E_CANTREGISTER, FAIL, "unable to register types for conversion")
 
                 /* Get the maximum buffer size needed and allocate it */
-                buf_size=nelmts*MAX(src_type_size,dst_type_size);
-                if (NULL==(tconv_buf = H5FL_BLK_MALLOC(attr_buf, buf_size)) || NULL==(bkg_buf = H5FL_BLK_CALLOC(attr_buf, buf_size)))
-                    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+                buf_size = nelmts*MAX(src_type_size,dst_type_size);
+                if(NULL == (tconv_buf = (uint8_t *)H5FL_BLK_MALLOC(attr_buf, buf_size)) || NULL == (bkg_buf = (uint8_t *)H5FL_BLK_CALLOC(attr_buf, buf_size)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
                 /* Copy the attribute data into the buffer for conversion */
                 HDmemcpy(tconv_buf,attr->data,(src_type_size*nelmts));
 
                 /* Perform datatype conversion.  */
-                if (H5T_convert(tpath, src_id, dst_id, nelmts, (size_t)0, (size_t)0, tconv_buf, bkg_buf, dxpl_id)<0)
+                if(H5T_convert(tpath, src_id, dst_id, nelmts, (size_t)0, (size_t)0, tconv_buf, bkg_buf, dxpl_id) < 0)
                     HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "datatype conversion failed")
 
                 /* Copy the converted data into the user's buffer */
@@ -866,7 +834,7 @@
             } /* end if */
             /* No type conversion necessary */
             else {
-                HDassert(dst_type_size==src_type_size);
+                HDassert(dst_type_size == src_type_size);
 
                 /* Copy the attribute data into the user's buffer */
                 HDmemcpy(buf,attr->data,(dst_type_size*nelmts));
@@ -876,13 +844,13 @@
 
 done:
     /* Release resources */
-    if (src_id >= 0)
+    if(src_id >= 0)
         (void)H5I_dec_ref(src_id);
-    if (dst_id >= 0)
+    if(dst_id >= 0)
         (void)H5I_dec_ref(dst_id);
-    if (tconv_buf)
+    if(tconv_buf)
         H5FL_BLK_FREE(attr_buf, tconv_buf);
-    if (bkg_buf)
+    if(bkg_buf)
 	H5FL_BLK_FREE(attr_buf, bkg_buf);
 
     FUNC_LEAVE_NOAPI(ret_value)
@@ -900,8 +868,6 @@
  RETURNS
     A dataspace ID on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function retrieves a copy of the dataspace for an attribute.
     The dataspace ID returned from this function must be released with H5Sclose
@@ -918,16 +884,16 @@
     H5TRACE1("i","i",attr_id);
 
     /* check arguments */
-    if (NULL == (attr = H5I_object_verify(attr_id, H5I_ATTR)))
+    if(NULL == (attr = (H5A_t *)H5I_object_verify(attr_id, H5I_ATTR)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute")
 
     /* Copy the attribute's dataspace */
-    if (NULL==(dst=H5S_copy (attr->ds, FALSE)))
-	HGOTO_ERROR (H5E_ATTR, H5E_CANTINIT, FAIL, "unable to copy dataspace")
+    if(NULL == (dst = H5S_copy (attr->ds, FALSE)))
+	HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to copy dataspace")
 
     /* Atomize */
-    if ((ret_value=H5I_register (H5I_DATASPACE, dst))<0)
-        HGOTO_ERROR (H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register dataspace atom")
+    if((ret_value = H5I_register (H5I_DATASPACE, dst)) < 0)
+        HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register dataspace atom")
 
 done:
     FUNC_LEAVE_API(ret_value)
@@ -945,19 +911,10 @@
  RETURNS
     A datatype ID on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function retrieves a copy of the datatype for an attribute.
     The datatype ID returned from this function must be released with H5Tclose
     or resource leaks will develop.
- *
- * Modifications:
- * 	Robb Matzke, 4 Jun 1998
- *	The datatype is reopened if it's a named type before returning it to
- *	the application.  The datatypes returned by this function are always
- *	read-only. If an error occurs when atomizing the return datatype
- *	then the datatype is closed.
 --------------------------------------------------------------------------*/
 hid_t
 H5Aget_type(hid_t attr_id)
@@ -970,7 +927,7 @@
     H5TRACE1("i","i",attr_id);
 
     /* check arguments */
-    if (NULL == (attr = H5I_object_verify(attr_id, H5I_ATTR)))
+    if(NULL == (attr = (H5A_t *)H5I_object_verify(attr_id, H5I_ATTR)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute")
 
     /*
@@ -978,21 +935,21 @@
      * reopen the type before returning it to the user. Make the type
      * read-only.
      */
-    if (NULL==(dst=H5T_copy(attr->dt, H5T_COPY_REOPEN)))
+    if(NULL == (dst = H5T_copy(attr->dt, H5T_COPY_REOPEN)))
 	HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to copy datatype")
 
     /* Mark any VL datatypes as being in memory now */
-    if (H5T_vlen_mark(dst, NULL, H5T_VLEN_MEMORY)<0)
+    if(H5T_vlen_mark(dst, NULL, H5T_VLEN_MEMORY) < 0)
         HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location")
-    if (H5T_lock(dst, FALSE)<0)
+    if(H5T_lock(dst, FALSE) < 0)
 	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to lock transient datatype")
 
     /* Atomize */
-    if ((ret_value=H5I_register(H5I_DATATYPE, dst))<0)
+    if((ret_value = H5I_register(H5I_DATATYPE, dst)) < 0)
         HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register datatype atom")
 
 done:
-    if(ret_value<0) {
+    if(ret_value < 0) {
         if(dst!=NULL)
             (void)H5T_close(dst);
     } /* end if */
@@ -1015,8 +972,6 @@
     This function returns the length of the attribute's name (which may be
     longer than 'buf_size') on success or negative for failure.
 
- ERRORS
-
  DESCRIPTION
         This function retrieves the name of an attribute for an attribute ID.
     Up to 'buf_size' characters are stored in 'buf' followed by a '\0' string
@@ -1035,9 +990,9 @@
     H5TRACE3("Zs","izs",attr_id,buf_size,buf);
 
     /* check arguments */
-    if (NULL == (attr = H5I_object_verify(attr_id, H5I_ATTR)))
+    if(NULL == (attr = (H5A_t *)H5I_object_verify(attr_id, H5I_ATTR)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute")
-    if (!buf && buf_size)
+    if(!buf && buf_size)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid buffer")
 
     /* get the real attribute length */
@@ -1085,14 +1040,14 @@
 hsize_t
 H5Aget_storage_size(hid_t attr_id)
 {
-    H5A_t	*attr=NULL;
+    H5A_t	*attr = NULL;
     hsize_t	ret_value;      /* Return value */
 
     FUNC_ENTER_API(H5Aget_storage_size, 0)
     H5TRACE1("h","i",attr_id);
 
     /* Check args */
-    if (NULL==(attr=H5I_object_verify(attr_id, H5I_ATTR)))
+    if(NULL == (attr = (H5A_t *)H5I_object_verify(attr_id, H5I_ATTR)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not an attribute")
 
     /* Set return value */
@@ -1148,15 +1103,9 @@
  RETURNS
     Number of attributes on success, negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function returns the number of attributes attached to a dataset or
     group, 'location_id'.
- *
- * Modifications:
- * 	Robb Matzke, 5 Jun 1998
- *	The LOC_ID can also be a named (committed) datatype.
 --------------------------------------------------------------------------*/
 int
 H5Aget_num_attrs(hid_t loc_id)
@@ -1169,7 +1118,7 @@
     H5TRACE1("Is","i",loc_id);
 
     /* check arguments */
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if(NULL == (obj = H5I_object(loc_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADATOM, FAIL, "illegal object atom")
@@ -1185,7 +1134,7 @@
             ent = H5G_entof ((H5G_t*)obj);
             break;
         default:
-            HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "inappropriate attribute target")
+            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "inappropriate attribute target")
     } /*lint !e788 All appropriate cases are covered */
 
     /* Look up the attribute for the object */
@@ -1202,35 +1151,33 @@
  * Purpose:     Rename an attribute
  *
  * Return:	Success:             Non-negative
- *
  *		Failure:             Negative
  *
  * Programmer:	Raymond Lu
  *              October 23, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Arename(hid_t loc_id, const char *old_name, const char *new_name)
 {
     H5G_entry_t	*ent = NULL;	/*symtab ent of object to attribute */
-    herr_t	ret_value;      /* Return value */
+    herr_t	ret_value = SUCCEED;    /* Return value */
 
     FUNC_ENTER_API(H5Arename, FAIL)
     H5TRACE3("e","iss",loc_id,old_name,new_name);
 
     /* check arguments */
-    if (!old_name || !new_name)
+    if(!old_name || !new_name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "name is nil")
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if (NULL==(ent=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
 
     /* Call private function */
-    ret_value = H5A_rename(ent, old_name, new_name, H5AC_dxpl_id);
+    if(H5A_rename(ent, old_name, new_name, H5AC_dxpl_id) < 0)
+	HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute")
 
 done:
     FUNC_LEAVE_API(ret_value)
@@ -1243,46 +1190,43 @@
  * Purpose:     Private function for H5Arename.  Rename an attribute
  *
  * Return:	Success:             Non-negative
- *
  *		Failure:             Negative
  *
  * Programmer:	Raymond Lu
  *              October 23, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
 H5A_rename(H5G_entry_t *ent, const char *old_name, const char *new_name, hid_t dxpl_id)
 {
-    int         seq, idx=FAIL;  /* Index of attribute being querried */
-    H5A_t       found_attr;     /* Attribute with OLD_NAME */
-    herr_t	ret_value=SUCCEED;      /* Return value */
+    int         seq, idx = FAIL;        /* Index of attribute being querried */
+    H5A_t       found_attr;             /* Attribute with OLD_NAME */
+    herr_t	ret_value = SUCCEED;    /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5A_rename)
 
     /* Check arguments */
-    assert(ent);
-    assert(old_name);
-    assert(new_name);
+    HDassert(ent);
+    HDassert(old_name);
+    HDassert(new_name);
 
     /* Read in the existing attributes to check for duplicates */
-    seq=0;
-    while(H5O_read(ent, H5O_ATTR_ID, seq, &found_attr, dxpl_id)!=NULL) {
+    seq = 0;
+    while(H5O_read(ent, H5O_ATTR_ID, seq, &found_attr, dxpl_id) != NULL) {
         /*
 	 * Compare found attribute name.
 	 */
-	if(HDstrcmp(found_attr.name,old_name)==0) {
+	if(HDstrcmp(found_attr.name, old_name) == 0) {
             idx = seq;
             break;
 	}
-	if(H5O_reset (H5O_ATTR_ID, &found_attr)<0)
+	if(H5O_reset(H5O_ATTR_ID, &found_attr) < 0)
 	    HGOTO_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't release attribute info")
 	seq++;
-    }
-    H5E_clear ();
-    if(idx<0)
+    } /* end while */
+    H5E_clear();
+    if(idx < 0)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "attribute cannot be found")
 
     /* Copy the attribute name. */
@@ -1293,20 +1237,20 @@
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "String copy failed")
 
     /* Indicate entry is not opened and the attribute doesn't need fill-values. */
-    found_attr.ent_opened=FALSE;
-    found_attr.initialized=TRUE;
+    found_attr.ent_opened = FALSE;
+    found_attr.initialized = TRUE;
 
     /* Modify the attribute message */
     if (H5O_modify(ent, H5O_ATTR_ID, idx, 0, H5O_UPDATE_TIME, &found_attr, dxpl_id) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to update attribute header messages")
 
     /* Close the attribute */
-    if(H5A_free(&found_attr)<0)
+    if(H5A_free(&found_attr) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "unable to close renamed attribute")
 
 done:
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5A_rename() */
 
 
 /*--------------------------------------------------------------------------
@@ -1324,8 +1268,6 @@
         Returns a negative value if something is wrong, the return value of the
     last operator if it was non-zero, or zero if all attributes were processed.
 
- ERRORS
-
  DESCRIPTION
         This function interates over the attributes of dataset or group
     specified with 'loc_id'.  For each attribute of the object, the
@@ -1345,29 +1287,20 @@
         C. Negative causes the iterator to immediately return that value,
             indicating failure.  The iterator can be restarted at the next
             attribute.
- *
- * Modifications:
- * 	Robb Matzke, 5 Jun 1998
- *	The LOC_ID can also be a named (committed) datatype.
- *
- * 	Robb Matzke, 5 Jun 1998
- *	Like the group iterator, if ATTR_NUM is the null pointer then all
- *	attributes are processed.
- *
 --------------------------------------------------------------------------*/
 herr_t
 H5Aiterate(hid_t loc_id, unsigned *attr_num, H5A_operator_t op, void *op_data)
 {
     H5G_entry_t		*ent = NULL;	/*symtab ent of object to attribute */
     H5A_t          	found_attr;
+    int		        idx, start_idx;
     herr_t	        ret_value = 0;
-    int		idx, start_idx;
 
     FUNC_ENTER_API(H5Aiterate, FAIL)
     H5TRACE4("e","i*Iuxx",loc_id,attr_num,op,op_data);
 
     /* check arguments */
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if (NULL==(ent=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
@@ -1377,29 +1310,29 @@
      * reasonable.
      */
     start_idx = idx = (attr_num ? (int)*attr_num : 0);
-    if (idx<0)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified")
+    if(idx < 0)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified")
     if(idx<H5O_count(ent, H5O_ATTR_ID, H5AC_dxpl_id)) {
         while(H5O_read(ent, H5O_ATTR_ID, idx++, &found_attr, H5AC_dxpl_id)!=NULL) {
 	    /*
 	     * Compare found attribute name to new attribute name reject
 	     * creation if names are the same.
 	     */
-	    if((ret_value=(op)(loc_id,found_attr.name,op_data))!=0) {
-		if(H5O_reset (H5O_ATTR_ID, &found_attr)<0)
+	    if((ret_value = (op)(loc_id,found_attr.name,op_data)) != 0) {
+		if(H5O_reset(H5O_ATTR_ID, &found_attr) < 0)
                     HGOTO_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't release attribute info")
 		break;
-	    }
-	    if(H5O_reset (H5O_ATTR_ID, &found_attr)<0)
+	    } /* end if */
+	    if(H5O_reset(H5O_ATTR_ID, &found_attr) < 0)
                 HGOTO_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't release attribute info")
-	}
-	H5E_clear ();
-    }
+	} /* end while */
+	H5E_clear();
+    } /* end if */
     else
         if(start_idx>0)
-            HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified")
+            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified")
 
-    if (attr_num)
+    if(attr_num)
         *attr_num = (unsigned)idx;
 
 done:
@@ -1419,18 +1352,11 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function removes the named attribute from a dataset or group.
     This function should not be used when attribute IDs are open on 'loc_id'
     as it may cause the internal indexes of the attributes to change and future
     writes to the open attributes to produce incorrect results.
- *
- * Modifications:
- * 	Robb Matzke, 5 Jun 1998
- *	The LOC_ID can also be a named (committed) datatype.
- *
 --------------------------------------------------------------------------*/
 herr_t
 H5Adelete(hid_t loc_id, const char *name)
@@ -1443,11 +1369,11 @@
     H5TRACE2("e","is",loc_id,name);
 
     /* check arguments */
-    if (H5I_FILE==H5I_get_type(loc_id) || H5I_ATTR==H5I_get_type(loc_id))
+    if(H5I_ATTR == H5I_get_type(loc_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute")
     if (NULL==(ent=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
+    if(!name || !*name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
 
     /* Look up the attribute index for the object */
@@ -1474,8 +1400,6 @@
  RETURNS
     Non-negative on success/Negative on failure
 
- ERRORS
-
  DESCRIPTION
         This function releases an attribute from use.  Further use of the
     attribute ID will result in undefined behavior.
@@ -1483,17 +1407,17 @@
 herr_t
 H5Aclose(hid_t attr_id)
 {
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED;   /* Return value */
 
     FUNC_ENTER_API(H5Aclose, FAIL)
     H5TRACE1("e","i",attr_id);
 
     /* check arguments */
-    if (NULL == H5I_object_verify(attr_id, H5I_ATTR))
+    if(NULL == H5I_object_verify(attr_id, H5I_ATTR))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute")
 
     /* Decrement references to that atom (and close it) */
-    if(H5I_dec_ref (attr_id)<0)
+    if(H5I_dec_ref (attr_id) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTDEC, FAIL, "can't close attribute")
 
 done:
@@ -1520,9 +1444,9 @@
 H5A_t *
 H5A_copy(H5A_t *_new_attr, const H5A_t *old_attr, unsigned update_flags)
 {
-    H5A_t	*new_attr=NULL;
-    hbool_t     allocated_attr=FALSE;   /* Whether the attribute was allocated */
-    H5A_t	*ret_value=NULL;        /* Return value */
+    H5A_t	*new_attr = NULL;
+    hbool_t     allocated_attr = FALSE;   /* Whether the attribute was allocated */
+    H5A_t	*ret_value = NULL;        /* Return value */
 
     FUNC_ENTER_NOAPI(H5A_copy, NULL)
 
@@ -1530,13 +1454,13 @@
     assert(old_attr);
 
     /* get space */
-    if(_new_attr==NULL) {
+    if(_new_attr == NULL) {
         /* Sanity check - We should not be only updating data if we don'y have anything */
         HDassert(!(update_flags&H5O_UPDATE_DATA_ONLY));
 
-        if (NULL==(new_attr = H5FL_MALLOC(H5A_t)))
-            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
-        allocated_attr=TRUE;
+        if(NULL == (new_attr = (H5A_t *)H5FL_MALLOC(H5A_t)))
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+        allocated_attr = TRUE;
     } /* end if */
     else
         new_attr=_new_attr;
@@ -1546,26 +1470,26 @@
         *new_attr = *old_attr;
 
         /* Don't open the object header for a copy */
-        new_attr->ent_opened=0;
+        new_attr->ent_opened = FALSE;
 
         /* Copy the guts of the attribute */
-        new_attr->name=HDstrdup(old_attr->name);
-        new_attr->dt=H5T_copy(old_attr->dt, H5T_COPY_ALL);
-        new_attr->ds=H5S_copy(old_attr->ds, FALSE);
+        new_attr->name = HDstrdup(old_attr->name);
+        new_attr->dt = H5T_copy(old_attr->dt, H5T_COPY_ALL);
+        new_attr->ds = H5S_copy(old_attr->ds, FALSE);
     } /* end if */
     if(old_attr->data) {
-        if(!(update_flags&H5O_UPDATE_DATA_ONLY) || new_attr->data==NULL) {
-            if (NULL==(new_attr->data=H5FL_BLK_MALLOC(attr_buf,old_attr->data_size)))
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+        if(!(update_flags&H5O_UPDATE_DATA_ONLY) || new_attr->data == NULL) {
+            if(NULL == (new_attr->data = H5FL_BLK_MALLOC(attr_buf,old_attr->data_size)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
         } /* end if */
         HDmemcpy(new_attr->data,old_attr->data,old_attr->data_size);
     } /* end if */
 
     /* Set the return value */
-    ret_value=new_attr;
+    ret_value = new_attr;
 
 done:
-    if(ret_value==NULL) {
+    if(ret_value == NULL) {
         if(new_attr!=NULL && allocated_attr)
             (void)H5A_close(new_attr);
     } /* end if */
@@ -1592,7 +1516,7 @@
 herr_t
 H5A_free(H5A_t *attr)
 {
-    herr_t ret_value=SUCCEED;           /* Return value */
+    herr_t ret_value = SUCCEED;           /* Return value */
 
     FUNC_ENTER_NOAPI(H5A_free, FAIL)
 
@@ -1602,10 +1526,10 @@
     if(attr->name)
         H5MM_xfree(attr->name);
     if(attr->dt)
-        if(H5T_close(attr->dt)<0)
+        if(H5T_close(attr->dt) < 0)
 	    HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release datatype info")
     if(attr->ds)
-        if(H5S_close(attr->ds)<0)
+        if(H5S_close(attr->ds) < 0)
 	    HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release dataspace info")
     if(attr->data)
         H5FL_BLK_FREE(attr_buf, attr->data);
@@ -1632,20 +1556,20 @@
 herr_t
 H5A_close(H5A_t *attr)
 {
-    herr_t ret_value=SUCCEED;           /* Return value */
+    herr_t ret_value = SUCCEED;           /* Return value */
 
     FUNC_ENTER_NOAPI(H5A_close, FAIL)
 
-    assert(attr);
+    HDassert(attr);
 
     /* Check if the attribute has any data yet, if not, fill with zeroes */
     if(attr->ent_opened && !attr->initialized) {
-        uint8_t *tmp_buf=H5FL_BLK_CALLOC(attr_buf, attr->data_size);
-        if (NULL == tmp_buf)
+        uint8_t *tmp_buf = (uint8_t *)H5FL_BLK_CALLOC(attr_buf, attr->data_size);
+        if(NULL == tmp_buf)
             HGOTO_ERROR(H5E_ATTR, H5E_NOSPACE, FAIL, "memory allocation failed for attribute fill-value")
 
         /* Go write the fill data to the attribute */
-        if (H5A_write(attr,attr->dt,tmp_buf,H5AC_dxpl_id)<0)
+        if(H5A_write(attr, attr->dt, tmp_buf, H5AC_dxpl_id) < 0)
             HGOTO_ERROR(H5E_ATTR, H5E_WRITEERROR, FAIL, "unable to write attribute")
 
         /* Free temporary buffer */
@@ -1653,7 +1577,7 @@
     } /* end if */
 
     /* Free dynamicly allocated items */
-    if(H5A_free(attr)<0)
+    if(H5A_free(attr) < 0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release attribute info")
 
     /* Close the object's symbol-table entry */
@@ -1661,6 +1585,10 @@
         if(H5O_close(&(attr->ent))<0)
 	    HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release object header info")
 
+   /* Release the group hier. path for the object the attribute is on */
+   if(H5G_name_free(&(attr->ent)) < 0)
+        HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release group hier. path")
+
     H5FL_FREE(H5A_t, attr);
 
 done:
@@ -1676,14 +1604,11 @@
  *		belongs, not the attribute itself.
  *
  * Return:	Success:	Ptr to entry
- *
  *		Failure:	NULL
  *
  * Programmer:	Robb Matzke
  *              Thursday, August  6, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 H5G_entry_t *
@@ -1692,8 +1617,9 @@
     H5G_entry_t *ret_value;   /* Return value */
 
     FUNC_ENTER_NOAPI(H5A_entof, NULL)
-    assert(attr);
 
+    HDassert(attr);
+
     /* Set return value */
     ret_value=&(attr->ent);
 

Modified: packages/hdf5/trunk/src/H5AC.c
===================================================================
--- packages/hdf5/trunk/src/H5AC.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5AC.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5ACprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5ACprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5ACprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5ACpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5ACpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5ACpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5Apkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Apkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Apkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -38,6 +39,7 @@
 #include "H5Aprivate.h"
 
 /* Other private headers needed by this file */
+#include "H5FLprivate.h"	/* Free Lists				*/
 #include "H5Sprivate.h"		/* Dataspace				*/
 #include "H5Tprivate.h"		/* Datatype functions			*/
 
@@ -54,6 +56,12 @@
     size_t      data_size;  /* Size of data on disk */
 };
 
+/* Declare extern the free list for H5A_t's */
+H5FL_EXTERN(H5A_t);
+
+/* Declare extern a free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(attr_buf);
+
 /* Function prototypes for H5A package scope */
 H5_DLL H5A_t       *H5A_copy(H5A_t *new_attr, const H5A_t *old_attr, unsigned update_flags);
 H5_DLL herr_t      H5A_free(H5A_t *attr);

Modified: packages/hdf5/trunk/src/H5Aprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Aprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Aprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Apublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Apublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Apublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5B.c
===================================================================
--- packages/hdf5/trunk/src/H5B.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5B.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,13 +9,13 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
  *
- * Created:		hdf5btree.c
+ * Created:		H5B.c
  *			Jul 10 1997
  *			Robb Matzke <matzke at llnl.gov>
  *
@@ -89,40 +90,47 @@
  *			      that type of B-tree.
  *
  *
- * Modifications:
- *
- *	Robb Matzke, 4 Aug 1997
- *	Added calls to H5E.
- *
  *-------------------------------------------------------------------------
  */
 
+/****************/
+/* Module Setup */
+/****************/
+
 #define H5B_PACKAGE		/*suppress error about including H5Bpkg	  */
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */
 
-/* private headers */
+
+/***********/
+/* Headers */
+/***********/
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5ACprivate.h"	/* Metadata cache			*/
 #include "H5Bpkg.h"		/* B-link trees				*/
 #include "H5Dprivate.h"		/* Datasets				*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
 #include "H5Fpkg.h"		/* File access				*/
-#include "H5FLprivate.h"	/* Free Lists                           */
 #include "H5Iprivate.h"		/* IDs			  		*/
 #include "H5MFprivate.h"	/* File memory management		*/
 #include "H5MMprivate.h"	/* Memory management			*/
 #include "H5Pprivate.h"         /* Property lists                       */
 
-/* Local macros */
+/****************/
+/* Local Macros */
+/****************/
 #define H5B_SIZEOF_HDR(F)						      \
    (H5B_SIZEOF_MAGIC +		/*magic number				  */  \
     4 +				/*type, level, num entries		  */  \
     2*H5F_SIZEOF_ADDR(F))	/*left and right sibling addresses	  */
 #define H5B_NKEY(b,shared,idx)  ((b)->native+(shared)->nkey[(idx)])
 
-/* Local typedefs */
+/******************/
+/* Local Typedefs */
+/******************/
 
-/* PRIVATE PROTOTYPES */
+/********************/
+/* Local Prototypes */
+/********************/
 static H5B_ins_t H5B_insert_helper(H5F_t *f, hid_t dxpl_id, haddr_t addr,
 				   const H5B_class_t *type,
 				   uint8_t *lt_key,
@@ -137,40 +145,34 @@
 			haddr_t old_addr, unsigned idx,
                         void *udata, haddr_t *new_addr/*out*/);
 static H5B_t * H5B_copy(const H5B_t *old_bt);
-static herr_t H5B_serialize(const H5F_t *f, const H5B_t *bt);
 #ifdef H5B_DEBUG
 static herr_t H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type,
 			 void *udata);
 #endif
 
-/* Metadata cache callbacks */
-static H5B_t *H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_type, void *udata);
-static herr_t H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *b);
-static herr_t H5B_dest(H5F_t *f, H5B_t *b);
-static herr_t H5B_clear(H5F_t *f, H5B_t *b, hbool_t destroy);
-static herr_t H5B_compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr);
+/*********************/
+/* Package Variables */
+/*********************/
 
-/* H5B inherits cache-like properties from H5AC */
-static const H5AC_class_t H5AC_BT[1] = {{
-    H5AC_BT_ID,
-    (H5AC_load_func_t)H5B_load,
-    (H5AC_flush_func_t)H5B_flush,
-    (H5AC_dest_func_t)H5B_dest,
-    (H5AC_clear_func_t)H5B_clear,
-    (H5AC_size_func_t)H5B_compute_size,
-}};
+/* Declare a free list to manage the haddr_t sequence information */
+H5FL_SEQ_DEFINE(haddr_t);
 
 /* Declare a PQ free list to manage the native block information */
-H5FL_BLK_DEFINE_STATIC(native_block);
+H5FL_BLK_DEFINE(native_block);
 
-/* Declare a free list to manage the haddr_t sequence information */
-H5FL_SEQ_DEFINE_STATIC(haddr_t);
+/* Declare a free list to manage the H5B_t struct */
+H5FL_DEFINE(H5B_t);
 
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
 /* Declare a free list to manage the H5B_shared_t struct */
 H5FL_DEFINE(H5B_shared_t);
 
-/* Declare a free list to manage the H5B_t struct */
-H5FL_DEFINE_STATIC(H5B_t);
+/*******************/
+/* Local Variables */
+/*******************/
 
 
 /*-------------------------------------------------------------------------
@@ -226,7 +228,7 @@
     bt->nchildren = 0;
     if((bt->rc_shared=(type->get_shared)(f, udata))==NULL)
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "can't retrieve B-tree node buffer")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
     if (NULL==(bt->native=H5FL_BLK_MALLOC(native_block,shared->sizeof_keys)) ||
             NULL==(bt->child=H5FL_SEQ_MALLOC(haddr_t,(size_t)shared->two_k)))
@@ -254,380 +256,10 @@
     }
 
     FUNC_LEAVE_NOAPI(ret_value)
-} /*lint !e818 Can't make udata a pointer to const */
+} /* end H5B_create() */        /*lint !e818 Can't make udata a pointer to const */
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5B_load
- *
- * Purpose:	Loads a B-tree node from the disk.
- *
- * Return:	Success:	Pointer to a new B-tree node.
- *
- *		Failure:	NULL
- *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Jun 23 1997
- *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
- *
- *	Quincey Koziol, 2002-7-180
- *	Added dxpl parameter to allow more control over I/O from metadata
- *      cache.
- *-------------------------------------------------------------------------
- */
-static H5B_t *
-H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_type, void *udata)
-{
-    const H5B_class_t	*type = (const H5B_class_t *) _type;
-    H5B_t		*bt = NULL;
-    H5B_shared_t        *shared;        /* Pointer to shared B-tree info */
-    uint8_t		*p;             /* Pointer into raw data buffer */
-    uint8_t		*native;        /* Pointer to native keys */
-    unsigned		u;              /* Local index variable */
-    H5B_t		*ret_value;
-
-    FUNC_ENTER_NOAPI(H5B_load, NULL)
-
-    /* Check arguments */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(type);
-    assert(type->get_shared);
-
-    if (NULL==(bt = H5FL_MALLOC(H5B_t)))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
-    HDmemset(&bt->cache_info,0,sizeof(H5AC_info_t));
-    if((bt->rc_shared=(type->get_shared)(f, udata))==NULL)
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "can't retrieve B-tree node buffer")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
-    HDassert(shared);
-    if (NULL==(bt->native=H5FL_BLK_MALLOC(native_block,shared->sizeof_keys)) ||
-            NULL==(bt->child=H5FL_SEQ_MALLOC(haddr_t,(size_t)shared->two_k)))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
-
-    if (H5F_block_read(f, H5FD_MEM_BTREE, addr, shared->sizeof_rnode, dxpl_id, shared->page)<0)
-	HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree node")
-
-    p = shared->page;
-
-    /* magic number */
-    if (HDmemcmp(p, H5B_MAGIC, (size_t)H5B_SIZEOF_MAGIC))
-	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree signature")
-    p += 4;
-
-    /* node type and level */
-    if (*p++ != (uint8_t)type->id)
-	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "incorrect B-tree node type")
-    bt->level = *p++;
-
-    /* entries used */
-    UINT16DECODE(p, bt->nchildren);
-
-    /* sibling pointers */
-    H5F_addr_decode(f, (const uint8_t **) &p, &(bt->left));
-    H5F_addr_decode(f, (const uint8_t **) &p, &(bt->right));
-
-    /* the child/key pairs */
-    native=bt->native;
-    for (u = 0; u < bt->nchildren; u++) {
-        /* Decode native key value */
-        if ((type->decode) (f, bt, p, native) < 0)
-            HGOTO_ERROR(H5E_BTREE, H5E_CANTDECODE, NULL, "unable to decode key")
-        p += shared->sizeof_rkey;
-        native += type->sizeof_nkey;
-
-        /* Decode address value */
-        H5F_addr_decode(f, (const uint8_t **) &p, bt->child + u);
-    }
-
-    /* Decode final key */
-    if(bt->nchildren>0) {
-        /* Decode native key value */
-        if ((type->decode) (f, bt, p, native) < 0)
-            HGOTO_ERROR(H5E_BTREE, H5E_CANTDECODE, NULL, "unable to decode key")
-    } /* end if */
-
-    /* Set return value */
-    ret_value = bt;
-
-done:
-    if (!ret_value && bt)
-        (void)H5B_dest(f,bt);
-    FUNC_LEAVE_NOAPI(ret_value)
-} /*lint !e818 Can't make udata a pointer to const */
-
-
-/*-------------------------------------------------------------------------
- * Function:    H5B_serialize
- *
- * Purpose:     Serialize the data structure for writing to disk or
- *              storing on the SAP (for FPHDF5).
- *
- * Return:      Success:        SUCCEED
- *              Failure:        FAIL
- *
- * Programmer:  Bill Wendling
- *              wendling at ncsa.uiuc.edu
- *              Sept. 15, 2003
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5B_serialize(const H5F_t *f, const H5B_t *bt)
-{
-    H5B_shared_t *shared=NULL;  /* Pointer to shared B-tree info */
-    unsigned    u;
-    uint8_t    *p;              /* Pointer into raw data buffer */
-    uint8_t    *native;         /* Pointer to native keys */
-    herr_t      ret_value = SUCCEED;    /* Return value */
-
-    FUNC_ENTER_NOAPI(H5B_serialize, FAIL)
-
-    /* check arguments */
-    assert(f);
-    assert(bt);
-    assert(bt->rc_shared);
-    shared=H5RC_GET_OBJ(bt->rc_shared);
-    HDassert(shared);
-
-    p = shared->page;
-
-    /* magic number */
-    HDmemcpy(p, H5B_MAGIC, (size_t)H5B_SIZEOF_MAGIC);
-    p += 4;
-
-    /* node type and level */
-    *p++ = (uint8_t)shared->type->id;
-    H5_CHECK_OVERFLOW(bt->level, unsigned, uint8_t);
-    *p++ = (uint8_t)bt->level;
-
-    /* entries used */
-    UINT16ENCODE(p, bt->nchildren);
-
-    /* sibling pointers */
-    H5F_addr_encode(f, &p, bt->left);
-    H5F_addr_encode(f, &p, bt->right);
-
-    /* child keys and pointers */
-    native=bt->native;
-    for (u = 0; u < bt->nchildren; ++u) {
-        /* encode the key */
-        if (shared->type->encode(f, bt, p, native) < 0)
-            HGOTO_ERROR(H5E_BTREE, H5E_CANTENCODE, FAIL, "unable to encode B-tree key")
-        p += shared->sizeof_rkey;
-        native += shared->type->sizeof_nkey;
-
-        /* encode the child address */
-        H5F_addr_encode(f, &p, bt->child[u]);
-    } /* end for */
-    if(bt->nchildren>0) {
-        /* Encode the final key */
-        if (shared->type->encode(f, bt, p, native) < 0)
-            HGOTO_ERROR(H5E_BTREE, H5E_CANTENCODE, FAIL, "unable to encode B-tree key")
-    } /* end if */
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value)
-}
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5B_flush
- *
- * Purpose:	Flushes a dirty B-tree node to disk.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Jun 23 1997
- *
- * Modifications:
- *      rky 980828
- *      Only p0 writes metadata to disk.
- *
- *      Robb Matzke, 1999-07-28
- *      The ADDR argument is passed by value.
- *
- *	Quincey Koziol, 2002-7-180
- *	Added dxpl parameter to allow more control over I/O from metadata
- *      cache.
- *
- *      Bill Wendling, 2003-09-15
- *      Separated out the bit of code that serializes the B-Tree
- *      structure.
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *bt)
-{
-    H5B_shared_t        *shared;        /* Pointer to shared B-tree info */
-    herr_t      ret_value = SUCCEED;    /* Return value */
-
-    FUNC_ENTER_NOAPI(H5B_flush, FAIL)
-
-    /* check arguments */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(bt);
-    shared=H5RC_GET_OBJ(bt->rc_shared);
-    HDassert(shared);
-    assert(shared->type);
-    assert(shared->type->encode);
-
-    if (bt->cache_info.is_dirty) {
-        if (H5B_serialize(f, bt) < 0)
-            HGOTO_ERROR(H5E_BTREE, H5E_CANTSERIALIZE, FAIL, "unable to serialize B-tree")
-
-	/*
-         * Write the disk page.	We always write the header, but we don't
-         * bother writing data for the child entries that don't exist or
-         * for the final unchanged children.
-	 */
-	if (H5F_block_write(f, H5FD_MEM_BTREE, addr, shared->sizeof_rnode, dxpl_id, shared->page) < 0)
-	    HGOTO_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL, "unable to save B-tree node to disk")
-
-	bt->cache_info.is_dirty = FALSE;
-    } /* end if */
-
-    if (destroy)
-        if (H5B_dest(f,bt) < 0)
-	    HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node")
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value)
-}
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5B_dest
- *
- * Purpose:	Destroys a B-tree node in memory.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	Quincey Koziol
- *		koziol at ncsa.uiuc.edu
- *		Jan 15 2003
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-/* ARGSUSED */
-static herr_t
-H5B_dest(H5F_t UNUSED *f, H5B_t *bt)
-{
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5B_dest)
-
-    /*
-     * Check arguments.
-     */
-    assert(bt);
-    assert(bt->rc_shared);
-
-    H5FL_SEQ_FREE(haddr_t,bt->child);
-    H5FL_BLK_FREE(native_block,bt->native);
-    H5RC_DEC(bt->rc_shared);
-    H5FL_FREE(H5B_t,bt);
-
-    FUNC_LEAVE_NOAPI(SUCCEED)
-} /* end H5B_dest() */
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5B_clear
- *
- * Purpose:	Mark a B-tree node in memory as non-dirty.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	Quincey Koziol
- *		koziol at ncsa.uiuc.edu
- *		Mar 20 2003
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5B_clear(H5F_t *f, H5B_t *bt, hbool_t destroy)
-{
-    herr_t ret_value = SUCCEED;
-
-    FUNC_ENTER_NOAPI_NOINIT(H5B_clear)
-
-    /*
-     * Check arguments.
-     */
-    assert(bt);
-
-    /* Reset the dirty flag.  */
-    bt->cache_info.is_dirty = FALSE;
-
-    if (destroy)
-        if (H5B_dest(f, bt) < 0)
-	    HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node")
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5B_clear() */
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5B_compute_size
- *
- * Purpose:	Compute the size in bytes of the specified instance of
- *		H5B_t on disk, and return it in *len_ptr.  On failure,
- *		the value of *len_ptr is undefined.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	John Mainzer
- *		5/13/04
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5B_compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr)
-{
-    H5B_shared_t        *shared;        /* Pointer to shared B-tree info */
-    size_t	size;
-    herr_t      ret_value = SUCCEED;    /* Return value */
-
-    FUNC_ENTER_NOAPI_NOINIT(H5B_compute_size)
-
-    /* check arguments */
-    HDassert(f);
-    HDassert(bt);
-    HDassert(bt->rc_shared);
-    shared=H5RC_GET_OBJ(bt->rc_shared);
-    HDassert(shared);
-    HDassert(shared->type);
-    HDassert(size_ptr);
-
-    /* Check node's size */
-    if ((size = H5B_nodesize(f, shared, NULL)) == 0)
-        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGETSIZE, FAIL, "H5B_nodesize() failed")
-
-    /* Set size value */
-    *size_ptr = size;
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value)
-} /* H5B_H5B_compute_size() */
-
-
-/*-------------------------------------------------------------------------
  * Function:	H5B_find
  *
  * Purpose:	Locate the specified information in a B-tree and return
@@ -678,9 +310,9 @@
      * Perform a binary search to locate the child which contains
      * the thing for which we're searching.
      */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree node")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
     rt = bt->nchildren;
 
@@ -739,7 +371,7 @@
 	HDONE_ERROR(H5E_BTREE, H5E_PROTECT, FAIL, "unable to release node")
 
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5B_find() */
 
 
 /*-------------------------------------------------------------------------
@@ -791,12 +423,12 @@
     /*
      * Initialize variables.
      */
-    shared=H5RC_GET_OBJ(old_bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(old_bt->rc_shared);
     HDassert(shared);
     assert(old_bt->nchildren == shared->two_k);
 
     /* Get the dataset transfer property list */
-    if (NULL == (dx_plist = H5I_object(dxpl_id)))
+    if (NULL == (dx_plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list")
 
     /* Get B-tree split ratios */
@@ -854,7 +486,7 @@
      */
     if (H5B_create(f, dxpl_id, shared->type, udata, new_addr_p/*out*/) < 0)
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "unable to create B-tree")
-    if (NULL==(new_bt=H5AC_protect(f, dxpl_id, H5AC_BT, *new_addr_p, shared->type, udata, H5AC_WRITE)))
+    if (NULL==(new_bt=(H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, *new_addr_p, shared->type, udata, H5AC_WRITE)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to protect B-tree")
     new_bt->level = old_bt->level;
 
@@ -883,7 +515,7 @@
     new_bt->right = old_bt->right;
 
     if (H5F_addr_defined(old_bt->right)) {
-	if (NULL == (tmp_bt = H5AC_protect(f, dxpl_id, H5AC_BT, old_bt->right, shared->type, udata, H5AC_WRITE)))
+	if (NULL == (tmp_bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, old_bt->right, shared->type, udata, H5AC_WRITE)))
 	    HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load right sibling")
 
 	tmp_bt->cache_info.is_dirty = TRUE;
@@ -901,7 +533,7 @@
         HDONE_ERROR(H5E_BTREE, H5E_PROTECT, FAIL, "unable to release B-tree node")
 
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5B_split() */
 
 
 /*-------------------------------------------------------------------------
@@ -968,9 +600,9 @@
     assert(H5B_INS_RIGHT == my_ins);
 
     /* the current root */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to locate root of B-tree")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
 
     level = bt->level;
@@ -984,7 +616,7 @@
     bt = NULL;
 
     /* the new node */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, child, type, udata, H5AC_READ)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, child, type, udata, H5AC_READ)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load new node")
 
     if (!rt_key_changed)
@@ -1005,7 +637,7 @@
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate file space to move root")
 
     /* update the new child's left pointer */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, child, type, udata, H5AC_WRITE)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, child, type, udata, H5AC_WRITE)))
         HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load new child")
 
     bt->cache_info.is_dirty = TRUE;
@@ -1021,7 +653,7 @@
      * at the new location -QAK
      */
     /* Bring the old root into the cache if it's not already */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
         HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load new child")
 
     /* Make certain the old root info is marked as dirty before moving it, */
@@ -1074,7 +706,7 @@
 
 done:
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5B_insert() */
 
 
 /*-------------------------------------------------------------------------
@@ -1105,7 +737,7 @@
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5B_insert_child)
 
     assert(bt);
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
     assert(bt->nchildren<shared->two_k);
 
@@ -1236,9 +868,9 @@
      * data.  When the search completes IDX points to the child that
      * should get the new data.
      */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to load node")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
     rt = bt->nchildren;
 
@@ -1406,7 +1038,7 @@
 	if (bt->nchildren == shared->two_k) {
 	    if (H5B_split(f, dxpl_id, bt, addr, idx, udata, new_node_p/*out*/)<0)
 		HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, H5B_INS_ERROR, "unable to split node")
-	    if (NULL == (twin = H5AC_protect(f, dxpl_id, H5AC_BT, *new_node_p, type, udata, H5AC_WRITE)))
+	    if (NULL == (twin = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, *new_node_p, type, udata, H5AC_WRITE)))
 		HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to load node")
 	    if (idx<bt->nchildren) {
 		tmp_bt = bt;
@@ -1504,9 +1136,9 @@
     assert(H5F_addr_defined(addr));
     assert(udata);
 
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree node")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
 
     level = bt->level;
@@ -1536,7 +1168,7 @@
 	     * leave the B-tree node protected during an application
 	     * callback.
 	     */
-	    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, cur_addr, type, udata, H5AC_READ)))
+	    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, cur_addr, type, udata, H5AC_READ)))
 		HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "B-tree node")
 
             HDmemcpy(child, bt->child, bt->nchildren*sizeof(haddr_t));
@@ -1626,9 +1258,9 @@
      * Perform a binary search to locate the child which contains the thing
      * for which we're searching.
      */
-    if (NULL==(bt=H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
+    if (NULL==(bt=(H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to load B-tree node")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
 
     rt = bt->nchildren;
@@ -1687,12 +1319,11 @@
      */
     if (*lt_key_changed) {
 	bt->cache_info.is_dirty = TRUE;
-	if (idx>0) {
+	if (idx>0)
             /* Don't propagate change out of this B-tree node */
 	    *lt_key_changed = FALSE;
-	} else {
+	else
 	    HDmemcpy(lt_key, H5B_NKEY(bt,shared,idx), type->sizeof_nkey);
-	}
     }
     if (*rt_key_changed) {
 	bt->cache_info.is_dirty = TRUE;
@@ -1708,7 +1339,7 @@
              */
             if (ret_value!=H5B_INS_REMOVE && level>0) {
                 if (H5F_addr_defined(bt->right)) {
-                    if (NULL == (sibling = H5AC_protect(f, dxpl_id, H5AC_BT, bt->right, type, udata, H5AC_WRITE)))
+                    if (NULL == (sibling = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt->right, type, udata, H5AC_WRITE)))
                         HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to unlink node from tree")
 
                     /* Make certain the native key for the right sibling is set up */
@@ -1738,7 +1369,7 @@
 	bt->nchildren = 0;
 	if (level>0) {
 	    if (H5F_addr_defined(bt->left)) {
-		if (NULL == (sibling = H5AC_protect(f, dxpl_id, H5AC_BT, bt->left, type, udata, H5AC_WRITE)))
+		if (NULL == (sibling = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt->left, type, udata, H5AC_WRITE)))
 		    HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to load node from tree")
 
 		sibling->right = bt->right;
@@ -1750,7 +1381,7 @@
                 sibling=NULL;   /* Make certain future references will be caught */
 	    }
 	    if (H5F_addr_defined(bt->right)) {
-		if (NULL == (sibling = H5AC_protect(f, dxpl_id, H5AC_BT, bt->right, type, udata, H5AC_WRITE)))
+		if (NULL == (sibling = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt->right, type, udata, H5AC_WRITE)))
 		    HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to unlink node from tree")
 
                 /* Copy left-most key from deleted node to left-most key in it's right neighbor */
@@ -1814,7 +1445,7 @@
          */
         if (level>0) {
             if (H5F_addr_defined(bt->right)) {
-                if (NULL == (sibling = H5AC_protect(f, dxpl_id, H5AC_BT, bt->right, type, udata, H5AC_WRITE)))
+                if (NULL == (sibling = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, bt->right, type, udata, H5AC_WRITE)))
                     HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, H5B_INS_ERROR, "unable to unlink node from tree")
 
                 HDmemcpy(H5B_NKEY(sibling,shared,0), H5B_NKEY(bt,shared,bt->nchildren), type->sizeof_nkey);
@@ -1908,7 +1539,7 @@
      * If the B-tree is now empty then make sure we mark the root node as
      * being at level zero
      */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree root node")
 
     if (0==bt->nchildren && 0!=bt->level) {
@@ -1960,9 +1591,9 @@
     assert(H5F_addr_defined(addr));
 
     /* Lock this B-tree node into memory for now */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_WRITE)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree node")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
 
     /* Iterate over all children in tree, deleting them */
@@ -2086,7 +1717,7 @@
      * Check arguments.
      */
     assert(old_bt);
-    shared=H5RC_GET_OBJ(old_bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(old_bt->rc_shared);
     HDassert(shared);
 
     /* Allocate memory for the new H5B_t object */
@@ -2096,8 +1727,8 @@
     /* Copy the main structure */
     HDmemcpy(new_node,old_bt,sizeof(H5B_t));
 
-    if ( NULL==(new_node->native=H5FL_BLK_MALLOC(native_block,shared->sizeof_keys)) ||
-            NULL==(new_node->child=H5FL_SEQ_MALLOC(haddr_t,(size_t)shared->two_k)))
+    if ( NULL==(new_node->native=(uint8_t *)H5FL_BLK_MALLOC(native_block,shared->sizeof_keys)) ||
+            NULL==(new_node->child=(haddr_t *)H5FL_SEQ_MALLOC(haddr_t,(size_t)shared->two_k)))
         HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for B-tree root node")
 
     /* Copy the other structures */
@@ -2163,9 +1794,9 @@
     /*
      * Load the tree node.
      */
-    if (NULL == (bt = H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
+    if (NULL == (bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, type, udata, H5AC_READ)))
 	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree node")
-    shared=H5RC_GET_OBJ(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
     HDassert(shared);
 
     /*

Copied: packages/hdf5/trunk/src/H5Bcache.c (from rev 1094, packages/hdf5/branches/upstream/current/src/H5Bcache.c)
===================================================================
--- packages/hdf5/trunk/src/H5Bcache.c	                        (rev 0)
+++ packages/hdf5/trunk/src/H5Bcache.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,418 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*-------------------------------------------------------------------------
+ *
+ * Created:		H5Bcache.c
+ *			Oct 31 2005
+ *			Quincey Koziol <koziol at ncsa.uiuc.edu>
+ *
+ * Purpose:		Implement B-tree metadata cache methods.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+/****************/
+/* Module Setup */
+/****************/
+
+#define H5B_PACKAGE		/*suppress error about including H5Bpkg  */
+
+
+/***********/
+/* Headers */
+/***********/
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Bpkg.h"		/* B-link trees				*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
+
+/****************/
+/* Local Macros */
+/****************/
+
+/******************/
+/* Local Typedefs */
+/******************/
+
+/********************/
+/* Local Prototypes */
+/********************/
+
+/* General routines */
+static herr_t H5B_serialize(const H5F_t *f, const H5B_t *bt);
+
+/* Metadata cache callbacks */
+static H5B_t *H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_type, void *udata);
+static herr_t H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *b);
+static herr_t H5B_clear(H5F_t *f, H5B_t *b, hbool_t destroy);
+static herr_t H5B_compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr);
+
+/*********************/
+/* Package Variables */
+/*********************/
+
+/* H5B inherits cache-like properties from H5AC */
+const H5AC_class_t H5AC_BT[1] = {{
+    H5AC_BT_ID,
+    (H5AC_load_func_t)H5B_load,
+    (H5AC_flush_func_t)H5B_flush,
+    (H5AC_dest_func_t)H5B_dest,
+    (H5AC_clear_func_t)H5B_clear,
+    (H5AC_size_func_t)H5B_compute_size,
+}};
+
+/*******************/
+/* Local Variables */
+/*******************/
+
+
+/*-------------------------------------------------------------------------
+ * Function:    H5B_serialize
+ *
+ * Purpose:     Serialize the data structure for writing to disk or
+ *              storing on the SAP (for FPHDF5).
+ *
+ * Return:      Success:        SUCCEED
+ *              Failure:        FAIL
+ *
+ * Programmer:  Bill Wendling
+ *              wendling at ncsa.uiuc.edu
+ *              Sept. 15, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5B_serialize(const H5F_t *f, const H5B_t *bt)
+{
+    H5B_shared_t *shared=NULL;  /* Pointer to shared B-tree info */
+    unsigned    u;
+    uint8_t    *p;              /* Pointer into raw data buffer */
+    uint8_t    *native;         /* Pointer to native keys */
+    herr_t      ret_value = SUCCEED;    /* Return value */
+
+    FUNC_ENTER_NOAPI(H5B_serialize, FAIL)
+
+    /* check arguments */
+    HDassert(f);
+    HDassert(bt);
+    HDassert(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
+    HDassert(shared);
+
+    p = shared->page;
+
+    /* magic number */
+    HDmemcpy(p, H5B_MAGIC, (size_t)H5B_SIZEOF_MAGIC);
+    p += 4;
+
+    /* node type and level */
+    *p++ = (uint8_t)shared->type->id;
+    H5_CHECK_OVERFLOW(bt->level, unsigned, uint8_t);
+    *p++ = (uint8_t)bt->level;
+
+    /* entries used */
+    UINT16ENCODE(p, bt->nchildren);
+
+    /* sibling pointers */
+    H5F_addr_encode(f, &p, bt->left);
+    H5F_addr_encode(f, &p, bt->right);
+
+    /* child keys and pointers */
+    native=bt->native;
+    for (u = 0; u < bt->nchildren; ++u) {
+        /* encode the key */
+        if (shared->type->encode(f, bt, p, native) < 0)
+            HGOTO_ERROR(H5E_BTREE, H5E_CANTENCODE, FAIL, "unable to encode B-tree key")
+        p += shared->sizeof_rkey;
+        native += shared->type->sizeof_nkey;
+
+        /* encode the child address */
+        H5F_addr_encode(f, &p, bt->child[u]);
+    } /* end for */
+    if(bt->nchildren>0) {
+        /* Encode the final key */
+        if (shared->type->encode(f, bt, p, native) < 0)
+            HGOTO_ERROR(H5E_BTREE, H5E_CANTENCODE, FAIL, "unable to encode B-tree key")
+    } /* end if */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5B_serialize() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5B_load
+ *
+ * Purpose:	Loads a B-tree node from the disk.
+ *
+ * Return:	Success:	Pointer to a new B-tree node.
+ *
+ *		Failure:	NULL
+ *
+ * Programmer:	Robb Matzke
+ *		matzke at llnl.gov
+ *		Jun 23 1997
+ *
+ *-------------------------------------------------------------------------
+ */
+static H5B_t *
+H5B_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_type, void *udata)
+{
+    const H5B_class_t	*type = (const H5B_class_t *) _type;
+    H5B_t		*bt = NULL;
+    H5B_shared_t        *shared;        /* Pointer to shared B-tree info */
+    uint8_t		*p;             /* Pointer into raw data buffer */
+    uint8_t		*native;        /* Pointer to native keys */
+    unsigned		u;              /* Local index variable */
+    H5B_t		*ret_value;
+
+    FUNC_ENTER_NOAPI(H5B_load, NULL)
+
+    /* Check arguments */
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(type);
+    HDassert(type->get_shared);
+
+    if (NULL==(bt = H5FL_MALLOC(H5B_t)))
+	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+    HDmemset(&bt->cache_info,0,sizeof(H5AC_info_t));
+    if((bt->rc_shared=(type->get_shared)(f, udata))==NULL)
+	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "can't retrieve B-tree node buffer")
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
+    HDassert(shared);
+    if (NULL==(bt->native=H5FL_BLK_MALLOC(native_block,shared->sizeof_keys)) ||
+            NULL==(bt->child=H5FL_SEQ_MALLOC(haddr_t,(size_t)shared->two_k)))
+	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+
+    if (H5F_block_read(f, H5FD_MEM_BTREE, addr, shared->sizeof_rnode, dxpl_id, shared->page)<0)
+	HGOTO_ERROR(H5E_BTREE, H5E_READERROR, NULL, "can't read B-tree node")
+
+    p = shared->page;
+
+    /* magic number */
+    if (HDmemcmp(p, H5B_MAGIC, (size_t)H5B_SIZEOF_MAGIC))
+	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "wrong B-tree signature")
+    p += 4;
+
+    /* node type and level */
+    if (*p++ != (uint8_t)type->id)
+	HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "incorrect B-tree node type")
+    bt->level = *p++;
+
+    /* entries used */
+    UINT16DECODE(p, bt->nchildren);
+
+    /* sibling pointers */
+    H5F_addr_decode(f, (const uint8_t **) &p, &(bt->left));
+    H5F_addr_decode(f, (const uint8_t **) &p, &(bt->right));
+
+    /* the child/key pairs */
+    native=bt->native;
+    for (u = 0; u < bt->nchildren; u++) {
+        /* Decode native key value */
+        if ((type->decode) (f, bt, p, native) < 0)
+            HGOTO_ERROR(H5E_BTREE, H5E_CANTDECODE, NULL, "unable to decode key")
+        p += shared->sizeof_rkey;
+        native += type->sizeof_nkey;
+
+        /* Decode address value */
+        H5F_addr_decode(f, (const uint8_t **) &p, bt->child + u);
+    }
+
+    /* Decode final key */
+    if(bt->nchildren>0) {
+        /* Decode native key value */
+        if ((type->decode) (f, bt, p, native) < 0)
+            HGOTO_ERROR(H5E_BTREE, H5E_CANTDECODE, NULL, "unable to decode key")
+    } /* end if */
+
+    /* Set return value */
+    ret_value = bt;
+
+done:
+    if (!ret_value && bt)
+        (void)H5B_dest(f,bt);
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5B_load() */  /*lint !e818 Can't make udata a pointer to const */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5B_flush
+ *
+ * Purpose:	Flushes a dirty B-tree node to disk.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Robb Matzke
+ *		matzke at llnl.gov
+ *		Jun 23 1997
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5B_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *bt)
+{
+    H5B_shared_t        *shared;        /* Pointer to shared B-tree info */
+    herr_t      ret_value = SUCCEED;    /* Return value */
+
+    FUNC_ENTER_NOAPI(H5B_flush, FAIL)
+
+    /* check arguments */
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(bt);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
+    HDassert(shared);
+    HDassert(shared->type);
+    HDassert(shared->type->encode);
+
+    if (bt->cache_info.is_dirty) {
+        if (H5B_serialize(f, bt) < 0)
+            HGOTO_ERROR(H5E_BTREE, H5E_CANTSERIALIZE, FAIL, "unable to serialize B-tree")
+
+	/*
+         * Write the disk page.	We always write the header, but we don't
+         * bother writing data for the child entries that don't exist or
+         * for the final unchanged children.
+	 */
+	if (H5F_block_write(f, H5FD_MEM_BTREE, addr, shared->sizeof_rnode, dxpl_id, shared->page) < 0)
+	    HGOTO_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL, "unable to save B-tree node to disk")
+
+	bt->cache_info.is_dirty = FALSE;
+    } /* end if */
+
+    if (destroy)
+        if (H5B_dest(f,bt) < 0)
+	    HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node")
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5B_flush() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5B_dest
+ *
+ * Purpose:	Destroys a B-tree node in memory.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		koziol at ncsa.uiuc.edu
+ *		Jan 15 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+/* ARGSUSED */
+herr_t
+H5B_dest(H5F_t UNUSED *f, H5B_t *bt)
+{
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5B_dest)
+
+    /*
+     * Check arguments.
+     */
+    HDassert(bt);
+    HDassert(bt->rc_shared);
+
+    H5FL_SEQ_FREE(haddr_t,bt->child);
+    H5FL_BLK_FREE(native_block,bt->native);
+    H5RC_DEC(bt->rc_shared);
+    H5FL_FREE(H5B_t,bt);
+
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5B_dest() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5B_clear
+ *
+ * Purpose:	Mark a B-tree node in memory as non-dirty.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		koziol at ncsa.uiuc.edu
+ *		Mar 20 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5B_clear(H5F_t *f, H5B_t *bt, hbool_t destroy)
+{
+    herr_t ret_value = SUCCEED;
+
+    FUNC_ENTER_NOAPI_NOINIT(H5B_clear)
+
+    /*
+     * Check arguments.
+     */
+    HDassert(bt);
+
+    /* Reset the dirty flag.  */
+    bt->cache_info.is_dirty = FALSE;
+
+    if (destroy)
+        if (H5B_dest(f, bt) < 0)
+	    HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node")
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5B_clear() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5B_compute_size
+ *
+ * Purpose:	Compute the size in bytes of the specified instance of
+ *		H5B_t on disk, and return it in *len_ptr.  On failure,
+ *		the value of *len_ptr is undefined.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	John Mainzer
+ *		5/13/04
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5B_compute_size(const H5F_t *f, const H5B_t *bt, size_t *size_ptr)
+{
+    H5B_shared_t        *shared;        /* Pointer to shared B-tree info */
+    size_t	size;
+    herr_t      ret_value = SUCCEED;    /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5B_compute_size)
+
+    /* check arguments */
+    HDassert(f);
+    HDassert(bt);
+    HDassert(bt->rc_shared);
+    shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared);
+    HDassert(shared);
+    HDassert(shared->type);
+    HDassert(size_ptr);
+
+    /* Check node's size */
+    if ((size = H5B_nodesize(f, shared, NULL)) == 0)
+        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGETSIZE, FAIL, "H5B_nodesize() failed")
+
+    /* Set size value */
+    *size_ptr = size;
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* H5B_compute_size() */

Modified: packages/hdf5/trunk/src/H5Bpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Bpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Bpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -31,7 +32,7 @@
 #include "H5Bprivate.h"
 
 /* Other private headers needed by this file */
-#include "H5RCprivate.h"	/* Reference counted object functions	  */
+#include "H5RCprivate.h"	/* Reference counted objects            */
 
 /**************************/
 /* Package Private Macros */
@@ -41,9 +42,7 @@
 /* Package Private Typedefs */
 /****************************/
 
-/*
- * The B-tree node as stored in memory...
- */
+/* The B-tree node as stored in memory...  */
 struct H5B_t {
     H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */
                             /* first field in structure */
@@ -56,8 +55,25 @@
     haddr_t		*child;		/*2k child pointers		     */
 };
 
+/*****************************/
+/* Package Private Variables */
+/*****************************/
+
+/* H5B header inherits cache-like properties from H5AC */
+H5_DLLVAR const H5AC_class_t H5AC_BT[1];
+
+/* Declare a free list to manage the haddr_t sequence information */
+H5FL_SEQ_EXTERN(haddr_t);
+
+/* Declare a PQ free list to manage the native block information */
+H5FL_BLK_EXTERN(native_block);
+
+/* Declare a free list to manage the H5B_t struct */
+H5FL_EXTERN(H5B_t);
+
 /******************************/
 /* Package Private Prototypes */
 /******************************/
+herr_t H5B_dest(H5F_t *f, H5B_t *b);
 
 #endif /*_H5Bpkg_H*/

Modified: packages/hdf5/trunk/src/H5Bprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Bprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Bprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -34,8 +35,13 @@
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5ACprivate.h"	/* Metadata cache			*/
 #include "H5Fprivate.h"		/* File access				*/
+#include "H5FLprivate.h"	/* Free Lists                           */
 #include "H5RCprivate.h"	/* Reference counted object functions	*/
 
+/**************************/
+/* Library Private Macros */
+/**************************/
+
 /*
  * Feature: Define this constant if you want to check B-tree consistency
  *	    after each B-tree operation.  Note that this slows down the
@@ -48,6 +54,19 @@
 #define H5B_MAGIC	"TREE"		/*tree node magic number	     */
 #define H5B_SIZEOF_MAGIC 4		/*size of magic number		     */
 
+/* Define return values from operator callback function for H5B_iterate */
+/* (Actually, any postive value will cause the iterator to stop and pass back
+ *      that positive value to the function that called the iterator)
+ */
+#define H5B_ITER_ERROR  (-1)
+#define H5B_ITER_CONT   (0)
+#define H5B_ITER_STOP   (1)
+
+/****************************/
+/* Library Private Typedefs */
+/****************************/
+
+/* Define return values from B-tree insertion callbacks */
 typedef enum H5B_ins_t {
     H5B_INS_ERROR	 = -1,	/*error return value			     */
     H5B_INS_NOOP	 = 0,	/*insert made no changes		     */
@@ -58,14 +77,6 @@
     H5B_INS_REMOVE	 = 5	/*remove current node			     */
 } H5B_ins_t;
 
-/* Define return values from operator callback function for H5B_iterate */
-/* (Actually, any postive value will cause the iterator to stop and pass back
- *      that positive value to the function that called the iterator)
- */
-#define H5B_ITER_ERROR  (-1)
-#define H5B_ITER_CONT   (0)
-#define H5B_ITER_STOP   (1)
-
 /* Define the operator callback function pointer for H5B_iterate() */
 typedef int (*H5B_operator_t)(H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t addr,
                                         const void *_rt_key, void *_udata);
@@ -97,7 +108,6 @@
 typedef struct H5B_class_t {
     H5B_subid_t id;					/*id as found in file*/
     size_t	sizeof_nkey;			/*size of native (memory) key*/
-    size_t	(*get_sizeof_rkey)(const H5F_t*, const void*);    /*raw key size   */
     H5RC_t *    (*get_shared)(const H5F_t*, const void*);    /*shared info for node */
     herr_t	(*new_node)(H5F_t*, hid_t, H5B_ins_t, void*, void*, void*, haddr_t*);
     int         (*cmp2)(H5F_t*, hid_t, void*, void*, void*);	    /*compare 2 keys */
@@ -120,12 +130,19 @@
     herr_t	(*decode)(const H5F_t*, const struct H5B_t*, const uint8_t*, void*);
     herr_t	(*encode)(const H5F_t*, const struct H5B_t*, uint8_t*, void*);
     herr_t	(*debug_key)(FILE*, H5F_t*, hid_t, int, int, const void*, const void*);
-
 } H5B_class_t;
 
-/*
- * Library prototypes.
- */
+/*****************************/
+/* Library-private Variables */
+/*****************************/
+ 
+/* Declare a free list to manage the H5B_shared_t struct */
+H5FL_EXTERN(H5B_shared_t);
+
+
+/***************************************/
+/* Library-private Function Prototypes */
+/***************************************/
 H5_DLL size_t H5B_nodesize(const H5F_t *f, const H5B_shared_t *shared,
 			   size_t *total_nkey_size);
 H5_DLL herr_t H5B_create (H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, void *udata,

Modified: packages/hdf5/trunk/src/H5Bpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Bpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Bpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5C.c
===================================================================
--- packages/hdf5/trunk/src/H5C.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5C.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -791,10 +792,13 @@
  *		QAK -- 11/27/04
  *		Switched over to using skip list routines.
  *
+ *		JRM -- 7/13/06
+ *		Added fail_val parameter
+ *
  *-------------------------------------------------------------------------
  */
 
-#define H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr)                       \
+#define H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, fail_val)             \
 {                                                                              \
     HDassert( (cache_ptr) );                                                   \
     HDassert( (cache_ptr)->magic == H5C__H5C_T_MAGIC );                        \
@@ -803,8 +807,10 @@
     HDassert( H5F_addr_defined((entry_ptr)->addr) );                           \
     HDassert( !((entry_ptr)->in_slist) );                                      \
                                                                                \
-    if ( H5SL_insert((cache_ptr)->slist_ptr, &entry_ptr->addr, entry_ptr) < 0 ) \
-        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Can't insert entry in skip list") \
+    if ( H5SL_insert((cache_ptr)->slist_ptr, &entry_ptr->addr, entry_ptr)      \
+		                                                      < 0 )    \
+        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val),                       \
+		    "Can't insert entry in skip list")                         \
                                                                                \
     (entry_ptr)->in_slist = TRUE;                                              \
     (cache_ptr)->slist_len++;                                                  \
@@ -2559,7 +2565,7 @@
 
                 if ( entry_ptr->is_dirty ) {
 
-                    H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr)
+                    H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, FAIL)
                 }
                 entry_ptr = entry_ptr->next;
             }
@@ -2757,7 +2763,7 @@
 
     if ( entry_ptr->is_dirty ) {
 
-        H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr)
+        H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, FAIL)
     }
 
     H5C__UPDATE_RP_FOR_INSERTION(cache_ptr, entry_ptr, FAIL)
@@ -2862,7 +2868,7 @@
 
     if ( entry_ptr->is_dirty ) {
 
-        H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr)
+        H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, FAIL)
     }
 
     H5C__UPDATE_RP_FOR_RENAME(cache_ptr, entry_ptr, FAIL)
@@ -2911,9 +2917,15 @@
  *
  * Modifications:
  *
- *		JRM - 7/21/04
+ *		JRM -- 7/21/04
  *		Updated for the addition of the hash table.
  *
+ *              JRM -- 7/13/06
+ *              Modified code to allow dirty entries to be loaded from
+ *              disk.  This is necessary as a bug fix in the object
+ *              header code requires us to modify a header as it is read.
+ *
+ *
  *-------------------------------------------------------------------------
  */
 
@@ -3027,9 +3039,17 @@
 
         /* Insert the entry in the hash table.  It can't be dirty yet, so
          * we don't even check to see if it should go in the skip list.
+	 *
+	 * This is no longer true -- due to a bug fix, we may modify
+	 * data on load to repair a file.
          */
         H5C__INSERT_IN_INDEX(cache_ptr, entry_ptr, NULL)
 
+	if ( ( entry_ptr->is_dirty ) && ( ! (entry_ptr->in_slist) ) ) {
+
+	    H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, NULL)
+	}
+
         /* insert the entry in the data structures used by the replacement
          * policy.  We are just going to take it out again when we update
          * the replacement policy for a protect, but this simplifies the
@@ -3152,7 +3172,7 @@
 
     if ( ( entry_ptr->is_dirty ) && ( ! (entry_ptr->in_slist) ) ) {
 
-        H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr)
+        H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, FAIL)
     }
 
     /* this implementation of the "deleted" option is a bit inefficient, as
@@ -3858,6 +3878,13 @@
  *		JRM - 7/21/04
  *		Updated function for the addition of the hash table.
  *
+ *              JRM - 7/13/06
+ *              Deleted assertion that verified that a newly loaded
+ *              entry is clean.  Due to a bug fix, this need not be
+ *              the case, as our code will attempt to repair errors
+ *              on load.
+ *
+ *
  *-------------------------------------------------------------------------
  */
 
@@ -3890,8 +3917,32 @@
 
     entry_ptr = (H5C_cache_entry_t *)thing;
 
-    HDassert( entry_ptr->is_dirty == FALSE );
+    /* In general, an entry should be clean just after it is loaded.
+     *
+     * However, when this code is used in the metadata cache, it is
+     * possible that object headers will be dirty at this point, as
+     * the load function will alter object headers if necessary to
+     * fix an old bug.
+     *
+     * To support this bug fix, I have replace the old assert:
+     *
+     *  HDassert( entry_ptr->is_dirty == FALSE );
+     *
+     * with:
+     *
+     *  HDassert( ( entry_ptr->is_dirty == FALSE ) || ( type->id == 4 ) );
+     *
+     * Note that type id 4 is associated with object headers in the metadata
+     * cache.
+     *
+     * When we get to using H5C for other purposes, we may wish to
+     * tighten up the assert so that the loophole only applies to the
+     * metadata cache.
+     */
 
+    HDassert( ( entry_ptr->is_dirty == FALSE ) || ( type->id == 4 ) );
+
+
     entry_ptr->addr = addr;
     entry_ptr->type = type;
     entry_ptr->is_protected = FALSE;

Modified: packages/hdf5/trunk/src/H5Cprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Cprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Cprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5Cpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Cpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Cpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5D.c
===================================================================
--- packages/hdf5/trunk/src/H5D.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5D.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,15 +9,23 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
+/****************/
+/* Module Setup */
+/****************/
+
 #define H5D_PACKAGE		/*suppress error about including H5Dpkg	  */
 
 /* Interface initialization */
 #define H5_INTERFACE_INIT_FUNC	H5D_init_interface
 
+
+/***********/
+/* Headers */
+/***********/
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Dpkg.h"		/* Datasets 				*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
@@ -28,35 +37,68 @@
 #include "H5Sprivate.h"		/* Dataspaces 				*/
 #include "H5Vprivate.h"		/* Vectors and arrays 			*/
 
-/*#define H5D_DEBUG*/
+/****************/
+/* Local Macros */
+/****************/
 
-/* Local functions */
+/******************/
+/* Local Typedefs */
+/******************/
+
+/* Internal data structure for computing variable-length dataset's total size */
+typedef struct {
+    hid_t dataset_id;   /* ID of the dataset we are working on */
+    hid_t fspace_id;    /* ID of the file dataset's dataspace we are working on */
+    hid_t mspace_id;    /* ID of the memory dataset's dataspace we are working on */
+    void *fl_tbuf;      /* Ptr to the temporary buffer we are using for fixed-length data */
+    void *vl_tbuf;      /* Ptr to the temporary buffer we are using for VL data */
+    hid_t xfer_pid;     /* ID of the dataset xfer property list */
+    hsize_t size;       /* Accumulated number of bytes for the selection */
+} H5D_vlen_bufsize_t;
+
+/********************/
+/* Local Prototypes */
+/********************/
+
+/* General stuff */
 static herr_t H5D_init_storage(H5D_t *dataset, hbool_t full_overwrite, hid_t dxpl_id);
 static H5D_shared_t * H5D_new(hid_t dcpl_id, hbool_t creating, hbool_t vl_type);
 static H5D_t * H5D_create(H5G_entry_t *loc, const char *name, hid_t type_id,
            const H5S_t *space, hid_t dcpl_id, hid_t dxpl_id);
-static H5D_t * H5D_open_oid(const H5G_entry_t *ent, hid_t dxpl_id);
+static herr_t H5D_open_oid(H5D_t *dataset, hid_t dxpl_id);
 static herr_t H5D_get_space_status(H5D_t *dset, H5D_space_status_t *allocation, hid_t dxpl_id);
 static hsize_t H5D_get_storage_size(H5D_t *dset, hid_t dxpl_id);
 static haddr_t H5D_get_offset(const H5D_t *dset);
+static herr_t H5D_iterate(void *buf, hid_t type_id, H5S_t *space,
+    H5D_operator_t op, void *operator_data);
 static herr_t H5D_extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id);
 static herr_t H5D_set_extent(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id);
 static herr_t H5D_init_type(H5F_t *file, const H5D_t *dset, hid_t type_id, const H5T_t *type);
+
+/* Property list callbacks */
 static int H5D_crt_fill_value_cmp(const void *value1, const void *value2, size_t size);
 static int H5D_crt_ext_file_list_cmp(const void *value1, const void *value2, size_t size);
 static int H5D_crt_data_pipeline_cmp(const void *value1, const void *value2, size_t size);
 
-/* Internal data structure for computing variable-length dataset's total size */
-typedef struct {
-    hid_t dataset_id;   /* ID of the dataset we are working on */
-    hid_t fspace_id;    /* ID of the file dataset's dataspace we are working on */
-    hid_t mspace_id;    /* ID of the memory dataset's dataspace we are working on */
-    void *fl_tbuf;      /* Ptr to the temporary buffer we are using for fixed-length data */
-    void *vl_tbuf;      /* Ptr to the temporary buffer we are using for VL data */
-    hid_t xfer_pid;     /* ID of the dataset xfer property list */
-    hsize_t size;       /* Accumulated number of bytes for the selection */
-} H5D_vlen_bufsize_t;
+/*********************/
+/* Package Variables */
+/*********************/
 
+/* Define a "default" dataset transfer property list cache structure to use for default DXPLs */
+H5D_dxpl_cache_t H5D_def_dxpl_cache;
+
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
+/* Declare extern the free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(type_conv);
+
+
+/*******************/
+/* Local Variables */
+/*******************/
+
 /* Declare a free list to manage the H5D_t and H5D_shared_t structs */
 H5FL_DEFINE_STATIC(H5D_t);
 H5FL_DEFINE_STATIC(H5D_shared_t);
@@ -73,9 +115,6 @@
 /* Define a static "default" dataset structure to use to initialize new datasets */
 static H5D_shared_t H5D_def_dset;
 
-/* Define a "default" dataset transfer property list cache structure to use for default DXPLs */
-H5D_dxpl_cache_t H5D_def_dxpl_cache;
-
 
 /*-------------------------------------------------------------------------
  * Function:	H5D_init
@@ -89,8 +128,6 @@
  * Programmer:	Quincey Koziol
  *              Saturday, March 4, 2000
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -202,7 +239,7 @@
     assert(H5P_CLS_DATASET_XFER_g!=(-1));
 
     /* Get the pointer to the dataset transfer class */
-    if (NULL == (xfer_pclass = H5I_object(H5P_CLS_DATASET_XFER_g)))
+    if (NULL == (xfer_pclass = (H5P_genclass_t *)H5I_object(H5P_CLS_DATASET_XFER_g)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list class")
 
     /* Get the number of properties in the class */
@@ -296,7 +333,7 @@
     assert(H5P_CLS_DATASET_CREATE_g != -1);
 
     /* Get the pointer to the dataset creation class */
-    if(NULL == (crt_pclass = H5I_object(H5P_CLS_DATASET_CREATE_g)))
+    if(NULL == (crt_pclass = (H5P_genclass_t *)H5I_object(H5P_CLS_DATASET_CREATE_g)))
        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list class")
 
     /* Get the number of properties in the class */
@@ -355,7 +392,7 @@
     /* Get the default dataset cretion property list values and initialize the
      * default dataset with them.
      */
-    if (NULL == (def_dcpl = H5I_object(H5P_LST_DATASET_CREATE_g)))
+    if (NULL == (def_dcpl = (H5P_genplist_t *)H5I_object(H5P_LST_DATASET_CREATE_g)))
         HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "can't get default dataset creation property list")
 
     /* Set up the default allocation time information */
@@ -403,8 +440,6 @@
  * Programmer:	Robb Matzke
  *              Friday, November 20, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -463,7 +498,8 @@
  * Programmer:     Raymond Lu
  *                 Tuesday, October 2, 2001
  *
- * Modification:
+ * Modifications:  pvn, April 02, 2007
+ *  Reset external file list slots name_offset to a state when created
  *
  *-------------------------------------------------------------------------
  */
@@ -481,9 +517,9 @@
     FUNC_ENTER_NOAPI(H5D_crt_copy, FAIL)
 
     /* Verify property list ID */
-    if (NULL == (new_plist = H5I_object(new_plist_id)))
+    if (NULL == (new_plist = (H5P_genplist_t *)H5I_object(new_plist_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset creation property list")
-    if (NULL == (old_plist = H5I_object(old_plist_id)))
+    if (NULL == (old_plist = (H5P_genplist_t *)H5I_object(old_plist_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset creation property list")
 
     /* Get the fill value, external file list, and data pipeline properties
@@ -501,12 +537,27 @@
             HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't copy fill value")
     } /* end if */
     else {
-	dst_fill.type = dst_fill.buf = NULL;
+	dst_fill.type = NULL;
+	dst_fill.buf = NULL;
 	dst_fill.size = src_fill.size;
     }
     HDmemset(&dst_efl,0,sizeof(H5O_efl_t));
     if(NULL==H5O_copy(H5O_EFL_ID, &src_efl, &dst_efl))
         HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't copy external file list")
+
+    /* reset efl name_offset and heap_addr, these are the values when the dataset is created */
+    if (dst_efl.slot)
+    {
+        unsigned int i;
+
+        dst_efl.heap_addr = HADDR_UNDEF;
+        for ( i = 0; i < dst_efl.nused; i++)
+        {
+            dst_efl.slot[i].name_offset = 0;
+        }
+        
+    }
+
     if(NULL==H5O_copy(H5O_PLINE_ID, &src_pline, &dst_pline))
         HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't copy data pipeline")
 
@@ -538,8 +589,6 @@
  * Programmer:	Quincey Koziol
  *              Wednesday, July 11, 2001
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -555,7 +604,7 @@
     FUNC_ENTER_NOAPI(H5D_crt_close, FAIL)
 
     /* Check arguments */
-    if (NULL == (plist = H5I_object(dcpl_id)))
+    if (NULL == (plist = (H5P_genplist_t *)H5I_object(dcpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset creation property list")
 
     /* Get the fill value, external file list, and data pipeline properties
@@ -594,8 +643,6 @@
  * Programmer:     Quincey Koziol
  *                 Wednesday, January 7, 2004
  *
- * Modification:
- *
  *-------------------------------------------------------------------------
  */
 static int
@@ -650,8 +697,6 @@
  * Programmer:     Quincey Koziol
  *                 Wednesday, January 7, 2004
  *
- * Modification:
- *
  *-------------------------------------------------------------------------
  */
 static int
@@ -732,8 +777,6 @@
  * Programmer:     Quincey Koziol
  *                 Wednesday, January 7, 2004
  *
- * Modification:
- *
  *-------------------------------------------------------------------------
  */
 static int
@@ -825,7 +868,6 @@
  *              Thursday, August 2, 2001
  *
  * Notes:       This same routine is currently used for the 'copy' callback.
- * Modifications:
  *
  *-------------------------------------------------------------------------
  */
@@ -841,7 +883,7 @@
     FUNC_ENTER_NOAPI(H5D_xfer_create, FAIL)
 
     /* Check arguments */
-    if (NULL == (plist = H5I_object(dxpl_id)))
+    if (NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list")
 
     /* Get the driver information */
@@ -876,8 +918,6 @@
  * Programmer:     Raymond Lu
  *                 Tuesday, October 2, 2001
  *
- * Modification:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -892,9 +932,9 @@
 
     FUNC_ENTER_NOAPI(H5D_xfer_copy, FAIL)
 
-    if(NULL == (new_plist = H5I_object(new_dxpl_id)))
+    if(NULL == (new_plist = (H5P_genplist_t *)H5I_object(new_dxpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get property list")
-    if(NULL == (old_plist = H5I_object(old_dxpl_id)))
+    if(NULL == (old_plist = (H5P_genplist_t *)H5I_object(old_dxpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get property list")
 
     /* Get values from old property list */
@@ -930,8 +970,6 @@
  * Programmer:	Quincey Koziol
  *              Wednesday, July 11, 2001
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -946,7 +984,7 @@
     FUNC_ENTER_NOAPI(H5D_xfer_close, FAIL)
 
     /* Check arguments */
-    if (NULL == (plist = H5I_object(dxpl_id)))
+    if (NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list")
 
     if(H5P_get(plist, H5D_XFER_VFL_ID_NAME, &driver_id)<0)
@@ -995,7 +1033,7 @@
     assert(cache);
 
     /* Get the dataset transfer property list */
-    if (NULL == (dc_plist = H5I_object(dcpl_id)))
+    if (NULL == (dc_plist = (H5P_genplist_t *)H5I_object(dcpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset creation property list")
 
     /* Get I/O pipeline info */
@@ -1039,27 +1077,16 @@
  *
  *		Failure:	FAIL
  *
- * Errors:
- *		ARGS	  BADTYPE	Not a data space.
- *		ARGS	  BADTYPE	Not a dataset creation plist.
- *		ARGS	  BADTYPE	Not a file.
- *		ARGS	  BADTYPE	Not a type.
- *		ARGS	  BADVALUE	No name.
- *		DATASET	  CANTINIT	Can't create dataset.
- *		DATASET	  CANTREGISTER	Can't register dataset.
- *
  * Programmer:	Robb Matzke
  *		Wednesday, December  3, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 hid_t
 H5Dcreate(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
 	  hid_t dcpl_id)
 {
-    H5G_entry_t	   *loc = NULL;         /* Entry for group to insert dataset into */
+    H5G_entry_t	   *loc;                /* Entry for group to insert dataset into */
     H5D_t	   *new_dset = NULL;    /* New dataset's info */
     const H5S_t    *space;              /* Dataspace for dataset */
     hid_t	    ret_value;          /* Return value */
@@ -1068,13 +1095,13 @@
     H5TRACE5("i","isiii",loc_id,name,type_id,space_id,dcpl_id);
 
     /* Check arguments */
-    if (NULL == (loc = H5G_loc(loc_id)))
+    if(NULL == (loc = H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location ID")
-    if (!name || !*name)
+    if(!name || !*name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
-    if (H5I_DATATYPE != H5I_get_type(type_id))
+    if(H5I_DATATYPE != H5I_get_type(type_id))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype ID")
-    if (NULL == (space = H5I_object_verify(space_id,H5I_DATASPACE)))
+    if(NULL == (space = (H5S_t *)H5I_object_verify(space_id,H5I_DATASPACE)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataspace ID")
     if(H5P_DEFAULT == dcpl_id)
         dcpl_id = H5P_DATASET_CREATE_DEFAULT;
@@ -1087,19 +1114,19 @@
 	HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create dataset")
 
     /* Register the new dataset to get an ID for it */
-    if ((ret_value = H5I_register(H5I_DATASET, new_dset)) < 0)
+    if((ret_value = H5I_register(H5I_DATASET, new_dset)) < 0)
 	HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register dataset")
 
 done:
-    if(ret_value<0) {
-        if(new_dset!=NULL) {
-            if(H5D_close(new_dset)<0)
+    if(ret_value < 0) {
+        if(new_dset != NULL) {
+            if(H5D_close(new_dset) < 0)
                 HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
         } /* end if */
     } /* end if */
 
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Dcreate() */
 
 
 /*-------------------------------------------------------------------------
@@ -1113,13 +1140,9 @@
  *
  *		Failure:	FAIL
  *
- * Errors:
- *
  * Programmer:	Robb Matzke
  *		Thursday, December  4, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 hid_t
@@ -1138,7 +1161,7 @@
     /* Check args */
     if (NULL == (loc = H5G_loc(loc_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
+    if(!name || !*name)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
 
     /* Find the dataset object */
@@ -1166,11 +1189,11 @@
         } /* end if */
         else {
             if(ent_found && ent.header)
-                H5G_free_ent_name(&ent);
+                H5G_name_free(&ent);
         } /* end else */
     } /* end if */
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Dopen() */
 
 
 /*-------------------------------------------------------------------------
@@ -1182,42 +1205,34 @@
  *
  * Return:	Non-negative on success/Negative on failure
  *
- * Errors:
- *		ARGS	  BADTYPE	Not a dataset.
- *		DATASET	  CANTINIT	Can't free.
- *
  * Programmer:	Robb Matzke
  *		Thursday, December  4, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Dclose(hid_t dset_id)
 {
-    H5D_t	*dset = NULL;	        /* Dataset object to release */
-    herr_t       ret_value=SUCCEED;     /* Return value */
+    H5D_t	*dset;	                /* Dataset object to release */
+    herr_t       ret_value = SUCCEED;   /* Return value */
 
     FUNC_ENTER_API(H5Dclose, FAIL)
     H5TRACE1("e","i",dset_id);
 
     /* Check args */
-    if (NULL == (dset = H5I_object_verify(dset_id, H5I_DATASET)))
+    if(NULL == (dset = (H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
-    if (NULL == dset->ent.file)
-	HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "not a dataset")
 
     /*
      * Decrement the counter on the dataset.  It will be freed if the count
      * reaches zero.
      */
-    if (H5I_dec_ref(dset_id) < 0)
+    if(H5I_dec_ref(dset_id) < 0)
 	HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't free")
 
 done:
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Dclose() */
 
 
 /*-------------------------------------------------------------------------
@@ -1234,10 +1249,6 @@
  * Programmer:	Robb Matzke
  *		Wednesday, January 28, 1998
  *
- * Modifications:
- *	Robb Matzke, 9 Jun 1998
- *	The data space is not constant and is no longer cached by the dataset
- *	struct.
  *-------------------------------------------------------------------------
  */
 hid_t
@@ -1251,7 +1262,7 @@
     H5TRACE1("i","i",dset_id);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if (NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
 
     /* Read the data space message and return a data space object */
@@ -1286,8 +1297,6 @@
  *
  * Programmer:	Raymond Lu
  *
- * Modification:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -1300,7 +1309,7 @@
     H5TRACE2("e","i*Ds",dset_id,allocation);
 
     /* Check arguments */
-    if(NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if(NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
 
     /* Read data space address and return */
@@ -1324,8 +1333,6 @@
  *
  * Programmer:  Raymond Lu
  *
- * Modification:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1381,9 +1388,9 @@
 /*-------------------------------------------------------------------------
  * Function:	H5Dget_type
  *
- * Purpose:	Returns a copy of the file data type for a dataset.
+ * Purpose:	Returns a copy of the file datatype for a dataset.
  *
- * Return:	Success:	ID for a copy of the data type.	 The data
+ * Return:	Success:	ID for a copy of the datatype.	 The data
  *				type should be released by calling
  *				H5Tclose().
  *
@@ -1392,13 +1399,6 @@
  * Programmer:	Robb Matzke
  *		Tuesday, February  3, 1998
  *
- * Modifications:
- *
- * 	Robb Matzke, 1 Jun 1998
- *	If the dataset has a named data type then a handle to the opened data
- *	type is returned.  Otherwise the returned data type is read-only.  If
- *	atomization of the data type fails then the data type is closed.
- *
  *-------------------------------------------------------------------------
  */
 hid_t
@@ -1413,24 +1413,24 @@
     H5TRACE1("i","i",dset_id);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if (NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
 
-    /* Copy the data type and mark it read-only */
+    /* Copy the datatype and mark it read-only */
     if (NULL==(copied_type=H5T_copy (dset->shared->type, H5T_COPY_REOPEN)))
-	HGOTO_ERROR (H5E_DATASET, H5E_CANTINIT, FAIL, "unable to copy the data type")
+	HGOTO_ERROR (H5E_DATASET, H5E_CANTINIT, FAIL, "unable to copy the datatype")
 
     /* Mark any VL datatypes as being in memory now */
     if (H5T_vlen_mark(copied_type, NULL, H5T_VLEN_MEMORY)<0)
-        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location");
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location")
 
     /* Unlock copied type */
     if (H5T_lock (copied_type, FALSE)<0)
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to lock transient data type")
+	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to lock transient datatype")
 
     /* Create an atom */
     if ((ret_value=H5I_register (H5I_DATATYPE, copied_type))<0)
-	HGOTO_ERROR (H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register data type")
+	HGOTO_ERROR (H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register datatype")
 
 done:
     if(ret_value<0) {
@@ -1458,13 +1458,6 @@
  * Programmer:	Robb Matzke
  *		Tuesday, February  3, 1998
  *
- * Modifications:
- *
- *              Raymond Lu
- *              Tuesday, October 2, 2001
- *              The way to retrieve and set property is changed for the
- *              generic property list.
- *
  *-------------------------------------------------------------------------
  */
 hid_t
@@ -1481,26 +1474,71 @@
     H5TRACE1("i","i",dset_id);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if (NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
-    if (NULL == (dcpl_plist = H5I_object(dset->shared->dcpl_id)))
+    if (NULL == (dcpl_plist = (H5P_genplist_t *)H5I_object(dset->shared->dcpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get property list")
 
     /* Copy the creation property list */
     if((new_dcpl_id = H5P_copy_plist(dcpl_plist)) < 0)
         HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to copy the creation property list")
-    if (NULL == (new_plist = H5I_object(new_dcpl_id)))
+    if (NULL == (new_plist = (H5P_genplist_t *)H5I_object(new_dcpl_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get property list")
 
     /* Get the fill value property */
     if(H5P_get(new_plist, H5D_CRT_FILL_VALUE_NAME, &copied_fill) < 0)
         HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get fill value")
 
-    /* Copy the dataset type into the fill value message */
-    if(copied_fill.type==NULL)
+    /* Check if there is a fill value, but no type yet */
+    if(copied_fill.buf != NULL && copied_fill.type == NULL) {
+        H5T_path_t *tpath;      /* Conversion information*/
+
+        /* Copy the dataset type into the fill value message */
         if(NULL==(copied_fill.type=H5T_copy(dset->shared->type, H5T_COPY_TRANSIENT)))
-            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to copy dataset data type for fill value")
+            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to copy dataset datatype for fill value")
 
+        /* Set up type conversion function */
+        if(NULL == (tpath = H5T_path_find(dset->shared->type, copied_fill.type, NULL, NULL, H5AC_ind_dxpl_id)))
+            HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dest data types")
+
+        /* Convert disk form of fill value into memory form */
+        if(!H5T_path_noop(tpath)) {
+            hid_t dst_id, src_id;       /* Source & destination datatypes for type conversion */
+            uint8_t *bkg_buf = NULL;    /* Background conversion buffer */
+            size_t bkg_size;            /* Size of background buffer */
+
+            /* Wrap copies of types to convert */
+            dst_id = H5I_register(H5I_DATATYPE, H5T_copy(copied_fill.type, H5T_COPY_TRANSIENT));
+            if(dst_id < 0)
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy/register datatype")
+            src_id = H5I_register(H5I_DATATYPE, H5T_copy(dset->shared->type, H5T_COPY_ALL));
+            if(src_id < 0) {
+                H5I_dec_ref(dst_id);
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy/register datatype")
+            } /* end if */
+
+            /* Allocate a background buffer */
+            bkg_size = MAX(H5T_get_size(copied_fill.type), H5T_get_size(dset->shared->type));
+            if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, bkg_size)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+            /* Convert fill value */
+            if(H5T_convert(tpath, src_id, dst_id, (size_t)1, (size_t)0, (size_t)0, copied_fill.buf, bkg_buf, H5AC_ind_dxpl_id) < 0) {
+                H5I_dec_ref(src_id);
+                H5I_dec_ref(dst_id);
+                if(bkg_buf)
+                    H5FL_BLK_FREE(type_conv, bkg_buf);
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "datatype conversion failed")
+            } /* end if */
+
+            /* Release local resources */
+            H5I_dec_ref(src_id);
+            H5I_dec_ref(dst_id);
+            if(bkg_buf)
+                H5FL_BLK_FREE(type_conv, bkg_buf);
+        } /* end if */
+    } /* end if */
+
     /* Set back the fill value property to property list */
     if(H5P_set(new_plist, H5D_CRT_FILL_VALUE_NAME, &copied_fill) < 0)
         HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to set property list fill value")
@@ -1530,8 +1568,6 @@
  * Programmer:	Robb Matzke
  *		Friday, January 30, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -1544,7 +1580,7 @@
     H5TRACE2("e","i*h",dset_id,size);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if (NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
     if (!size)
 	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no size specified")
@@ -1567,18 +1603,9 @@
  *
  *		Failure:	NULL
  *
- * Errors:
- *
  * Programmer:	Quincey Koziol
  *		Monday, October 12, 1998
  *
- * Modifications:
- *
- *              Raymond Lu
- *              Tuesday, October 2, 2001
- *              Changed the way to query and inialization for generic
- *              property list.
- *
  *-------------------------------------------------------------------------
  */
 static H5D_shared_t *
@@ -1609,7 +1636,7 @@
         HDmemset(new_dset,0,sizeof(H5D_shared_t));
 
         /* Get the property list */
-        if (NULL == (plist = H5I_object(dcpl_id)))
+        if (NULL == (plist = (H5P_genplist_t *)H5I_object(dcpl_id)))
             HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a property list")
 
         new_dset->dcpl_id = H5P_copy_plist(plist);
@@ -1640,13 +1667,9 @@
  * Return:	Success:    SUCCEED
  *		Failure:    FAIL
  *
- * Errors:
- *
  * Programmer:	Quincey Koziol
  *		Thursday, June 24, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1712,13 +1735,9 @@
  * Return:	Success:    SUCCEED
  *		Failure:    FAIL
  *
- * Errors:
- *
  * Programmer:	Bill Wendling
  *		Thursday, October 31, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1746,19 +1765,19 @@
     FUNC_ENTER_NOAPI(H5D_update_entry_info, FAIL)
 
     /* Sanity checking */
-    assert(file);
-    assert(dset);
+    HDassert(file);
+    HDassert(dset);
 
     /* Pick up former parameters */
     ent=&dset->ent;
-    layout=&dset->shared->layout;
-    type=dset->shared->type;
-    space=dset->shared->space;
-    alloc_time=dset->shared->alloc_time;
-    efl=&dset->shared->efl;
+    layout = &dset->shared->layout;
+    type = dset->shared->type;
+    space = dset->shared->space;
+    alloc_time = dset->shared->alloc_time;
+    efl = &dset->shared->efl;
 
     /* Add the dataset's raw data size to the size of the header, if the raw data will be stored as compact */
-    if (layout->type == H5D_COMPACT)
+    if(layout->type == H5D_COMPACT)
         ohdr_size += layout->u.compact.size;
 
     /* Create (open for write access) an object header */
@@ -1770,21 +1789,21 @@
         HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to protect dataset object header")
 
     /* Point at dataset's copy, to cache it for later */
-    fill_prop=&dset->shared->fill;
-    fill_time=dset->shared->fill_time;
+    fill_prop = &dset->shared->fill;
+    fill_time = dset->shared->fill_time;
 
     /* Check if dataset has non-default creation property list */
-    if(dset->shared->dcpl_id!=H5P_DATASET_CREATE_DEFAULT) {
+    if(dset->shared->dcpl_id != H5P_DATASET_CREATE_DEFAULT) {
         /*
          * Retrieve properties of fill value and others. Copy them into new fill
          * value struct.
          */
-        if (H5P_get(plist, H5D_CRT_FILL_TIME_NAME, &fill_time) < 0)
+        if(H5P_get(plist, H5D_CRT_FILL_TIME_NAME, &fill_time) < 0)
             HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve fill time")
         dset->shared->fill_time=fill_time;    /* Cache this for later */
 
         /* Get the fill value information from the property list */
-        if (H5P_get(plist, H5D_CRT_FILL_VALUE_NAME, fill_prop) < 0)
+        if(H5P_get(plist, H5D_CRT_FILL_VALUE_NAME, fill_prop) < 0)
             HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve fill value")
     } /* end if */
 
@@ -1818,7 +1837,8 @@
 	fill.fill_defined = TRUE;
     } else if (fill_status == H5D_FILL_VALUE_UNDEFINED) {
 	fill.size = -1;
- 	fill.type = fill.buf = NULL;
+ 	fill.type = NULL;
+ 	fill.buf = NULL;
  	fill.fill_defined = FALSE;
     } else
         HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to determine if fill value is defined")
@@ -1869,6 +1889,10 @@
             HGOTO_ERROR (H5E_DATASET, H5E_CANTINIT, FAIL, "unable to update filter header message")
     } /* end if */
 
+    /* Get the dataset's DCPL cache info */
+    if(H5D_get_dcpl_cache(dset->shared->dcpl_id, &dset->shared->dcpl_cache) < 0)
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill DCPL cache")
+
     /*
      * Allocate storage if space allocate time is early; otherwise delay
      * allocation until later.
@@ -1913,9 +1937,9 @@
 
 #ifdef H5O_ENABLE_BOGUS
     /*
-     * Add a "bogus" message.
+     * Add a "bogus" message (for error testing).
      */
-    if (H5O_bogus_oh(file, dxpl_id, oh))<0)
+    if(H5O_bogus_oh(file, dxpl_id, oh)) < 0)
         HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to update 'bogus' message")
 #endif /* H5O_ENABLE_BOGUS */
 
@@ -1952,50 +1976,9 @@
  *
  *		Failure:	NULL
  *
- * Errors:
- *		DATASET	  CANTINIT	Can't update dataset header.
- *		DATASET	  CANTINIT	Problem with the dataset name.
- *		DATASET	  CANTINIT	Fail in file space allocation for
- *					chunks
- *
  * Programmer:	Robb Matzke
  *		Thursday, December  4, 1997
  *
- * Modifications:
- *	Robb Matzke, 9 Jun 1998
- *	The data space message is no longer cached in the dataset struct.
- *
- * 	Robb Matzke, 27 Jul 1998
- *	Added the MTIME message to the dataset object header.
- *
- * 	Robb Matzke, 1999-10-14
- *	The names for the external file list are entered into the heap hear
- *	instead of when the efl message is encoded, preventing a possible
- *	infinite recursion situation.
- *
- *      Raymond Lu
- *      Tuesday, October 2, 2001
- *      Changed the way to retrieve and set property for generic property
- *      list.
- *
- *	Raymond Lu, 26 Feb 2002
- *	A new fill value message is added.  Two properties, space allocation
- *	time and fill value writing time, govern space allocation and fill
- *      value writing.
- *
- *      Bill Wendling, 1. November 2002
- *      Removed the cache updating mechanism. This was done so that it
- *      can be called separately from the H5D_create function. There were
- *      two of these mechanisms: one to create and insert into the parent
- *      group the H5G_entry_t object and the other to update based upon
- *      whether we're working with an external file or not. Between the
- *      two, there is a conditional call to allocate space which isn't
- *      part of updating the cache.
- *
- *      Nat Furrer and James Laird
- *      June 7, 2004
- *      Added checked_filters flag
- *
  *-------------------------------------------------------------------------
  */
 static H5D_t *
@@ -2016,15 +1999,15 @@
     FUNC_ENTER_NOAPI(H5D_create, NULL)
 
     /* check args */
-    assert (loc);
-    assert (name && *name);
-    assert (H5I_DATATYPE==H5I_get_type(type_id));
-    assert (space);
-    assert (H5I_GENPROP_LST==H5I_get_type(dcpl_id));
-    assert (H5I_GENPROP_LST==H5I_get_type(dxpl_id));
+    HDassert(loc);
+    HDassert(name && *name);
+    HDassert(H5I_DATATYPE==H5I_get_type(type_id));
+    HDassert(space);
+    HDassert(H5I_GENPROP_LST==H5I_get_type(dcpl_id));
+    HDassert(H5I_GENPROP_LST==H5I_get_type(dxpl_id));
 
     /* Get the dataset's datatype */
-    if (NULL == (type = H5I_object(type_id)))
+    if (NULL == (type = (H5T_t *)H5I_object(type_id)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a datatype")
 
     /* Check if the datatype is "sensible" for use in a dataset */
@@ -2050,7 +2033,7 @@
         HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
 
     /* What file is the dataset being added to? */
-    if(NULL==(file=H5G_insertion_file(loc, name, dxpl_id)))
+    if(NULL == (file = H5G_insertion_file(loc, name, dxpl_id)))
         HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to locate insertion point")
 
     /* Copy datatype for dataset */
@@ -2083,7 +2066,7 @@
         H5D_alloc_time_t alloc_time;    /* Dataset's allocation time */
 
         /* Get new dataset's property list object */
-        if (NULL == (dc_plist = H5I_object(new_dset->shared->dcpl_id)))
+        if (NULL == (dc_plist = (H5P_genplist_t *)H5I_object(new_dset->shared->dcpl_id)))
             HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "can't get dataset creation property list")
 
         if(H5P_get(dc_plist, H5D_CRT_DATA_PIPELINE_NAME, &dcpl_pline) < 0)
@@ -2183,7 +2166,7 @@
                 H5_ASSIGN_OVERFLOW(new_dset->shared->layout.u.contig.size,tmp_size,hssize_t,hsize_t);
 
                 /* Get the sieve buffer size for this dataset */
-                new_dset->shared->cache.contig.sieve_buf_size = H5F_SIEVE_BUF_SIZE(loc->file);
+                new_dset->shared->cache.contig.sieve_buf_size = H5F_SIEVE_BUF_SIZE(file);
             } /* end case */
             break;
 
@@ -2273,10 +2256,6 @@
     if (H5D_update_entry_info(file, dxpl_id, new_dset, dc_plist) != SUCCEED)
         HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't update the metadata cache")
 
-    /* Get the dataset's DCPL cache info */
-    if (H5D_get_dcpl_cache(new_dset->shared->dcpl_id,&new_dset->shared->dcpl_cache)<0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, NULL, "can't fill DCPL cache")
-
     /*
      * Give the dataset a name.  That is, create and add a new object to the
      * group this dataset is being initially created in.
@@ -2290,24 +2269,24 @@
     if(H5FO_insert(new_dset->ent.file,new_dset->ent.header,new_dset->shared)<0)
         HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, NULL, "can't insert dataset into list of open objects")
 
-    new_dset->shared->fo_count=1;
+    new_dset->shared->fo_count = 1;
 
     /* Success */
     ret_value = new_dset;
 
 done:
-    if (!ret_value && new_dset && new_dset->shared) {
-        if( new_dset->shared) {
-            if(new_dset->shared->layout.type==H5D_CHUNKED && chunk_init) {
-                if(H5D_istore_dest(new_dset,H5AC_dxpl_id)<0)
+    if(!ret_value && new_dset && new_dset->shared) {
+        if(new_dset->shared) {
+            if(new_dset->shared->layout.type == H5D_CHUNKED && chunk_init) {
+                if(H5D_istore_dest(new_dset,H5AC_dxpl_id) < 0)
                     HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, NULL, "unable to destroy chunk cache")
             } /* end if */
-            if (new_dset->shared->space) {
-                if(H5S_close(new_dset->shared->space)<0)
+            if(new_dset->shared->space) {
+                if(H5S_close(new_dset->shared->space) < 0)
                     HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release dataspace")
             } /* end if */
-            if (new_dset->shared->type) {
-                if(H5I_dec_ref(new_dset->shared->type_id)<0)
+            if(new_dset->shared->type) {
+                if(H5I_dec_ref(new_dset->shared->type_id) < 0)
                     HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release datatype")
             } /* end if */
             if (H5F_addr_defined(new_dset->ent.header)) {
@@ -2318,11 +2297,11 @@
                         HDONE_ERROR(H5E_DATASET, H5E_CANTDELETE, NULL, "unable to delete object header")
                 } /* end if */
             } /* end if */
-            if(new_dset->shared->dcpl_id!=0) {
-                if(H5I_dec_ref(new_dset->shared->dcpl_id)<0)
+            if(new_dset->shared->dcpl_id != 0) {
+                if(H5I_dec_ref(new_dset->shared->dcpl_id) < 0)
                     HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, NULL, "unable to decrement ref count on property list")
             } /* end if */
-            H5FL_FREE(H5D_shared_t,new_dset->shared);
+            H5FL_FREE(H5D_shared_t, new_dset->shared);
         } /* end if */
         new_dset->ent.file = NULL;
         H5FL_FREE(H5D_t, new_dset);
@@ -2347,8 +2326,6 @@
  * Programmer:	Robb Matzke
  *              Monday, November  2, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 htri_t
@@ -2391,34 +2368,38 @@
  * Return:	Success:	Dataset ID
  *		Failure:	FAIL
  *
- * Errors:
- *
  * Programmer:	Quincey Koziol
  *		Friday, December 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 H5D_t*
 H5D_open(const H5G_entry_t *ent, hid_t dxpl_id)
 {
-    H5D_shared_t    *shared_fo=NULL;
-    H5D_t           *dataset=NULL;
+    H5D_shared_t    *shared_fo = NULL;
+    H5D_t           *dataset = NULL;
     H5D_t           *ret_value;              /* Return value */
 
     FUNC_ENTER_NOAPI(H5D_open, NULL)
 
     /* check args */
-    assert (ent);
+    HDassert(ent);
 
+    /* Allocate the dataset structure */
+    if(NULL == (dataset = H5FL_CALLOC(H5D_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+
+    /* Shallow copy (take ownership) of the group entry object */
+    if(H5G_ent_copy(&(dataset->ent), ent, H5_COPY_SHALLOW) < 0)
+        HGOTO_ERROR (H5E_DATASET, H5E_CANTCOPY, NULL, "can't copy group entry")
+
     /* Check if dataset was already open */
-    if((shared_fo=H5FO_opened(ent->file,ent->header))==NULL) {
+    if((shared_fo = (H5D_shared_t *)H5FO_opened(dataset->ent.file, dataset->ent.header))==NULL) {
         /* Clear any errors from H5FO_opened() */
         H5E_clear();
 
         /* Open the dataset object */
-        if ((dataset=H5D_open_oid(ent, dxpl_id)) ==NULL)
+        if(H5D_open_oid(dataset, dxpl_id) < 0)
             HGOTO_ERROR(H5E_DATASET, H5E_NOTFOUND, NULL, "not found")
 
         /* Add the dataset to the list of opened objects in the file */
@@ -2429,18 +2410,14 @@
         if(H5FO_top_incr(dataset->ent.file, dataset->ent.header) < 0)
             HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment object count")
 
+        /* We're the first dataset to use the the shared info */
         dataset->shared->fo_count = 1;
     } /* end if */
     else {
-        if(NULL == (dataset = H5FL_CALLOC(H5D_t)))
-            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "can't allocate space for dataset")
+        /* Point to shared info */
+        dataset->shared = shared_fo;
 
-        /* Shallow copy (take ownership) of the group entry object */
-        if(H5G_ent_copy(&(dataset->ent),ent,H5G_COPY_SHALLOW)<0)
-            HGOTO_ERROR (H5E_DATASET, H5E_CANTCOPY, NULL, "can't copy group entry")
-
-        dataset->shared=shared_fo;
-
+        /* Increment # of datasets using shared information */
         shared_fo->fo_count++;
 
         /* Check if the object has been opened through the top file yet */
@@ -2458,9 +2435,9 @@
     ret_value = dataset;
 
 done:
-    if(ret_value==NULL) {
+    if(ret_value == NULL) {
         if(dataset) {
-            if(shared_fo==NULL)   /* Need to free shared fo */
+            if(shared_fo == NULL)   /* Need to free shared fo */
                 H5FL_FREE(H5D_shared_t, dataset->shared);
             H5FL_FREE(H5D_t, dataset);
         }
@@ -2469,7 +2446,7 @@
     } /* end if */
 
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5D_open() */
 
 
 /*-------------------------------------------------------------------------
@@ -2479,79 +2456,55 @@
  *
  * Return:	Dataset pointer on success, NULL on failure
  *
- * Errors:
- *
  * Programmer:	Quincey Koziol
  *		Monday, October 12, 1998
  *
- * Modifications:
- *
- *              Raymond Lu
- *              Tuesday, October 2, 2001
- *              Changed the way to set property for generic property list.
- *
- *		Raymond Lu
- *		Feb 26, 2002
- *		A new fill value message and two new properties are added.
- *
- *              Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *              Added a deep copy of the symbol table entry
- *
  *-------------------------------------------------------------------------
  */
-static H5D_t *
-H5D_open_oid(const H5G_entry_t *ent, hid_t dxpl_id)
+static herr_t
+H5D_open_oid(H5D_t *dataset, hid_t dxpl_id)
 {
-    H5D_t 	*dataset = NULL;	/*new dataset struct 		*/
     H5O_fill_new_t  fill = {NULL, 0, NULL, H5D_ALLOC_TIME_LATE, H5D_CRT_FILL_TIME_DEF, TRUE};
     unsigned    alloc_time_state;       /* Allocation time state */
     H5O_fill_t     *fill_prop;          /* Pointer to dataset's fill value area */
     H5O_pline_t  pline;                 /* I/O pipeline information */
     H5P_genplist_t *plist;              /* Property list */
-    H5D_t 	*ret_value = NULL;	/*return value			*/
+    herr_t ret_value = SUCCEED;		/* Return value			*/
 
-    FUNC_ENTER_NOAPI(H5D_open_oid, NULL)
+    FUNC_ENTER_NOAPI(H5D_open_oid, FAIL)
 
     /* check args */
-    assert (ent);
+    HDassert(dataset);
 
-    /* Allocate the dataset structure */
-    if(NULL==(dataset=H5FL_CALLOC(H5D_t)))
-        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
-
     /* (Set the 'vl_type' parameter to FALSE since it doesn't matter from here) */
     if(NULL==(dataset->shared = H5D_new(H5P_DATASET_CREATE_DEFAULT,FALSE,FALSE)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
-    /* Shallow copy (take ownership) of the group entry object */
-    if(H5G_ent_copy(&(dataset->ent),ent,H5G_COPY_SHALLOW)<0)
-        HGOTO_ERROR (H5E_DATASET, H5E_CANTCOPY, NULL, "can't copy group entry")
+    /* Open the dataset object */
+    if(H5O_open(&(dataset->ent)) < 0)
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "unable to open")
 
-    /* Find the dataset object */
-    if (H5O_open(&(dataset->ent)) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, NULL, "unable to open")
-
     /* Get the type and space */
-    if (NULL==(dataset->shared->type=H5O_read(&(dataset->ent), H5O_DTYPE_ID, 0, NULL, dxpl_id)))
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to load type info from dataset header")
+    if (NULL==(dataset->shared->type=(H5T_t *)H5O_read(&(dataset->ent), H5O_DTYPE_ID, 0, NULL, dxpl_id)))
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load type info from dataset header")
     /* Get a datatype ID for the dataset's datatype */
     if((dataset->shared->type_id = H5I_register(H5I_DATATYPE, dataset->shared->type))<0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, NULL, "unable to register type")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register type")
 
     if (NULL==(dataset->shared->space=H5S_read(&(dataset->ent),dxpl_id)))
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to load space info from dataset header")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load space info from dataset header")
 
     /* Get dataset creation property list object */
-    if (NULL == (plist = H5I_object(dataset->shared->dcpl_id)))
-        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "can't get dataset creation property list")
+    if(NULL == (plist = (H5P_genplist_t *)H5I_object(dataset->shared->dcpl_id)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get dataset creation property list")
 
     /* Get the optional filters message */
     if(NULL == H5O_read(&(dataset->ent), H5O_PLINE_ID, 0, &pline, dxpl_id)) {
         H5E_clear();
         HDmemset(&pline, 0, sizeof(pline));
-    }
+    } /* end if */
     if(H5P_set(plist, H5D_CRT_DATA_PIPELINE_NAME, &pline) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set pipeline")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set pipeline")
 
     /*
      * Get the raw data layout info.  It's actually stored in two locations:
@@ -2560,9 +2513,9 @@
      * them.
      */
     if (NULL==H5O_read(&(dataset->ent), H5O_LAYOUT_ID, 0, &(dataset->shared->layout), dxpl_id))
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to read data layout message")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to read data layout message")
     if(H5P_set(plist, H5D_CRT_LAYOUT_NAME, &dataset->shared->layout.type) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set layout")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout")
     switch (dataset->shared->layout.type) {
         case H5D_CONTIGUOUS:
             /* Compute the size of the contiguous storage for versions of the
@@ -2589,7 +2542,7 @@
             /*
              * Chunked storage.  The creation plist's dimension is one less than
              * the chunk dimension because the chunk includes a dimension for the
-             * individual bytes of the data type.
+             * individual bytes of the datatype.
              */
             {
                 unsigned     chunk_ndims;           /* Dimensionality of chunk */
@@ -2597,13 +2550,13 @@
                 chunk_ndims  = dataset->shared->layout.u.chunk.ndims - 1;
 
                 if(H5P_set(plist, H5D_CRT_CHUNK_DIM_NAME, &chunk_ndims) < 0)
-                     HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set chunk dimensions")
+                     HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set chunk dimensions")
                 if(H5P_set(plist, H5D_CRT_CHUNK_SIZE_NAME, dataset->shared->layout.u.chunk.dim) < 0)
-                     HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set chunk size")
+                     HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set chunk size")
 
                 /* Initialize the chunk cache for the dataset */
                 if(H5D_istore_init(dataset->ent.file,dataset)<0)
-                    HGOTO_ERROR (H5E_DATASET, H5E_CANTINIT, NULL, "can't initialize chunk cache")
+                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize chunk cache")
             }
 
             /* Set the I/O functions for this layout type */
@@ -2618,7 +2571,7 @@
             break;
 
         default:
-            HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, NULL, "not implemented yet")
+            HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "not implemented yet")
     } /* end switch */ /*lint !e788 All appropriate cases are covered */
 
     /* Point at dataset's copy, to cache it for later */
@@ -2626,9 +2579,9 @@
 
     /* Retrieve & release the previous fill-value settings */
     if(H5P_get(plist, H5D_CRT_FILL_VALUE_NAME, fill_prop) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't get fill value")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't get fill value")
     if(H5O_reset(H5O_FILL_ID, fill_prop)<0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, NULL, "can't release fill info")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "can't release fill info")
 
     /* Get the new fill value message */
     if(NULL == H5O_read(&(dataset->ent), H5O_FILL_NEW_ID, 0, &fill, dxpl_id)) {
@@ -2650,7 +2603,7 @@
                 break;
 
             default:
-                HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, NULL, "not implemented yet")
+                HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "not implemented yet")
         } /* end switch */ /*lint !e788 All appropriate cases are covered */
 
         /* Set the default fill time */
@@ -2658,18 +2611,19 @@
     } /* end if */
     if(fill.fill_defined) {
         if(NULL==H5O_copy(H5O_FILL_ID, &fill, fill_prop))
-            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't copy fill value")
+            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't copy fill value")
     } else {
 	/* For compatibility with v1.4.  Retrieve the old fill value message.
  	 * If size is 0, make it -1 for undefined. */
         if(NULL == H5O_read(&(dataset->ent), H5O_FILL_ID, 0, fill_prop, dxpl_id)) {
             H5E_clear();
             HDmemset(fill_prop, 0, sizeof(H5O_fill_t));
-        }
+        } /* end if */
         if(fill_prop->size == 0) {
-	    fill_prop->type = fill_prop->buf = NULL;
+	    fill_prop->type = NULL;
+	    fill_prop->buf = NULL;
 	    fill_prop->size = (size_t)-1;
-	}
+	} /* end if */
     } /* end else */
     alloc_time_state=0;
     if( (dataset->shared->layout.type==H5D_COMPACT && fill.alloc_time==H5D_ALLOC_TIME_EARLY)
@@ -2679,15 +2633,15 @@
 
     /* Set revised fill value properties */
     if(H5P_set(plist, H5D_CRT_FILL_VALUE_NAME, fill_prop) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set fill value")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set fill value")
     dataset->shared->alloc_time=fill.alloc_time;        /* Cache this for later */
     if(H5P_set(plist, H5D_CRT_ALLOC_TIME_NAME, &fill.alloc_time) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set allocation time")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set allocation time")
     if(H5P_set(plist, H5D_CRT_ALLOC_TIME_STATE_NAME, &alloc_time_state) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set allocation time state")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set allocation time state")
     dataset->shared->fill_time=fill.fill_time;          /* Cache this for later */
     if(H5P_set(plist, H5D_CRT_FILL_TIME_NAME, &fill.fill_time) < 0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set fill time")
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set fill time")
 
     /* Get the external file list message, which might not exist.  Space is
      * also undefined when space allocate time is H5D_ALLOC_TIME_LATE. */
@@ -2696,7 +2650,7 @@
         HDmemset(&dataset->shared->efl,0,sizeof(H5O_efl_t));
         if(NULL != H5O_read(&(dataset->ent), H5O_EFL_ID, 0, &dataset->shared->efl, dxpl_id)) {
             if(H5P_set(plist, H5D_CRT_EXT_FILE_LIST_NAME, &dataset->shared->efl) < 0)
-            	HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, NULL, "can't set external file list")
+            	HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set external file list")
 
             /* Override the I/O functions for this layout type */
             dataset->shared->io_ops.readvv=H5D_efl_readvv;
@@ -2704,6 +2658,10 @@
         } /* end if */
     } /* end if */
 
+    /* Get the dataset's DCPL cache info */
+    if(H5D_get_dcpl_cache(dataset->shared->dcpl_id, &dataset->shared->dcpl_cache) < 0)
+        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill DCPL cache")
+
     /*
      * Make sure all storage is properly initialized.
      * This is important only for parallel I/O where the space must
@@ -2714,36 +2672,27 @@
                 || (dataset->shared->layout.type==H5D_CHUNKED && !H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))
             && IS_H5FD_MPI(dataset->ent.file)) {
         if (H5D_alloc_storage(dataset->ent.file, dxpl_id, dataset,H5D_ALLOC_OPEN, TRUE, FALSE)<0)
-            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to initialize file storage")
-    }
+            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize file storage")
+    } /* end if */
 
-    /* Get the dataset's DCPL cache info */
-    if (H5D_get_dcpl_cache(dataset->shared->dcpl_id,&dataset->shared->dcpl_cache)<0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, NULL, "can't fill DCPL cache")
-
-    /* Success */
-    ret_value = dataset;
-
 done:
     /* Release fill value information */
-    if (H5O_reset(H5O_FILL_ID, &fill) <0)
-        HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, NULL, "unable to release fill-value info")
+    if(H5O_reset(H5O_FILL_ID, &fill) < 0)
+        HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to release fill-value info")
 
-    if (ret_value==NULL && dataset) {
-        if (H5F_addr_defined(dataset->ent.header)) {
+    if(ret_value < 0 && dataset) {
+        if(H5F_addr_defined(dataset->ent.header)) {
             if(H5O_close(&(dataset->ent))<0)
-                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release object header")
+                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header")
         } /* end if */
-        if (dataset->shared->space) {
-            if(H5S_close(dataset->shared->space)<0)
-                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release dataspace")
+        if(dataset->shared->space) {
+            if(H5S_close(dataset->shared->space) < 0)
+                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace")
         } /* end if */
-        if (dataset->shared->type) {
-            if(H5I_dec_ref(dataset->shared->type_id)<0)
-                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release datatype")
+        if(dataset->shared->type) {
+            if(H5I_dec_ref(dataset->shared->type_id) < 0)
+                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype")
         } /* end if */
-        dataset->ent.file = NULL;
-        H5FL_FREE(H5D_t,dataset);
     } /* end if */
     FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5D_open_oid() */
@@ -2758,17 +2707,9 @@
  *
  * Return:	Non-negative on success/Negative on failure
  *
- * Errors:
- *		DATASET	  CANTINIT	Couldn't free the type or space,
- *					but the dataset was freed anyway.
- *
  * Programmer:	Robb Matzke
  *		Thursday, December  4, 1997
  *
- * Modifications:
- *	Robb Matzke, 9 Jun 1998
- *	The data space message is no longer cached in the dataset struct.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -2855,7 +2796,7 @@
         /* Close the dataset object */
         /* (This closes the file, if this is the last object open) */
         if(H5O_close(&(dataset->ent))<0)
-            HGOTO_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header");
+            HGOTO_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header")
 
         /*
         * Free memory.  Before freeing the memory set the file pointer to NULL.
@@ -2877,11 +2818,11 @@
         if(H5FO_top_count(dataset->ent.file, dataset->ent.header) == 0)
             if(H5O_close(&(dataset->ent)) < 0)
                 HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to close")
-
-       if(H5G_free_ent_name(&dataset->ent)<0)
-           free_failed=TRUE;
     } /* end else */
 
+   if(H5G_name_free(&dataset->ent)<0)
+       free_failed=TRUE;
+
     H5FL_FREE(H5D_t,dataset);
 
     if (free_failed)
@@ -2902,16 +2843,6 @@
  * Programmer:	Robb Matzke
  *		Friday, January 30, 1998
  *
- * Modifications:
- *
- *              Raymond Lu
- *              Tuesday, October 2, 2001
- *              Changed the way to retrieve property for generic property
- *              list.
- *
- *              Nat Furrer and James Laird
- *              June 17, 2004
- *              Added check for filter encode capability
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -2936,12 +2867,12 @@
     if(! dataset->shared->checked_filters)
     {
         if(H5P_is_fill_value_defined(&(dataset->shared->fill), &fill_status) < 0)
-            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Couldn't retrieve fill value from dataset.");
+            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Couldn't retrieve fill value from dataset.")
 
         if(fill_status == H5D_FILL_VALUE_DEFAULT || fill_status == H5D_FILL_VALUE_USER_DEFINED)
         {
             if( H5Pget_fill_time(dataset->shared->dcpl_id, &fill_time) < 0)
-                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Couldn't retrieve fill time from dataset.");
+                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Couldn't retrieve fill time from dataset.")
 
             if(fill_time == H5D_FILL_TIME_ALLOC ||
                     (fill_time == H5D_FILL_TIME_IFSET && fill_status == H5D_FILL_VALUE_USER_DEFINED) )
@@ -2968,8 +2899,8 @@
 
     if (changed>0){
 	/* Save the new dataspace in the file if necessary */
-	if (H5S_modify (&(dataset->ent), space, TRUE, dxpl_id)<0)
-	    HGOTO_ERROR (H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update file with new dataspace")
+	if(H5S_modify (&(dataset->ent), space, TRUE, dxpl_id)<0)
+	    HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update file with new dataspace")
 
         /* Update the index values for the cached chunks for this dataset */
         if(H5D_CHUNKED == dataset->shared->layout.type)
@@ -2977,7 +2908,7 @@
                 HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update cached chunk indices")
 
 	/* Allocate space for the new parts of the dataset, if appropriate */
-        if(dataset->shared->alloc_time==H5D_ALLOC_TIME_EARLY)
+        if(dataset->shared->alloc_time == H5D_ALLOC_TIME_EARLY)
             if (H5D_alloc_storage(dataset->ent.file, dxpl_id, dataset, H5D_ALLOC_EXTEND, TRUE, FALSE)<0)
                 HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize dataset with fill value")
     } /* end if */
@@ -2993,14 +2924,11 @@
  * Purpose:	Returns a pointer to the entry for a dataset.
  *
  * Return:	Success:	Ptr to entry
- *
  *		Failure:	NULL
  *
  * Programmer:	Robb Matzke
  *              Friday, April 24, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 H5G_entry_t *
@@ -3016,18 +2944,16 @@
 /*-------------------------------------------------------------------------
  * Function:	H5D_typeof
  *
- * Purpose:	Returns a pointer to the dataset's data type.  The data type
+ * Purpose:	Returns a pointer to the dataset's datatype.  The datatype
  *		is not copied.
  *
- * Return:	Success:	Ptr to the dataset's data type, uncopied.
+ * Return:	Success:	Ptr to the dataset's datatype, uncopied.
  *
  *		Failure:	NULL
  *
  * Programmer:	Robb Matzke
  *              Thursday, June  4, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 H5T_t *
@@ -3055,8 +2981,6 @@
  * Programmer:        Quincey Koziol
  *              Thursday, October 22, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static H5F_t *
@@ -3065,11 +2989,11 @@
     /* Use FUNC_ENTER_NOAPI_NOINIT_NOFUNC here to avoid performance issues */
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_get_file)
 
-    assert (dset);
-    assert (dset->ent.file);
+    HDassert(dset);
+    HDassert(dset->ent.file);
 
     FUNC_LEAVE_NOAPI(dset->ent.file)
-}
+} /* end H5D_get_file() */
 
 
 /*-------------------------------------------------------------------------
@@ -3082,12 +3006,6 @@
  * Programmer:	Robb Matzke
  *              Friday, January 16, 1998
  *
- * Modifications:
- *              Quincey Koziol
- *              Thursday, August 22, 2002
- *              Moved here from H5F_arr_create and moved more logic into
- *              this function from places where it was being called.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3157,6 +3075,8 @@
                     assert(layout->u.compact.size>0);
                     if (NULL==(layout->u.compact.buf=H5MM_malloc(layout->u.compact.size)))
                         HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate memory for compact dataset")
+                    if(!full_overwrite)
+                        HDmemset(layout->u.compact.buf, 0, layout->u.compact.size);
                     layout->u.compact.dirty = TRUE;
 
                     /* Indicate that we set the storage addr */
@@ -3211,9 +3131,9 @@
         /* Also update header message for layout with new address, if we
          * set the address.  (this is improves forward compatibility).
          */
-        if(time_alloc!=H5D_ALLOC_CREATE && addr_set)
-            if (H5O_modify (&(dset->ent), H5O_LAYOUT_ID, 0, H5O_FLAG_CONSTANT, update_time, &(dset->shared->layout), dxpl_id) < 0)
-                HGOTO_ERROR (H5E_DATASET, H5E_CANTINIT, FAIL, "unable to update layout message")
+        if(time_alloc != H5D_ALLOC_CREATE && addr_set)
+            if(H5O_modify(&(dset->ent), H5O_LAYOUT_ID, 0, H5O_FLAG_CONSTANT, update_time, &(dset->shared->layout), dxpl_id) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to update layout message")
     } /* end if */
 
 done:
@@ -3233,13 +3153,6 @@
  * Programmer:	Robb Matzke
  *              Monday, October  5, 1998
  *
- * Modifications:
- *
- *              Raymond Lu
- *              Tuesday, October 2, 2001
- *              Changed the way to retrieve property for generic property
- *              list.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -3249,38 +3162,22 @@
 
     FUNC_ENTER_NOAPI_NOINIT(H5D_init_storage)
 
-    assert(dset);
+    HDassert(dset);
 
     switch (dset->shared->layout.type) {
         case H5D_COMPACT:
-            {
-                hssize_t            snpoints;       /* Number of points in space (for error checking) */
-                size_t              npoints;        /* Number of points in space */
-
-                /* Get the number of elements in the dataset's dataspace */
-                snpoints = H5S_GET_EXTENT_NPOINTS(dset->shared->space);
-                assert(snpoints>=0);
-                H5_ASSIGN_OVERFLOW(npoints,snpoints,hssize_t,size_t);
-
-                /* If we will be immediately overwriting the values, don't bother to clear them */
-                if(!full_overwrite) {
-                    /* If the fill value is defined, initialize the data buffer with it */
-                    if(dset->shared->fill.buf)
-                        /* Initialize the cached data buffer with the fill value */
-                        H5V_array_fill(dset->shared->layout.u.compact.buf, dset->shared->fill.buf, dset->shared->fill.size, npoints);
-                    else /* If the fill value is default, zero set data buf. */
-                        HDmemset(dset->shared->layout.u.compact.buf, 0, dset->shared->layout.u.compact.size);
-                } /* end if */
-            }
+            /* If we will be immediately overwriting the values, don't bother to clear them */
+            if(!full_overwrite)
+                if(H5D_compact_fill(dset, dxpl_id) < 0)
+                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize compact dataset storage")
             break;
 
         case H5D_CONTIGUOUS:
             /* Don't write default fill values to external files */
             /* If we will be immediately overwriting the values, don't bother to clear them */
-            if((dset->shared->efl.nused==0 || dset->shared->fill.buf) && !full_overwrite) {
-                if (H5D_contig_fill(dset, dxpl_id)<0)
-                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to allocate all chunks of dataset")
-            } /* end if */
+            if((dset->shared->efl.nused == 0 || dset->shared->fill.buf) && !full_overwrite)
+                if(H5D_contig_fill(dset, dxpl_id) < 0)
+                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize contiguous dataset storage")
             break;
 
         case H5D_CHUNKED:
@@ -3288,7 +3185,7 @@
              * Allocate file space
              * for all chunks now and initialize each chunk with the fill value.
              */
-            if (H5D_istore_allocate(dset, dxpl_id, full_overwrite)<0)
+            if(H5D_istore_allocate(dset, dxpl_id, full_overwrite) < 0)
                 HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to allocate all chunks of dataset")
             break;
 
@@ -3320,8 +3217,6 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 21, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 hsize_t
@@ -3334,7 +3229,7 @@
     H5TRACE1("h","i",dset_id);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if (NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a dataset")
 
     /* Set return value */
@@ -3358,8 +3253,6 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 21, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static hsize_t
@@ -3410,8 +3303,6 @@
  * Programmer:  Raymond Lu
  *              November 6, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 haddr_t
@@ -3424,7 +3315,7 @@
     H5TRACE1("a","i",dset_id);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if (NULL==(dset=(H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, HADDR_UNDEF, "not a dataset")
 
     /* Set return value */
@@ -3448,8 +3339,6 @@
  * Programmer:  Raymond Lu
  *              November 6, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static haddr_t
@@ -3551,8 +3440,6 @@
  * Programmer:	Quincey Koziol
  *              Friday, June 11, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3566,18 +3453,18 @@
     H5TRACE5("e","xiixx",buf,type_id,space_id,op,operator_data);
 
     /* Check args */
-    if (NULL==op)
+    if(NULL==op)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid operator")
-    if (buf==NULL)
+    if(buf==NULL)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid buffer")
-    if (H5I_DATATYPE != H5I_get_type(type_id))
+    if(H5I_DATATYPE != H5I_get_type(type_id))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid datatype")
-    if (NULL == (space = H5I_object_verify(space_id, H5I_DATASPACE)))
+    if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace")
-    if( !(H5S_has_extent(space)) )
+    if(!(H5S_has_extent(space)) )
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dataspace does not have extent set")
 
-    ret_value=H5S_select_iterate(buf,type_id,space,op,operator_data);
+    ret_value = H5D_iterate(buf, type_id, space, op, operator_data);
 
 done:
     FUNC_LEAVE_API(ret_value)
@@ -3585,6 +3472,41 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	H5D_iterate
+ *
+ * Purpose:	Internal version of H5Diterate()
+ *
+ * Return:	Returns the return value of the last operator if it was non-zero,
+ *          or zero if all elements were processed. Otherwise returns a
+ *          negative value.
+ *
+ * Programmer:	Quincey Koziol
+ *              Tuesday, November 22, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5D_iterate(void *buf, hid_t type_id, H5S_t *space, H5D_operator_t op,
+        void *operator_data)
+{
+    herr_t ret_value;
+
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_iterate)
+
+    /* Check args */
+    HDassert(buf);
+    HDassert(H5I_DATATYPE == H5I_get_type(type_id));
+    HDassert(space);
+    HDassert(H5S_has_extent(space));
+    HDassert(op);
+
+    ret_value = H5S_select_iterate(buf, type_id, space, op, operator_data);
+
+    FUNC_LEAVE_NOAPI(ret_value)
+}   /* end H5D_iterate() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	H5Dvlen_reclaim
  *
  * Purpose:	Frees the buffers allocated for storing variable-length data
@@ -3597,42 +3519,80 @@
  * Programmer:	Quincey Koziol
  *              Thursday, June 10, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf)
 {
-    H5T_vlen_alloc_info_t _vl_alloc_info;       /* VL allocation info buffer */
-    H5T_vlen_alloc_info_t *vl_alloc_info=&_vl_alloc_info;   /* VL allocation info */
+    H5S_t		   *space = NULL;
     herr_t ret_value;
 
     FUNC_ENTER_API(H5Dvlen_reclaim, FAIL)
     H5TRACE4("e","iiix",type_id,space_id,plist_id,buf);
 
     /* Check args */
-    if (H5I_DATATYPE!=H5I_get_type(type_id) || H5I_DATASPACE!=H5I_get_type(space_id) ||
-            buf==NULL)
+    if (H5I_DATATYPE != H5I_get_type(type_id) || buf == NULL)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid argument")
+    if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace")
+    if(!(H5S_has_extent(space)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dataspace does not have extent set")
 
     /* Get the default dataset transfer property list if the user didn't provide one */
-    if (H5P_DEFAULT == plist_id)
-        plist_id= H5P_DATASET_XFER_DEFAULT;
+    if(H5P_DEFAULT == plist_id)
+        plist_id = H5P_DATASET_XFER_DEFAULT;
     else
-        if (TRUE!=H5P_isa_class(plist_id,H5P_DATASET_XFER))
+        if(TRUE != H5P_isa_class(plist_id, H5P_DATASET_XFER))
             HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not xfer parms")
 
+    /* Call internal routine */
+    ret_value = H5D_vlen_reclaim(type_id, space, plist_id, buf);
+
+done:
+    FUNC_LEAVE_API(ret_value)
+}   /* end H5Dvlen_reclaim() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5D_vlen_reclaim
+ *
+ * Purpose:	Frees the buffers allocated for storing variable-length data
+ *      in memory.  Only frees the VL data in the selection defined in the
+ *      dataspace.  The dataset transfer property list is required to find the
+ *      correct allocation/free methods for the VL data in the buffer.
+ *
+ * Return:	Non-negative on success, negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *              Tuesday, November 22, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5D_vlen_reclaim(hid_t type_id, H5S_t *space, hid_t plist_id, void *buf)
+{
+    H5T_vlen_alloc_info_t _vl_alloc_info;       /* VL allocation info buffer */
+    H5T_vlen_alloc_info_t *vl_alloc_info = &_vl_alloc_info;   /* VL allocation info */
+    herr_t ret_value;
+
+    FUNC_ENTER_NOAPI(H5D_vlen_reclaim, FAIL)
+
+    /* Check args */
+    HDassert(H5I_DATATYPE == H5I_get_type(type_id));
+    HDassert(space);
+    HDassert(H5P_isa_class(plist_id, H5P_DATASET_XFER));
+    HDassert(buf);
+
     /* Get the allocation info */
     if(H5T_vlen_get_alloc_info(plist_id,&vl_alloc_info)<0)
-        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to retrieve VL allocation info");
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to retrieve VL allocation info")
 
-    /* Call H5Diterate with args, etc. */
-    ret_value=H5Diterate(buf,type_id,space_id,H5T_vlen_reclaim,vl_alloc_info);
+    /* Call H5D_iterate with args, etc. */
+    ret_value = H5D_iterate(buf, type_id, space ,H5T_vlen_reclaim, vl_alloc_info);
 
 done:
-    FUNC_LEAVE_API(ret_value)
-}   /* end H5Dvlen_reclaim() */
+    FUNC_LEAVE_NOAPI(ret_value)
+}   /* end H5D_vlen_reclaim() */
 
 
 /*-------------------------------------------------------------------------
@@ -3648,8 +3608,6 @@
  * Programmer:	Quincey Koziol
  *              Tuesday, August 17, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static void *
@@ -3695,37 +3653,35 @@
  * Programmer:	Quincey Koziol
  *              Tuesday, August 17, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
 static herr_t
 H5D_vlen_get_buf_size(void UNUSED *elem, hid_t type_id, unsigned UNUSED ndim, const hsize_t *point, void *op_data)
 {
-    H5D_vlen_bufsize_t *vlen_bufsize=(H5D_vlen_bufsize_t *)op_data;
+    H5D_vlen_bufsize_t *vlen_bufsize = (H5D_vlen_bufsize_t *)op_data;
     H5T_t	*dt = NULL;
-    herr_t ret_value=0;         /* The correct return value, if this function succeeds */
+    herr_t ret_value = 0;         /* The correct return value, if this function succeeds */
 
     FUNC_ENTER_NOAPI(H5D_vlen_get_buf_size, FAIL)
 
-    assert(op_data);
-    assert(H5I_DATATYPE == H5I_get_type(type_id));
+    HDassert(op_data);
+    HDassert(H5I_DATATYPE == H5I_get_type(type_id));
 
     /* Check args */
-    if (NULL==(dt=H5I_object(type_id)))
-        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data type")
+    if(NULL == (dt = (H5T_t *)H5I_object(type_id)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
 
     /* Make certain there is enough fixed-length buffer available */
-    if ((vlen_bufsize->fl_tbuf=H5FL_BLK_REALLOC(vlen_fl_buf,vlen_bufsize->fl_tbuf,H5T_get_size(dt)))==NULL)
+    if((vlen_bufsize->fl_tbuf=H5FL_BLK_REALLOC(vlen_fl_buf, vlen_bufsize->fl_tbuf, H5T_get_size(dt))) == NULL)
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "can't resize tbuf")
 
     /* Select point to read in */
-    if (H5Sselect_elements(vlen_bufsize->fspace_id,H5S_SELECT_SET,1,(const hsize_t **)point)<0)
+    if(H5Sselect_elements(vlen_bufsize->fspace_id, H5S_SELECT_SET, 1, (const hsize_t **)point)<0)
         HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCREATE, FAIL, "can't select point")
 
     /* Read in the point (with the custom VL memory allocator) */
-    if(H5Dread(vlen_bufsize->dataset_id,type_id,vlen_bufsize->mspace_id,vlen_bufsize->fspace_id,vlen_bufsize->xfer_pid,vlen_bufsize->fl_tbuf)<0)
+    if(H5Dread(vlen_bufsize->dataset_id, type_id, vlen_bufsize->mspace_id, vlen_bufsize->fspace_id, vlen_bufsize->xfer_pid, vlen_bufsize->fl_tbuf)<0)
         HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read point")
 
 done:
@@ -3755,8 +3711,6 @@
  * Programmer:	Quincey Koziol
  *              Wednesday, August 11, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3765,6 +3719,7 @@
 {
     H5D_vlen_bufsize_t vlen_bufsize = {0, 0, 0, 0, 0, 0, 0};
     char bogus;         /* bogus value to pass to H5Diterate() */
+    H5S_t		   *space = NULL;
     H5P_genclass_t  *pclass;    /* Property class */
     H5P_genplist_t  *plist;     /* Property list */
     herr_t ret_value=FAIL;
@@ -3773,10 +3728,13 @@
     H5TRACE4("e","iii*h",dataset_id,type_id,space_id,size);
 
     /* Check args */
-    if (H5I_DATASET!=H5I_get_type(dataset_id) ||
-            H5I_DATATYPE!=H5I_get_type(type_id) ||
-            H5I_DATASPACE!=H5I_get_type(space_id) || size==NULL)
+    if(H5I_DATASET!=H5I_get_type(dataset_id) ||
+            H5I_DATATYPE!=H5I_get_type(type_id) || size==NULL)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid argument")
+    if(NULL == (space = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid dataspace")
+    if(!(H5S_has_extent(space)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dataspace does not have extent set")
 
     /* Save the dataset ID */
     vlen_bufsize.dataset_id=dataset_id;
@@ -3796,7 +3754,7 @@
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "no temporary buffers available")
 
     /* Get the pointer to the dataset transfer class */
-    if (NULL == (pclass = H5I_object(H5P_CLS_DATASET_XFER_g)))
+    if (NULL == (pclass = (H5P_genclass_t *)H5I_object(H5P_CLS_DATASET_XFER_g)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list class")
 
     /* Change to the custom memory allocation routines for reading VL data */
@@ -3804,7 +3762,7 @@
         HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "no dataset xfer plists available")
 
     /* Get the property list struct */
-    if (NULL == (plist = H5I_object(vlen_bufsize.xfer_pid)))
+    if (NULL == (plist = (H5P_genplist_t *)H5I_object(vlen_bufsize.xfer_pid)))
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset transfer property list")
 
     /* Set the memory manager to the special allocation routine */
@@ -3814,8 +3772,8 @@
     /* Set the initial number of bytes required */
     vlen_bufsize.size=0;
 
-    /* Call H5Diterate with args, etc. */
-    ret_value=H5Diterate(&bogus,type_id,space_id,H5D_vlen_get_buf_size,&vlen_bufsize);
+    /* Call H5D_iterate with args, etc. */
+    ret_value = H5D_iterate(&bogus, type_id, space, H5D_vlen_get_buf_size, &vlen_bufsize);
 
     /* Get the size if we succeeded */
     if(ret_value>=0)
@@ -3852,14 +3810,9 @@
  * Return: Success: SUCCEED, Failure: FAIL
  *
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *             Robb Matzke
  *
  * Date: April 9, 2002
  *
- * Comments: Public function, calls private H5D_set_extent
- *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3872,7 +3825,7 @@
     H5TRACE2("e","i*h",dset_id,size);
 
     /* Check args */
-    if(NULL == (dset = H5I_object_verify(dset_id, H5I_DATASET)))
+    if(NULL == (dset = (H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
     if(!size)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size specified")
@@ -3899,10 +3852,6 @@
  *
  * Date: April 9, 2002
  *
- * Comments: Private function
- *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -4016,8 +3965,6 @@
  *
  * Date:        August 14, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -4040,12 +3987,12 @@
     /* Check for something to do */
     if(num_dsets>0) {
         H5_CHECK_OVERFLOW(num_dsets,unsigned,size_t);
-        if(NULL==(id_list=H5MM_malloc((size_t)num_dsets*sizeof(hid_t))))
+        if(NULL==(id_list=(hid_t *)H5MM_malloc((size_t)num_dsets*sizeof(hid_t))))
             HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to allocate memory for ID list")
         if(H5F_get_obj_ids(f, H5F_OBJ_DATASET, -1, id_list) != num_dsets)
             HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to get dataset ID list")
         for(u = 0; u < num_dsets; u++) {
-            if(NULL==(dataset=H5I_object_verify(id_list[u], H5I_DATASET)))
+            if(NULL==(dataset=(H5D_t *)H5I_object_verify(id_list[u], H5I_DATASET)))
                 HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to get dataset object")
 
             /* Flush the raw data buffer, if we have a dirty one */
@@ -4110,30 +4057,28 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 28, 1999
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Ddebug(hid_t dset_id)
 {
-    H5D_t	*dset=NULL;
-    herr_t      ret_value=SUCCEED;      /* Return value */
+    H5D_t	*dset = NULL;
+    herr_t      ret_value = SUCCEED;      /* Return value */
 
     FUNC_ENTER_API(H5Ddebug, FAIL)
     H5TRACE1("e","i",dset_id);
 
     /* Check args */
-    if (NULL==(dset=H5I_object_verify(dset_id, H5I_DATASET)))
+    if(NULL == (dset = (H5D_t *)H5I_object_verify(dset_id, H5I_DATASET)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
 
     /* Print B-tree information */
-    if (H5D_CHUNKED==dset->shared->layout.type) {
+    if(H5D_CHUNKED == dset->shared->layout.type)
 	(void)H5D_istore_dump_btree(dset->ent.file, H5AC_dxpl_id, stdout, dset->shared->layout.u.chunk.ndims, dset->shared->layout.u.chunk.addr);
-    } else if (H5D_CONTIGUOUS==dset->shared->layout.type) {
+    else if(H5D_CONTIGUOUS == dset->shared->layout.type)
 	HDfprintf(stdout, "    %-10s %a\n", "Address:", dset->shared->layout.u.contig.addr);
-    }
 
 done:
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Ddebug() */
+

Modified: packages/hdf5/trunk/src/H5Dcompact.c
===================================================================
--- packages/hdf5/trunk/src/H5Dcompact.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dcompact.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -28,11 +29,145 @@
 #include "H5Fprivate.h"		/* Files				*/
 #include "H5FDprivate.h"	/* File drivers				*/
 #include "H5FLprivate.h"	/* Free Lists                           */
+#include "H5Iprivate.h"		/* IDs			  		*/
 #include "H5Oprivate.h"		/* Object headers		  	*/
 #include "H5Vprivate.h"		/* Vector and array functions		*/
 
+/* Declare a free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(type_conv);
+
 
 /*-------------------------------------------------------------------------
+ * Function:	H5D_compact_fill
+ *
+ * Purpose:	Write fill values to a compactly stored dataset.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		May 6, 2007
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5D_compact_fill(H5D_t *dset, hid_t dxpl_id)
+{
+    herr_t	ret_value = SUCCEED;	/* Return value */
+
+    FUNC_ENTER_NOAPI(H5D_compact_fill, FAIL)
+
+    /* Check args */
+    HDassert(TRUE == H5P_isa_class(dxpl_id, H5P_DATASET_XFER));
+    HDassert(dset && H5D_COMPACT == dset->shared->layout.type);
+    HDassert(dset->shared->layout.u.compact.buf);
+    HDassert(dset->shared->type);
+    HDassert(dset->shared->space);
+
+    /* If the fill value is defined, initialize the data buffer with it */
+    if(dset->shared->fill.buf) {
+        hssize_t snpoints;      /* Number of points in space (for error checking) */
+        size_t npoints;         /* Number of points in space */
+
+        /* Get the number of elements in the dataset's dataspace */
+        snpoints = H5S_GET_EXTENT_NPOINTS(dset->shared->space);
+        HDassert(snpoints >= 0);
+        H5_ASSIGN_OVERFLOW(npoints, snpoints, hssize_t, size_t);
+
+        /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
+        if(H5T_detect_class(dset->shared->type, H5T_VLEN) > 0) {
+            H5T_path_t *tpath;      /* Datatype conversion path */
+            uint8_t *bkg_buf = NULL;    /* Background conversion buffer */
+            H5T_t *mem_type;            /* Pointer to memory datatype */
+            size_t mem_type_size, file_type_size;       /* Size of datatype in memory and on disk */
+            hid_t mem_tid;              /* Memory version of disk datatype */
+
+            /* Create temporary datatype for conversion operation */
+            if(NULL == (mem_type = H5T_copy(dset->shared->type, H5T_COPY_REOPEN)))
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy file datatype")
+            if((mem_tid = H5I_register(H5I_DATATYPE, mem_type)) < 0) {
+                H5T_close(mem_type);
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register memory datatype")
+            } /* end if */
+
+            /* Retrieve sizes of memory & file datatypes */
+            mem_type_size = H5T_get_size(mem_type);
+            HDassert(mem_type_size > 0);
+            file_type_size = H5T_get_size(dset->shared->type);
+            HDassert(file_type_size == dset->shared->fill.size);
+
+            /* Get the datatype conversion path for this operation */
+            if(NULL == (tpath = H5T_path_find(dset->shared->type, mem_type, NULL, NULL, dxpl_id))) {
+                H5I_dec_ref(mem_tid);
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to convert between src and dst datatypes")
+            } /* end if */
+
+            /* Allocate a background buffer, if necessary */
+            if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, (npoints * MAX(mem_type_size, file_type_size))))) {
+                H5I_dec_ref(mem_tid);
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+            } /* end if */
+
+            /* Make a copy of the (disk-based) fill value into the compact buffer */
+            HDmemcpy(dset->shared->layout.u.compact.buf, dset->shared->fill.buf, file_type_size);
+
+            /* Type convert the compact dataset buffer, to copy any VL components */
+            if(H5T_convert(tpath, dset->shared->type_id, mem_tid, (size_t)1, (size_t)0, (size_t)0, dset->shared->layout.u.compact.buf, bkg_buf, dxpl_id) < 0) {
+                if(bkg_buf)
+                    H5FL_BLK_FREE(type_conv, bkg_buf);
+                H5I_dec_ref(mem_tid);
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+            } /* end if */
+
+            /* Replicate the fill value into the cached buffer */
+            H5V_array_fill(dset->shared->layout.u.compact.buf, dset->shared->layout.u.compact.buf, mem_type_size, npoints);
+
+            /* Get the inverse datatype conversion path for this operation */
+            if(NULL == (tpath = H5T_path_find(mem_type, dset->shared->type, NULL, NULL, dxpl_id))) {
+                if(bkg_buf)
+                    H5FL_BLK_FREE(type_conv, bkg_buf);
+                H5I_dec_ref(mem_tid);
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to convert between src and dst datatypes")
+            } /* end if */
+
+            /* Allocate or reset the background buffer, if necessary */
+            if(H5T_path_bkg(tpath)) {
+                if(bkg_buf)
+                    HDmemset(bkg_buf, 0, MAX(mem_type_size, file_type_size));
+                else {
+                    if(NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, (npoints * MAX(mem_type_size, file_type_size))))) {
+                        H5I_dec_ref(mem_tid);
+                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+                    } /* end if */
+                } /* end else */
+            } /* end if */
+
+            /* Type convert the compact dataset buffer, to copy any VL components */
+            if(H5T_convert(tpath, mem_tid, dset->shared->type_id, npoints, (size_t)0, (size_t)0, dset->shared->layout.u.compact.buf, bkg_buf, dxpl_id) < 0) {
+                if(bkg_buf)
+                    H5FL_BLK_FREE(type_conv, bkg_buf);
+                H5I_dec_ref(mem_tid);
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+            } /* end if */
+
+            /* Release resources used */
+            if(bkg_buf)
+                H5FL_BLK_FREE(type_conv, bkg_buf);
+            H5I_dec_ref(mem_tid);
+        } /* end if */
+        else
+            /* Replicate the fill value into the cached buffer */
+            H5V_array_fill(dset->shared->layout.u.compact.buf, dset->shared->fill.buf, dset->shared->fill.size, npoints);
+
+    } /* end if */
+    else /* If the fill value is default, zero set data buf. */
+        HDmemset(dset->shared->layout.u.compact.buf, 0, dset->shared->layout.u.compact.size);
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5D_compact_fill() */
+
+
+/*-------------------------------------------------------------------------
  * Function:    H5D_compact_readvv
  *
  * Purpose:     Reads some data vectors from a dataset into a buffer.

Modified: packages/hdf5/trunk/src/H5Dcontig.c
===================================================================
--- packages/hdf5/trunk/src/H5Dcontig.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dcontig.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -22,24 +23,51 @@
  *      with the data sieve buffer from H5F_seq_read/write.
  */
 
+/****************/
+/* Module Setup */
+/****************/
+
 #define H5D_PACKAGE		/*suppress error about including H5Dpkg	  */
 
+
+/***********/
+/* Headers */
+/***********/
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Dpkg.h"		/* Dataset functions			*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
 #include "H5Fprivate.h"		/* Files				*/
 #include "H5FDprivate.h"	/* File drivers				*/
 #include "H5FLprivate.h"	/* Free Lists                           */
+#include "H5Iprivate.h"		/* IDs			  		*/
 #include "H5MFprivate.h"	/* File memory management		*/
 #include "H5Oprivate.h"		/* Object headers		  	*/
 #include "H5Pprivate.h"		/* Property lists			*/
 #include "H5Sprivate.h"		/* Dataspace functions			*/
 #include "H5Vprivate.h"		/* Vector and array functions		*/
 
-/* Private prototypes */
+/****************/
+/* Local Macros */
+/****************/
+
+/******************/
+/* Local Typedefs */
+/******************/
+
+/********************/
+/* Local Prototypes */
+/********************/
 static herr_t H5D_contig_write(H5D_t *dset, const H5D_dxpl_cache_t *dxpl_cache,
     hid_t dxpl_id, const H5D_storage_t *store, hsize_t offset, size_t size, const void *buf);
 
+/*********************/
+/* Package Variables */
+/*********************/
+
+/*******************/
+/* Local Variables */
+/*******************/
+
 /* Declare a PQ free list to manage the sieve buffer information */
 H5FL_BLK_DEFINE(sieve_buf);
 
@@ -49,6 +77,9 @@
 /* Declare the free list to manage blocks of zero fill-value data */
 H5FL_BLK_DEFINE_STATIC(zero_fill);
 
+/* Declare a free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(type_conv);
+
 
 /*-------------------------------------------------------------------------
  * Function:	H5D_contig_create
@@ -60,8 +91,6 @@
  * Programmer:	Quincey Koziol
  *		April 19, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -94,11 +123,6 @@
  * Programmer:	Quincey Koziol
  *		August 22, 2002
  *
- * Modifications:
- *          Bill Wendling, February 20, 2003
- *          Added support for getting the barrier COMM if you're using
- *          Flexible PHDF5.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -106,33 +130,41 @@
 {
     H5D_storage_t store;                /* Union of storage info for dataset */
     H5D_dxpl_cache_t _dxpl_cache;       /* Data transfer property cache buffer */
-    H5D_dxpl_cache_t *dxpl_cache=&_dxpl_cache;   /* Data transfer property cache */
+    H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache;   /* Data transfer property cache */
     hssize_t    snpoints;       /* Number of points in space (for error checking) */
     size_t      npoints;        /* Number of points in space */
     size_t      ptsperbuf;      /* Maximum # of points which fit in the buffer */
     size_t      elmt_size;      /* Size of each element */
-    size_t	bufsize=64*1024; /* Size of buffer to write */
-    size_t	size;           /* Current # of points to write */
+    size_t	bufsize = H5D_XFER_MAX_TEMP_BUF_DEF; /* Size of buffer to write */
     hsize_t	offset;         /* Offset of dataset */
     void       *buf = NULL;     /* Buffer for fill value writing */
 #ifdef H5_HAVE_PARALLEL
-    MPI_Comm	mpi_comm=MPI_COMM_NULL;	/* MPI communicator for file */
-    int         mpi_rank=(-1);  /* This process's rank  */
+    MPI_Comm	mpi_comm = MPI_COMM_NULL;	/* MPI communicator for file */
+    int         mpi_rank = (-1); /* This process's rank  */
     int         mpi_code;       /* MPI return code */
-    unsigned    blocks_written=0; /* Flag to indicate that chunk was actually written */
-    unsigned    using_mpi=0;    /* Flag to indicate that the file is being accessed with an MPI-capable file driver */
+    hbool_t     blocks_written = FALSE; /* Flag to indicate that chunk was actually written */
+    hbool_t     using_mpi = FALSE;      /* Flag to indicate that the file is being accessed with an MPI-capable file driver */
 #endif /* H5_HAVE_PARALLEL */
-    int         non_zero_fill_f=(-1);   /* Indicate that a non-zero fill-value was used */
-    herr_t	ret_value=SUCCEED;	/* Return value */
+    htri_t      non_zero_fill_f = (-1); /* Indicate that a non-zero fill-value was used */
+    H5T_path_t *fill_to_mem_tpath;      /* Datatype conversion path for converting the fill value to the memory buffer */
+    H5T_path_t *mem_to_dset_tpath;      /* Datatype conversion path for converting the memory buffer to the dataset elements */
+    uint8_t    *bkg_buf = NULL;         /* Background conversion buffer */
+    H5T_t      *mem_type = NULL;        /* Pointer to memory datatype */
+    size_t      mem_type_size, file_type_size;       /* Size of datatype in memory and on disk */
+    hid_t       mem_tid = (-1);         /* Memory version of disk datatype */
+    size_t      bkg_buf_size;           /* Size of background buffer */
+    hbool_t     has_vlen_fill_type = FALSE;  /* Whether the datatype for the fill value has a variable-length component */
+    herr_t	ret_value = SUCCEED;	/* Return value */
 
     FUNC_ENTER_NOAPI(H5D_contig_fill, FAIL)
 
     /* Check args */
-    assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER));
-    assert(dset && H5D_CONTIGUOUS==dset->shared->layout.type);
-    assert(H5F_addr_defined(dset->shared->layout.u.contig.addr));
-    assert(dset->shared->layout.u.contig.size>0);
-    assert(dset->shared->space);
+    HDassert(TRUE == H5P_isa_class(dxpl_id, H5P_DATASET_XFER));
+    HDassert(dset && H5D_CONTIGUOUS == dset->shared->layout.type);
+    HDassert(H5F_addr_defined(dset->shared->layout.u.contig.addr));
+    HDassert(dset->shared->layout.u.contig.size > 0);
+    HDassert(dset->shared->space);
+    HDassert(dset->shared->type);
 
 #ifdef H5_HAVE_PARALLEL
     /* Retrieve MPI parameters */
@@ -146,7 +178,7 @@
             HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI rank")
 
         /* Set the MPI-capable file driver flag */
-        using_mpi=1;
+        using_mpi = TRUE;
 
         /* Fill the DXPL cache values for later use */
         if (H5D_get_dxpl_cache(H5AC_ind_dxpl_id,&dxpl_cache)<0)
@@ -162,67 +194,151 @@
 #endif  /* H5_HAVE_PARALLEL */
 
     /* Initialize storage info for this dataset */
-    store.contig.dset_addr=dset->shared->layout.u.contig.addr;
-    store.contig.dset_size=dset->shared->layout.u.contig.size;
+    store.contig.dset_addr = dset->shared->layout.u.contig.addr;
+    store.contig.dset_size = dset->shared->layout.u.contig.size;
 
-    /* Get size of elements */
-    elmt_size=H5T_get_size(dset->shared->type);
-    assert(elmt_size>0);
-
     /* Get the number of elements in the dataset's dataspace */
     snpoints = H5S_GET_EXTENT_NPOINTS(dset->shared->space);
-    assert(snpoints>=0);
-    H5_ASSIGN_OVERFLOW(npoints,snpoints,hssize_t,size_t);
+    HDassert(snpoints >= 0);
+    H5_ASSIGN_OVERFLOW(npoints, snpoints, hssize_t, size_t);
 
-    /* If fill value is not library default, use it to set the element size */
-    if(dset->shared->fill.buf)
-        elmt_size=dset->shared->fill.size;
-
-    /*
-     * Fill the entire current extent with the fill value.  We can do
-     * this quite efficiently by making sure we copy the fill value
-     * in relatively large pieces.
-     */
-    ptsperbuf = MAX(1, bufsize/elmt_size);
-    bufsize = ptsperbuf*elmt_size;
-
     /* Fill the buffer with the user's fill value */
     if(dset->shared->fill.buf) {
-        /* Allocate temporary buffer */
-        if ((buf=H5FL_BLK_MALLOC(non_zero_fill,bufsize))==NULL)
-            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for fill buffer")
+        /* Indicate that a non-zero fill buffer will be used */
+        non_zero_fill_f = TRUE;
 
-        H5V_array_fill(buf, dset->shared->fill.buf, elmt_size, ptsperbuf);
+        /* Detect whether the datatype has a VL component */
+        has_vlen_fill_type = H5T_detect_class(dset->shared->type, H5T_VLEN);
 
-        /* Indicate that a non-zero fill buffer was used */
-        non_zero_fill_f=1;
+        /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
+        if(has_vlen_fill_type) {
+            /* Create temporary datatype for conversion operation */
+            if(NULL == (mem_type = H5T_copy(dset->shared->type, H5T_COPY_REOPEN)))
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy file datatype")
+            if((mem_tid = H5I_register(H5I_DATATYPE, mem_type)) < 0)
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register memory datatype")
+
+            /* Retrieve sizes of memory & file datatypes */
+            mem_type_size = H5T_get_size(mem_type);
+            HDassert(mem_type_size > 0);
+            file_type_size = H5T_get_size(dset->shared->type);
+            HDassert(file_type_size == dset->shared->fill.size);
+
+            /* If fill value is not library default, use it to set the element size */
+            elmt_size = MAX(mem_type_size, file_type_size);
+
+            /* Compute the number of elements that fit within a buffer to write */
+            ptsperbuf = MIN(npoints, MAX(1, bufsize / elmt_size));
+            bufsize = MAX(bufsize, ptsperbuf * elmt_size);
+
+            /* Allocate temporary buffer */
+            if(NULL == (buf = H5FL_BLK_MALLOC(non_zero_fill, bufsize)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for fill buffer")
+
+            /* Get the datatype conversion path for this operation */
+            if(NULL == (fill_to_mem_tpath = H5T_path_find(dset->shared->type, mem_type, NULL, NULL, dxpl_id)))
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to convert between src and dst datatypes")
+
+            /* Get the inverse datatype conversion path for this operation */
+            if(NULL == (mem_to_dset_tpath = H5T_path_find(mem_type, dset->shared->type, NULL, NULL, dxpl_id)))
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to convert between src and dst datatypes")
+
+            /* Check if we need to allocate a background buffer */
+            if(H5T_path_bkg(fill_to_mem_tpath) || H5T_path_bkg(mem_to_dset_tpath)) {
+                /* Check for inverse datatype conversion needing a background buffer */
+                /* (do this first, since it needs a larger buffer) */
+                if(H5T_path_bkg(mem_to_dset_tpath))
+                    bkg_buf_size = ptsperbuf * elmt_size;
+                else
+                    bkg_buf_size = elmt_size;
+
+                /* Allocate the background buffer */
+                if(NULL == (bkg_buf = H5FL_BLK_MALLOC(type_conv, bkg_buf_size)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+            } /* end if */
+        } /* end if */
+        else {
+            /* If fill value is not library default, use it to set the element size */
+            elmt_size = dset->shared->fill.size;
+
+            /* Compute the number of elements that fit within a buffer to write */
+            ptsperbuf = MIN(npoints, MAX(1, bufsize / elmt_size));
+            bufsize = MAX(bufsize, ptsperbuf * elmt_size);
+
+            /* Allocate temporary buffer */
+            if(NULL == (buf = H5FL_BLK_MALLOC(non_zero_fill, bufsize)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for fill buffer")
+
+            /* Replicate the fill value into the cached buffer */
+            H5V_array_fill(buf, dset->shared->fill.buf, elmt_size, ptsperbuf);
+        } /* end else */
     } /* end if */
     else {      /* Fill the buffer with the default fill value */
-        htri_t buf_avail;
+        htri_t buf_avail = H5FL_BLK_AVAIL(zero_fill, bufsize);  /* Check if there is an already zeroed out buffer available */
+        HDassert(buf_avail != FAIL);
 
-        /* Check if there is an already zeroed out buffer available */
-        buf_avail=H5FL_BLK_AVAIL(zero_fill,bufsize);
-        assert(buf_avail!=FAIL);
-
         /* Allocate temporary buffer (zeroing it if no buffer is available) */
         if(!buf_avail)
-            buf=H5FL_BLK_CALLOC(zero_fill,bufsize);
+            buf = H5FL_BLK_CALLOC(zero_fill, bufsize);
         else
-            buf=H5FL_BLK_MALLOC(zero_fill,bufsize);
-        if(buf==NULL)
-            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for fill buffer")
+            buf = H5FL_BLK_MALLOC(zero_fill, bufsize);
+        if(buf == NULL)
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for fill buffer")
 
+        /* Retrieve size of elements */
+        elmt_size = H5T_get_size(dset->shared->type);
+        HDassert(elmt_size > 0);
+
+        /* Compute the number of elements that fit within a buffer to write */
+        ptsperbuf = MIN(npoints, MAX(1, bufsize / elmt_size));
+
         /* Indicate that a zero fill buffer was used */
-        non_zero_fill_f=0;
+        non_zero_fill_f = FALSE;
     } /* end else */
 
     /* Start at the beginning of the dataset */
     offset = 0;
 
+    /*
+     * Fill the entire current extent with the fill value.  We can do
+     * this quite efficiently by making sure we copy the fill value
+     * in relatively large pieces.
+     */
+
     /* Loop through writing the fill value to the dataset */
-    while (npoints>0) {
-          size = MIN(ptsperbuf, npoints) * elmt_size;
+    while(npoints > 0) {
+        size_t curr_points;     /* Number of elements to write on this iteration of the loop */
+        size_t size;            /* Size of buffer to write */
+        
+        /* Compute # of elements and buffer size to write for this iteration */
+        curr_points = MIN(ptsperbuf, npoints);
+        size = curr_points * elmt_size;
 
+        /* Check for VL datatype & non-default fill value */
+        if(has_vlen_fill_type) {
+            /* Make a copy of the (disk-based) fill value into the buffer */
+            HDmemcpy(buf, dset->shared->fill.buf, file_type_size);
+
+            /* Reset first element of background buffer, if necessary */
+            if(H5T_path_bkg(fill_to_mem_tpath))
+                HDmemset(bkg_buf, 0, elmt_size);
+
+            /* Type convert the dataset buffer, to copy any VL components */
+            if(H5T_convert(fill_to_mem_tpath, dset->shared->type_id, mem_tid, (size_t)1, (size_t)0, (size_t)0, buf, bkg_buf, dxpl_id) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+
+            /* Replicate the fill value into the cached buffer */
+            H5V_array_fill(buf, buf, mem_type_size, curr_points);
+
+            /* Reset the entire background buffer, if necessary */
+            if(H5T_path_bkg(mem_to_dset_tpath))
+                HDmemset(bkg_buf, 0, bkg_buf_size);
+
+            /* Type convert the dataset buffer, to copy any VL components */
+            if(H5T_convert(mem_to_dset_tpath, mem_tid, dset->shared->type_id, curr_points, (size_t)0, (size_t)0, buf, bkg_buf, dxpl_id) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+        } /* end if */
+
 #ifdef H5_HAVE_PARALLEL
             /* Check if this file is accessed with an MPI-capable file driver */
             if(using_mpi) {
@@ -234,7 +350,7 @@
                 } /* end if */
 
                 /* Indicate that blocks are being written */
-                blocks_written=1;
+                blocks_written = TRUE;
             } /* end if */
             else {
 #endif /* H5_HAVE_PARALLEL */
@@ -245,7 +361,7 @@
             } /* end else */
 #endif /* H5_HAVE_PARALLEL */
 
-          npoints -= MIN(ptsperbuf, npoints);
+          npoints -= curr_points;
           offset += size;
       } /* end while */
 
@@ -264,14 +380,24 @@
 
 done:
     /* Free the buffer for fill values */
-    if (buf) {
-        assert(non_zero_fill_f>=0);
+    if(buf) {
+        HDassert(non_zero_fill_f >= 0);
         if(non_zero_fill_f)
-            H5FL_BLK_FREE(non_zero_fill,buf);
+            H5FL_BLK_FREE(non_zero_fill, buf);
         else
-            H5FL_BLK_FREE(zero_fill,buf);
+            H5FL_BLK_FREE(zero_fill, buf);
     } /* end if */
 
+    /* Free other resources for vlen fill values */
+    if(has_vlen_fill_type) {
+        if(mem_tid > 0)
+            H5I_dec_ref(mem_tid);
+        else if(mem_type)
+            H5T_close(mem_type);
+        if(bkg_buf)
+            H5FL_BLK_FREE(type_conv, bkg_buf);
+    } /* end if */
+
     FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5D_contig_fill() */
 
@@ -286,8 +412,6 @@
  * Programmer:	Quincey Koziol
  *		March 20, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -320,8 +444,6 @@
  * Programmer:	Quincey Koziol
  *		June  2, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 haddr_t
@@ -349,9 +471,6 @@
  * Programmer:	Quincey Koziol
  *              Thursday, September 28, 2000
  *
- * Modifications:
- *              Re-written in terms of the new writevv call, QAK, 5/7/03
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -401,8 +520,6 @@
  * Notes:
  *      Offsets in the sequences must be monotonically increasing
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 ssize_t
@@ -668,8 +785,6 @@
  * Notes:
  *      Offsets in the sequences must be monotonically increasing
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 ssize_t
@@ -681,7 +796,7 @@
     H5F_t *file=io_info->dset->ent.file;        /* File for dataset */
     H5D_rdcdc_t *dset_contig=&(io_info->dset->shared->cache.contig); /* Cached information about contiguous data */
     const H5D_contig_storage_t *store_contig=&(io_info->store->contig);    /* Contiguous storage info for this I/O operation */
-    const unsigned char *buf=_buf;      /* Pointer to buffer to fill */
+    const unsigned char *buf=(const unsigned char *)_buf;      /* Pointer to buffer to fill */
     haddr_t addr;               /* Actual address to read */
     size_t total_size=0;        /* Size of sequence in bytes */
     size_t size;                /* Size of sequence in bytes */
@@ -742,6 +857,10 @@
                     /* Allocate room for the data sieve buffer */
                     if (NULL==(dset_contig->sieve_buf=H5FL_BLK_MALLOC(sieve_buf,dset_contig->sieve_buf_size)))
                         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+#ifdef H5_CLEAR_MEMORY
+if(dset_contig->sieve_size > size)
+    HDmemset(dset_contig->sieve_buf + size, 0, (dset_contig->sieve_size - size));
+#endif /* H5_CLEAR_MEMORY */
 
                     /* Determine the new sieve buffer size & location */
                     dset_contig->sieve_loc=addr;

Modified: packages/hdf5/trunk/src/H5Defl.c
===================================================================
--- packages/hdf5/trunk/src/H5Defl.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Defl.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Dio.c
===================================================================
--- packages/hdf5/trunk/src/H5Dio.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dio.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5D_PACKAGE		/*suppress error about including H5Dpkg	  */
@@ -218,13 +219,18 @@
     parameter is NULL, use "buf_type" for the fill value datatype.
  EXAMPLES
  REVISION LOG
+    Raymond Lu - 20 March 2007
+    If there's VL type of data, the address of the data is copied multiple
+    times into the buffer, causing some trouble when the data is released.
+    Instead, make multiple copies of fill value first, then do conversion
+    on each element so that each of them has a copy of the VL data. 
 --------------------------------------------------------------------------*/
 static herr_t
 H5D_fill(const void *fill, const H5T_t *fill_type, void *buf, const H5T_t *buf_type, const H5S_t *space, hid_t dxpl_id)
 {
-    H5T_path_t *tpath = NULL;   /* Conversion information*/
     uint8_t *tconv_buf = NULL;  /* Data type conv buffer */
     uint8_t *bkg_buf = NULL;    /* Temp conversion buffer */
+    uint8_t *tmp_buf = NULL;    /* Temp conversion buffer */
     hid_t src_id = -1, dst_id = -1;     /* Temporary type IDs */
     size_t src_type_size;       /* Size of source type	*/
     size_t dst_type_size;       /* Size of destination type*/
@@ -234,13 +240,13 @@
     FUNC_ENTER_NOAPI_NOINIT(H5D_fill)
 
     /* Check args */
-    assert(fill_type);
-    assert(buf);
-    assert(buf_type);
-    assert(space);
+    HDassert(fill_type);
+    HDassert(buf);
+    HDassert(buf_type);
+    HDassert(space);
 
     /* Make sure the dataspace has an extent set */
-    if( !(H5S_has_extent(space)) )
+    if(!(H5S_has_extent(space)) )
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dataspace extent has not been set")
 
     /* Get the memory and file datatype sizes */
@@ -248,43 +254,131 @@
     dst_type_size = H5T_get_size(buf_type);
 
     /* Get the maximum buffer size needed and allocate it */
-    buf_size=MAX(src_type_size,dst_type_size);
-    if (NULL==(tconv_buf = H5FL_BLK_MALLOC(type_elem,buf_size)) || NULL==(bkg_buf = H5FL_BLK_CALLOC(type_elem,buf_size)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+    buf_size = MAX(src_type_size, dst_type_size);
 
-    /* Check for actual fill value to replicate */
-    if(fill==NULL)
-        /* If there's no fill value, just use zeros */
-        HDmemset(tconv_buf,0,dst_type_size);
+    /* If there's no fill value, just use zeros */
+    if(fill == NULL) {
+        /* Allocate space & initialize conversion buffer to zeros */
+        if(NULL == (tconv_buf = H5FL_BLK_CALLOC(type_elem, buf_size)))
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+        /* Fill the selection in the memory buffer */
+        if(H5S_select_fill(tconv_buf, dst_type_size, space, buf) < 0)
+            HGOTO_ERROR(H5E_DATASET, H5E_CANTENCODE, FAIL, "filling selection failed")
+    } /* end if */
     else {
-        /* Copy the user's data into the buffer for conversion */
-        HDmemcpy(tconv_buf,fill,src_type_size);
+        H5T_path_t *tpath;      /* Conversion path information */
 
         /* Set up type conversion function */
-        if (NULL == (tpath = H5T_path_find(fill_type, buf_type, NULL, NULL, dxpl_id)))
+        if(NULL == (tpath = H5T_path_find(fill_type, buf_type, NULL, NULL, dxpl_id)))
             HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dest data types")
 
-        /* Convert memory buffer into disk buffer */
-        if (!H5T_path_noop(tpath)) {
-            if ((src_id = H5I_register(H5I_DATATYPE, H5T_copy(fill_type, H5T_COPY_ALL)))<0 ||
-                    (dst_id = H5I_register(H5I_DATATYPE, H5T_copy(buf_type, H5T_COPY_ALL)))<0)
+        /* Construct source & destination datatype IDs, if we will need them */
+        if(!H5T_path_noop(tpath)) {
+            if((src_id = H5I_register(H5I_DATATYPE, H5T_copy(fill_type, H5T_COPY_ALL))) < 0)
                 HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register types for conversion")
 
-            /* Perform data type conversion */
-            if (H5T_convert(tpath, src_id, dst_id, 1, 0, 0, tconv_buf, bkg_buf, dxpl_id)<0)
+            if((dst_id = H5I_register(H5I_DATATYPE, H5T_copy(buf_type, H5T_COPY_ALL))) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register types for conversion")
+        } /* end if */
+
+        /* If there's VL type of data, make multiple copies of fill value first, 
+         * then do conversion on each element so that each of them has a copy 
+         * of the VL data. 
+         */
+        if(TRUE == H5T_detect_class(fill_type, H5T_VLEN)) {
+            H5D_dxpl_cache_t _dxpl_cache;       /* Data transfer property cache buffer */
+            H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache;   /* Data transfer property cache */
+            H5S_sel_iter_t mem_iter;            /* Memory selection iteration info */
+            hssize_t nelmts;                    /* Number of data elements */
+
+            /* Get the number of elements in the selection */
+            nelmts = H5S_GET_SELECT_NPOINTS(space);
+            HDassert(nelmts >= 0);
+            H5_CHECK_OVERFLOW(nelmts, hssize_t, size_t);
+
+            /* Allocate a temporary buffer */
+            if(NULL == (tmp_buf = H5FL_BLK_MALLOC(type_conv, (size_t)nelmts * buf_size)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+            /* Allocate a background buffer, if necessary */
+            if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, (size_t)nelmts * buf_size)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+            /* Replicate the file's fill value into the temporary buffer */
+            H5V_array_fill(tmp_buf, fill, src_type_size, (size_t)nelmts);
+
+            /* Convert from file's fill value into memory form */
+            if(H5T_convert(tpath, src_id, dst_id, (size_t)nelmts, (size_t)0, (size_t)0, tmp_buf, bkg_buf, dxpl_id) < 0)
                 HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+
+            /* Fill the DXPL cache values for later use */
+            if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
+
+            /* Create a selection iterator for scattering the elements to memory buffer */
+            if(H5S_select_iter_init(&mem_iter, space, dst_type_size) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize memory selection information")
+
+            /* Scatter the data into memory */
+            if(H5D_select_mscat(tmp_buf, space, &mem_iter, (size_t)nelmts, dxpl_cache, buf/*out*/) < 0) {
+                H5S_SELECT_ITER_RELEASE(&mem_iter);
+                HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "scatter failed")
+            } /* end if */
+
+            /* Release the selection iterator */
+            if(H5S_SELECT_ITER_RELEASE(&mem_iter) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release selection iterator")
         } /* end if */
-    } /* end if */
+        else {
+            const uint8_t *fill_buf;          /* Buffer to use for writing fill values */
 
-    /* Fill the selection in the memory buffer */
-    if(H5S_select_fill(tconv_buf, dst_type_size, space, buf)<0)
-        HGOTO_ERROR(H5E_DATASET, H5E_CANTENCODE, FAIL, "filling selection failed")
+            /* Convert disk buffer into memory buffer */
+            if(!H5T_path_noop(tpath)) {
+                /* Allocate space for conversion buffer */
+                if(NULL == (tconv_buf = H5FL_BLK_MALLOC(type_elem, buf_size)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
+                /* Copy the user's data into the buffer for conversion */
+                HDmemcpy(tconv_buf, fill, src_type_size);
+
+                /* If there's no VL type of data, do conversion first then fill the data into
+                 * the memory buffer. */
+                if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_elem, buf_size)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+                /* Perform datatype conversion */
+                if(H5T_convert(tpath, src_id, dst_id, (size_t)1, (size_t)0, (size_t)0, tconv_buf, bkg_buf, dxpl_id) < 0)
+                    HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+
+                /* Point at temporary buffer */
+                fill_buf = tconv_buf;
+            } /* end if */
+            else
+                fill_buf = fill;
+
+            /* Fill the selection in the memory buffer */
+            if(H5S_select_fill(fill_buf, dst_type_size, space, buf) < 0)
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTENCODE, FAIL, "filling selection failed")
+        } /* end else */
+    } /* end else */
+
 done:
-    if (tconv_buf)
-        H5FL_BLK_FREE(type_elem,tconv_buf);
-    if (bkg_buf)
-        H5FL_BLK_FREE(type_elem,bkg_buf);
+    if(src_id != (-1) && H5I_dec_ref(src_id) < 0)
+        HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't decrement temporary datatype ID")
+    if(dst_id != (-1) && H5I_dec_ref(dst_id) < 0)
+        HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't decrement temporary datatype ID")
+    if(tmp_buf)
+        H5FL_BLK_FREE(type_conv, tmp_buf);
+    if(tconv_buf)
+        H5FL_BLK_FREE(type_elem, tconv_buf);
+    if(bkg_buf) {
+        if(TRUE == H5T_detect_class(fill_type, H5T_VLEN))
+            H5FL_BLK_FREE(type_conv, bkg_buf);
+        else
+            H5FL_BLK_FREE(type_elem, bkg_buf);
+    } /* end if */
+
     FUNC_LEAVE_NOAPI(ret_value)
 }   /* H5D_fill() */
 
@@ -2328,8 +2422,8 @@
     if((fm->msel_type=H5S_GET_SELECT_TYPE(equiv_mspace))<H5S_SEL_NONE)
         HGOTO_ERROR (H5E_DATASET, H5E_BADSELECT, FAIL, "unable to convert from file to memory data space")
 
-    /* Check if file selection is a point selection */
-    if(fsel_type==H5S_SEL_POINTS) {
+    /* Check if file selection is a point or none selection */
+    if(fsel_type==H5S_SEL_POINTS || fsel_type == H5S_SEL_NONE) {
         /* Create temporary datatypes for selection iteration */
         if((f_tid = H5I_register(H5I_DATATYPE, H5T_copy(dataset->shared->type, H5T_COPY_ALL)))<0)
             HGOTO_ERROR (H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register file datatype")
@@ -2366,7 +2460,7 @@
     } /* end else */
 
     /* Build the memory selection for each chunk */
-    if(fsel_type!=H5S_SEL_POINTS && H5S_select_shape_same(file_space,equiv_mspace)==TRUE) {
+    if(fsel_type!=H5S_SEL_POINTS && fsel_type!=H5S_SEL_NONE && H5S_select_shape_same(file_space,equiv_mspace)==TRUE) {
         /* Reset chunk template information */
         fm->mchunk_tmpl=NULL;
 

Modified: packages/hdf5/trunk/src/H5Distore.c
===================================================================
--- packages/hdf5/trunk/src/H5Distore.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Distore.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer: 	Robb Matzke <matzke at llnl.gov>
@@ -40,10 +41,17 @@
  *		entry which is added to the end of the list.
  */
 
+/****************/
+/* Module Setup */
+/****************/
+
 #define H5B_PACKAGE		/*suppress error about including H5Bpkg	  */
 #define H5D_PACKAGE		/*suppress error about including H5Dpkg	  */
 
 
+/***********/
+/* Headers */
+/***********/
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Bpkg.h"		/* B-link trees				*/
 #include "H5Dpkg.h"		/* Datasets				*/
@@ -59,6 +67,10 @@
 #include "H5Sprivate.h"         /* Dataspaces                           */
 #include "H5Vprivate.h"		/* Vector and array functions		*/
 
+/****************/
+/* Local Macros */
+/****************/
+
 /*
  * Feature: If this constant is defined then every cache preemption and load
  *	    causes a character to be printed on the standard error stream:
@@ -91,6 +103,12 @@
  */
 #define H5D_ISTORE_NDIMS(X)	(((X)->sizeof_rkey-8)/8)
 
+#define H5D_HASH(D,ADDR) H5F_addr_hash(ADDR,(D)->cache.chunk.nslots)
+
+/******************/
+/* Local Typedefs */
+/******************/
+
 /* Raw data chunks are cached.  Each entry in the cache is: */
 typedef struct H5D_rdcc_ent_t {
     hbool_t	locked;		/*entry is locked in cache		*/
@@ -127,18 +145,55 @@
     unsigned	filter_mask;			/*excluded filters	*/
 } H5D_istore_key_t;
 
+/*
+ * Common data exchange structure for indexed storage nodes.  This structure is
+ * passed through the B-link tree layer to the methods for the objects
+ * to which the B-link tree points.
+ */
+typedef struct H5D_istore_bt_ud_common_t {
+    /* downward */
+    H5D_istore_key_t	key;	                /*key values		*/
+    const H5O_layout_t	*mesg;		        /*layout message	*/
+} H5D_istore_bt_ud_common_t;
+
+/*
+ * Data exchange structure for indexed storage nodes.  This structure is
+ * passed through the B-link tree layer to the methods for the objects
+ * to which the B-link tree points for operations which require no
+ * additional information.
+ *
+ * (Just an alias for the "common" info).
+ */
+typedef H5D_istore_bt_ud_common_t H5D_istore_ud0_t;
+
 typedef struct H5D_istore_ud1_t {
-    H5D_istore_key_t	key;	                /*key values		*/
+    H5D_istore_bt_ud_common_t common;           /* Common info for B-tree user data (must be first) */
     haddr_t		addr;			/*file address of chunk */
-    const H5O_layout_t	*mesg;		        /*layout message	*/
+} H5D_istore_ud1_t;
+
+/* B-tree callback info for iteration to total allocated space */
+typedef struct H5D_istore_it_ud1_t {
+    H5D_istore_bt_ud_common_t common;           /* Common info for B-tree user data (must be first) */
     hsize_t		total_storage;	        /*output from iterator	*/
+} H5D_istore_it_ud1_t;
+
+/* B-tree callback info for iteration to dump node's info */
+typedef struct H5D_istore_it_ud2_t {
+    H5D_istore_bt_ud_common_t common;           /* Common info for B-tree user data (must be first) */
     FILE		*stream;		/*debug output stream	*/
+    hbool_t             header_displayed;       /* Node's header is displayed? */
+} H5D_istore_it_ud2_t;
+
+/* B-tree callback info for iteration to prune chunks */
+typedef struct H5D_istore_it_ud3_t {
+    H5D_istore_bt_ud_common_t common;           /* Common info for B-tree user data (must be first) */
     hsize_t		*dims;		        /*dataset dimensions	*/
-} H5D_istore_ud1_t;
+} H5D_istore_it_ud3_t;
 
-#define H5D_HASH(D,ADDR) H5F_addr_hash(ADDR,(D)->cache.chunk.nslots)
+/********************/
+/* Local Prototypes */
+/********************/
 
-/* Private prototypes */
 static void *H5D_istore_chunk_alloc(size_t size, const H5O_pline_t *pline);
 static void *H5D_istore_chunk_xfree(void *chk, const H5O_pline_t *pline);
 static herr_t H5D_istore_shared_create (const H5F_t *f, H5O_layout_t *layout);
@@ -153,7 +208,6 @@
         const void *_rt_key, void *_udata);
 
 /* B-tree callbacks */
-static size_t H5D_istore_sizeof_rkey(const H5F_t *f, const void *_udata);
 static H5RC_t *H5D_istore_get_shared(const H5F_t *f, const void *_udata);
 static herr_t H5D_istore_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t, void *_lt_key,
 				  void *_udata, void *_rt_key,
@@ -184,7 +238,6 @@
 H5B_class_t H5B_ISTORE[1] = {{
     H5B_ISTORE_ID,		/*id			*/
     sizeof(H5D_istore_key_t),	/*sizeof_nkey		*/
-    H5D_istore_sizeof_rkey, 	/*get_sizeof_rkey	*/
     H5D_istore_get_shared,	/*get_shared		*/
     H5D_istore_new_node,	/*new			*/
     H5D_istore_cmp2,		/*cmp2			*/
@@ -199,9 +252,18 @@
     H5D_istore_debug_key,	/*debug			*/
 }};
 
-/* Declare a free list to manage the H5B_shared_t struct */
-H5FL_EXTERN(H5B_shared_t);
+/*********************/
+/* Package Variables */
+/*********************/
 
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
+/*******************/
+/* Local Variables */
+/*******************/
+
 /* Declare a free list to manage H5F_rdcc_ent_t objects */
 H5FL_DEFINE_STATIC(H5D_rdcc_ent_t);
 
@@ -217,45 +279,9 @@
 /* Declare a free list to manage the raw page information */
 H5FL_BLK_DEFINE_STATIC(chunk_page);
 
-
-/*-------------------------------------------------------------------------
- * Function:	H5D_istore_sizeof_rkey
- *
- * Purpose:	Returns the size of a raw key for the specified UDATA.	The
- *		size of the key is dependent on the number of dimensions for
- *		the object to which this B-tree points.	 The dimensionality
- *		of the UDATA is the only portion that's referenced here.
- *
- * Return:	Success:	Size of raw key in bytes.
- *
- *		Failure:	abort()
- *
- * Programmer:	Robb Matzke
- *		Wednesday, October  8, 1997
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-/* ARGSUSED */
-static size_t
-H5D_istore_sizeof_rkey(const H5F_t UNUSED *f, const void *_udata)
-{
-    const H5D_istore_ud1_t *udata = (const H5D_istore_ud1_t *) _udata;
-    size_t		    nbytes;
+/* Declare a free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(type_conv);
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_sizeof_rkey)
-
-    assert(udata);
-    assert(udata->mesg->u.chunk.ndims > 0 && udata->mesg->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
-
-    nbytes = 4 +			/*storage size		*/
-	     4 +			/*filter mask		*/
-	     udata->mesg->u.chunk.ndims*8;	/*dimension indices	*/
-
-    FUNC_LEAVE_NOAPI(nbytes)
-} /* end H5D_istore_sizeof_rkey() */
-
 
 /*-------------------------------------------------------------------------
  * Function:	H5D_istore_get_shared
@@ -269,21 +295,19 @@
  * Programmer:	Quincey Koziol
  *		Monday, July  5, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
 static H5RC_t *
 H5D_istore_get_shared(const H5F_t UNUSED *f, const void *_udata)
 {
-    const H5D_istore_ud1_t *udata = (const H5D_istore_ud1_t *) _udata;
+    const H5D_istore_ud0_t *udata = (const H5D_istore_ud0_t *) _udata;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_get_shared)
 
-    assert(udata);
-    assert(udata->mesg);
-    assert(udata->mesg->u.chunk.btree_shared);
+    HDassert(udata);
+    HDassert(udata->mesg);
+    HDassert(udata->mesg->u.chunk.btree_shared);
 
     /* Increment reference count on B-tree info */
     H5RC_INC(udata->mesg->u.chunk.btree_shared);
@@ -303,8 +327,6 @@
  * Programmer:	Robb Matzke
  *		Friday, October 10, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -347,8 +369,6 @@
  * Programmer:	Robb Matzke
  *		Friday, October 10, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -391,32 +411,27 @@
  * Programmer:	Robb Matzke
  *              Thursday, April 16, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
 static herr_t
-H5D_istore_debug_key (FILE *stream, H5F_t UNUSED *f, hid_t UNUSED dxpl_id, int indent, int fwidth,
+H5D_istore_debug_key(FILE *stream, H5F_t UNUSED *f, hid_t UNUSED dxpl_id, int indent, int fwidth,
 		      const void *_key, const void *_udata)
 {
     const H5D_istore_key_t	*key = (const H5D_istore_key_t *)_key;
-    const H5D_istore_ud1_t	*udata = (const H5D_istore_ud1_t *)_udata;
+    const H5D_istore_ud0_t	*udata = (const H5D_istore_ud0_t *)_udata;
     unsigned		u;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_debug_key)
 
-    assert (key);
+    HDassert(key);
 
-    HDfprintf(stream, "%*s%-*s %Zd bytes\n", indent, "", fwidth,
-	      "Chunk size:", key->nbytes);
-    HDfprintf(stream, "%*s%-*s 0x%08x\n", indent, "", fwidth,
-	      "Filter mask:", key->filter_mask);
-    HDfprintf(stream, "%*s%-*s {", indent, "", fwidth,
-	      "Logical offset:");
-    for (u=0; u<udata->mesg->u.chunk.ndims; u++)
-        HDfprintf (stream, "%s%Hd", u?", ":"", key->offset[u]);
-    HDfputs ("}\n", stream);
+    HDfprintf(stream, "%*s%-*s %Zd bytes\n", indent, "", fwidth, "Chunk size:", key->nbytes);
+    HDfprintf(stream, "%*s%-*s 0x%08x\n", indent, "", fwidth, "Filter mask:", key->filter_mask);
+    HDfprintf(stream, "%*s%-*s {", indent, "", fwidth, "Logical offset:");
+    for(u = 0; u < udata->mesg->u.chunk.ndims; u++)
+        HDfprintf(stream, "%s%Hd", u?", ":"", key->offset[u]);
+    HDfputs("}\n", stream);
 
     FUNC_LEAVE_NOAPI(SUCCEED)
 } /* end H5D_istore_debug_key() */
@@ -439,8 +454,6 @@
  * Programmer:	Robb Matzke
  *		Thursday, November  6, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -450,15 +463,15 @@
 {
     H5D_istore_key_t	*lt_key = (H5D_istore_key_t *) _lt_key;
     H5D_istore_key_t	*rt_key = (H5D_istore_key_t *) _rt_key;
-    H5D_istore_ud1_t	*udata = (H5D_istore_ud1_t *) _udata;
+    H5D_istore_ud0_t	*udata = (H5D_istore_ud0_t *) _udata;
     int		ret_value;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_cmp2)
 
-    assert(lt_key);
-    assert(rt_key);
-    assert(udata);
-    assert(udata->mesg->u.chunk.ndims > 0 && udata->mesg->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
+    HDassert(lt_key);
+    HDassert(rt_key);
+    HDassert(udata);
+    HDassert(udata->mesg->u.chunk.ndims > 0 && udata->mesg->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
 
     /* Compare the offsets but ignore the other fields */
     ret_value = H5V_vector_cmp_u(udata->mesg->u.chunk.ndims, lt_key->offset, rt_key->offset);
@@ -492,8 +505,6 @@
  * Programmer:	Robb Matzke
  *		Wednesday, October  8, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -503,15 +514,15 @@
 {
     H5D_istore_key_t	*lt_key = (H5D_istore_key_t *) _lt_key;
     H5D_istore_key_t	*rt_key = (H5D_istore_key_t *) _rt_key;
-    H5D_istore_ud1_t	*udata = (H5D_istore_ud1_t *) _udata;
+    H5D_istore_ud0_t	*udata = (H5D_istore_ud0_t *) _udata;
     int		ret_value = 0;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_cmp3)
 
-    assert(lt_key);
-    assert(rt_key);
-    assert(udata);
-    assert(udata->mesg->u.chunk.ndims > 0 && udata->mesg->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
+    HDassert(lt_key);
+    HDassert(rt_key);
+    HDassert(udata);
+    HDassert(udata->mesg->u.chunk.ndims > 0 && udata->mesg->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
 
     /* Special case for faster checks on 1-D chunks */
     /* (Checking for ndims==2 because last dimension is the datatype size) */
@@ -557,8 +568,6 @@
  * Programmer:	Robb Matzke
  *		Tuesday, October 14, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -570,22 +579,22 @@
     H5D_istore_key_t	*rt_key = (H5D_istore_key_t *) _rt_key;
     H5D_istore_ud1_t	*udata = (H5D_istore_ud1_t *) _udata;
     unsigned		u;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5D_istore_new_node)
 
     /* check args */
-    assert(f);
-    assert(lt_key);
-    assert(rt_key);
-    assert(udata);
-    assert(udata->mesg->u.chunk.ndims > 0 && udata->mesg->u.chunk.ndims < H5O_LAYOUT_NDIMS);
-    assert(addr_p);
+    HDassert(f);
+    HDassert(lt_key);
+    HDassert(rt_key);
+    HDassert(udata);
+    HDassert(udata->common.mesg->u.chunk.ndims > 0 && udata->common.mesg->u.chunk.ndims < H5O_LAYOUT_NDIMS);
+    HDassert(addr_p);
 
     /* Allocate new storage */
-    assert (udata->key.nbytes > 0);
-    H5_CHECK_OVERFLOW( udata->key.nbytes ,size_t, hsize_t);
-    if (HADDR_UNDEF==(*addr_p=H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->key.nbytes)))
+    HDassert(udata->common.key.nbytes > 0);
+    H5_CHECK_OVERFLOW(udata->common.key.nbytes ,size_t, hsize_t);
+    if(HADDR_UNDEF == (*addr_p = H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->common.key.nbytes)))
         HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "couldn't allocate new file storage")
     udata->addr = *addr_p;
 
@@ -593,10 +602,10 @@
      * The left key describes the storage of the UDATA chunk being
      * inserted into the tree.
      */
-    lt_key->nbytes = udata->key.nbytes;
-    lt_key->filter_mask = udata->key.filter_mask;
-    for (u=0; u<udata->mesg->u.chunk.ndims; u++)
-        lt_key->offset[u] = udata->key.offset[u];
+    lt_key->nbytes = udata->common.key.nbytes;
+    lt_key->filter_mask = udata->common.key.filter_mask;
+    for (u=0; u<udata->common.mesg->u.chunk.ndims; u++)
+        lt_key->offset[u] = udata->common.key.offset[u];
 
     /*
      * The right key might already be present.  If not, then add a zero-width
@@ -605,10 +614,10 @@
     if (H5B_INS_LEFT != op) {
         rt_key->nbytes = 0;
         rt_key->filter_mask = 0;
-        for (u=0; u<udata->mesg->u.chunk.ndims; u++) {
-            assert (udata->key.offset[u]+udata->mesg->u.chunk.dim[u] >
-                udata->key.offset[u]);
-            rt_key->offset[u] = udata->key.offset[u] + udata->mesg->u.chunk.dim[u];
+        for (u=0; u<udata->common.mesg->u.chunk.ndims; u++) {
+            HDassert(udata->common.key.offset[u]+udata->common.mesg->u.chunk.dim[u] >
+                udata->common.key.offset[u]);
+            rt_key->offset[u] = udata->common.key.offset[u] + udata->common.mesg->u.chunk.dim[u];
         }
     }
 
@@ -639,9 +648,6 @@
  * Programmer:	Robb Matzke
  *		Thursday, October  9, 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -652,28 +658,28 @@
     H5D_istore_ud1_t	   *udata = (H5D_istore_ud1_t *) _udata;
     const H5D_istore_key_t *lt_key = (const H5D_istore_key_t *) _lt_key;
     unsigned		u;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_found)
 
     /* Check arguments */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(udata);
-    assert(lt_key);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(udata);
+    HDassert(lt_key);
 
     /* Is this *really* the requested chunk? */
-    for (u=0; u<udata->mesg->u.chunk.ndims; u++)
-        if (udata->key.offset[u] >= lt_key->offset[u]+udata->mesg->u.chunk.dim[u])
+    for(u = 0; u < udata->common.mesg->u.chunk.ndims; u++)
+        if(udata->common.key.offset[u] >= lt_key->offset[u] + udata->common.mesg->u.chunk.dim[u])
             HGOTO_DONE(FAIL)
 
     /* Initialize return values */
     udata->addr = addr;
-    udata->key.nbytes = lt_key->nbytes;
-    udata->key.filter_mask = lt_key->filter_mask;
-    assert (lt_key->nbytes>0);
-    for (u = 0; u < udata->mesg->u.chunk.ndims; u++)
-        udata->key.offset[u] = lt_key->offset[u];
+    udata->common.key.nbytes = lt_key->nbytes;
+    udata->common.key.filter_mask = lt_key->filter_mask;
+    HDassert(lt_key->nbytes>0);
+    for(u = 0; u < udata->common.mesg->u.chunk.ndims; u++)
+        udata->common.key.offset[u] = lt_key->offset[u];
 
 done:
     FUNC_LEAVE_NOAPI(ret_value)
@@ -706,10 +712,6 @@
  * Programmer:	Robb Matzke
  *		Thursday, October  9, 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value. The NEW_NODE argument
- *		is renamed NEW_NODE_P.
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -731,30 +733,30 @@
     FUNC_ENTER_NOAPI_NOINIT(H5D_istore_insert)
 
     /* check args */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(lt_key);
-    assert(lt_key_changed);
-    assert(md_key);
-    assert(udata);
-    assert(rt_key);
-    assert(new_node_p);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(lt_key);
+    HDassert(lt_key_changed);
+    HDassert(md_key);
+    HDassert(udata);
+    HDassert(rt_key);
+    HDassert(new_node_p);
 
     cmp = H5D_istore_cmp3(f, dxpl_id, lt_key, udata, rt_key);
-    assert(cmp <= 0);
+    HDassert(cmp <= 0);
 
     if (cmp < 0) {
         /* Negative indices not supported yet */
         HGOTO_ERROR(H5E_STORAGE, H5E_UNSUPPORTED, H5B_INS_ERROR, "internal error")
 
-    } else if (H5V_vector_eq_u (udata->mesg->u.chunk.ndims,
-				udata->key.offset, lt_key->offset) &&
+    } else if (H5V_vector_eq_u (udata->common.mesg->u.chunk.ndims,
+				udata->common.key.offset, lt_key->offset) &&
 	       lt_key->nbytes>0) {
         /*
          * Already exists.  If the new size is not the same as the old size
          * then we should reallocate storage.
          */
-        if (lt_key->nbytes != udata->key.nbytes) {
+        if (lt_key->nbytes != udata->common.key.nbytes) {
 /* Currently, the old chunk data is "thrown away" after the space is reallocated,
  * so avoid data copy in H5MF_realloc() call by just free'ing the space and
  * allocating new space.
@@ -765,19 +767,19 @@
  * QAK - 11/19/2002
  */
 #ifdef OLD_WAY
-            if (HADDR_UNDEF==(*new_node_p=H5MF_realloc(f, H5FD_MEM_DRAW, addr,
-                      (hsize_t)lt_key->nbytes, (hsize_t)udata->key.nbytes)))
-                HGOTO_ERROR (H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "unable to reallocate chunk storage")
+            if(HADDR_UNDEF == (*new_node_p = H5MF_realloc(f, H5FD_MEM_DRAW, addr,
+                      (hsize_t)lt_key->nbytes, (hsize_t)udata->common.key.nbytes)))
+                HGOTO_ERROR(H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "unable to reallocate chunk storage")
 #else /* OLD_WAY */
             H5_CHECK_OVERFLOW( lt_key->nbytes ,size_t, hsize_t);
-            if (H5MF_xfree(f, H5FD_MEM_DRAW, dxpl_id, addr, (hsize_t)lt_key->nbytes)<0)
+            if(H5MF_xfree(f, H5FD_MEM_DRAW, dxpl_id, addr, (hsize_t)lt_key->nbytes)<0)
                 HGOTO_ERROR(H5E_STORAGE, H5E_CANTFREE, H5B_INS_ERROR, "unable to free chunk")
-            H5_CHECK_OVERFLOW( udata->key.nbytes ,size_t, hsize_t);
-            if (HADDR_UNDEF==(*new_node_p=H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->key.nbytes)))
+            H5_CHECK_OVERFLOW(udata->common.key.nbytes ,size_t, hsize_t);
+            if(HADDR_UNDEF == (*new_node_p = H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->common.key.nbytes)))
                 HGOTO_ERROR(H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "unable to reallocate chunk")
 #endif /* OLD_WAY */
-            lt_key->nbytes = udata->key.nbytes;
-            lt_key->filter_mask = udata->key.filter_mask;
+            lt_key->nbytes = udata->common.key.nbytes;
+            lt_key->filter_mask = udata->common.key.filter_mask;
             *lt_key_changed = TRUE;
             udata->addr = *new_node_p;
             ret_value = H5B_INS_CHANGE;
@@ -786,28 +788,28 @@
             ret_value = H5B_INS_NOOP;
         }
 
-    } else if (H5V_hyper_disjointp(udata->mesg->u.chunk.ndims,
-				   lt_key->offset, udata->mesg->u.chunk.dim,
-				   udata->key.offset, udata->mesg->u.chunk.dim)) {
-        assert(H5V_hyper_disjointp(udata->mesg->u.chunk.ndims,
-				   rt_key->offset, udata->mesg->u.chunk.dim,
-				   udata->key.offset, udata->mesg->u.chunk.dim));
+    } else if (H5V_hyper_disjointp(udata->common.mesg->u.chunk.ndims,
+				   lt_key->offset, udata->common.mesg->u.chunk.dim,
+				   udata->common.key.offset, udata->common.mesg->u.chunk.dim)) {
+        HDassert(H5V_hyper_disjointp(udata->common.mesg->u.chunk.ndims,
+				   rt_key->offset, udata->common.mesg->u.chunk.dim,
+				   udata->common.key.offset, udata->common.mesg->u.chunk.dim));
         /*
          * Split this node, inserting the new new node to the right of the
          * current node.  The MD_KEY is where the split occurs.
          */
-        md_key->nbytes = udata->key.nbytes;
-        md_key->filter_mask = udata->key.filter_mask;
-        for (u=0; u<udata->mesg->u.chunk.ndims; u++) {
-            assert(0 == udata->key.offset[u] % udata->mesg->u.chunk.dim[u]);
-            md_key->offset[u] = udata->key.offset[u];
+        md_key->nbytes = udata->common.key.nbytes;
+        md_key->filter_mask = udata->common.key.filter_mask;
+        for(u = 0; u < udata->common.mesg->u.chunk.ndims; u++) {
+            HDassert(0 == udata->common.key.offset[u] % udata->common.mesg->u.chunk.dim[u]);
+            md_key->offset[u] = udata->common.key.offset[u];
         }
 
         /*
          * Allocate storage for the new chunk
          */
-        H5_CHECK_OVERFLOW( udata->key.nbytes ,size_t, hsize_t);
-        if (HADDR_UNDEF==(*new_node_p=H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->key.nbytes)))
+        H5_CHECK_OVERFLOW(udata->common.key.nbytes ,size_t, hsize_t);
+        if(HADDR_UNDEF == (*new_node_p = H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->common.key.nbytes)))
             HGOTO_ERROR(H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "file allocation failed")
         udata->addr = *new_node_p;
         ret_value = H5B_INS_RIGHT;
@@ -833,12 +835,6 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 21, 1999
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
- *
- *		Quincey Koziol, 2002-04-22
- *		Changed to callback from H5B_iterate
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -846,12 +842,12 @@
 H5D_istore_iter_allocated (H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_lt_key, haddr_t UNUSED addr,
 		    const void UNUSED *_rt_key, void *_udata)
 {
-    H5D_istore_ud1_t	*bt_udata = (H5D_istore_ud1_t *)_udata;
+    H5D_istore_it_ud1_t	*udata = (H5D_istore_it_ud1_t *)_udata;
     const H5D_istore_key_t	*lt_key = (const H5D_istore_key_t *)_lt_key;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_iter_allocated)
 
-    bt_udata->total_storage += lt_key->nbytes;
+    udata->total_storage += lt_key->nbytes;
 
     FUNC_LEAVE_NOAPI(H5B_ITER_CONT)
 } /* H5D_istore_iter_allocated() */
@@ -870,12 +866,6 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 21, 1999
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
- *
- *		Quincey Koziol, 2002-04-22
- *		Changed to callback from H5B_iterate
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -883,29 +873,25 @@
 H5D_istore_iter_dump (H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_lt_key, haddr_t UNUSED addr,
 		    const void UNUSED *_rt_key, void *_udata)
 {
-    H5D_istore_ud1_t	*bt_udata = (H5D_istore_ud1_t *)_udata;
+    H5D_istore_it_ud2_t	*udata = (H5D_istore_it_ud2_t *)_udata;
     const H5D_istore_key_t	*lt_key = (const H5D_istore_key_t *)_lt_key;
     unsigned		u;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_iter_dump)
 
-    if (bt_udata->stream) {
-        if (0==bt_udata->total_storage) {
-            fprintf(bt_udata->stream,
-                "             Flags    Bytes    Address Logical Offset\n");
-            fprintf(bt_udata->stream,
-                "        ========== ======== ========== "
-                "==============================\n");
-        }
-        HDfprintf(bt_udata->stream, "        0x%08x %8Zu %10a [",
-              lt_key->filter_mask, lt_key->nbytes, addr);
-        for (u=0; u<bt_udata->mesg->u.chunk.ndims; u++)
-            HDfprintf(bt_udata->stream, "%s%Hd", u?", ":"", lt_key->offset[u]);
-        HDfputs("]\n", bt_udata->stream);
+    if(udata->stream) {
+        if(!udata->header_displayed) {
+            HDfprintf(udata->stream, "           Flags    Bytes     Address          Logical Offset\n");
+            HDfprintf(udata->stream, "        ========== ======== ========== ==============================\n");
 
-        /* Use "total storage" information as flag for printing headers */
-        bt_udata->total_storage++;
-    }
+            /* Set flag that the headers has been printed */
+            udata->header_displayed = TRUE;
+        } /* end if */
+        HDfprintf(udata->stream,     "        0x%08x %8Zu %10a [", lt_key->filter_mask, lt_key->nbytes, addr);
+        for(u = 0; u < udata->common.mesg->u.chunk.ndims; u++)
+            HDfprintf(udata->stream, "%s%Hd", (u ? ", " : ""), lt_key->offset[u]);
+        HDfputs("]\n", udata->stream);
+    } /* end if */
 
     FUNC_LEAVE_NOAPI(H5B_ITER_CONT)
 } /* H5D_istore_iter_dump() */
@@ -922,8 +908,6 @@
  * Programmer:	Robb Matzke
  *              Monday, May 18, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -963,8 +947,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -987,12 +969,12 @@
     if (ent->dirty) {
         H5D_istore_ud1_t 	udata;		/*pass through B-tree		*/
 
-        udata.mesg = &io_info->dset->shared->layout;
-        udata.key.filter_mask = 0;
+        udata.common.mesg = &io_info->dset->shared->layout;
+        udata.common.key.filter_mask = 0;
         udata.addr = HADDR_UNDEF;
-        udata.key.nbytes = ent->chunk_size;
+        udata.common.key.nbytes = ent->chunk_size;
         for (u=0; u<io_info->dset->shared->layout.u.chunk.ndims; u++)
-            udata.key.offset[u] = ent->offset[u];
+            udata.common.key.offset[u] = ent->offset[u];
         alloc = ent->alloc_size;
 
         /* Should the chunk be filtered before writing it to disk? */
@@ -1018,8 +1000,8 @@
                 point_of_no_return = TRUE;
                 ent->chunk = NULL;
             }
-            if (H5Z_pipeline(&(io_info->dset->shared->dcpl_cache.pline), 0, &(udata.key.filter_mask), io_info->dxpl_cache->err_detect,
-                     io_info->dxpl_cache->filter_cb, &(udata.key.nbytes), &alloc, &buf)<0)
+            if (H5Z_pipeline(&(io_info->dset->shared->dcpl_cache.pline), 0, &(udata.common.key.filter_mask), io_info->dxpl_cache->err_detect,
+                     io_info->dxpl_cache->filter_cb, &(udata.common.key.nbytes), &alloc, &buf)<0)
                 HGOTO_ERROR(H5E_PLINE, H5E_WRITEERROR, FAIL, "output pipeline failed")
         }
 
@@ -1029,7 +1011,7 @@
          */
         if (H5B_insert(io_info->dset->ent.file, io_info->dxpl_id, H5B_ISTORE, io_info->dset->shared->layout.u.chunk.addr, &udata)<0)
             HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to allocate chunk")
-        if (H5F_block_write(io_info->dset->ent.file, H5FD_MEM_DRAW, udata.addr, udata.key.nbytes, io_info->dxpl_id, buf)<0)
+        if (H5F_block_write(io_info->dset->ent.file, H5FD_MEM_DRAW, udata.addr, udata.common.key.nbytes, io_info->dxpl_id, buf)<0)
             HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
 
         /* Mark cache entry as clean */
@@ -1079,11 +1061,6 @@
  * Programmer:  Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *      Pedro Vicente, March 28, 2002
- *      Added flush parameter that switches the call to H5F_istore_flush_entry
- *      The call with FALSE is used by the H5F_istore_prune_by_extent function
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1146,10 +1123,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *      Pedro Vicente, March 28, 2002
- *      Added TRUE parameter to the call to H5F_istore_preempt
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -1206,10 +1179,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *      Pedro Vicente, March 28, 2002
- *      Added TRUE parameter to the call to H5F_istore_preempt
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -1252,7 +1221,7 @@
     HDmemset (rdcc, 0, sizeof(H5D_rdcc_t));
 
     /* Free the raw B-tree node buffer */
-   if(dset->shared->layout.u.chunk.btree_shared==NULL)
+    if(dset->shared->layout.u.chunk.btree_shared==NULL)
         HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil")
     if(H5RC_DEC(dset->shared->layout.u.chunk.btree_shared)<0)
 	HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page")
@@ -1272,23 +1241,17 @@
  * Programmer:	Quincey Koziol
  *              Monday, September 27, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
 H5D_istore_shared_create (const H5F_t *f, H5O_layout_t *layout)
 {
-    H5D_istore_ud1_t	udata;
     H5B_shared_t *shared;               /* Shared B-tree node info */
     size_t	u;                      /* Local index variable */
     herr_t      ret_value=SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5D_istore_shared_create)
 
-    /* Initialize "user" data for B-tree callbacks, etc. */
-    udata.mesg = layout;
-
     /* Allocate space for the shared structure */
     if(NULL==(shared=H5FL_MALLOC(H5B_shared_t)))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for shared B-tree info")
@@ -1296,15 +1259,17 @@
     /* Set up the "global" information for this file's groups */
     shared->type= H5B_ISTORE;
     shared->two_k=2*H5F_KVALUE(f,H5B_ISTORE);
-    shared->sizeof_rkey = H5D_istore_sizeof_rkey(f, &udata);
+    shared->sizeof_rkey = 4 +			/*storage size		*/
+                         4 +			/*filter mask		*/
+                         layout->u.chunk.ndims*8;	/*dimension indices	*/
     assert(shared->sizeof_rkey);
     shared->sizeof_rnode = H5B_nodesize(f, shared, &shared->sizeof_keys);
     assert(shared->sizeof_rnode);
     if(NULL==(shared->page=H5FL_BLK_MALLOC(chunk_page,shared->sizeof_rnode)))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for B-tree page")
-#ifdef H5_USING_PURIFY
-HDmemset(shared->page,0,shared->sizeof_rnode);
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(shared->page, 0, shared->sizeof_rnode);
+#endif /* H5_CLEAR_MEMORY */
     if(NULL==(shared->nkey=H5FL_SEQ_MALLOC(size_t,(size_t)(2*H5F_KVALUE(f,H5B_ISTORE)+1))))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for B-tree page")
 
@@ -1331,8 +1296,6 @@
  * Programmer:	Quincey Koziol
  *              Thursday, July  8, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1367,10 +1330,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *      Pedro Vicente, March 28, 2002
- *      TRUE parameter to the call to H5F_istore_preempt
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1498,13 +1457,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *		Robb Matzke, 1999-08-02
- *		The split ratios are passed in as part of the data transfer
- *		property list.
- *
- *              Pedro Vicente, March 28, 2002
- *              TRUE parameter to the call to H5F_istore_preempt
  *-------------------------------------------------------------------------
  */
 static void *
@@ -1521,7 +1473,7 @@
     unsigned		idx=0;			/*hash index number	*/
     hbool_t		found = FALSE;		/*already in cache?	*/
     unsigned		u;			/*counters		*/
-    size_t		chunk_size=0;		/*size of a chunk	*/
+    size_t		chunk_size;		/*size of a chunk	*/
     void		*chunk=NULL;		/*the file chunk	*/
     void		*ret_value;	        /*return value		*/
 
@@ -1580,10 +1532,10 @@
         haddr_t chunk_addr;             /* Address of chunk on disk */
 
         if(udata!=NULL)
-            chunk_addr=udata->addr;
+            chunk_addr = udata->addr;
         else {
             /* Point at temporary storage for B-tree pass through */
-            udata=&tmp_udata;
+            udata = &tmp_udata;
 
             /*
              * Not in the cache.  Read it from the file and count this as a miss
@@ -1593,22 +1545,22 @@
         } /* end else */
 
         if (H5F_addr_defined(chunk_addr)) {
-            size_t		chunk_alloc=0;		/*allocated chunk size	*/
+            size_t		chunk_alloc = 0;		/*allocated chunk size	*/
 
             /*
              * The chunk exists on disk.
              */
             /* Chunk size on disk isn't [likely] the same size as the final chunk
              * size in memory, so allocate memory big enough. */
-            chunk_alloc = udata->key.nbytes;
+            chunk_alloc = udata->common.key.nbytes;
             if (NULL==(chunk = H5D_istore_chunk_alloc (chunk_alloc,pline)))
                 HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
-            if (H5F_block_read(dset->ent.file, H5FD_MEM_DRAW, chunk_addr, udata->key.nbytes, io_info->dxpl_id, chunk)<0)
+            if (H5F_block_read(dset->ent.file, H5FD_MEM_DRAW, chunk_addr, udata->common.key.nbytes, io_info->dxpl_id, chunk)<0)
                 HGOTO_ERROR (H5E_IO, H5E_READERROR, NULL, "unable to read raw data chunk")
 
             if (pline->nused)
-                if (H5Z_pipeline(pline, H5Z_FLAG_REVERSE, &(udata->key.filter_mask), io_info->dxpl_cache->err_detect,
-                         io_info->dxpl_cache->filter_cb, &(udata->key.nbytes), &chunk_alloc, &chunk)<0) {
+                if (H5Z_pipeline(pline, H5Z_FLAG_REVERSE, &(udata->common.key.filter_mask), io_info->dxpl_cache->err_detect,
+                         io_info->dxpl_cache->filter_cb, &(udata->common.key.nbytes), &chunk_alloc, &chunk)<0) {
                     HGOTO_ERROR(H5E_PLINE, H5E_READERROR, NULL, "data pipeline read failed")
                 }
 #ifdef H5D_ISTORE_DEBUG
@@ -1632,25 +1584,114 @@
 
             if(fill_time==H5D_FILL_TIME_ALLOC ||
                     (fill_time==H5D_FILL_TIME_IFSET && fill_status==H5D_FILL_VALUE_USER_DEFINED)) {
-                if (fill && fill->buf) {
+                /*
+                 * The chunk doesn't exist in the file.  Replicate the fill
+                 * value throughout the chunk, if the fill value is defined.
+                 */
+                if(fill->buf) {
+                    size_t elmts_per_chunk;             /* # of elements per chunk */
+
+                    /* Sanity check */
+                    HDassert(0 == (chunk_size % fill->size));
+                    elmts_per_chunk = chunk_size / fill->size;
+
+                    /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
+                    if(H5T_detect_class(dset->shared->type, H5T_VLEN) > 0) {
+                        H5T_path_t *tpath;      /* Datatype conversion path */
+                        uint8_t *bkg_buf = NULL;    /* Background conversion buffer */
+                        H5T_t *mem_type;            /* Pointer to memory datatype */
+                        size_t mem_type_size, file_type_size;       /* Size of datatype in memory and on disk */
+                        hid_t mem_tid;              /* Memory version of disk datatype */
+
+                        /* Create temporary datatype for conversion operation */
+                        if(NULL == (mem_type = H5T_copy(dset->shared->type, H5T_COPY_REOPEN)))
+                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "unable to copy file datatype")
+                        if((mem_tid = H5I_register(H5I_DATATYPE, mem_type)) < 0) {
+                            H5T_close(mem_type);
+                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, NULL, "unable to register memory datatype")
+                        } /* end if */
+
+                        /* Retrieve sizes of memory & file datatypes */
+                        mem_type_size = H5T_get_size(mem_type);
+                        HDassert(mem_type_size > 0);
+                        file_type_size = H5T_get_size(dset->shared->type);
+                        HDassert(file_type_size == fill->size);
+
+                        /* Get the datatype conversion path for this operation */
+                        if(NULL == (tpath = H5T_path_find(dset->shared->type, mem_type, NULL, NULL, io_info->dxpl_id))) {
+                            H5I_dec_ref(mem_tid);
+                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to convert between src and dst datatypes")
+                        } /* end if */
+
+                        /* Allocate a background buffer, if necessary */
+                        if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, (elmts_per_chunk * MAX(mem_type_size, file_type_size))))) {
+                            H5I_dec_ref(mem_tid);
+                            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+                        } /* end if */
+
+                        /* Make a copy of the (disk-based) fill value into the chunk buffer */
+                        HDmemcpy(chunk, fill->buf, file_type_size);
+
+                        /* Type convert the chunk buffer, to copy any VL components */
+                        if(H5T_convert(tpath, dset->shared->type_id, mem_tid, (size_t)1, (size_t)0, (size_t)0, chunk, bkg_buf, io_info->dxpl_id) < 0) {
+                            if(bkg_buf)
+                                H5FL_BLK_FREE(type_conv, bkg_buf);
+                            H5I_dec_ref(mem_tid);
+                            HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, NULL, "data type conversion failed")
+                        } /* end if */
+
+                        /* Replicate the fill value into the cached buffer */
+                        H5V_array_fill(chunk, chunk, mem_type_size, elmts_per_chunk);
+
+                        /* Get the inverse datatype conversion path for this operation */
+                        if(NULL == (tpath = H5T_path_find(mem_type, dset->shared->type, NULL, NULL, io_info->dxpl_id))) {
+                            if(bkg_buf)
+                                H5FL_BLK_FREE(type_conv, bkg_buf);
+                            H5I_dec_ref(mem_tid);
+                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to convert between src and dst datatypes")
+                        } /* end if */
+
+                        /* Allocate or reset the background buffer, if necessary */
+                        if(H5T_path_bkg(tpath)) {
+                            if(bkg_buf)
+                                HDmemset(bkg_buf, 0, MAX(mem_type_size, file_type_size));
+                            else {
+                                if(NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, (elmts_per_chunk * MAX(mem_type_size, file_type_size))))) {
+                                    H5I_dec_ref(mem_tid);
+                                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+                                } /* end if */
+                            } /* end else */
+                        } /* end if */
+
+                        /* Type convert the chunk buffer, to copy any VL components */
+                        if(H5T_convert(tpath, mem_tid, dset->shared->type_id, elmts_per_chunk, (size_t)0, (size_t)0, chunk, bkg_buf, io_info->dxpl_id) < 0) {
+                            if(bkg_buf)
+                                H5FL_BLK_FREE(type_conv, bkg_buf);
+                            H5I_dec_ref(mem_tid);
+                            HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, NULL, "data type conversion failed")
+                        } /* end if */
+
+                        /* Release resources used */
+                        if(bkg_buf)
+                            H5FL_BLK_FREE(type_conv, bkg_buf);
+                        H5I_dec_ref(mem_tid);
+                    } /* end if */
+                    else 
+                        /* Replicate the [non-VL] fill value into chunk */
+                        H5V_array_fill(chunk, fill->buf, fill->size, elmts_per_chunk);
+                } /* end if */
+                else {
                     /*
-                     * The chunk doesn't exist in the file.  Replicate the fill
-                     * value throughout the chunk.
-                     */
-                    assert(0==chunk_size % fill->size);
-                    H5V_array_fill(chunk, fill->buf, fill->size, chunk_size/fill->size);
-                } else {
-                    /*
                      * The chunk doesn't exist in the file and no fill value was
                      * specified.  Assume all zeros.
                      */
                     HDmemset (chunk, 0, chunk_size);
                 } /* end else */
             } /* end if */
-#ifdef H5_USING_PURIFY
-else
-    HDmemset(chunk,0,chunk_size);
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+            else
+                HDmemset(chunk, 0, chunk_size);
+#endif /* H5_CLEAR_MEMORY */
 #ifdef H5D_ISTORE_DEBUG
             rdcc->ninits++;
 #endif /* H5D_ISTORE_DEBUG */
@@ -1778,10 +1819,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *		Robb Matzke, 1999-08-02
- *		The split_ratios are passed as part of the data transfer
- *		property list.
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1859,8 +1896,6 @@
  * Programmer:	Quincey Koziol
  *		Wednesday, May  7, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 ssize_t
@@ -1878,16 +1913,16 @@
     FUNC_ENTER_NOAPI(H5D_istore_readvv, FAIL)
 
     /* Check args */
-    assert(io_info);
-    assert(dset && H5D_CHUNKED==dset->shared->layout.type);
-    assert(dset->shared->layout.u.chunk.ndims>0 && dset->shared->layout.u.chunk.ndims<=H5O_LAYOUT_NDIMS);
-    assert(io_info->dxpl_cache);
-    assert(io_info->store);
-    assert(chunk_len_arr);
-    assert(chunk_offset_arr);
-    assert(mem_len_arr);
-    assert(mem_offset_arr);
-    assert(buf);
+    HDassert(io_info);
+    HDassert(dset && H5D_CHUNKED==dset->shared->layout.type);
+    HDassert(dset->shared->layout.u.chunk.ndims>0 && dset->shared->layout.u.chunk.ndims<=H5O_LAYOUT_NDIMS);
+    HDassert(io_info->dxpl_cache);
+    HDassert(io_info->store);
+    HDassert(chunk_len_arr);
+    HDassert(chunk_offset_arr);
+    HDassert(mem_len_arr);
+    HDassert(mem_offset_arr);
+    HDassert(buf);
 
     /* Get the address of this chunk on disk */
 #ifdef QAK
@@ -1895,7 +1930,7 @@
 for(u=0; u<dset->shared->layout.u.chunk.ndims; u++)
     HDfprintf(stderr,"%Hd%s",io_info->store->chunk.offset[u],(u<(dset->shared->layout.u.chunk.ndims-1) ? ", " : "}\n"));
 #endif /* QAK */
-    chunk_addr=H5D_istore_get_addr(io_info, &udata);
+    chunk_addr = H5D_istore_get_addr(io_info, &udata);
 #ifdef QAK
 HDfprintf(stderr,"%s: chunk_addr=%a, chunk_size=%Zu\n",FUNC,chunk_addr,dset->shared->layout.u.chunk.size);
 HDfprintf(stderr,"%s: chunk_len_arr[%Zu]=%Zu\n",FUNC,*chunk_curr_seq,chunk_len_arr[*chunk_curr_seq]);
@@ -2052,8 +2087,6 @@
  * Programmer:	Quincey Koziol
  *		Friday, May  2, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 ssize_t
@@ -2062,7 +2095,7 @@
     size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_len_arr[], hsize_t mem_offset_arr[],
     const void *buf)
 {
-    H5D_t *dset=io_info->dset;          /* Local pointer to the dataset info */
+    H5D_t *dset = io_info->dset;          /* Local pointer to the dataset info */
     H5D_istore_ud1_t udata;		/*B-tree pass-through	*/
     haddr_t	        chunk_addr;     /* Chunk address on disk */
     size_t		u;              /* Local index variables */
@@ -2071,16 +2104,16 @@
     FUNC_ENTER_NOAPI(H5D_istore_writevv, FAIL)
 
     /* Check args */
-    assert(io_info);
-    assert(dset && H5D_CHUNKED==dset->shared->layout.type);
-    assert(dset->shared->layout.u.chunk.ndims>0 && dset->shared->layout.u.chunk.ndims<=H5O_LAYOUT_NDIMS);
-    assert(io_info->dxpl_cache);
-    assert(io_info->store);
-    assert(chunk_len_arr);
-    assert(chunk_offset_arr);
-    assert(mem_len_arr);
-    assert(mem_offset_arr);
-    assert(buf);
+    HDassert(io_info);
+    HDassert(dset && H5D_CHUNKED==dset->shared->layout.type);
+    HDassert(dset->shared->layout.u.chunk.ndims>0 && dset->shared->layout.u.chunk.ndims<=H5O_LAYOUT_NDIMS);
+    HDassert(io_info->dxpl_cache);
+    HDassert(io_info->store);
+    HDassert(chunk_len_arr);
+    HDassert(chunk_offset_arr);
+    HDassert(mem_len_arr);
+    HDassert(mem_offset_arr);
+    HDassert(buf);
 
     /* Get the address of this chunk on disk */
 #ifdef QAK
@@ -2088,7 +2121,7 @@
 for(u=0; u<dset->shared->layout.u.chunk.ndims; u++)
     HDfprintf(stderr,"%Hd%s",io_info->store->chunk.offset[u],(u<(dset->shared->layout.u.chunk.ndims-1) ? ", " : "}\n"));
 #endif /* QAK */
-    chunk_addr=H5D_istore_get_addr(io_info, &udata);
+    chunk_addr = H5D_istore_get_addr(io_info, &udata);
 #ifdef QAK
 HDfprintf(stderr,"%s: chunk_addr=%a, chunk_size=%Zu\n",FUNC,chunk_addr,dset->shared->layout.u.chunk.size);
 HDfprintf(stderr,"%s: chunk_len_arr[%Zu]=%Zu\n",FUNC,*chunk_curr_seq,chunk_len_arr[*chunk_curr_seq]);
@@ -2207,34 +2240,32 @@
  * Programmer:	Robb Matzke
  *		Tuesday, October 21, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
-H5D_istore_create(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout /*out */ )
+H5D_istore_create(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout /*out */)
 {
-    H5D_istore_ud1_t	udata;
+    H5D_istore_ud0_t	udata;
 #ifndef NDEBUG
     unsigned			u;
 #endif
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5D_istore_create, FAIL)
 
     /* Check args */
-    assert(f);
-    assert(layout && H5D_CHUNKED == layout->type);
-    assert(layout->u.chunk.ndims > 0 && layout->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
+    HDassert(f);
+    HDassert(layout && H5D_CHUNKED == layout->type);
+    HDassert(layout->u.chunk.ndims > 0 && layout->u.chunk.ndims <= H5O_LAYOUT_NDIMS);
 #ifndef NDEBUG
-    for (u = 0; u < layout->u.chunk.ndims; u++)
-	assert(layout->u.chunk.dim[u] > 0);
+    for(u = 0; u < layout->u.chunk.ndims; u++)
+	HDassert(layout->u.chunk.dim[u] > 0);
 #endif
 
     /* Initialize "user" data for B-tree callbacks, etc. */
     udata.mesg = layout;
 
-    if (H5B_create(f, dxpl_id, H5B_ISTORE, &udata, &(layout->u.chunk.addr)/*out*/) < 0)
+    if(H5B_create(f, dxpl_id, H5B_ISTORE, &udata, &(layout->u.chunk.addr)/*out*/) < 0)
 	HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "can't create B-tree")
 
 done:
@@ -2256,9 +2287,6 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 21, 1999
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 hsize_t
@@ -2269,12 +2297,12 @@
     H5D_rdcc_ent_t     *ent;    /*cache entry  */
     H5D_dxpl_cache_t _dxpl_cache;       /* Data transfer property cache buffer */
     H5D_dxpl_cache_t *dxpl_cache=&_dxpl_cache;   /* Data transfer property cache */
-    H5D_istore_ud1_t	udata;
+    H5D_istore_it_ud1_t	udata;
     hsize_t      ret_value;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5D_istore_allocated, 0)
 
-    assert(dset);
+    HDassert(dset);
 
     /* Fill the DXPL cache values for later use */
     if (H5D_get_dxpl_cache(dxpl_id,&dxpl_cache)<0)
@@ -2291,12 +2319,12 @@
     } /* end for */
 
     HDmemset(&udata, 0, sizeof udata);
-    udata.mesg = &dset->shared->layout;
+    udata.common.mesg = &dset->shared->layout;
     if (H5B_iterate(dset->ent.file, dxpl_id, H5B_ISTORE, H5D_istore_iter_allocated, dset->shared->layout.u.chunk.addr, &udata)<0)
         HGOTO_ERROR(H5E_IO, H5E_CANTINIT, 0, "unable to iterate over chunk B-tree")
 
     /* Set return value */
-    ret_value=udata.total_storage;
+    ret_value = udata.total_storage;
 
 done:
     FUNC_LEAVE_NOAPI(ret_value)
@@ -2315,10 +2343,6 @@
  * Programmer:	Albert Cheng
  *              June 27, 1998
  *
- * Modifications:
- *              Modified to return the address instead of returning it through
- *              a parameter - QAK, 1/30/02
- *
  *-------------------------------------------------------------------------
  */
 haddr_t
@@ -2331,18 +2355,18 @@
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_get_addr)
 
-    assert(io_info);
-    assert(io_info->dset);
-    assert(io_info->dset->shared->layout.u.chunk.ndims > 0);
-    assert(io_info->store->chunk.offset);
+    HDassert(io_info);
+    HDassert(io_info->dset);
+    HDassert(io_info->dset->shared->layout.u.chunk.ndims > 0);
+    HDassert(io_info->store->chunk.offset);
 
     /* Check for udata struct to return */
-    udata = (_udata!=NULL ? _udata : &tmp_udata);
+    udata = (_udata != NULL ? _udata : &tmp_udata);
 
     /* Initialize the information about the chunk we are looking for */
-    for (u=0; u<io_info->dset->shared->layout.u.chunk.ndims; u++)
-	udata->key.offset[u] = io_info->store->chunk.offset[u];
-    udata->mesg = &(io_info->dset->shared->layout);
+    for(u = 0; u < io_info->dset->shared->layout.u.chunk.ndims; u++)
+	udata->common.key.offset[u] = io_info->store->chunk.offset[u];
+    udata->common.mesg = &(io_info->dset->shared->layout);
     udata->addr = HADDR_UNDEF;
 
     /* Go get the chunk information */
@@ -2380,8 +2404,6 @@
  * Programmer:	Quincey Koziol
  *              April 22, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static void *
@@ -2389,7 +2411,7 @@
 {
     void *ret_value=NULL;		/* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5D_istore_chunk_alloc)
+    FUNC_ENTER_NOAPI_NOINIT(H5D_istore_chunk_alloc)
 
     assert(size);
     assert(pline);
@@ -2415,8 +2437,6 @@
  * Programmer:	Quincey Koziol
  *              April 22, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static void *
@@ -2458,26 +2478,6 @@
  * Programmer:	Albert Cheng
  *		June 26, 1998
  *
- * Modifications:
- *		rky, 1998-09-23
- *		Added barrier to preclude racing with data writes.
- *
- *		rky, 1998-12-07
- *		Added Wait-Signal wrapper around unlock-lock critical region
- *		to prevent race condition (unlock reads, lock writes the
- *		chunk).
- *
- * 		Robb Matzke, 1999-08-02
- *		The split_ratios are passed in as part of the data transfer
- *		property list.
- *
- * 		Quincey Koziol, 2002-05-16
- *		Rewrote algorithm to allocate & write blocks without using
- *              lock/unlock code.
- *
- * 		Quincey Koziol, 2002-05-17
- *		Added feature to avoid writing fill-values if user has indicated
- *              that they should never be written.
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -2486,90 +2486,74 @@
     H5D_io_info_t io_info;      /* Dataset I/O info */
     H5D_storage_t store;        /* Dataset storage information */
     hsize_t	chunk_offset[H5O_LAYOUT_NDIMS]; /* Offset of current chunk */
-    hsize_t	chunk_size;     /* Size of chunk in bytes */
-    unsigned filter_mask=0;     /* Filter mask for chunks that have them */
-    H5O_pline_t pline;          /* I/O pipeline information */
-    hbool_t     pline_initialized=FALSE;        /* Flag to indicate that pline has valid info */
-    H5O_fill_t fill;            /* Fill value information */
-    H5D_fill_time_t fill_time;  /* When to write fill values */
+    size_t      elmts_per_chunk; /* # of elements which fit in a chunk */
+    size_t	orig_chunk_size; /* Original size of chunk in bytes */
+    unsigned    filter_mask = 0;    /* Filter mask for chunks that have them */
     H5D_fill_value_t fill_status;    /* The fill value status */
-    unsigned   should_fill=0;   /* Whether fill values should be written */
-    H5D_istore_ud1_t udata;	/* B-tree pass-through for creating chunk */
-    void *chunk=NULL;           /* Chunk buffer for writing fill values */
+    hbool_t     should_fill = FALSE;   /* Whether fill values should be written */
+    void        *chunk = NULL;  /* Chunk buffer for writing fill values */
     H5D_dxpl_cache_t _dxpl_cache;       /* Data transfer property cache buffer */
-    H5D_dxpl_cache_t *dxpl_cache=&_dxpl_cache;   /* Data transfer property cache */
+    H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache;   /* Data transfer property cache */
 #ifdef H5_HAVE_PARALLEL
-    MPI_Comm	mpi_comm=MPI_COMM_NULL;	/* MPI communicator for file */
-    int         mpi_rank=(-1);  /* This process's rank  */
+    MPI_Comm	mpi_comm = MPI_COMM_NULL;	/* MPI communicator for file */
+    int         mpi_rank = (-1);  /* This process's rank  */
     int         mpi_code;       /* MPI return code */
-    unsigned    blocks_written=0; /* Flag to indicate that chunk was actually written */
-    unsigned    using_mpi=0;    /* Flag to indicate that the file is being accessed with an MPI-capable file driver */
+    hbool_t     blocks_written = FALSE; /* Flag to indicate that chunk was actually written */
+    hbool_t     using_mpi = FALSE;      /* Flag to indicate that the file is being accessed with an MPI-capable file driver */
 #endif /* H5_HAVE_PARALLEL */
-    int		carry;          /* Flag to indicate that chunk increment carrys to higher dimension (sorta) */
-    unsigned	chunk_exists;   /* Flag to indicate whether a chunk exists already */
-    int		i;              /* Local index variable */
-    unsigned	u;              /* Local index variable */
-    H5P_genplist_t *dc_plist;       /* Property list */
+    hbool_t	carry;          /* Flag to indicate that chunk increment carrys to higher dimension (sorta) */
     int         space_ndims;    /* Dataset's space rank */
     hsize_t     space_dim[H5O_LAYOUT_NDIMS];    /* Dataset's dataspace dimensions */
-    herr_t	ret_value=SUCCEED;	/* Return value */
+    H5T_path_t *fill_to_mem_tpath;      /* Datatype conversion path for converting the fill value to the memory buffer */
+    H5T_path_t *mem_to_dset_tpath;      /* Datatype conversion path for converting the memory buffer to the dataset elements */
+    uint8_t    *bkg_buf = NULL;         /* Background conversion buffer */
+    H5T_t      *mem_type = NULL;        /* Pointer to memory datatype */
+    size_t      mem_type_size, file_type_size;       /* Size of datatype in memory and on disk */
+    size_t      elmt_size;              /* Size of each element */
+    hid_t       mem_tid = (-1);         /* Memory version of disk datatype */
+    size_t      bkg_buf_size;           /* Size of background buffer */
+    hbool_t     has_vlen_fill_type = FALSE;  /* Whether the datatype for the fill value has a variable-length component */
+    herr_t	ret_value = SUCCEED;	/* Return value */
 
     FUNC_ENTER_NOAPI(H5D_istore_allocate, FAIL)
 
     /* Check args */
-    assert(dset && H5D_CHUNKED==dset->shared->layout.type);
-    assert(dset->shared->layout.u.chunk.ndims>0 && dset->shared->layout.u.chunk.ndims<=H5O_LAYOUT_NDIMS);
-    assert(H5F_addr_defined(dset->shared->layout.u.chunk.addr));
-    assert(TRUE==H5P_isa_class(dxpl_id,H5P_DATASET_XFER));
+    HDassert(dset && H5D_CHUNKED == dset->shared->layout.type);
+    HDassert(dset->shared->layout.u.chunk.ndims > 0 && dset->shared->layout.u.chunk.ndims <= H5O_LAYOUT_NDIMS);
+    HDassert(H5F_addr_defined(dset->shared->layout.u.chunk.addr));
+    HDassert(TRUE == H5P_isa_class(dxpl_id, H5P_DATASET_XFER));
 
-    /* Get dataset's creation property list */
-    if (NULL == (dc_plist = H5I_object(dset->shared->dcpl_id)))
-        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset creation property list")
-
-    /* We only handle simple data spaces so far */
-    if ((space_ndims=H5S_get_simple_extent_dims(dset->shared->space, space_dim, NULL))<0)
-         HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get simple data space info")
+    /* Retrieve the dataset dimensions */
+    if((space_ndims = H5S_get_simple_extent_dims(dset->shared->space, space_dim, NULL)) < 0)
+         HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get simple dataspace info")
     space_dim[space_ndims] = dset->shared->layout.u.chunk.dim[space_ndims];
 
-    /* Get necessary properties from dataset creation property list */
-    if(H5P_get(dc_plist, H5D_CRT_FILL_VALUE_NAME, &fill) < 0)
-        HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "can't get fill value")
-    if(H5P_get(dc_plist, H5D_CRT_DATA_PIPELINE_NAME, &pline) < 0)
-        HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "can't get data pipeline")
-    pline_initialized=TRUE;
-    if(H5P_get(dc_plist, H5D_CRT_FILL_TIME_NAME, &fill_time) < 0)
-        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve fill time")
-
     /* Fill the DXPL cache values for later use */
-    if (H5D_get_dxpl_cache(dxpl_id,&dxpl_cache)<0)
+    if(H5D_get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
         HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
 
 #ifdef H5_HAVE_PARALLEL
     /* Retrieve MPI parameters */
     if(IS_H5FD_MPI(dset->ent.file)) {
         /* Get the MPI communicator */
-        if (MPI_COMM_NULL == (mpi_comm=H5F_mpi_get_comm(dset->ent.file)))
+        if(MPI_COMM_NULL == (mpi_comm = H5F_mpi_get_comm(dset->ent.file)))
             HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI communicator")
 
         /* Get the MPI rank */
-        if ((mpi_rank=H5F_mpi_get_rank(dset->ent.file))<0)
+        if((mpi_rank = H5F_mpi_get_rank(dset->ent.file)) < 0)
             HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI rank")
 
         /* Set the MPI-capable file driver flag */
-        using_mpi=1;
+        using_mpi = TRUE;
     } /* end if */
 #endif  /* H5_HAVE_PARALLEL */
 
-    /*
-     * Setup indice to go through all chunks. (Future improvement
-     * should allocate only chunks that have no file space assigned yet.
-     */
-    for (u=0; u<dset->shared->layout.u.chunk.ndims; u++)
-        chunk_offset[u] = 0;
-    chunk_size = dset->shared->layout.u.chunk.size;
+    /* Get original chunk size */
+    H5_CHECK_OVERFLOW(dset->shared->layout.u.chunk.size, hsize_t, size_t);
+    orig_chunk_size = (size_t)dset->shared->layout.u.chunk.size;
 
     /* Check the dataset's fill-value status */
-    if (H5P_is_fill_value_defined(&fill, &fill_status) < 0)
+    if(H5P_is_fill_value_defined(&dset->shared->dcpl_cache.fill, &fill_status) < 0)
         HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't tell if fill value defined")
 
     /* If we are filling the dataset on allocation or "if set" and
@@ -2577,140 +2561,267 @@
      * or if there are any pipeline filters defined,
      * set the "should fill" flag
      */
-    if((!full_overwrite && (fill_time==H5D_FILL_TIME_ALLOC ||
-            (fill_time==H5D_FILL_TIME_IFSET && fill_status==H5D_FILL_VALUE_USER_DEFINED)))
-            || pline.nused>0)
-        should_fill=1;
+    if((!full_overwrite && (dset->shared->dcpl_cache.fill_time == H5D_FILL_TIME_ALLOC ||
+            (dset->shared->dcpl_cache.fill_time == H5D_FILL_TIME_IFSET && fill_status == H5D_FILL_VALUE_USER_DEFINED)))
+            || dset->shared->dcpl_cache.pline.nused > 0)
+        should_fill = TRUE;
 
-    /* Check if fill values should be written to blocks */
+    /* Check if fill values should be written to chunks */
     if(should_fill) {
-        /* Allocate chunk buffer for processes to use when writing fill values */
-        H5_CHECK_OVERFLOW(chunk_size,hsize_t,size_t);
-        if (NULL==(chunk = H5D_istore_chunk_alloc((size_t)chunk_size,&pline)))
-            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for chunk")
+        /* Fill the chunk with the proper values */
+        if(dset->shared->dcpl_cache.fill.buf) {
+            /* Detect whether the datatype has a VL component */
+            has_vlen_fill_type = H5T_detect_class(dset->shared->type, H5T_VLEN);
 
-        /* Fill the chunk with the proper values */
-        if(fill.buf) {
+            /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
+            if(has_vlen_fill_type) {
+                /* Create temporary datatype for conversion operation */
+                if(NULL == (mem_type = H5T_copy(dset->shared->type, H5T_COPY_REOPEN)))
+                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy file datatype")
+                if((mem_tid = H5I_register(H5I_DATATYPE, mem_type)) < 0)
+                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register memory datatype")
+
+                /* Retrieve sizes of memory & file datatypes */
+                mem_type_size = H5T_get_size(mem_type);
+                HDassert(mem_type_size > 0);
+                file_type_size = H5T_get_size(dset->shared->type);
+                HDassert(file_type_size == dset->shared->dcpl_cache.fill.size);
+
+                /* Compute the base size for a chunk to operate on */
+                elmt_size = MAX(mem_type_size, file_type_size);
+                elmts_per_chunk = dset->shared->layout.u.chunk.size / file_type_size;
+                orig_chunk_size = elmts_per_chunk * elmt_size;
+
+                /* Allocate a chunk buffer now, if _no_ filters are used */
+                if(dset->shared->dcpl_cache.pline.nused == 0)
+                    if(NULL == (chunk = H5D_istore_chunk_alloc(orig_chunk_size, &dset->shared->dcpl_cache.pline)))
+                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for chunk")
+
+                /* Get the datatype conversion path for this operation */
+                if(NULL == (fill_to_mem_tpath = H5T_path_find(dset->shared->type, mem_type, NULL, NULL, dxpl_id)))
+                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to convert between src and dst datatypes")
+
+                /* Get the inverse datatype conversion path for this operation */
+                if(NULL == (mem_to_dset_tpath = H5T_path_find(mem_type, dset->shared->type, NULL, NULL, dxpl_id)))
+                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to convert between src and dst datatypes")
+
+                /* Check if we need to allocate a background buffer */
+                if(H5T_path_bkg(fill_to_mem_tpath) || H5T_path_bkg(mem_to_dset_tpath)) {
+                    /* Check for inverse datatype conversion needing a background buffer */
+                    /* (do this first, since it needs a larger buffer) */
+                    if(H5T_path_bkg(mem_to_dset_tpath))
+                        bkg_buf_size = elmts_per_chunk * elmt_size;
+                    else
+                        bkg_buf_size = elmt_size;
+
+                    /* Allocate the background buffer */
+                    if(NULL == (bkg_buf = H5FL_BLK_MALLOC(type_conv, bkg_buf_size)))
+                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+                } /* end if */
+            } /* end if */
+            else {
+                /* Allocate chunk buffer for processes to use when writing fill values */
+                if(NULL == (chunk = H5D_istore_chunk_alloc(orig_chunk_size, &dset->shared->dcpl_cache.pline)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for chunk")
+
+                /*
+                 * Replicate the fill value throughout the chunk.
+                 */
+                HDassert(0 == (orig_chunk_size % dset->shared->dcpl_cache.fill.size));
+                H5V_array_fill(chunk, dset->shared->dcpl_cache.fill.buf, dset->shared->dcpl_cache.fill.size, (size_t)(orig_chunk_size / dset->shared->dcpl_cache.fill.size));
+            } /* end else */
+        } /* end if */
+        else {
+            /* Allocate chunk buffer for processes to use when writing fill values */
+            if(NULL == (chunk = H5D_istore_chunk_alloc(orig_chunk_size, &dset->shared->dcpl_cache.pline)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for chunk")
+
             /*
-             * Replicate the fill value throughout the chunk.
-             */
-            assert(0==chunk_size % fill.size);
-            H5V_array_fill(chunk, fill.buf, fill.size, (size_t)chunk_size/fill.size);
-        } else {
-            /*
              * No fill value was specified, assume all zeros.
              */
-            HDmemset (chunk, 0, (size_t)chunk_size);
+            HDmemset(chunk, 0, orig_chunk_size);
         } /* end else */
 
         /* Check if there are filters which need to be applied to the chunk */
-        if (pline.nused>0) {
-            size_t buf_size=(size_t)chunk_size;
-            size_t nbytes=(size_t)chunk_size;
+        /* (only do this in advance when the chunk info can be re-used (i.e.
+         *      it doesn't contain any non-default VL datatype fill values)
+         */
+        if(!has_vlen_fill_type && dset->shared->dcpl_cache.pline.nused > 0) {
+            size_t buf_size = orig_chunk_size;
 
             /* Push the chunk through the filters */
-            if (H5Z_pipeline(&pline, 0, &filter_mask, dxpl_cache->err_detect, dxpl_cache->filter_cb, &nbytes, &buf_size, &chunk)<0)
+            if(H5Z_pipeline(&dset->shared->dcpl_cache.pline, 0, &filter_mask, dxpl_cache->err_detect, dxpl_cache->filter_cb, &orig_chunk_size, &buf_size, &chunk) < 0)
                 HGOTO_ERROR(H5E_PLINE, H5E_WRITEERROR, FAIL, "output pipeline failed")
-
-            /* Keep the number of bytes the chunk turned in to */
-            chunk_size=nbytes;
         } /* end if */
     } /* end if */
 
     /* Set up dataset I/O info */
-    store.chunk.offset=chunk_offset;
-    H5D_BUILD_IO_INFO(&io_info,dset,dxpl_cache,dxpl_id,&store);
+    store.chunk.offset = chunk_offset;
+    H5D_BUILD_IO_INFO(&io_info, dset, dxpl_cache, dxpl_id, &store);
 
+    /* Reset the chunk offset indices */
+    HDmemset(chunk_offset, 0, (dset->shared->layout.u.chunk.ndims * sizeof(chunk_offset[0])));
+
     /* Loop over all chunks */
-    carry=0;
-    while (carry==0) {
+    carry = FALSE;
+    while(!carry) {
+        int i;                  /* Local index variable */
+
         /* Check if the chunk exists yet on disk */
-        chunk_exists=1;
-        if(H5D_istore_get_addr(&io_info,NULL)==HADDR_UNDEF) {
-            const H5D_rdcc_t       *rdcc = &(dset->shared->cache.chunk);	/*raw data chunk cache */
-            H5D_rdcc_ent_t         *ent = NULL;              	/*cache entry  */
+        if(!H5F_addr_defined(H5D_istore_get_addr(&io_info, NULL))) {
+            const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk);  /* Raw data chunk cache */
+            H5D_rdcc_ent_t *ent;    /* Cache entry  */
+            hbool_t chunk_exists;   /* Flag to indicate whether a chunk exists already */
+            unsigned u;             /* Local index variable */
 
             /* Didn't find the chunk on disk */
-            chunk_exists = 0;
+            chunk_exists = FALSE;
 
             /* Look for chunk in cache */
             for(ent = rdcc->head; ent && !chunk_exists; ent = ent->next) {
                 /* Assume a match */
-                chunk_exists = 1;
-                for(u = 0; u < dset->shared->layout.u.chunk.ndims && chunk_exists; u++) {
-                    if(ent->offset[u] != chunk_offset[u])
-                        chunk_exists = 0;       /* Reset if no match */
-                } /* end for */
+                chunk_exists = TRUE;
+                for(u = 0; u < dset->shared->layout.u.chunk.ndims; u++)
+                    if(ent->offset[u] != chunk_offset[u]) {
+                        chunk_exists = FALSE;       /* Reset if no match */
+                        break;
+                    } /* end if */
             } /* end for */
-        } /* end if */
 
-        if(!chunk_exists) {
-            /* Initialize the chunk information */
-            udata.mesg = &dset->shared->layout;
-            udata.key.filter_mask = filter_mask;
-            udata.addr = HADDR_UNDEF;
-            H5_CHECK_OVERFLOW(chunk_size,hsize_t,size_t);
-            udata.key.nbytes = (size_t)chunk_size;
-            for (u=0; u<dset->shared->layout.u.chunk.ndims; u++)
-                udata.key.offset[u] = chunk_offset[u];
+            /* Chunk wasn't in cache either, create it now */
+            if(!chunk_exists) {
+                H5D_istore_ud1_t udata;	/* B-tree pass-through for creating chunk */
+                size_t	chunk_size;     /* Size of chunk in bytes, possibly filtered */
 
-            /* Allocate the chunk with all processes */
-            if (H5B_insert(dset->ent.file, dxpl_id, H5B_ISTORE, dset->shared->layout.u.chunk.addr, &udata)<0)
-                HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to allocate chunk")
+                /* Check for VL datatype & non-default fill value */
+                if(has_vlen_fill_type) {
+                    /* Allocate a new chunk buffer each time, if filters are used */
+                    if(dset->shared->dcpl_cache.pline.nused > 0)
+                        if(NULL == (chunk = H5D_istore_chunk_alloc(orig_chunk_size, &dset->shared->dcpl_cache.pline)))
+                            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for chunk")
 
-            /* Check if fill values should be written to blocks */
-            if(should_fill) {
+                    /* Make a copy of the (disk-based) fill value into the buffer */
+                    HDmemcpy(chunk, dset->shared->dcpl_cache.fill.buf, file_type_size);
+
+                    /* Reset first element of background buffer, if necessary */
+                    if(H5T_path_bkg(fill_to_mem_tpath))
+                        HDmemset(bkg_buf, 0, elmt_size);
+
+                    /* Type convert the dataset buffer, to copy any VL components */
+                    if(H5T_convert(fill_to_mem_tpath, dset->shared->type_id, mem_tid, (size_t)1, (size_t)0, (size_t)0, chunk, bkg_buf, dxpl_id) < 0)
+                        HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+
+                    /* Replicate the fill value into the cached buffer */
+                    H5V_array_fill(chunk, chunk, mem_type_size, elmts_per_chunk);
+
+                    /* Reset the entire background buffer, if necessary */
+                    if(H5T_path_bkg(mem_to_dset_tpath))
+                        HDmemset(bkg_buf, 0, bkg_buf_size);
+
+                    /* Type convert the dataset buffer, to copy any VL components */
+                    if(H5T_convert(mem_to_dset_tpath, mem_tid, dset->shared->type_id, elmts_per_chunk, (size_t)0, (size_t)0, chunk, bkg_buf, dxpl_id) < 0)
+                        HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "data type conversion failed")
+
+                    /* Check if there are filters which need to be applied to the chunk */
+                    if(dset->shared->dcpl_cache.pline.nused > 0) {
+                        size_t buf_size = orig_chunk_size;
+                        size_t nbytes = (size_t)dset->shared->layout.u.chunk.size;
+
+                        /* Push the chunk through the filters */
+                        if(H5Z_pipeline(&dset->shared->dcpl_cache.pline, 0, &filter_mask, dxpl_cache->err_detect, dxpl_cache->filter_cb, &nbytes, &buf_size, &chunk) < 0)
+                            HGOTO_ERROR(H5E_PLINE, H5E_WRITEERROR, FAIL, "output pipeline failed")
+
+                        /* Keep the number of bytes the chunk turned in to */
+                        chunk_size = nbytes;
+                    } /* end if */
+                    else
+                        chunk_size = (size_t)dset->shared->layout.u.chunk.size;
+                } /* end if */
+                else
+                    chunk_size = orig_chunk_size;
+
+                /* Initialize the chunk information */
+                udata.common.mesg = &dset->shared->layout;
+                udata.common.key.filter_mask = filter_mask;
+                udata.addr = HADDR_UNDEF;
+                udata.common.key.nbytes = chunk_size;
+                for(u = 0; u < dset->shared->layout.u.chunk.ndims; u++)
+                    udata.common.key.offset[u] = chunk_offset[u];
+
+                /* Allocate the chunk with all processes */
+                if(H5B_insert(dset->ent.file, dxpl_id, H5B_ISTORE, dset->shared->layout.u.chunk.addr, &udata) < 0)
+                    HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to allocate chunk")
+
+                /* Check if fill values should be written to chunks */
+                if(should_fill) {
 #ifdef H5_HAVE_PARALLEL
-                /* Check if this file is accessed with an MPI-capable file driver */
-                if(using_mpi) {
-                    /* Write the chunks out from only one process */
-                    /* !! Use the internal "independent" DXPL!! -QAK */
-                    if(H5_PAR_META_WRITE==mpi_rank) {
-                        if (H5F_block_write(dset->ent.file, H5FD_MEM_DRAW, udata.addr, udata.key.nbytes, H5AC_ind_dxpl_id, chunk)<0)
-                            HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
+                    /* Check if this file is accessed with an MPI-capable file driver */
+                    if(using_mpi) {
+                        /* Write the chunks out from only one process */
+                        /* !! Use the internal "independent" DXPL!! -QAK */
+                        if(H5_PAR_META_WRITE == mpi_rank)
+                            if(H5F_block_write(dset->ent.file, H5FD_MEM_DRAW, udata.addr, udata.common.key.nbytes, H5AC_ind_dxpl_id, chunk) < 0)
+                                HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
+
+                        /* Indicate that blocks are being written */
+                        blocks_written = TRUE;
                     } /* end if */
-
-                    /* Indicate that blocks are being written */
-                    blocks_written=1;
-                } /* end if */
-                else {
+                    else {
 #endif /* H5_HAVE_PARALLEL */
-                    if (H5F_block_write(dset->ent.file, H5FD_MEM_DRAW, udata.addr, udata.key.nbytes, dxpl_id, chunk)<0)
-                        HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
+                        if(H5F_block_write(dset->ent.file, H5FD_MEM_DRAW, udata.addr, udata.common.key.nbytes, dxpl_id, chunk) < 0)
+                            HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
 #ifdef H5_HAVE_PARALLEL
-                } /* end else */
+                    } /* end else */
 #endif /* H5_HAVE_PARALLEL */
+                } /* end if */
+
+                /* Release the chunk if we need to re-allocate it each time */
+                if(has_vlen_fill_type && dset->shared->dcpl_cache.pline.nused > 0)
+                    chunk = H5D_istore_chunk_xfree(chunk, &dset->shared->dcpl_cache.pline);
             } /* end if */
         } /* end if */
 
-        /* Increment indices */
-        for (i=(int)dset->shared->layout.u.chunk.ndims-1, carry=1; i>=0 && carry; --i) {
+        /* Increment chunk offset indices */
+        carry = TRUE;
+        for(i = (int)dset->shared->layout.u.chunk.ndims - 1; i >= 0; --i) {
             chunk_offset[i] += dset->shared->layout.u.chunk.dim[i];
-            if (chunk_offset[i] >= space_dim[i])
+            if(chunk_offset[i] >= space_dim[i])
                 chunk_offset[i] = 0;
-            else
-                carry = 0;
+            else {
+                carry = FALSE;
+                break;
+            } /* end else */
         } /* end for */
     } /* end while */
 
 #ifdef H5_HAVE_PARALLEL
-    /* Only need to block at the barrier if we actually allocated a chunk */
-    /* And if we are using an MPI-capable file driver */
+    /* Only need to block at the barrier if we actually initialized a chunk */
+    /* using an MPI-capable file driver */
     if(using_mpi && blocks_written) {
         /* Wait at barrier to avoid race conditions where some processes are
          * still writing out chunks and other processes race ahead to read
          * them in, getting bogus data.
          */
-        if (MPI_SUCCESS != (mpi_code=MPI_Barrier(mpi_comm)))
+        if(MPI_SUCCESS != (mpi_code = MPI_Barrier(mpi_comm)))
             HMPI_GOTO_ERROR(FAIL, "MPI_Barrier failed", mpi_code);
     } /* end if */
 #endif /* H5_HAVE_PARALLEL */
 
 done:
     /* Free the chunk for fill values */
-    if(chunk!=NULL && pline_initialized)
-        chunk=H5D_istore_chunk_xfree(chunk,&pline);
+    if(chunk)
+        chunk = H5D_istore_chunk_xfree(chunk, &dset->shared->dcpl_cache.pline);
 
+    /* Free other resources for vlen fill values */
+    if(has_vlen_fill_type) {
+        if(mem_tid > 0)
+            H5I_dec_ref(mem_tid);
+        else if(mem_type)
+            H5T_close(mem_type);
+        if(bkg_buf)
+            H5FL_BLK_FREE(type_conv, bkg_buf);
+    } /* end if */
+
     FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5D_istore_allocate() */
 
@@ -2818,14 +2929,14 @@
 herr_t
 H5D_istore_prune_by_extent(const H5D_io_info_t *io_info)
 {
-    H5D_t *dset=io_info->dset;          /* Local pointer to the dataset info */
+    H5D_t *dset = io_info->dset;          /* Local pointer to the dataset info */
     const H5D_rdcc_t       *rdcc = &(dset->shared->cache.chunk);	/*raw data chunk cache */
     H5D_rdcc_ent_t         *ent = NULL, *next = NULL;	/*cache entry  */
     unsigned                u;	/*counters  */
     int                     found;	/*remove this entry  */
-    H5D_istore_ud1_t        udata;	/*B-tree pass-through */
+    H5D_istore_it_ud3_t     udata;	/*B-tree pass-through */
     hsize_t                 curr_dims[H5O_LAYOUT_NDIMS];	/*current dataspace dimensions */
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5D_istore_prune_by_extent, FAIL)
 
@@ -2877,8 +2988,7 @@
  */
 
     HDmemset(&udata, 0, sizeof udata);
-    udata.stream = stdout;
-    udata.mesg = &dset->shared->layout;
+    udata.common.mesg = &dset->shared->layout;
     udata.dims = curr_dims;
 
     if(H5B_iterate(dset->ent.file, io_info->dxpl_id, H5B_ISTORE, H5D_istore_prune_extent, dset->shared->layout.u.chunk.addr, &udata) < 0)
@@ -2902,8 +3012,6 @@
  *
  * Comments: Called by H5D_prune_by_extent
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -2911,11 +3019,10 @@
 H5D_istore_prune_extent(H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t UNUSED addr,
         const void UNUSED *_rt_key, void *_udata)
 {
-    H5D_istore_ud1_t       *bt_udata = (H5D_istore_ud1_t *)_udata;
+    H5D_istore_it_ud3_t       *udata = (H5D_istore_it_ud3_t *)_udata;
     const H5D_istore_key_t       *lt_key = (const H5D_istore_key_t *)_lt_key;
     unsigned                u;
-    H5D_istore_ud1_t        udata;
-    int                     ret_value=H5B_ITER_CONT;       /* Return value */
+    int                     ret_value = H5B_ITER_CONT;       /* Return value */
 
     /* The LT_KEY is the left key (the one that describes the chunk). It points to a chunk of
      * storage that contains the beginning of the logical address space represented by UDATA.
@@ -2924,21 +3031,16 @@
     FUNC_ENTER_NOAPI_NOINIT(H5D_istore_prune_extent)
 
     /* Figure out what chunks are no longer in use for the specified extent and release them */
-    for(u = 0; u < bt_udata->mesg->u.chunk.ndims - 1; u++)
-	if((hsize_t)lt_key->offset[u] > bt_udata->dims[u]) {
-#ifdef H5D_ISTORE_DEBUG
-            HDfputs("b-tree:remove:[", bt_udata->stream);
-            for(u = 0; u < bt_udata->mesg->u.chunk.ndims - 1; u++)
-                HDfprintf(bt_udata->stream, "%s%Hd", u ? ", " : "", lt_key->offset[u]);
-            HDfputs("]\n", bt_udata->stream);
-#endif
+    for(u = 0; u < udata->common.mesg->u.chunk.ndims - 1; u++)
+	if((hsize_t)lt_key->offset[u] > udata->dims[u]) {
+            H5D_istore_ud0_t        bt_udata;
 
-            HDmemset(&udata, 0, sizeof udata);
-            udata.key = *lt_key;
-            udata.mesg = bt_udata->mesg;
+            HDmemset(&bt_udata, 0, sizeof bt_udata);
+            bt_udata.key = *lt_key;
+            bt_udata.mesg = udata->common.mesg;
 
             /* Remove */
-            if(H5B_remove(f, dxpl_id, H5B_ISTORE, bt_udata->mesg->u.chunk.addr, &udata) < 0)
+            if(H5B_remove(f, dxpl_id, H5B_ISTORE, udata->common.mesg->u.chunk.addr, &bt_udata) < 0)
                 HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, H5B_ITER_ERROR, "unable to remove entry")
 	    break;
 	} /* end if */
@@ -2962,8 +3064,6 @@
  *
  * Comments: Part of H5B_ISTORE
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 /* ARGSUSED */
@@ -3012,8 +3112,6 @@
  * Fot the ones that are allocated we initialize the part that lies outside the boundary
  * with the fill value.
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3205,8 +3303,6 @@
  * Programmer:	Quincey Koziol
  *              Thursday, March 20, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3219,7 +3315,7 @@
     /* Check if the B-tree has been created in the file */
     if(H5F_addr_defined(layout->u.chunk.addr)) {
         H5O_layout_t tmp_layout=*layout;/* Local copy of layout info */
-        H5D_istore_ud1_t	udata;  /* User data for B-tree iterator call */
+        H5D_istore_ud0_t	udata;  /* User data for B-tree iterator call */
 
         /* Set up user data for B-tree deletion */
         HDmemset(&udata, 0, sizeof udata);
@@ -3257,8 +3353,6 @@
  * Programmer:	Quincey Koziol
  *              Saturday, May 29, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3358,26 +3452,23 @@
  * Programmer:	Robb Matzke
  *              Wednesday, April 28, 1999
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 herr_t
 H5D_istore_dump_btree(H5F_t *f, hid_t dxpl_id, FILE *stream, unsigned ndims, haddr_t addr)
 {
     H5O_layout_t        layout;
-    H5D_istore_ud1_t	udata;
+    H5D_istore_it_ud2_t	udata;
     herr_t      ret_value=SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5D_istore_dump_btree, FAIL)
 
     HDmemset(&udata, 0, sizeof udata);
     layout.u.chunk.ndims = ndims;
-    udata.mesg = &layout;
+    udata.common.mesg = &layout;
     udata.stream = stream;
     if(stream)
-        HDfprintf(stream, "    Address: %a\n",addr);
+        HDfprintf(stream, "    Address: %a\n", addr);
     if(H5B_iterate(f, dxpl_id, H5B_ISTORE, H5D_istore_iter_dump, addr, &udata)<0)
         HGOTO_ERROR(H5E_IO, H5E_CANTINIT, 0, "unable to iterate over chunk B-tree")
 
@@ -3399,8 +3490,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3462,9 +3551,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, April 16, 1998
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3472,21 +3558,23 @@
 		 int fwidth, unsigned ndims)
 {
     H5O_layout_t        layout;
-    H5D_istore_ud1_t	udata;
-    herr_t      ret_value=SUCCEED;      /* Return value */
+    H5D_istore_ud0_t	udata;          /* B-tree user data */
+    herr_t      ret_value = SUCCEED;    /* Return value */
 
     FUNC_ENTER_NOAPI(H5D_istore_debug,FAIL)
 
     layout.u.chunk.ndims = ndims;
-    HDmemset (&udata, 0, sizeof udata);
-    udata.mesg = &layout;
 
     /* Allocate the shared structure */
     if(H5D_istore_shared_create(f, &layout)<0)
 	HGOTO_ERROR (H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info")
 
-    (void)H5B_debug (f, dxpl_id, addr, stream, indent, fwidth, H5B_ISTORE, &udata);
+    /* Set up B-tree user data */
+    HDmemset(&udata, 0, sizeof udata);
+    udata.mesg = &layout;
 
+    (void)H5B_debug(f, dxpl_id, addr, stream, indent, fwidth, H5B_ISTORE, &udata);
+
     /* Free the raw B-tree node buffer */
     if(layout.u.chunk.btree_shared==NULL)
         HGOTO_ERROR (H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil")

Modified: packages/hdf5/trunk/src/H5Dmpio.c
===================================================================
--- packages/hdf5/trunk/src/H5Dmpio.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dmpio.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Dpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Dpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -234,6 +235,7 @@
     const void *buf);
 
 /* Functions that operate on compact dataset storage */
+H5_DLL herr_t H5D_compact_fill(H5D_t *dset, hid_t dxpl_id);
 H5_DLL ssize_t H5D_compact_readvv(const H5D_io_info_t *io_info,
     size_t dset_max_nseq, size_t *dset_curr_seq, size_t dset_size_arr[], hsize_t dset_offset_arr[],
     size_t mem_max_nseq, size_t *mem_curr_seq, size_t mem_size_arr[], hsize_t mem_offset_arr[],
@@ -283,7 +285,8 @@
     const void *buf);
 
 #ifdef H5_HAVE_PARALLEL
-/* MPI-IO function to read directly from app buffer to file rky980813 */
+
+/* MPI-IO function to read , it will select either regular or irregular read */
 H5_DLL herr_t H5D_mpio_select_read(H5D_io_info_t *io_info,
     size_t nelmts, size_t elmt_size,
     const struct H5S_t *file_space, const struct H5S_t *mem_space,
@@ -332,3 +335,4 @@
 #endif /* H5D_TESTING */
 
 #endif /*_H5Dpkg_H*/
+

Modified: packages/hdf5/trunk/src/H5Dprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Dprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -24,7 +25,12 @@
 /* Private headers needed by this file */
 #include "H5FDprivate.h"	/* File drivers				*/
 #include "H5Oprivate.h"		/* Object headers		  	*/
+#include "H5Sprivate.h"		/* Dataspaces 				*/
 
+/**************************/
+/* Library Private Macros */
+/**************************/
+
 /*
  * Feature: Define H5D_DEBUG on the compiler command line if you want to
  *	    debug dataset I/O. NDEBUG must not be defined in order for this
@@ -210,7 +216,13 @@
     H5D_fill_time_t fill_time;  /* Fill time (H5D_CRT_FILL_TIME_NAME) */
 } H5D_dcpl_cache_t;
 
-/* Library-private functions defined in H5D package */
+/*****************************/
+/* Library Private Variables */
+/*****************************/
+
+/******************************/
+/* Library Private Prototypes */
+/******************************/
 H5_DLL herr_t H5D_init(void);
 H5_DLL H5D_t *H5D_open(const H5G_entry_t *ent, hid_t dxpl_id);
 H5_DLL herr_t H5D_close(H5D_t *dataset);
@@ -228,6 +240,10 @@
 H5_DLL herr_t H5D_get_dxpl_cache(hid_t dxpl_id, H5D_dxpl_cache_t **cache);
 H5_DLL herr_t H5D_get_dxpl_cache_real(hid_t dxpl_id, H5D_dxpl_cache_t *cache);
 
+/* Functions that operate on vlen data */
+H5_DLL herr_t H5D_vlen_reclaim(hid_t type_id, H5S_t *space, hid_t plist_id,
+    void *buf);
+
 /* Functions that operate on contiguous storage */
 H5_DLL herr_t H5D_contig_delete(H5F_t *f, hid_t dxpl_id,
     const H5O_layout_t *layout);
@@ -238,4 +254,5 @@
 H5_DLL herr_t H5D_istore_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream,
 				int indent, int fwidth, unsigned ndims);
 
-#endif
+#endif /* _H5Dprivate_H */
+

Modified: packages/hdf5/trunk/src/H5Dpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Dpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -22,6 +23,14 @@
 #include "H5public.h"
 #include "H5Ipublic.h"
 
+/*****************/
+/* Public Macros */
+/*****************/
+
+/*******************/
+/* Public Typedefs */
+/*******************/
+
 /* Values for the H5D_LAYOUT property */
 typedef enum H5D_layout_t {
     H5D_LAYOUT_ERROR	= -1,
@@ -65,6 +74,13 @@
     H5D_FILL_VALUE_USER_DEFINED =2
 } H5D_fill_value_t;
 
+/********************/
+/* Public Variables */
+/********************/
+
+/*********************/
+/* Public Prototypes */
+/*********************/
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -73,33 +89,32 @@
 typedef herr_t (*H5D_operator_t)(void *elem, hid_t type_id, unsigned ndim,
 				 const hsize_t *point, void *operator_data);
 
-H5_DLL hid_t H5Dcreate (hid_t file_id, const char *name, hid_t type_id,
+H5_DLL hid_t H5Dcreate(hid_t file_id, const char *name, hid_t type_id,
 			 hid_t space_id, hid_t plist_id);
-H5_DLL hid_t H5Dopen (hid_t file_id, const char *name);
-H5_DLL herr_t H5Dclose (hid_t dset_id);
-H5_DLL hid_t H5Dget_space (hid_t dset_id);
-H5_DLL herr_t H5Dget_space_status(hid_t dset_id,
-				H5D_space_status_t *allocation);
-H5_DLL hid_t H5Dget_type (hid_t dset_id);
-H5_DLL hid_t H5Dget_create_plist (hid_t dset_id);
+H5_DLL hid_t H5Dopen(hid_t file_id, const char *name);
+H5_DLL herr_t H5Dclose(hid_t dset_id);
+H5_DLL hid_t H5Dget_space(hid_t dset_id);
+H5_DLL herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *allocation);
+H5_DLL hid_t H5Dget_type(hid_t dset_id);
+H5_DLL hid_t H5Dget_create_plist(hid_t dset_id);
 H5_DLL hsize_t H5Dget_storage_size(hid_t dset_id);
 H5_DLL haddr_t H5Dget_offset(hid_t dset_id);
-H5_DLL herr_t H5Dread (hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
+H5_DLL herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
 			hid_t file_space_id, hid_t plist_id, void *buf/*out*/);
-H5_DLL herr_t H5Dwrite (hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
+H5_DLL herr_t H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id,
 			 hid_t file_space_id, hid_t plist_id, const void *buf);
-H5_DLL herr_t H5Dextend (hid_t dset_id, const hsize_t *size);
+H5_DLL herr_t H5Dextend(hid_t dset_id, const hsize_t *size);
 H5_DLL herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,
             H5D_operator_t op, void *operator_data);
 H5_DLL herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *buf);
 H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dataset_id, hid_t type_id, hid_t space_id, hsize_t *size);
 H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf,
         hid_t buf_type, hid_t space);
-H5_DLL herr_t H5Dset_extent (hid_t dset_id, const hsize_t *size);
+H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t *size);
 H5_DLL herr_t H5Ddebug(hid_t dset_id);
 
 
 #ifdef __cplusplus
 }
 #endif
-#endif
+#endif /* _H5Dpublic_H */

Modified: packages/hdf5/trunk/src/H5Dselect.c
===================================================================
--- packages/hdf5/trunk/src/H5Dselect.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dselect.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.ued>

Modified: packages/hdf5/trunk/src/H5Dtest.c
===================================================================
--- packages/hdf5/trunk/src/H5Dtest.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Dtest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5E.c
===================================================================
--- packages/hdf5/trunk/src/H5E.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5E.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -315,6 +316,10 @@
         estack->auto_func = (H5E_auto_t)H5Eprint;
         estack->auto_data = stderr;
 
+        /* (It's not necessary to release this in this API, it is
+         *      released by the "key destructor" set up in the H5TS
+         *      routines.  See calls to pthread_key_create() in H5TS.c -QAK)
+         */
         pthread_setspecific(H5TS_errstk_key_g, (void *)estack);
     }
 

Modified: packages/hdf5/trunk/src/H5Eprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Eprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Eprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Epublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Epublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Epublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5F.c
===================================================================
--- packages/hdf5/trunk/src/H5F.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5F.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */

Modified: packages/hdf5/trunk/src/H5FD.c
===================================================================
--- packages/hdf5/trunk/src/H5FD.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FD.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -1541,11 +1542,11 @@
     if (type != H5FD_MEM_DRAW) {
         /* Handle metadata differently from "raw" data */
         if ((ret_value = H5FD_alloc_metadata(file, type, dxpl_id, size)) == HADDR_UNDEF)
-            HGOTO_ERROR(H5E_VFL, H5E_CANTFREE, HADDR_UNDEF, "can't allocate for metadata")
+            HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate for metadata")
     } else {
         /* Allocate "raw" data */
         if ((ret_value = H5FD_alloc_raw(file, type, dxpl_id, size)) == HADDR_UNDEF)
-            HGOTO_ERROR(H5E_VFL, H5E_CANTFREE, HADDR_UNDEF, "can't allocate for raw data")
+            HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate for raw data")
     }
 
 done:
@@ -1824,7 +1825,8 @@
              */
             if (size >= file->def_meta_block_size) {
                 /* Allocate more room for this new block the regular way */
-                new_meta = H5FD_real_alloc(file, type, dxpl_id, size);
+                if(HADDR_UNDEF==(new_meta = H5FD_real_alloc(file, type, dxpl_id, size)))
+                    HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate metadata block")
 
                 /*
                  * Check if the new metadata is at the end of the current
@@ -1846,8 +1848,9 @@
                 }
             } else {
                 /* Allocate another metadata block */
-                new_meta = H5FD_real_alloc(file, H5FD_MEM_DEFAULT, dxpl_id,
-                                           file->def_meta_block_size);
+                if(HADDR_UNDEF==(new_meta = H5FD_real_alloc(file, H5FD_MEM_DEFAULT, dxpl_id,
+                                           file->def_meta_block_size)))
+                    HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate metadata block")
 
                 /*
                  * Check if the new metadata is at the end of the current
@@ -1883,7 +1886,8 @@
         }
     } else {
         /* Allocate data the regular way */
-        ret_value = H5FD_real_alloc(file, type, dxpl_id, size);
+        if(HADDR_UNDEF==(ret_value = H5FD_real_alloc(file, type, dxpl_id, size)))
+            HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate metadata block")
     }
 
 done:
@@ -1931,7 +1935,8 @@
             /* Check if the block asked for is too large for the "small data" block */
             if (size >= file->def_sdata_block_size) {
                 /* Allocate more room for this new block the regular way */
-                new_data = H5FD_real_alloc(file, type, dxpl_id, size);
+                if(HADDR_UNDEF==(new_data = H5FD_real_alloc(file, type, dxpl_id, size)))
+                    HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate raw data block")
 
                 /*
                  * Check if the new raw data is at the end of the current
@@ -1953,8 +1958,9 @@
                 }
             } else {
                 /* Allocate another "small data" block */
-                new_data = H5FD_real_alloc(file, type, dxpl_id,
-                                           file->def_sdata_block_size);
+                if(HADDR_UNDEF==(new_data = H5FD_real_alloc(file, type, dxpl_id,
+                                           file->def_sdata_block_size)))
+                    HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate raw data block")
 
                 /*
                  * Check if the new raw data is at the end of the current
@@ -1993,7 +1999,8 @@
         }
     } else {
         /* Allocate data the regular way */
-        ret_value = H5FD_real_alloc(file, type, dxpl_id, size);
+        if(HADDR_UNDEF==(ret_value = H5FD_real_alloc(file, type, dxpl_id, size)))
+            HGOTO_ERROR(H5E_VFL, H5E_NOSPACE, HADDR_UNDEF, "can't allocate raw data block")
     }
 
 done:
@@ -3297,9 +3304,9 @@
                         /* Reallocate the metadata accumulator buffer */
                         if ((file->meta_accum=H5FL_BLK_REALLOC(meta_accum,file->meta_accum,file->accum_buf_size))==NULL)
                             HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate metadata accumulator buffer")
-#ifdef H5_USING_PURIFY
-HDmemset(file->meta_accum+file->accum_size,0,(file->accum_buf_size-file->accum_size));
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(file->meta_accum + file->accum_size, 0, (file->accum_buf_size - (file->accum_size + size)));
+#endif /* H5_CLEAR_MEMORY */
                     } /* end if */
 
                     /* Move the existing metadata to the proper location */
@@ -3325,9 +3332,9 @@
                         /* Reallocate the metadata accumulator buffer */
                         if ((file->meta_accum=H5FL_BLK_REALLOC(meta_accum,file->meta_accum,file->accum_buf_size))==NULL)
                             HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate metadata accumulator buffer")
-#ifdef H5_USING_PURIFY
-HDmemset(file->meta_accum+file->accum_size,0,(file->accum_buf_size-file->accum_size));
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(file->meta_accum + file->accum_size + size, 0, (file->accum_buf_size - (file->accum_size + size)));
+#endif /* H5_CLEAR_MEMORY */
                     } /* end if */
 
                     /* Copy the new metadata to the end */
@@ -3360,9 +3367,9 @@
                         /* Reallocate the metadata accumulator buffer */
                         if ((file->meta_accum=H5FL_BLK_REALLOC(meta_accum,file->meta_accum,file->accum_buf_size))==NULL)
                             HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate metadata accumulator buffer")
-#ifdef H5_USING_PURIFY
-HDmemset(file->meta_accum+file->accum_size,0,(file->accum_buf_size-file->accum_size));
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(file->meta_accum + file->accum_size, 0, (file->accum_buf_size - file->accum_size));
+#endif /* H5_CLEAR_MEMORY */
                     } /* end if */
 
                     /* Calculate the proper offset of the existing metadata */
@@ -3394,9 +3401,9 @@
                         /* Reallocate the metadata accumulator buffer */
                         if ((file->meta_accum=H5FL_BLK_REALLOC(meta_accum,file->meta_accum,file->accum_buf_size))==NULL)
                             HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate metadata accumulator buffer")
-#ifdef H5_USING_PURIFY
-HDmemset(file->meta_accum+file->accum_size,0,(file->accum_buf_size-file->accum_size));
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(file->meta_accum + file->accum_size, 0, (file->accum_buf_size - file->accum_size));
+#endif /* H5_CLEAR_MEMORY */
                     } /* end if */
 
                     /* Copy the new metadata to the end */
@@ -3431,9 +3438,12 @@
 
                     /* Note the new buffer size */
                     file->accum_buf_size=size;
-#ifdef H5_USING_PURIFY
-HDmemset(file->meta_accum+file->accum_size,0,(file->accum_buf_size-file->accum_size));
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+{
+size_t clear_size = MAX(file->accum_size, size);
+HDmemset(file->meta_accum + clear_size, 0, (file->accum_buf_size - clear_size));
+}
+#endif /* H5_CLEAR_MEMORY */
                 } /* end if */
                 else {
                     /* Check if we should shrink the accumulator buffer */
@@ -3668,7 +3678,9 @@
     FUNC_ENTER_NOAPI(H5FD_get_vfd_handle, FAIL)
 
     assert(file_handle);
-    if(file->cls->get_handle && ((ret_value=file->cls->get_handle(file, fapl, file_handle)) < 0))
+    if(NULL==file->cls->get_handle)
+	HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, NULL, "file driver has no `get_vfd_handle' method");
+    if((ret_value=file->cls->get_handle(file, fapl, file_handle)) < 0)
         HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get file handle for file driver")
 
 done:

Modified: packages/hdf5/trunk/src/H5FDcore.c
===================================================================
--- packages/hdf5/trunk/src/H5FDcore.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDcore.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDcore.h
===================================================================
--- packages/hdf5/trunk/src/H5FDcore.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDcore.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDfamily.c
===================================================================
--- packages/hdf5/trunk/src/H5FDfamily.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDfamily.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDfamily.h
===================================================================
--- packages/hdf5/trunk/src/H5FDfamily.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDfamily.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDgass.c
===================================================================
--- packages/hdf5/trunk/src/H5FDgass.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDgass.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDgass.h
===================================================================
--- packages/hdf5/trunk/src/H5FDgass.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDgass.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDlog.c
===================================================================
--- packages/hdf5/trunk/src/H5FDlog.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDlog.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -609,11 +610,11 @@
     /* Check if we are doing any logging at all */
     if(file->fa.flags!=0) {
         file->iosize=fa->buf_size;
-        if(file->fa.flags&H5FD_LOG_NUM_READ) {
+        if(file->fa.flags&H5FD_LOG_FILE_READ) {
             file->nread=H5MM_calloc(file->iosize);
             assert(file->nread);
         } /* end if */
-        if(file->fa.flags&H5FD_LOG_NUM_WRITE) {
+        if(file->fa.flags&H5FD_LOG_FILE_WRITE) {
             file->nwrite=H5MM_calloc(file->iosize);
             assert(file->nwrite);
         } /* end if */
@@ -1210,8 +1211,10 @@
     assert(buf);
 
     /* Verify that we are writing out the type of data we allocated in this location */
-    assert(type==H5FD_MEM_DEFAULT || type==(H5FD_mem_t)file->flavor[addr] || (H5FD_mem_t)file->flavor[addr]==H5FD_MEM_DEFAULT);
-    assert(type==H5FD_MEM_DEFAULT || type==(H5FD_mem_t)file->flavor[(addr+size)-1] || (H5FD_mem_t)file->flavor[(addr+size)-1]==H5FD_MEM_DEFAULT);
+    if(file->flavor) {
+        assert(type==H5FD_MEM_DEFAULT || type==(H5FD_mem_t)file->flavor[addr] || (H5FD_mem_t)file->flavor[addr]==H5FD_MEM_DEFAULT);
+        assert(type==H5FD_MEM_DEFAULT || type==(H5FD_mem_t)file->flavor[(addr+size)-1] || (H5FD_mem_t)file->flavor[(addr+size)-1]==H5FD_MEM_DEFAULT);
+    } /* end if */
 
     /* Check for overflow conditions */
     if (HADDR_UNDEF==addr)

Modified: packages/hdf5/trunk/src/H5FDlog.h
===================================================================
--- packages/hdf5/trunk/src/H5FDlog.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDlog.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDmpi.c
===================================================================
--- packages/hdf5/trunk/src/H5FDmpi.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmpi.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDmpi.h
===================================================================
--- packages/hdf5/trunk/src/H5FDmpi.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmpi.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDmpio.c
===================================================================
--- packages/hdf5/trunk/src/H5FDmpio.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmpio.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -741,6 +742,9 @@
     MPI_Comm                    comm_dup=MPI_COMM_NULL;
     MPI_Info                    info_dup=MPI_INFO_NULL;
     H5FD_t			*ret_value;     /* Return value */
+#ifndef H5_HAVE_MPI_GET_SIZE
+    struct stat                 stat_buf;
+#endif
 
     FUNC_ENTER_NOAPI(H5FD_mpio_open, NULL)
 
@@ -815,9 +819,18 @@
 
     /* Only processor p0 will get the filesize and broadcast it. */
     if (mpi_rank == 0) {
-        /* Get current file size */
+        /* Get current file size.  If MPI_File_get_size is disabled in configuration
+         * because it doesn't return correct value (SGI Altix Propack 4), 
+         * use stat to get the file size. */
+#ifdef H5_HAVE_MPI_GET_SIZE
         if (MPI_SUCCESS != (mpi_code=MPI_File_get_size(fh, &size)))
             HMPI_GOTO_ERROR(NULL, "MPI_File_get_size failed", mpi_code)
+#else
+        if((mpi_code=HDstat(name, &stat_buf))<0)
+            HMPI_GOTO_ERROR(NULL, "stat failed", mpi_code)
+        /* Hopefully this casting is safe */
+        size = (MPI_Offset)(stat_buf.st_size);
+#endif
     } /* end if */
 
     /* Broadcast file size */

Modified: packages/hdf5/trunk/src/H5FDmpio.h
===================================================================
--- packages/hdf5/trunk/src/H5FDmpio.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmpio.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDmpiposix.c
===================================================================
--- packages/hdf5/trunk/src/H5FDmpiposix.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmpiposix.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDmpiposix.h
===================================================================
--- packages/hdf5/trunk/src/H5FDmpiposix.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmpiposix.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDmulti.c
===================================================================
--- packages/hdf5/trunk/src/H5FDmulti.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmulti.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -778,8 +779,8 @@
     assert(7==H5FD_MEM_NTYPES);
     for (m=H5FD_MEM_SUPER; m<H5FD_MEM_NTYPES; m=(H5FD_mem_t)(m+1))
         buf[m-1] = (unsigned char)file->fa.memb_map[m];
+    buf[6] = 0;
     buf[7] = 0;
-    buf[8] = 0;
 
     /*
      * Copy the starting addresses and EOA values into the buffer in order of

Modified: packages/hdf5/trunk/src/H5FDmulti.h
===================================================================
--- packages/hdf5/trunk/src/H5FDmulti.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDmulti.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5FDprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5FDpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDsec2.c
===================================================================
--- packages/hdf5/trunk/src/H5FDsec2.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDsec2.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -717,7 +718,7 @@
             nbytes = HDread(file->fd, buf, size);
         } while (-1==nbytes && EINTR==errno);
         if (-1==nbytes) /* error */
-            HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "file read failed")
+            HSYS_GOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "file read failed")
         if (0==nbytes) {
             /* end of file but not end of format address space */
             HDmemset(buf, 0, size);
@@ -801,7 +802,7 @@
             nbytes = HDwrite(file->fd, buf, size);
         } while (-1==nbytes && EINTR==errno);
         if (-1==nbytes) /* error */
-            HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "file write failed")
+            HSYS_GOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "file write failed")
         assert(nbytes>0);
         assert((size_t)nbytes<=size);
         H5_CHECK_OVERFLOW(nbytes,ssize_t,size_t);

Modified: packages/hdf5/trunk/src/H5FDsec2.h
===================================================================
--- packages/hdf5/trunk/src/H5FDsec2.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDsec2.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDsrb.c
===================================================================
--- packages/hdf5/trunk/src/H5FDsrb.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDsrb.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDsrb.h
===================================================================
--- packages/hdf5/trunk/src/H5FDsrb.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDsrb.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDstdio.c
===================================================================
--- packages/hdf5/trunk/src/H5FDstdio.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDstdio.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -111,6 +112,18 @@
 #endif
 } H5FD_stdio_t;
 
+#ifdef H5_HAVE_LSEEK64
+#   define file_offset_t	off64_t
+#   define file_truncate	ftruncate64
+#elif defined (WIN32) && !defined(__MWERKS__)
+# /*MSVC*/
+#   define file_offset_t __int64
+#   define file_truncate	_chsize
+#else
+#   define file_offset_t	off_t
+#   define file_truncate	ftruncate
+#endif
+
 /*
  * These macros check for overflow of various quantities.  These macros
  * assume that file_offset_t is signed and haddr_t and size_t are unsigned.
@@ -133,24 +146,16 @@
 #define REGION_OVERFLOW(A,Z)	(ADDR_OVERFLOW(A) || SIZE_OVERFLOW(Z) || \
     HADDR_UNDEF==(A)+(Z) || (file_offset_t)((A)+(Z))<(file_offset_t)(A))
 
-#ifdef H5_HAVE_LSEEK64
-#   define file_offset_t	off64_t
-#   define file_truncate	ftruncate64
-#elif defined (WIN32) && !defined(__MWERKS__)
-# /*MSVC*/
-#   define file_offset_t __int64
-#   define file_truncate	_chsize
-#else
-#   define file_offset_t	off_t
-#   define file_truncate	ftruncate
-#endif
-
+/* Define big file as 2GB */
+#define BIG_FILE 0x80000000UL
+ 
 /* Prototypes */
 static H5FD_t *H5FD_stdio_open(const char *name, unsigned flags,
                  hid_t fapl_id, haddr_t maxaddr);
 static herr_t H5FD_stdio_close(H5FD_t *lf);
 static int H5FD_stdio_cmp(const H5FD_t *_f1, const H5FD_t *_f2);
 static herr_t H5FD_stdio_query(const H5FD_t *_f1, unsigned long *flags);
+static haddr_t H5FD_stdio_alloc(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size);
 static haddr_t H5FD_stdio_get_eoa(H5FD_t *_file);
 static herr_t H5FD_stdio_set_eoa(H5FD_t *_file, haddr_t addr);
 static haddr_t H5FD_stdio_get_eof(H5FD_t *_file);
@@ -179,7 +184,7 @@
     H5FD_stdio_close,		                /*close			*/
     H5FD_stdio_cmp,			        /*cmp			*/
     H5FD_stdio_query,		                /*query			*/
-    NULL,					/*alloc			*/
+    H5FD_stdio_alloc,				/*alloc			*/
     NULL,					/*free			*/
     H5FD_stdio_get_eoa,		                /*get_eoa		*/
     H5FD_stdio_set_eoa, 	                /*set_eoa		*/
@@ -370,10 +375,18 @@
     file->op = H5FD_STDIO_OP_SEEK;
     file->pos = HADDR_UNDEF;
     file->write_access=write_access;    /* Note the write_access for later */
-    if (fseek(file->fp, 0, SEEK_END) < 0) {
+#ifdef H5_HAVE_FSEEKO
+    if(fseeko(file->fp, (off_t)0, SEEK_END) < 0) {
+#else
+    if(fseek(file->fp, (long)0L, SEEK_END) < 0) {
+#endif
         file->op = H5FD_STDIO_OP_UNKNOWN;
     } else {
+#ifdef H5_HAVE_FTELLO
+        off_t x = ftello (file->fp);
+#else
         long x = ftell (file->fp);
+#endif
         assert (x>=0);
         file->eof = (haddr_t)x;
     }
@@ -523,6 +536,61 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	H5FD_stdio_alloc
+ *
+ * Purpose:	Allocates file memory. If fseeko isn't available, makes 
+ *              sure the file size isn't bigger than 2GB because the 
+ *              parameter OFFSET of fseek is of the type LONG INT, limiting
+ *              the file size to 2GB.
+ *
+ * Return:	Success:	Address of new memory
+ *
+ *		Failure:	HADDR_UNDEF
+ *
+ * Programmer:	Raymond Lu
+ *              30 March 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static haddr_t
+H5FD_stdio_alloc(H5FD_t *_file, H5FD_mem_t /*UNUSED*/ type, hid_t /*UNUSED*/ dxpl_id, hsize_t size)
+{
+    H5FD_stdio_t	*file = (H5FD_stdio_t*)_file;
+    haddr_t		addr;
+    static const char   *func="H5FD_stdio_alloc";  /* Function Name for error reporting */
+    haddr_t ret_value;          /* Return value */
+
+    /* Clear the error stack */
+    H5Eclear();
+
+    /* Compute the address for the block to allocate */
+    addr = file->eoa;
+
+    /* Check if we need to align this block */
+    if(size>=file->pub.threshold) {
+        /* Check for an already aligned block */
+        if(addr%file->pub.alignment!=0)
+            addr=((addr/file->pub.alignment)+1)*file->pub.alignment;
+    } /* end if */
+
+#ifndef H5_HAVE_FSEEKO
+    /* If fseeko isn't available, big files (>2GB) won't be supported. */
+    if(addr+size>BIG_FILE)
+        H5Epush_ret (func, H5E_IO, H5E_SEEKERROR, "can't write file bigger than 2GB because fseeko isn't available", -1)
+#endif 
+
+    file->eoa = addr+size;
+
+    /* Set return value */
+    ret_value=addr;
+
+    return(ret_value);
+}   /* H5FD_stdio_alloc() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	H5FD_stdio_get_eoa
  *
  * Purpose:	Gets the end-of-address marker for the file. The EOA marker
@@ -712,7 +780,11 @@
      */
     if (!(file->op == H5FD_STDIO_OP_READ || file->op==H5FD_STDIO_OP_SEEK) ||
             file->pos != addr) {
+#ifdef H5_HAVE_FSEEKO
+        if (fseeko(file->fp, (off_t)addr, SEEK_SET) < 0) {
+#else
         if (fseek(file->fp, (long)addr, SEEK_SET) < 0) {
+#endif
             file->op = H5FD_STDIO_OP_UNKNOWN;
             file->pos = HADDR_UNDEF;
             H5Epush_ret(func, H5E_IO, H5E_SEEKERROR, "fseek failed", -1)
@@ -802,7 +874,11 @@
      */
     if ((file->op != H5FD_STDIO_OP_WRITE && file->op != H5FD_STDIO_OP_SEEK) ||
                 file->pos != addr) {
+#ifdef H5_HAVE_FSEEKO
+        if (fseeko(file->fp, (off_t)addr, SEEK_SET) < 0) {
+#else
         if (fseek(file->fp, (long)addr, SEEK_SET) < 0) {
+#endif
             file->op = H5FD_STDIO_OP_UNKNOWN;
             file->pos = HADDR_UNDEF;
             H5Epush_ret(func, H5E_IO, H5E_SEEKERROR, "fseek failed", -1)

Modified: packages/hdf5/trunk/src/H5FDstdio.h
===================================================================
--- packages/hdf5/trunk/src/H5FDstdio.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDstdio.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDstream.c
===================================================================
--- packages/hdf5/trunk/src/H5FDstream.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDstream.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FDstream.h
===================================================================
--- packages/hdf5/trunk/src/H5FDstream.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FDstream.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FL.c
===================================================================
--- packages/hdf5/trunk/src/H5FL.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FL.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FLprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5FLprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FLprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -81,10 +82,10 @@
 #define H5FL_DEFINE_STATIC(t)  static H5FL_DEFINE_COMMON(t)
 
 /* Allocate an object of type 't' */
-#define H5FL_MALLOC(t) H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
+#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
 
 /* Allocate an object of type 't' and clear it to all zeros */
-#define H5FL_CALLOC(t) H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
+#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
 
 /* Free an object of type 't' */
 #define H5FL_FREE(t,obj) H5FL_reg_free(&(H5FL_REG_NAME(t)),obj)
@@ -101,8 +102,8 @@
 #define H5FL_DEFINE(t)  H5_DLL H5FL_DEFINE_COMMON(t)
 #define H5FL_EXTERN(t)  extern H5_DLL int H5FL_REG_NAME(t)
 #define H5FL_DEFINE_STATIC(t)  static H5FL_DEFINE_COMMON(t)
-#define H5FL_MALLOC(t) H5MM_malloc(sizeof(t))
-#define H5FL_CALLOC(t) H5MM_calloc(sizeof(t))
+#define H5FL_MALLOC(t) (t *)H5MM_malloc(sizeof(t))
+#define H5FL_CALLOC(t) (t *)H5MM_calloc(sizeof(t))
 #define H5FL_FREE(t,obj) H5MM_xfree(obj)
 #endif /* H5_NO_REG_FREE_LISTS */
 
@@ -150,16 +151,16 @@
 #define H5FL_BLK_DEFINE_STATIC(t)  static H5FL_BLK_DEFINE_COMMON(t)
 
 /* Allocate an block of type 't' */
-#define H5FL_BLK_MALLOC(t,size) H5FL_blk_malloc(&(H5FL_BLK_NAME(t)),size)
+#define H5FL_BLK_MALLOC(t,size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)),size)
 
 /* Allocate an block of type 't' and clear it to zeros */
-#define H5FL_BLK_CALLOC(t,size) H5FL_blk_calloc(&(H5FL_BLK_NAME(t)),size)
+#define H5FL_BLK_CALLOC(t,size) (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)),size)
 
 /* Free a block of type 't' */
-#define H5FL_BLK_FREE(t,blk) H5FL_blk_free(&(H5FL_BLK_NAME(t)),blk)
+#define H5FL_BLK_FREE(t,blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)),blk)
 
 /* Re-allocate a block of type 't' */
-#define H5FL_BLK_REALLOC(t,blk,new_size) H5FL_blk_realloc(&(H5FL_BLK_NAME(t)),blk,new_size)
+#define H5FL_BLK_REALLOC(t,blk,new_size) (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)),blk,new_size)
 
 /* Check if there is a free block available to re-use */
 #define H5FL_BLK_AVAIL(t,size)  H5FL_blk_free_block_avail(&(H5FL_BLK_NAME(t)),size)
@@ -171,10 +172,10 @@
 #define H5FL_BLK_DEFINE(t)      H5_DLL H5FL_BLK_DEFINE_COMMON(t)
 #define H5FL_BLK_EXTERN(t)      extern H5_DLL int H5FL_BLK_NAME(t)
 #define H5FL_BLK_DEFINE_STATIC(t)  static H5FL_BLK_DEFINE_COMMON(t)
-#define H5FL_BLK_MALLOC(t,size) H5MM_malloc(size)
-#define H5FL_BLK_CALLOC(t,size) H5MM_calloc(size)
-#define H5FL_BLK_FREE(t,blk) H5MM_xfree(blk)
-#define H5FL_BLK_REALLOC(t,blk,new_size) H5MM_realloc(blk,new_size)
+#define H5FL_BLK_MALLOC(t,size) (uint8_t *)H5MM_malloc(size)
+#define H5FL_BLK_CALLOC(t,size) (uint8_t *)H5MM_calloc(size)
+#define H5FL_BLK_FREE(t,blk) (uint8_t *)H5MM_xfree(blk)
+#define H5FL_BLK_REALLOC(t,blk,new_size) (uint8_t *)H5MM_realloc(blk,new_size)
 #define H5FL_BLK_AVAIL(t,size)  (FALSE)
 #endif /* H5_NO_BLK_FREE_LISTS */
 
@@ -282,16 +283,16 @@
 #define H5FL_SEQ_DEFINE_STATIC(t)  static H5FL_SEQ_DEFINE_COMMON(t)
 
 /* Allocate a sequence of type 't' */
-#define H5FL_SEQ_MALLOC(t,elem) H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)),elem)
+#define H5FL_SEQ_MALLOC(t,elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)),elem)
 
 /* Allocate a sequence of type 't' and clear it to all zeros */
-#define H5FL_SEQ_CALLOC(t,elem) H5FL_seq_calloc(&(H5FL_SEQ_NAME(t)),elem)
+#define H5FL_SEQ_CALLOC(t,elem) (t *)H5FL_seq_calloc(&(H5FL_SEQ_NAME(t)),elem)
 
 /* Free a sequence of type 't' */
 #define H5FL_SEQ_FREE(t,obj) H5FL_seq_free(&(H5FL_SEQ_NAME(t)),obj)
 
 /* Re-allocate a sequence of type 't' */
-#define H5FL_SEQ_REALLOC(t,obj,new_elem) H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)),obj,new_elem)
+#define H5FL_SEQ_REALLOC(t,obj,new_elem) (t *)H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)),obj,new_elem)
 
 #else /* H5_NO_SEQ_FREE_LISTS */
 /* Common macro for H5FL_BLK_DEFINE & H5FL_BLK_DEFINE_STATIC */
@@ -300,10 +301,10 @@
 #define H5FL_SEQ_DEFINE(t)      H5_DLL H5FL_SEQ_DEFINE_COMMON(t)
 #define H5FL_SEQ_EXTERN(t)      extern H5_DLL int H5FL_SEQ_NAME(t)
 #define H5FL_SEQ_DEFINE_STATIC(t)  static H5FL_SEQ_DEFINE_COMMON(t)
-#define H5FL_SEQ_MALLOC(t,elem) H5MM_malloc((elem)*sizeof(t))
-#define H5FL_SEQ_CALLOC(t,elem) H5MM_calloc((elem)*sizeof(t))
+#define H5FL_SEQ_MALLOC(t,elem) (t *)H5MM_malloc((elem)*sizeof(t))
+#define H5FL_SEQ_CALLOC(t,elem) (t *)H5MM_calloc((elem)*sizeof(t))
 #define H5FL_SEQ_FREE(t,obj) H5MM_xfree(obj)
-#define H5FL_SEQ_REALLOC(t,obj,new_elem) H5MM_realloc(obj,(new_elem)*sizeof(t))
+#define H5FL_SEQ_REALLOC(t,obj,new_elem) (t *)H5MM_realloc(obj,(new_elem)*sizeof(t))
 #endif /* H5_NO_SEQ_FREE_LISTS */
 
 /*

Modified: packages/hdf5/trunk/src/H5FO.c
===================================================================
--- packages/hdf5/trunk/src/H5FO.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FO.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FOprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5FOprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FOprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5FS.c
===================================================================
--- packages/hdf5/trunk/src/H5FS.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FS.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -83,8 +84,16 @@
     if (!fstack) {
         /* no associated value with current thread - create one */
         fstack = (H5FS_t *)HDmalloc(sizeof(H5FS_t));  /* Don't use H5MM_malloc() here, it causes infinite recursion */
+        HDassert(fstack);
+
+        /* Set the thread-specific info */
+	fstack->nused=0;
+
+        /* (It's not necessary to release this in this API, it is
+         *      released by the "key destructor" set up in the H5TS
+         *      routines.  See calls to pthread_key_create() in H5TS.c -QAK)
+         */
         pthread_setspecific(H5TS_funcstk_key_g, (void *)fstack);
-	fstack->nused=0;
     }
 
     FUNC_LEAVE_NOAPI_NOFS(fstack);

Modified: packages/hdf5/trunk/src/H5FSprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5FSprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5FSprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Fdbg.c
===================================================================
--- packages/hdf5/trunk/src/H5Fdbg.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fdbg.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5Fmount.c
===================================================================
--- packages/hdf5/trunk/src/H5Fmount.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fmount.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */
@@ -28,6 +29,9 @@
 #include "H5MMprivate.h"	/* Memory management			*/
 
 /* PRIVATE PROTOTYPES */
+static herr_t H5F_mount(H5G_entry_t *loc, const char *name, H5F_t *child,
+    hid_t plist_id, hid_t dxpl_id);
+static herr_t H5F_unmount(H5G_entry_t *loc, const char *name, hid_t dxpl_id);
 
 
 /*--------------------------------------------------------------------------
@@ -62,8 +66,6 @@
  * Programmer:	Quincey Koziol
  *              Saturday, July  2, 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -108,14 +110,6 @@
  * Programmer:	Robb Matzke
  *              Tuesday, October  6, 1998
  *
- * Modifications:
- *
- * 	Robb Matzke, 1998-10-14
- *	The reference count for the mounted H5F_t is incremented.
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -123,42 +117,48 @@
 	  hid_t UNUSED plist_id, hid_t dxpl_id)
 {
     H5G_t	*mount_point = NULL;	/*mount point group		*/
-    H5G_entry_t	*mp_ent = NULL;		/*mount point symbol table entry*/
     H5F_t	*ancestor = NULL;	/*ancestor files		*/
     H5F_t	*parent = NULL;		/*file containing mount point	*/
     unsigned	lt, rt, md;		/*binary search indices		*/
     int		cmp;			/*binary search comparison value*/
-    H5G_entry_t	*ent = NULL;		/*temporary symbol table entry	*/
-    H5G_entry_t  mp_open_ent;     /* entry of moint point to be opened */
-    H5RS_str_t  *name_r;                /* Ref-counted version of name */
+    H5G_entry_t	*mp_ent = NULL;		/*mount point symbol table entry*/
+    H5G_entry_t mp_open_ent;     	/*entry of moint point to be opened */
+    H5G_entry_t *root_ent;              /* Symbol table for root of file to mount */
     herr_t	ret_value = SUCCEED;	/*return value			*/
 
     FUNC_ENTER_NOAPI_NOINIT(H5F_mount)
 
-    assert(loc);
-    assert(name && *name);
-    assert(child);
-    assert(TRUE==H5P_isa_class(plist_id,H5P_MOUNT));
+    HDassert(loc);
+    HDassert(name && *name);
+    HDassert(child);
+    HDassert(TRUE == H5P_isa_class(plist_id,H5P_MOUNT));
 
     /*
      * Check that the child isn't mounted, that the mount point exists, that
      * the parent & child files have the same file close degree, and
      * that the mount wouldn't introduce a cycle in the mount tree.
      */
-    if (child->mtab.parent)
+    if(child->mtab.parent)
         HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "file is already mounted")
-    if (H5G_find(loc, name, &mp_open_ent/*out*/, H5AC_dxpl_id) < 0)
+    if(H5G_find(loc, name, &mp_open_ent/*out*/, H5AC_dxpl_id) < 0)
         HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "group not found")
-    if (NULL==(mount_point=H5G_open(&mp_open_ent, dxpl_id)))
+    if(NULL == (mount_point = H5G_open(&mp_open_ent, dxpl_id)))
         HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "mount point not found")
 
+    /* Retrieve information from the mount point group */
+    /* (Some of which we had before but was reset in mp_loc when the group
+     *  "took over" the group location - QAK)
+     */
     parent = H5G_fileof(mount_point);
+    HDassert(parent);
     mp_ent = H5G_entof(mount_point);
-    for (ancestor=parent; ancestor; ancestor=ancestor->mtab.parent) {
-	if (ancestor==child)
+    HDassert(mp_ent);
+    for(ancestor = parent; ancestor; ancestor = ancestor->mtab.parent) {
+	if(ancestor == child)
 	    HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "mount would introduce a cycle")
-    }
+    } /* end for */
 
+    /* Make certain that the parent & child files have the same "file close degree" */
     if(parent->shared->fc_degree != child->shared->fc_degree)
         HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "mounted file has different file close degree than parent")
 
@@ -168,62 +168,63 @@
      * `md' will be the index where the child should be inserted.
      */
     lt = md = 0;
-    rt=parent->mtab.nmounts;
+    rt = parent->mtab.nmounts;
     cmp = -1;
-    while (lt<rt && cmp) {
-	md = (lt+rt)/2;
+    while(lt < rt && cmp) {
+        H5G_entry_t	*ent;		/*temporary symbol table entry	*/
+
+	md = (lt + rt) / 2;
 	ent = H5G_entof(parent->mtab.child[md].group);
 	cmp = H5F_addr_cmp(mp_ent->header, ent->header);
-	if (cmp<0) {
+	if(cmp < 0)
 	    rt = md;
-	} else if (cmp>0) {
-	    lt = md+1;
-	}
-    }
-    if (cmp>0)
+	else if(cmp > 0)
+	    lt = md + 1;
+    } /* end while */
+    if(cmp > 0)
         md++;
-    if (!cmp)
+    if(!cmp)
 	HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "mount point is already in use")
 
     /* Make room in the table */
-    if (parent->mtab.nmounts>=parent->mtab.nalloc) {
+    if(parent->mtab.nmounts>=parent->mtab.nalloc) {
 	unsigned n = MAX(16, 2*parent->mtab.nalloc);
 	H5F_mount_t *x = H5MM_realloc(parent->mtab.child,
-				      n*sizeof(parent->mtab.child[0]));
+				      n * sizeof(parent->mtab.child[0]));
 	if (!x)
 	    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for mount table")
 	parent->mtab.child = x;
 	parent->mtab.nalloc = n;
-    }
+    } /* end if */
 
     /* Insert into table */
-    HDmemmove(parent->mtab.child+md+1, parent->mtab.child+md,
-        (parent->mtab.nmounts-md)*sizeof(parent->mtab.child[0]));
+    HDmemmove(parent->mtab.child + md + 1, parent->mtab.child + md,
+            (parent->mtab.nmounts-md) * sizeof(parent->mtab.child[0]));
     parent->mtab.nmounts++;
     parent->mtab.child[md].group = mount_point;
     parent->mtab.child[md].file = child;
     child->mtab.parent = parent;
 
     /* Set the group's mountpoint flag */
-    if(H5G_mount(parent->mtab.child[md].group)<0)
+    if(H5G_mount(parent->mtab.child[md].group) < 0)
         HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "unable to set group mounted flag")
 
+    /* Get the group location for the root group in the file to unmount */
+    if(NULL == (root_ent = H5G_entof(child->shared->root_grp)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get entry for root group")
+
     /* Search the open IDs and replace names for mount operation */
     /* We pass H5G_UNKNOWN as object type; search all IDs */
-    name_r=H5RS_wrap(name);
-    assert(name_r);
-    if (H5G_replace_name( H5G_UNKNOWN, loc, name_r, NULL, NULL, NULL, OP_MOUNT )<0)
+    if(H5G_name_replace(H5G_UNKNOWN, mp_ent, NULL, root_ent, H5G_NAME_MOUNT) < 0)
 	HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "unable to replace name")
-    if(H5RS_decr(name_r)<0)
-	HGOTO_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "unable to decrement name string")
 
 done:
-    if (ret_value<0 && mount_point)
-	if(H5G_close(mount_point)<0)
+    if(ret_value < 0 && mount_point)
+	if(H5G_close(mount_point) < 0)
             HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "unable to close mounted group")
 
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5F_mount() */
 
 
 /*-------------------------------------------------------------------------
@@ -242,14 +243,6 @@
  * Programmer:	Robb Matzke
  *              Tuesday, October  6, 1998
  *
- * Modifications:
- *
- *      Robb Matzke, 1998-10-14
- *      The ref count for the child is decremented by calling H5F_close().
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -257,35 +250,35 @@
 {
     H5G_t	*mounted = NULL;	/*mount point group		*/
     H5G_t	*child_group = NULL;	/* Child's group in parent mtab	*/
-    H5F_t	*child_file = NULL;	/* Child's file in parent mtab	*/
-    H5G_entry_t	*mnt_ent = NULL;	/*mounted symbol table entry	*/
     H5F_t	*child = NULL;		/*mounted file			*/
     H5F_t	*parent = NULL;		/*file where mounted		*/
+    H5G_entry_t	*mnt_ent = NULL;	/*mounted symbol table entry	*/
     H5G_entry_t	*ent = NULL;		/*temporary symbol table entry	*/
     H5G_entry_t mnt_open_ent;           /* entry used to open mount point*/
+    H5G_entry_t *root_ent;              /* Symbol table for root of file to mount */
     int         child_idx;              /* Index of child in parent's mtab */
     herr_t	ret_value = SUCCEED;	/*return value			*/
 
     FUNC_ENTER_NOAPI_NOINIT(H5F_unmount)
 
-    assert(loc);
-    assert(name && *name);
+    HDassert(loc);
+    HDassert(name && *name);
 
     /*
      * Get the mount point, or more precisely the root of the mounted file.
      * If we get the root group and the file has a parent in the mount tree,
      * then we must have found the mount point.
      */
-    if (H5G_find(loc, name, &mnt_open_ent/*out*/, H5AC_dxpl_id) < 0)
+    if(H5G_find(loc, name, &mnt_open_ent/*out*/, H5AC_dxpl_id) < 0)
         HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "group not found")
-    if (NULL==(mounted=H5G_open(&mnt_open_ent, dxpl_id)))
+    if(NULL == (mounted = H5G_open(&mnt_open_ent, dxpl_id)))
         HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "mount point not found")
     child = H5G_fileof(mounted);
     mnt_ent = H5G_entof(mounted);
     ent = H5G_entof(child->shared->root_grp);
     child_idx = -1;
 
-    if (child->mtab.parent && H5F_addr_eq(mnt_ent->header, ent->header)) {
+    if(child->mtab.parent && H5F_addr_eq(mnt_ent->header, ent->header)) {
         unsigned	u;		/*counters			*/
 
 	/*
@@ -293,15 +286,15 @@
 	 * lookup in the parent's mount table to find the correct entry.
 	 */
 	parent = child->mtab.parent;
-	for (u=0; u<parent->mtab.nmounts; u++) {
-	    if (parent->mtab.child[u].file==child) {
+	for(u = 0; u < parent->mtab.nmounts; u++) {
+	    if(parent->mtab.child[u].file == child) {
                 /* Found the correct index */
                 child_idx = u;
                 break;
-	    }
-	}
+	    } /* end if */
+	} /* end for */
     } else {
-        unsigned lt, rt, md=0;	        /*binary search indices		*/
+        unsigned lt, rt, md = 0;        /*binary search indices		*/
         int 	cmp;		        /*binary search comparison value*/
 
 	/*
@@ -312,57 +305,59 @@
 	lt = 0;
         rt = parent->mtab.nmounts;
 	cmp = -1;
-	while (lt<rt && cmp) {
-	    md = (lt+rt)/2;
+	while(lt < rt && cmp) {
+	    md = (lt + rt) / 2;
 	    ent = H5G_entof(parent->mtab.child[md].group);
 	    cmp = H5F_addr_cmp(mnt_ent->header, ent->header);
-	    if (cmp<0) {
+	    if (cmp<0)
 		rt = md;
-	    } else {
-		lt = md+1;
-	    }
-	}
-	if (cmp)
+	    else
+		lt = md + 1;
+	} /* end while */
+	if(cmp)
 	    HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "not a mount point")
 
-        /* Found the correct index */
+        /* Found the correct index, set the info about the child */
         child_idx = md;
         mnt_ent = ent;
-    }
-
+        child = parent->mtab.child[child_idx].file;
+    } /* end else */
     HDassert(child_idx >= 0);
 
-    /* Search the open IDs replace names to reflect unmount operation */
-    if (H5G_replace_name(H5G_UNKNOWN, mnt_ent, mnt_ent->user_path_r, NULL, NULL, NULL, OP_UNMOUNT )<0)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to replace name ")
-
     /* Save the information about the child from the mount table */
     child_group = parent->mtab.child[child_idx].group;
-    child_file = parent->mtab.child[child_idx].file;
 
+    /* Get the group location for the root group in the file to unmount */
+    if(NULL == (root_ent = H5G_entof(child->shared->root_grp)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get entry for root group")
+
+    /* Search the open IDs replace names to reflect unmount operation */
+    if(H5G_name_replace(H5G_UNKNOWN, mnt_ent, NULL, root_ent, H5G_NAME_UNMOUNT )<0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to replace name")
+
     /* Eliminate the mount point from the table */
-    HDmemmove(parent->mtab.child+child_idx, parent->mtab.child+child_idx+1,
-        (parent->mtab.nmounts-child_idx)*sizeof(parent->mtab.child[0]));
+    HDmemmove(parent->mtab.child + child_idx, parent->mtab.child + child_idx + 1,
+            (parent->mtab.nmounts-child_idx) * sizeof(parent->mtab.child[0]));
     parent->mtab.nmounts -= 1;
 
     /* Unmount the child file from the parent file */
-    if(H5G_unmount(child_group)<0)
+    if(H5G_unmount(child_group) < 0)
         HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "unable to reset group mounted flag")
-    if(H5G_close(child_group)<0)
+    if(H5G_close(child_group) < 0)
         HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "unable to close unmounted group")
 
     /* Detach child file from parent & see if it should close */
-    child_file->mtab.parent = NULL;
-    if(H5F_try_close(child_file)<0)
+    child->mtab.parent = NULL;
+    if(H5F_try_close(child) < 0)
         HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "unable to close unmounted file")
 
 done:
-    if (mounted)
-        if(H5G_close(mounted)<0 && ret_value>=0)
+    if(mounted)
+        if(H5G_close(mounted) < 0 && ret_value >= 0)
 	    HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "can't close group")
 
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5F_unmount() */
 
 
 /*-------------------------------------------------------------------------
@@ -420,17 +415,17 @@
 	}
 
 	/* Copy root info over to ENT */
-	if (0==cmp) {
+	if(0 == cmp) {
             /* Get the entry for the root group in the child's file */
 	    ent = H5G_entof(parent->mtab.child[md].file->shared->root_grp);
 
-            /* Don't lose the user path of the group when we copy the root group's entry */
-            if(H5G_ent_copy(find,ent,H5G_COPY_LIMITED)<0)
+            /* Don't lose the paths of the group when we copy the root group's entry */
+            if(H5G_ent_copy(find, ent, H5_COPY_LIMITED) < 0)
                 HGOTO_ERROR(H5E_FILE, H5E_CANTCOPY, FAIL, "unable to copy group entry")
 
             /* Switch to child's file */
 	    parent = ent->file;
-	}
+	} /* end if */
     } while (!cmp);
 
 done:
@@ -444,30 +439,27 @@
  * Purpose:	Check if a file has mounted files within it.
  *
  * Return:	Success:	TRUE/FALSE
- *		Failure:	Negative
+ *		Failure:	(can't happen)
  *
  * Programmer:	Quincey Koziol
  *              Thursday, January  2, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
-htri_t
+hbool_t
 H5F_has_mount(const H5F_t *file)
 {
-    htri_t ret_value;   /* Return value */
+    hbool_t ret_value;   /* Return value */
 
-    FUNC_ENTER_NOAPI(H5F_has_mount, FAIL)
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5F_has_mount)
 
-    assert(file);
+    HDassert(file);
 
-    if(file->mtab.nmounts>0)
-        ret_value=TRUE;
+    if(file->mtab.nmounts > 0)
+        ret_value = TRUE;
     else
-        ret_value=FALSE;
+        ret_value = FALSE;
 
-done:
     FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5F_has_mount() */
 
@@ -478,30 +470,27 @@
  * Purpose:	Check if a file is mounted within another file.
  *
  * Return:	Success:	TRUE/FALSE
- *		Failure:	Negative
+ *		Failure:	(can't happen)
  *
  * Programmer:	Quincey Koziol
  *              Thursday, January  2, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
-htri_t
+hbool_t
 H5F_is_mount(const H5F_t *file)
 {
-    htri_t ret_value;   /* Return value */
+    hbool_t ret_value;   /* Return value */
 
-    FUNC_ENTER_NOAPI(H5F_is_mount, FAIL)
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5F_is_mount)
 
-    assert(file);
+    HDassert(file);
 
-    if(file->mtab.parent!=NULL)
-        ret_value=TRUE;
+    if(file->mtab.parent != NULL)
+        ret_value = TRUE;
     else
-        ret_value=FALSE;
+        ret_value = FALSE;
 
-done:
     FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5F_is_mount() */
 
@@ -517,26 +506,24 @@
  * Programmer:	Robb Matzke
  *              Tuesday, October  6, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Fmount(hid_t loc_id, const char *name, hid_t child_id, hid_t plist_id)
 {
     H5G_entry_t		*loc = NULL;
-    H5F_t		*child = NULL;
+    H5F_t	*child = NULL;
     herr_t      ret_value=SUCCEED;       /* Return value */
 
     FUNC_ENTER_API(H5Fmount, FAIL)
     H5TRACE4("e","isii",loc_id,name,child_id,plist_id);
 
     /* Check arguments */
-    if (NULL==(loc=H5G_loc(loc_id)))
+    if(NULL == (loc = H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
+    if(!name || !*name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
-    if (NULL==(child=H5I_object_verify(child_id,H5I_FILE)))
+    if(NULL == (child = H5I_object_verify(child_id,H5I_FILE)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file")
     if(H5P_DEFAULT == plist_id)
         plist_id = H5P_MOUNT_DEFAULT;
@@ -545,12 +532,12 @@
             HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not property list")
 
     /* Do the mount */
-    if (H5F_mount(loc, name, child, plist_id, H5AC_dxpl_id)<0)
+    if(H5F_mount(loc, name, child, plist_id, H5AC_dxpl_id) < 0)
 	HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "unable to mount file")
 
 done:
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Fmount() */
 
 
 /*-------------------------------------------------------------------------
@@ -570,8 +557,6 @@
  * Programmer:	Robb Matzke
  *              Tuesday, October  6, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -586,16 +571,16 @@
     /* Check args */
     if (NULL==(loc=H5G_loc(loc_id)))
 	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
+    if(!name || !*name)
 	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
 
     /* Unmount */
-    if (H5F_unmount(loc, name, H5AC_dxpl_id)<0)
+    if (H5F_unmount(loc, name, H5AC_dxpl_id) < 0)
 	HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "unable to unmount file")
 
 done:
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Funmount() */
 
 
 /*-------------------------------------------------------------------------
@@ -609,8 +594,6 @@
  * Programmer:	Quincey Koziol
  *              Tuesday, July 19, 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static void
@@ -658,8 +641,6 @@
  * Programmer:	Quincey Koziol
  *              Tues, July 19, 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t

Modified: packages/hdf5/trunk/src/H5Fpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Fpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -58,7 +59,7 @@
 #endif
 
 /* Maximum size of super-block buffer */
-#define H5F_SUPERBLOCK_SIZE  256
+#define H5F_SUPERBLOCK_SIZE  128
 #define H5F_DRVINFOBLOCK_SIZE  1024
 
 /* Define the HDF5 file signature */

Modified: packages/hdf5/trunk/src/H5Fprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Fprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -433,8 +434,8 @@
 #endif /* H5_HAVE_PARALLEL */
 
 /* Functions than check file mounting information */
-H5_DLL htri_t H5F_is_mount(const H5F_t *file);
-H5_DLL htri_t H5F_has_mount(const H5F_t *file);
+H5_DLL hbool_t H5F_is_mount(const H5F_t *file);
+H5_DLL hbool_t H5F_has_mount(const H5F_t *file);
 
 /* Functions than retrieve values set from the FCPL */
 H5_DLL size_t H5F_sizeof_addr(const H5F_t *f);

Modified: packages/hdf5/trunk/src/H5Fpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Fpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Fsfile.c
===================================================================
--- packages/hdf5/trunk/src/H5Fsfile.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fsfile.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */

Modified: packages/hdf5/trunk/src/H5Fsuper.c
===================================================================
--- packages/hdf5/trunk/src/H5Fsuper.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Fsuper.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */

Modified: packages/hdf5/trunk/src/H5G.c
===================================================================
--- packages/hdf5/trunk/src/H5G.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5G.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -71,22 +72,11 @@
  *              +--------------+------------+--------------------------------+
  *
  *
- * Modifications:
- *
- *	Robb Matzke, 5 Aug 1997
- *	Added calls to H5E.
- *
- *	Robb Matzke, 30 Aug 1997
- *	Added `Errors:' field to function prologues.
- *
- *      Pedro Vicente, 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 
-#define H5G_PACKAGE		/*suppress error about including H5Gpkg   */
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */
+#define H5G_PACKAGE		/*suppress error about including H5Gpkg   */
 
 /* Interface initialization */
 #define H5_INTERFACE_INIT_FUNC	H5G_init_interface
@@ -107,35 +97,9 @@
 /* Local macros */
 #define H5G_INIT_HEAP		8192
 #define H5G_RESERVED_ATOMS	0
-#define H5G_SIZE_HINT   256             /*default root grp size hint         */
 
-/*
- * During name lookups (see H5G_namei()) we sometimes want information about
- * a symbolic link or a mount point.  The normal operation is to follow the
- * symbolic link or mount point and return information about its target.
- */
-#define H5G_TARGET_NORMAL	0x0000
-#define H5G_TARGET_SLINK	0x0001
-#define H5G_TARGET_MOUNT	0x0002
-
 /* Local typedefs */
 
-/* Struct only used by change name callback function */
-typedef struct H5G_names_t {
-    H5G_entry_t	*loc;
-    H5RS_str_t *src_name;
-    H5G_entry_t	*src_loc;
-    H5RS_str_t *dst_name;
-    H5G_entry_t	*dst_loc;
-    H5G_names_op_t op;
-} H5G_names_t;
-
-/* Enum for H5G_namei actions */
-typedef enum {
-    H5G_NAMEI_TRAVERSE,         /* Just traverse groups */
-    H5G_NAMEI_INSERT            /* Insert entry in group */
-} H5G_namei_act_t ;
-
 /*
  * This table contains a list of object types, descriptions, and the
  * functions that determine if some object is a particular type.  The table
@@ -147,12 +111,12 @@
     char	*desc;			        /*description of object type	     */
 } H5G_typeinfo_t;
 
+/* Package variables */
+
 /* Local variables */
 static H5G_typeinfo_t *H5G_type_g = NULL;	/*object typing info	*/
 static size_t H5G_ntypes_g = 0;			/*entries in type table	*/
 static size_t H5G_atypes_g = 0;			/*entries allocated	*/
-static char *H5G_comp_g = NULL;                 /*component buffer      */
-static size_t H5G_comp_alloc_g = 0;             /*sizeof component buffer */
 
 /* Declare a free list to manage the H5G_t struct */
 H5FL_DEFINE(H5G_t);
@@ -161,25 +125,20 @@
 /* Declare extern the PQ free list for the wrapped strings */
 H5FL_BLK_EXTERN(str_buf);
 
+/* Declare a free list to manage haddr_t's */
+H5FL_DEFINE(haddr_t);
+
 /* Private prototypes */
 static herr_t H5G_register_type(int type, htri_t(*isa)(H5G_entry_t*, hid_t),
 				 const char *desc);
-static const char * H5G_component(const char *name, size_t *size_p);
 static const char * H5G_basename(const char *name, size_t *size_p);
 static char * H5G_normalize(const char *name);
-static herr_t H5G_namei(const H5G_entry_t *loc_ent, const char *name,
-    const char **rest/*out*/, H5G_entry_t *grp_ent/*out*/, H5G_entry_t *obj_ent/*out*/,
-    unsigned target, int *nlinks/*out*/, H5G_namei_act_t action,
-    H5G_entry_t *ent, hid_t dxpl_id);
-static herr_t H5G_traverse_slink(H5G_entry_t *grp_ent/*in,out*/,
-    H5G_entry_t *obj_ent/*in,out*/, int *nlinks/*in,out*/, hid_t dxpl_id);
 static H5G_t *H5G_create(H5G_entry_t *loc, const char *name, size_t size_hint, hid_t dxpl_id);
 static htri_t H5G_isa(H5G_entry_t *ent, hid_t dxpl_id);
 static htri_t H5G_link_isa(H5G_entry_t *ent, hid_t dxpl_id);
-static H5G_t * H5G_open_oid(H5G_entry_t *ent, hid_t dxpl_id);
-static H5G_t *H5G_rootof(H5F_t *f);
+static herr_t H5G_open_oid(H5G_t *grp, hid_t dxpl_id);
 static herr_t H5G_link(H5G_entry_t *cur_loc, const char *cur_name,
-    H5G_entry_t *new_loc, const char *new_name, H5G_link_t type,
+    H5G_entry_t *link_loc, const char *link_name, H5G_link_t type,
     unsigned namei_flags, hid_t dxpl_id);
 static herr_t H5G_get_num_objs(H5G_entry_t *grp, hsize_t *num_objs, hid_t dxpl_id);
 static ssize_t H5G_get_objname_by_idx(H5G_entry_t *loc, hsize_t idx, char* name, size_t size, hid_t dxpl_id);
@@ -193,10 +152,6 @@
 static herr_t H5G_unlink(H5G_entry_t *loc, const char *name, hid_t dxpl_id);
 static herr_t H5G_move(H5G_entry_t *src_loc, const char *src_name,
     H5G_entry_t *dst_loc, const char *dst_name, hid_t dxpl_id);
-static htri_t H5G_common_path(const H5RS_str_t *fullpath_r,
-    const H5RS_str_t *prefix_r);
-static H5RS_str_t *H5G_build_fullpath(const H5RS_str_t *prefix_r, const H5RS_str_t *name_r);
-static int H5G_replace_ent(void *obj_ptr, hid_t obj_id, void *key);
 
 
 /*-------------------------------------------------------------------------
@@ -224,40 +179,38 @@
  * Programmer:	Robb Matzke
  *		Wednesday, September 24, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 hid_t
 H5Gcreate(hid_t loc_id, const char *name, size_t size_hint)
 {
     H5G_entry_t		   *loc = NULL;
-    H5G_t		   *grp = NULL;
-    hid_t		    ret_value;
+    H5G_t	   *grp = NULL;
+    hid_t	    ret_value;
 
-    FUNC_ENTER_API(H5Gcreate, FAIL);
+    FUNC_ENTER_API(H5Gcreate, FAIL)
     H5TRACE3("i","isz",loc_id,name,size_hint);
 
     /* Check arguments */
     if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name given")
 
     /* Create the group */
-    if (NULL == (grp = H5G_create(loc, name, size_hint, H5AC_dxpl_id)))
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group");
-    if ((ret_value = H5I_register(H5I_GROUP, grp)) < 0)
-	HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register group");
+    if(NULL == (grp = H5G_create(loc, name, size_hint, H5AC_dxpl_id)))
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group")
+    if((ret_value = H5I_register(H5I_GROUP, grp)) < 0)
+	HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register group")
 
 done:
-    if(ret_value<0) {
+    if(ret_value < 0) {
         if(grp!=NULL)
             H5G_close(grp);
     } /* end if */
 
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Gcreate() */
 
 
 /*-------------------------------------------------------------------------
@@ -275,17 +228,16 @@
  * Programmer:	Robb Matzke
  *		Wednesday, December 31, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 hid_t
 H5Gopen(hid_t loc_id, const char *name)
 {
-    hid_t       ret_value = FAIL;
     H5G_t       *grp = NULL;
     H5G_entry_t	*loc = NULL;
     H5G_entry_t	 ent;
+    hbool_t      ent_found = FALSE;     /* Entry at 'name' found */
+    hid_t       ret_value = FAIL;
 
     FUNC_ENTER_API(H5Gopen, FAIL);
     H5TRACE2("i","is",loc_id,name);
@@ -297,25 +249,34 @@
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name");
 
     /* Open the parent group, making sure it's a group */
-    if (H5G_find(loc, name, &ent/*out*/, H5AC_dxpl_id) < 0)
-        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "group not found");
+    if(H5G_find(loc, name, &ent/*out*/, H5AC_dxpl_id) < 0)
+        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "group not found")
+    ent_found = TRUE;
 
+    /* Check that the object found is the correct type */
+    if(H5G_get_type(&ent, H5AC_dxpl_id) != H5G_GROUP)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
+
     /* Open the group */
-    if ((grp = H5G_open(&ent, H5AC_dxpl_id))==NULL)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group");
+    if((grp = H5G_open(&ent, H5AC_dxpl_id)) == NULL)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group")
 
     /* Register an atom for the group */
-    if ((ret_value = H5I_register(H5I_GROUP, grp)) < 0)
-        HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register group");
+    if((ret_value = H5I_register(H5I_GROUP, grp)) < 0)
+        HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register group")
 
 done:
-    if(ret_value<0) {
-        if(grp!=NULL)
+    if(ret_value < 0) {
+        if(grp != NULL)
             H5G_close(grp);
+        else {
+            if(ent_found && ent.header)
+                H5G_name_free(&ent);
+        } /* end else */
     } /* end if */
 
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* H5Gopen() */
 
 
 /*-------------------------------------------------------------------------
@@ -329,8 +290,6 @@
  * Programmer:	Robb Matzke
  *		Wednesday, December 31, 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -380,8 +339,6 @@
  * Programmer:	Robb Matzke
  *		Monday, March 23, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -394,19 +351,19 @@
     H5G_t		*grp = NULL;
     herr_t		ret_value;
 
-    FUNC_ENTER_API(H5Giterate, FAIL);
+    FUNC_ENTER_API(H5Giterate, FAIL)
     H5TRACE5("e","is*Isxx",loc_id,name,idx_p,op,op_data);
 
     /* Check args */
-    if (!name || !*name)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified");
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified")
     idx = (idx_p == NULL ? 0 : *idx_p);
     if (!idx_p)
         idx_p = &idx;
-    if (idx<0)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified");
-    if (!op)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no operator specified");
+    if(idx < 0)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified")
+    if(!op)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no operator specified")
 
     /*
      * Open the group on which to operate.  We also create a group ID which
@@ -441,15 +398,15 @@
 
     /* Check for too high of a starting index (ex post facto :-) */
     /* (Skipping exactly as many entries as are in the group is currently an error) */
-    if(idx>0 && idx>=udata.final_ent)
+    if(idx > 0 && idx >= udata.final_ent)
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified");
 
     /* Set the index we stopped at */
-    *idx_p=udata.final_ent;
+    *idx_p = udata.final_ent;
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Giterate() */
 
 
 /*-------------------------------------------------------------------------
@@ -465,8 +422,6 @@
  * Programmer:	Raymond Lu
  *	        Nov 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -475,23 +430,23 @@
     H5G_entry_t		*loc = NULL;    /* Pointer to symbol table entry */
     herr_t		ret_value;
 
-    FUNC_ENTER_API(H5Gget_num_objs, FAIL);
+    FUNC_ENTER_API(H5Gget_num_objs, FAIL)
     H5TRACE2("e","i*h",loc_id,num_objs);
 
     /* Check args */
     if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location ID");
-    if(H5G_get_type(loc,H5AC_ind_dxpl_id)!=H5G_GROUP)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a group");
-    if (!num_objs)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "nil pointer");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location ID")
+    if(H5G_get_type(loc,H5AC_ind_dxpl_id) != H5G_GROUP)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
+    if(!num_objs)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "nil pointer")
 
     /* Call private function. */
     ret_value = H5G_get_num_objs(loc, num_objs, H5AC_ind_dxpl_id);
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gget_num_objs() */
 
 
 /*-------------------------------------------------------------------------
@@ -514,31 +469,29 @@
  * Programmer:	Raymond Lu
  *	        Nov 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 ssize_t
 H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size)
 {
     H5G_entry_t		*loc = NULL;    /* Pointer to symbol table entry */
-    ssize_t		ret_value = FAIL;
+    ssize_t		ret_value;
 
-    FUNC_ENTER_API(H5Gget_objname_by_idx, FAIL);
+    FUNC_ENTER_API(H5Gget_objname_by_idx, FAIL)
     H5TRACE4("Zs","ihsz",loc_id,idx,name,size);
 
     /* Check args */
-    if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location ID");
-    if(H5G_get_type(loc,H5AC_ind_dxpl_id)!=H5G_GROUP)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a group");
+    if (NULL==(loc=H5G_loc(loc_id)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location ID")
+    if(H5G_get_type(loc, H5AC_ind_dxpl_id) != H5G_GROUP)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
 
-    /*call private function*/
+    /* Call internal function*/
     ret_value = H5G_get_objname_by_idx(loc, idx, name, size, H5AC_ind_dxpl_id);
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gget_objname_by_idx() */
 
 
 /*-------------------------------------------------------------------------
@@ -554,8 +507,6 @@
  * Programmer:	Raymond Lu
  *	        Nov 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 #ifdef H5_WANT_H5_V1_4_COMPAT
@@ -589,22 +540,21 @@
     H5G_entry_t		*loc = NULL;    /* Pointer to symbol table entry */
     H5G_obj_t		ret_value;
 
-    FUNC_ENTER_API(H5Gget_objtype_by_idx, H5G_UNKNOWN);
+    FUNC_ENTER_API(H5Gget_objtype_by_idx, H5G_UNKNOWN)
     H5TRACE2("Go","ih",loc_id,idx);
 
     /* Check args */
-    if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, H5G_UNKNOWN, "not a location ID");
-    if(H5G_get_type(loc,H5AC_ind_dxpl_id)!=H5G_GROUP)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, H5G_UNKNOWN, "not a group");
+    if(NULL==(loc=H5G_loc (loc_id)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5G_UNKNOWN, "not a location ID")
+    if(H5G_get_type(loc, H5AC_ind_dxpl_id) != H5G_GROUP)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5G_UNKNOWN, "not a group")
 
-    /*call private function*/
+    /* Call internal function*/
     ret_value = (H5G_obj_t)H5G_get_objtype_by_idx(loc, idx, H5AC_ind_dxpl_id);
 
 done:
-    FUNC_LEAVE_API(ret_value);
-
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gget_objtype_by_idx() */
 #endif /*H5_WANT_H5_V1_4_COMPAT*/
 
 
@@ -622,50 +572,43 @@
  * Programmer:	Robb Matzke
  *              Monday, April  6, 1998
  *
- * Modifications:
- *
- *		Raymond Lu
- *		Thursday, April 18, 2002
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Gmove2(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id,
 	 const char *dst_name)
 {
-    H5G_entry_t		*src_loc=NULL;
-    H5G_entry_t		*dst_loc=NULL;
+    H5G_entry_t		*src_loc = NULL;
+    H5G_entry_t		*dst_loc = NULL;
     herr_t      ret_value=SUCCEED;       /* Return value */
 
-    FUNC_ENTER_API(H5Gmove2, FAIL);
+    FUNC_ENTER_API(H5Gmove2, FAIL)
     H5TRACE4("e","isis",src_loc_id,src_name,dst_loc_id,dst_name);
 
-    if (src_loc_id != H5G_SAME_LOC && NULL==(src_loc=H5G_loc(src_loc_id)))
-	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (dst_loc_id != H5G_SAME_LOC && NULL==(dst_loc=H5G_loc(dst_loc_id)))
-	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!src_name || !*src_name)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no current name specified");
-    if (!dst_name || !*dst_name)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified");
+    if(src_loc_id != H5G_SAME_LOC && NULL==(src_loc=H5G_loc(src_loc_id)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(dst_loc_id != H5G_SAME_LOC && NULL==(dst_loc=H5G_loc(dst_loc_id)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!src_name || !*src_name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no current name specified")
+    if(!dst_name || !*dst_name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified")
 
-    if(src_loc_id == H5G_SAME_LOC && dst_loc_id == H5G_SAME_LOC) {
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should not be both H5G_SAME_LOC");
-    } else if(src_loc_id == H5G_SAME_LOC) {
+    if(src_loc_id == H5G_SAME_LOC && dst_loc_id == H5G_SAME_LOC)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should not be both H5G_SAME_LOC")
+    else if(src_loc_id == H5G_SAME_LOC)
 	src_loc = dst_loc;
-    }
-    else if(dst_loc_id == H5G_SAME_LOC) {
+    else if(dst_loc_id == H5G_SAME_LOC)
 	dst_loc = src_loc;
-    }
     else if(src_loc->file != dst_loc->file)
-        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should be in the same file.");
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should be in the same file.")
 
-    if (H5G_move(src_loc, src_name, dst_loc, dst_name, H5AC_dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to change object name");
+    if(H5G_move(src_loc, src_name, dst_loc, dst_name, H5AC_dxpl_id) < 0)
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to change object name")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gmove2() */
 
 
 /*-------------------------------------------------------------------------
@@ -691,51 +634,46 @@
  * Programmer:	Robb Matzke
  *              Monday, April  6, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Glink2(hid_t cur_loc_id, const char *cur_name, H5G_link_t type,
-	 hid_t new_loc_id, const char *new_name)
+	 hid_t link_loc_id, const char *link_name)
 {
     H5G_entry_t	*cur_loc = NULL;
-    H5G_entry_t *new_loc = NULL;
+    H5G_entry_t *link_loc = NULL;
     herr_t      ret_value=SUCCEED;       /* Return value */
 
-    FUNC_ENTER_API(H5Glink2, FAIL);
-    H5TRACE5("e","isGlis",cur_loc_id,cur_name,type,new_loc_id,new_name);
+    FUNC_ENTER_API(H5Glink2, FAIL)
+    H5TRACE5("e","isGlis",cur_loc_id,cur_name,type,link_loc_id,link_name);
 
     /* Check arguments */
-    if (cur_loc_id != H5G_SAME_LOC && NULL==(cur_loc=H5G_loc(cur_loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (new_loc_id != H5G_SAME_LOC && NULL==(new_loc=H5G_loc(new_loc_id)))
-        HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (type!=H5G_LINK_HARD && type!=H5G_LINK_SOFT)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "unrecognized link type");
-    if (!cur_name || !*cur_name)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no current name specified");
-    if (!new_name || !*new_name)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified");
+    if(cur_loc_id != H5G_SAME_LOC && NULL==(cur_loc=H5G_loc(cur_loc_id)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(link_loc_id != H5G_SAME_LOC && NULL==(link_loc=H5G_loc(link_loc_id)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(type != H5G_LINK_HARD && type != H5G_LINK_SOFT)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unrecognized link type")
+    if(!cur_name || !*cur_name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no current name specified")
+    if(!link_name || !*link_name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified")
 
-    if(cur_loc_id == H5G_SAME_LOC && new_loc_id == H5G_SAME_LOC) {
-        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should not be both H5G_SAME_LOC");
-    }
-    else if(cur_loc_id == H5G_SAME_LOC) {
-        cur_loc = new_loc;
-    }
-    else if(new_loc_id == H5G_SAME_LOC) {
-   	new_loc = cur_loc;
-    }
-    else if(cur_loc->file != new_loc->file)
-        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should be in the same file.");
+    if(cur_loc_id == H5G_SAME_LOC && link_loc_id == H5G_SAME_LOC)
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should not be both H5G_SAME_LOC")
+    else if(cur_loc_id == H5G_SAME_LOC)
+        cur_loc = link_loc;
+    else if(link_loc_id == H5G_SAME_LOC)
+   	link_loc = cur_loc;
+    else if(cur_loc->file != link_loc->file)
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "source and destination should be in the same file.")
 
-    if (H5G_link(cur_loc, cur_name, new_loc, new_name, type, H5G_TARGET_NORMAL, H5AC_dxpl_id) <0)
-	HGOTO_ERROR (H5E_SYM, H5E_LINK, FAIL, "unable to create link");
+    if(H5G_link(cur_loc, cur_name, link_loc, link_name, type, H5G_TARGET_NORMAL, H5AC_dxpl_id) <0)
+	HGOTO_ERROR(H5E_SYM, H5E_LINK, FAIL, "unable to create link")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Glink2() */
 
 
 /*-------------------------------------------------------------------------
@@ -753,8 +691,6 @@
  * Programmer:	Robb Matzke
  *              Monday, April  6, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -763,22 +699,22 @@
     H5G_entry_t	*loc = NULL;
     herr_t      ret_value=SUCCEED;       /* Return value */
 
-    FUNC_ENTER_API(H5Gunlink, FAIL);
+    FUNC_ENTER_API(H5Gunlink, FAIL)
     H5TRACE2("e","is",loc_id,name);
 
     /* Check arguments */
     if (NULL==(loc=H5G_loc(loc_id)))
-	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
 
     /* Unlink */
     if (H5G_unlink(loc, name, H5AC_dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to unlink object");
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to unlink object")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gunlink() */
 
 
 /*-------------------------------------------------------------------------
@@ -794,8 +730,6 @@
  * Programmer:	Robb Matzke
  *              Monday, April 13, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -803,24 +737,24 @@
 	       H5G_stat_t *statbuf/*out*/)
 {
     H5G_entry_t	*loc = NULL;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_API(H5Gget_objinfo, FAIL);
+    FUNC_ENTER_API(H5Gget_objinfo, FAIL)
     H5TRACE4("e","isbx",loc_id,name,follow_link,statbuf);
 
     /* Check arguments */
     if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified")
 
     /* Get info */
-    if (H5G_get_objinfo (loc, name, follow_link, statbuf, H5AC_ind_dxpl_id)<0)
-	HGOTO_ERROR (H5E_ARGS, H5E_CANTINIT, FAIL, "cannot stat object");
+    if (H5G_get_objinfo (loc, name, follow_link, statbuf, H5AC_ind_dxpl_id) < 0)
+	HGOTO_ERROR(H5E_ARGS, H5E_CANTINIT, FAIL, "cannot stat object")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gget_objinfo() */
 
 
 /*-------------------------------------------------------------------------
@@ -837,32 +771,30 @@
  * Programmer:	Robb Matzke
  *              Monday, April 13, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Gget_linkval(hid_t loc_id, const char *name, size_t size, char *buf/*out*/)
 {
     H5G_entry_t	*loc = NULL;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_API(H5Gget_linkval, FAIL);
+    FUNC_ENTER_API(H5Gget_linkval, FAIL)
     H5TRACE4("e","iszx",loc_id,name,size,buf);
 
     /* Check arguments */
     if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified")
 
     /* Get the link value */
     if (H5G_linkval (loc, name, size, buf, H5AC_ind_dxpl_id)<0)
-	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to get link value");
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to get link value")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gget_linkval() */
 
 
 /*-------------------------------------------------------------------------
@@ -878,30 +810,28 @@
  * Programmer:	Robb Matzke
  *              Monday, July 20, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5Gset_comment(hid_t loc_id, const char *name, const char *comment)
 {
     H5G_entry_t	*loc = NULL;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_API(H5Gset_comment, FAIL);
+    FUNC_ENTER_API(H5Gset_comment, FAIL)
     H5TRACE3("e","iss",loc_id,name,comment);
 
     if (NULL==(loc=H5G_loc(loc_id)))
-	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified")
 
     if (H5G_set_comment(loc, name, comment, H5AC_dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to set comment value");
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to set comment value")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gset_comment() */
 
 
 /*-------------------------------------------------------------------------
@@ -923,8 +853,6 @@
  * Programmer:	Robb Matzke
  *              Monday, July 20, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -933,22 +861,22 @@
     H5G_entry_t	*loc = NULL;
     int	ret_value;
 
-    FUNC_ENTER_API(H5Gget_comment, FAIL);
+    FUNC_ENTER_API(H5Gget_comment, FAIL)
     H5TRACE4("Is","iszs",loc_id,name,bufsize,buf);
 
     if (NULL==(loc=H5G_loc(loc_id)))
-	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified");
-    if (bufsize>0 && !buf)
-	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no buffer specified");
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified")
+    if(bufsize > 0 && !buf)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no buffer specified")
 
     if ((ret_value=H5G_get_comment(loc, name, bufsize, buf, H5AC_ind_dxpl_id))<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to get comment value");
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to get comment value")
 
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Gget_comment() */
 
 /*
  *-------------------------------------------------------------------------
@@ -968,14 +896,13 @@
  * Programmer:	Robb Matzke
  *		Monday, January	 5, 1998
  *
- * Modifications:
  *
  *-------------------------------------------------------------------------
  */
 static herr_t
 H5G_init_interface(void)
 {
-    herr_t          ret_value=SUCCEED;       /* Return value */
+    herr_t          ret_value = SUCCEED;  /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5G_init_interface);
 
@@ -1012,23 +939,21 @@
  * Programmer:	Robb Matzke
  *		Monday, January	 5, 1998
  *
- * Modifications:
- *              Robb Matzke, 2002-03-28
- *              Free the global component buffer.
  *-------------------------------------------------------------------------
  */
 int
 H5G_term_interface(void)
 {
-    size_t	i;
-    int	n=0;
+    int	n = 0;
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_term_interface);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_term_interface)
 
     if (H5_interface_initialize_g) {
-	if ((n=H5I_nmembers(H5I_GROUP))) {
+	if ((n = H5I_nmembers(H5I_GROUP))) {
 	    H5I_clear_group(H5I_GROUP, FALSE);
 	} else {
+            size_t	i;
+
 	    /* Empty the object type table */
 	    for (i=0; i<H5G_ntypes_g; i++)
 		H5MM_xfree(H5G_type_g[i].desc);
@@ -1039,17 +964,16 @@
 	    H5I_destroy_group(H5I_GROUP);
 
             /* Free the global component buffer */
-            H5G_comp_g = H5MM_xfree(H5G_comp_g);
-            H5G_comp_alloc_g = 0;
+            H5G_namei_term_interface();
 
 	    /* Mark closed */
 	    H5_interface_initialize_g = 0;
 	    n = 1; /*H5I*/
-	}
-    }
+	} /* end else */
+    } /* end if */
 
-    FUNC_LEAVE_NOAPI(n);
-}
+    FUNC_LEAVE_NOAPI(n)
+} /* end H5G_term_interface() */
 
 
 /*-------------------------------------------------------------------------
@@ -1134,8 +1058,6 @@
  *		the size in characters of the component through SIZE_P not
  *		counting leading slashes or the null terminator.
  *
- * Errors:
- *
  * Return:	Success:	Ptr into NAME.
  *
  *		Failure:	Ptr to the null terminator of NAME.
@@ -1144,15 +1066,13 @@
  *		matzke at llnl.gov
  *		Aug 11 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
-static const char *
+const char *
 H5G_component(const char *name, size_t *size_p)
 {
     /* Use FUNC_ENTER_NOAPI_NOINIT_NOFUNC here to avoid performance issues */
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_component);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_component)
 
     assert(name);
 
@@ -1161,8 +1081,8 @@
     if (size_p)
         *size_p = HDstrcspn(name, "/");
 
-    FUNC_LEAVE_NOAPI(name);
-}
+    FUNC_LEAVE_NOAPI(name)
+} /* end H5G_component() */
 
 
 /*-------------------------------------------------------------------------
@@ -1223,8 +1143,6 @@
  * Programmer:	Quincey Koziol
  *              Saturday, August 16, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static char *
@@ -1278,386 +1196,6 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5G_namei
- *
- * Purpose:	Translates a name to a symbol table entry.
- *
- *		If the specified name can be fully resolved, then this
- *		function returns the symbol table entry for the named object
- *		through the OBJ_ENT argument. The symbol table entry for the
- *		group containing the named object is returned through the
- *		GRP_ENT argument if it is non-null.  However, if the name
- *		refers to the root object then the GRP_ENT will be
- *		initialized with an undefined object header address.  The
- *		REST argument, if present, will point to the null terminator
- *		of NAME.
- *
- *		If the specified name cannot be fully resolved, then OBJ_ENT
- *		is initialized with the undefined object header address. The
- *		REST argument will point into the NAME argument to the start
- *		of the component that could not be located.  The GRP_ENT will
- *		contain the entry for the symbol table that was being
- *		searched at the time of the failure and will have an
- *		undefined object header address if the search failed at the
- *		root object. For instance, if NAME is `/foo/bar/baz' and the
- *		root directory exists and contains an entry for `foo', and
- *		foo is a group that contains an entry for bar, but bar is not
- *		a group, then the results will be that REST points to `baz',
- *		OBJ_ENT has an undefined object header address, and GRP_ENT
- *		is the symbol table entry for `bar' in `/foo'.
- *
- *		Every file has a root group whose name is `/'.  Components of
- *		a name are separated from one another by one or more slashes
- *		(/).  Slashes at the end of a name are ignored.  If the name
- *		begins with a slash then the search begins at the root group
- *		of the file containing LOC_ENT. Otherwise it begins at
- *		LOC_ENT.  The component `.' is a no-op, but `..' is not
- *		understood by this function (unless it appears as an entry in
- *		the symbol table).
- *
- *		Symbolic links are followed automatically, but if TARGET
- *		includes the H5G_TARGET_SLINK bit and the last component of
- *		the name is a symbolic link then that link is not followed.
- *		The *NLINKS value is decremented each time a link is followed
- *		and link traversal fails if the value would become negative.
- *		If NLINKS is the null pointer then a default value is used.
- *
- *		Mounted files are handled by calling H5F_mountpoint() after
- *		each step of the translation.  If the input argument to that
- *		function is a mount point then the argument shall be replaced
- *		with information about the root group of the mounted file.
- *		But if TARGET includes the H5G_TARGET_MOUNT bit and the last
- *		component of the name is a mount point then H5F_mountpoint()
- *		is not called and information about the mount point itself is
- *		returned.
- *
- * Errors:
- *
- * Return:	Success:	Non-negative if name can be fully resolved.
- *				See above for values of REST, GRP_ENT, and
- *				OBJ_ENT.  NLINKS has been decremented for
- *				each symbolic link that was followed.
- *
- *		Failure:	Negative if the name could not be fully
- *				resolved. See above for values of REST,
- *				GRP_ENT, and OBJ_ENT.
- *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Aug 11 1997
- *
- * Modifications:
- *      Robb Matzke, 2002-03-28
- *      The component name buffer on the stack has been replaced by
- *      a dynamically allocated buffer on the heap in order to
- *      remove limitations on the length of a name component.
- *      There are two reasons that the buffer pointer is global:
- *        (1) We want to be able to reuse the buffer without
- *            allocating and freeing it each time this function is
- *            called.
- *        (2) We need to be able to free it from H5G_term_interface()
- *            when the library terminates.
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Modified to deep copies of symbol table entries
- *      Added `id to name' support.
- *
- *      Quincey Koziol, 2003-01-06
- *      Added "action" and "ent" parameters to allow different actions when
- *      working on the last component of a name.  (Specifically, this allows
- *      inserting an entry into a group, instead of trying to look it up)
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5G_namei(const H5G_entry_t *loc_ent, const char *name, const char **rest/*out*/,
-	  H5G_entry_t *grp_ent/*out*/, H5G_entry_t *obj_ent/*out*/,
-	  unsigned target, int *nlinks/*out*/, H5G_namei_act_t action,
-          H5G_entry_t *ent, hid_t dxpl_id)
-{
-    H5G_entry_t		  _grp_ent;     /*entry for current group	*/
-    H5G_entry_t		  _obj_ent;     /*entry found			*/
-    size_t		  nchars;	/*component name length		*/
-    int			  _nlinks = H5G_NLINKS;
-    const char		   *s = NULL;
-    unsigned null_obj;          /* Flag to indicate this function was called with obj_ent set to NULL */
-    unsigned null_grp;          /* Flag to indicate this function was called with grp_ent set to NULL */
-    unsigned obj_copy = 0;      /* Flag to indicate that the object entry is copied */
-    unsigned group_copy = 0;    /* Flag to indicate that the group entry is copied */
-    unsigned last_comp = 0;     /* Flag to indicate that a component is the last component in the name */
-    unsigned did_insert = 0;    /* Flag to indicate that H5G_stab_insert was called */
-    herr_t      ret_value=SUCCEED;       /* Return value */
-
-    FUNC_ENTER_NOAPI_NOINIT(H5G_namei);
-
-    /* Set up "out" parameters */
-    if (rest)
-        *rest = name;
-    if (!grp_ent) {
-        grp_ent = &_grp_ent;
-        null_grp = 1;
-    } /* end if */
-    else
-        null_grp = 0;
-    if (!obj_ent) {
-        obj_ent = &_obj_ent;
-        null_obj = 1;
-    } /* end if */
-    else
-        null_obj = 0;
-    if (!nlinks)
-        nlinks = &_nlinks;
-
-    /* Check args */
-    if (!name || !*name)
-        HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "no name given");
-    if (!loc_ent)
-        HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "no current working group");
-
-    /*
-     * Where does the searching start?  For absolute names it starts at the
-     * root of the file; for relative names it starts at CWG.
-     */
-    /* Check if we need to get the root group's entry */
-    if ('/' == *name) {
-        H5G_t *tmp_grp;         /* Temporary pointer to root group of file */
-
-        tmp_grp=H5G_rootof(loc_ent->file);
-        assert(tmp_grp);
-
-        /* Set the location entry to the root group's entry*/
-        loc_ent=&(tmp_grp->ent);
-    } /* end if */
-
-    /* Deep copy of the symbol table entry (duplicates strings) */
-    if (H5G_ent_copy(obj_ent, loc_ent,H5G_COPY_DEEP)<0)
-        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, FAIL, "unable to copy entry");
-    obj_copy = 1;
-
-    H5G_ent_reset(grp_ent);
-
-    /* traverse the name */
-    while ((name = H5G_component(name, &nchars)) && *name) {
-        /* Update the "rest of name" pointer */
-	if (rest)
-            *rest = name;
-
-	/*
-	 * Copy the component name into a null-terminated buffer so
-	 * we can pass it down to the other symbol table functions.
-	 */
-        if (nchars+1 > H5G_comp_alloc_g) {
-            H5G_comp_alloc_g = MAX3(1024, 2*H5G_comp_alloc_g, nchars+1);
-            H5G_comp_g = H5MM_realloc(H5G_comp_g, H5G_comp_alloc_g);
-            if (!H5G_comp_g) {
-                H5G_comp_alloc_g = 0;
-                HGOTO_ERROR(H5E_SYM, H5E_NOSPACE, FAIL, "unable to allocate component buffer");
-            }
-        }
-	HDmemcpy(H5G_comp_g, name, nchars);
-	H5G_comp_g[nchars] = '\0';
-
-	/*
-	 * The special name `.' is a no-op.
-	 */
-	if ('.' == H5G_comp_g[0] && !H5G_comp_g[1]) {
-	    name += nchars;
-	    continue;
-	}
-
-	/*
-	 * Advance to the next component of the name.
-	 */
-        /* If we've already copied a new entry into the group entry,
-         * it needs to be freed before overwriting it with another entry
-         */
-	if(group_copy)
-            H5G_free_ent_name(grp_ent);
-
-        /* Transfer "ownership" of the entry's information to the group entry */
-        H5G_ent_copy(grp_ent,obj_ent,H5G_COPY_SHALLOW);
-        H5G_ent_reset(obj_ent);
-
-	/* Set flag that we've copied a new entry into the group entry */
-	group_copy =1;
-
-        /* Check if this is the last component of the name */
-        if(!((s=H5G_component(name+nchars, NULL)) && *s))
-            last_comp=1;
-
-        switch(action) {
-            case H5G_NAMEI_TRAVERSE:
-                if (H5G_stab_find(grp_ent, H5G_comp_g, obj_ent/*out*/, dxpl_id )<0) {
-                    /*
-                     * Component was not found in the current symbol table, possibly
-                     * because GRP_ENT isn't a symbol table.
-                     */
-                    HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "component not found");
-                }
-                break;
-
-            case H5G_NAMEI_INSERT:
-                if(!last_comp) {
-                    if (H5G_stab_find(grp_ent, H5G_comp_g, obj_ent/*out*/, dxpl_id )<0) {
-                        /*
-                         * Component was not found in the current symbol table, possibly
-                         * because GRP_ENT isn't a symbol table.
-                         */
-                        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "component not found");
-                    }
-                } /* end if */
-                else {
-                    did_insert = 1;
-                    if (H5G_stab_insert(grp_ent, H5G_comp_g, ent, TRUE, dxpl_id) < 0)
-                        HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "unable to insert name");
-                    HGOTO_DONE(SUCCEED);
-                } /* end else */
-                break;
-        } /* end switch */
-
-	/*
-	 * If we found a symbolic link then we should follow it.  But if this
-	 * is the last component of the name and the H5G_TARGET_SLINK bit of
-	 * TARGET is set then we don't follow it.
-	 */
-	if(H5G_CACHED_SLINK==obj_ent->type &&
-                (0==(target & H5G_TARGET_SLINK) || !last_comp)) {
-	    if ((*nlinks)-- <= 0)
-		HGOTO_ERROR (H5E_SYM, H5E_SLINK, FAIL, "too many links");
-	    if (H5G_traverse_slink (grp_ent, obj_ent, nlinks, dxpl_id)<0)
-		HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "symbolic link traversal failed");
-	}
-
-	/*
-	 * Resolve mount points to the mounted group.  Do not do this step if
-	 * the H5G_TARGET_MOUNT bit of TARGET is set and this is the last
-	 * component of the name.
-	 */
-	if (0==(target & H5G_TARGET_MOUNT) || !last_comp)
-	    H5F_mountpoint(obj_ent/*in,out*/);
-
-	/* next component */
-	name += nchars;
-    } /* end while */
-
-    /* Update the "rest of name" pointer */
-    if (rest)
-        *rest = name; /*final null */
-
-    /* If this was an insert, make sure that the insert function was actually
-     * called (this catches no-op names like "." and "/") */
-     if(action == H5G_NAMEI_INSERT && !did_insert)
-        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "group already exists");
-
-done:
-    /* If we started with a NULL obj_ent, free the entry information */
-    if(null_obj || (ret_value < 0 && obj_copy))
-        H5G_free_ent_name(obj_ent);
-    /* If we started with a NULL grp_ent and we copied something into it, free the entry information */
-    if(null_grp && group_copy)
-        H5G_free_ent_name(grp_ent);
-
-   FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5G_traverse_slink
- *
- * Purpose:	Traverses symbolic link.  The link head appears in the group
- *		whose entry is GRP_ENT and the link head entry is OBJ_ENT.
- *
- * Return:	Success:	Non-negative, OBJ_ENT will contain information
- *				about the object to which the link points and
- *				GRP_ENT will contain the information about
- *				the group in which the link tail appears.
- *
- *		Failure:	Negative
- *
- * Programmer:	Robb Matzke
- *              Friday, April 10, 1998
- *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5G_traverse_slink (H5G_entry_t *grp_ent/*in,out*/,
-		    H5G_entry_t *obj_ent/*in,out*/,
-		    int *nlinks/*in,out*/, hid_t dxpl_id)
-{
-    H5O_stab_t		stab_mesg;		/*info about local heap	*/
-    const char		*clv = NULL;		/*cached link value	*/
-    char		*linkval = NULL;	/*the copied link value	*/
-    H5G_entry_t         tmp_grp_ent;            /* Temporary copy of group entry */
-    H5RS_str_t          *tmp_user_path_r=NULL, *tmp_canon_path_r=NULL; /* Temporary pointer to object's user path & canonical path */
-    const H5HL_t        *heap;
-    herr_t      ret_value=SUCCEED;       /* Return value */
-
-    FUNC_ENTER_NOAPI_NOINIT(H5G_traverse_slink);
-
-    /* Portably initialize the temporary group entry */
-    H5G_ent_reset(&tmp_grp_ent);
-
-    /* Get the link value */
-    if (NULL==H5O_read (grp_ent, H5O_STAB_ID, 0, &stab_mesg, dxpl_id))
-	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address");
-
-    if (NULL == (heap = H5HL_protect(grp_ent->file, dxpl_id, stab_mesg.heap_addr)))
-	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read protect link value")
-
-    clv = H5HL_offset_into(grp_ent->file, heap, obj_ent->cache.slink.lval_offset);
-
-    linkval = H5MM_xstrdup (clv);
-    assert(linkval);
-
-    if (H5HL_unprotect(grp_ent->file, dxpl_id, heap, stab_mesg.heap_addr) < 0)
-	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read unprotect link value")
-
-    /* Hold the entry's name (& old_name) to restore later */
-    tmp_user_path_r=obj_ent->user_path_r;
-    obj_ent->user_path_r=NULL;
-    tmp_canon_path_r=obj_ent->canon_path_r;
-    obj_ent->canon_path_r=NULL;
-
-    /* Free the names for the group entry */
-    H5G_free_ent_name(grp_ent);
-
-    /* Clone the group entry, so we can track the names properly */
-    H5G_ent_copy(&tmp_grp_ent,grp_ent,H5G_COPY_DEEP);
-
-    /* Traverse the link */
-    if (H5G_namei (&tmp_grp_ent, linkval, NULL, grp_ent, obj_ent, H5G_TARGET_NORMAL, nlinks, H5G_NAMEI_TRAVERSE, NULL, dxpl_id))
-	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to follow symbolic link");
-
-    /* Free the entry's names, we will use the original name for the object */
-    H5G_free_ent_name(obj_ent);
-
-    /* Restore previous name for object */
-    obj_ent->user_path_r = tmp_user_path_r;
-    tmp_user_path_r=NULL;
-    obj_ent->canon_path_r = tmp_canon_path_r;
-    tmp_canon_path_r=NULL;
-
-done:
-    /* Error cleanup */
-    if(tmp_user_path_r)
-        H5RS_decr(tmp_user_path_r);
-    if(tmp_canon_path_r)
-        H5RS_decr(tmp_canon_path_r);
-
-    /* Release cloned copy of group entry */
-    H5G_free_ent_name(&tmp_grp_ent);
-
-    H5MM_xfree (linkval);
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
  * Function:	H5G_mkroot
  *
  * Purpose:	Creates a root group in an empty file and opens it.  If a
@@ -1673,78 +1211,70 @@
  *		matzke at llnl.gov
  *		Aug 11 1997
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
-H5G_mkroot (H5F_t *f, hid_t dxpl_id, H5G_entry_t *ent)
+H5G_mkroot(H5F_t *f, hid_t dxpl_id, H5G_entry_t *ent)
 {
     H5G_entry_t	new_root;		/*new root object		*/
-    herr_t      ret_value=SUCCEED;      /* Return value */
+    herr_t ret_value = SUCCEED;         /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_mkroot, FAIL);
+    FUNC_ENTER_NOAPI(H5G_mkroot, FAIL)
 
     /* check args */
-    assert(f);
-    if (f->shared->root_grp)
-        HGOTO_DONE(SUCCEED);
+    HDassert(f);
+    if(f->shared->root_grp)
+        HGOTO_DONE(SUCCEED)
 
     /* Create information needed for group nodes */
-    if(H5G_node_init(f)<0)
+    if(H5G_node_init(f) < 0)
         HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group node info")
 
     /*
      * If there is no root object then create one. The root group always starts
      * with a hard link count of one since it's pointed to by the boot block.
      */
-    if (!ent) {
+    if(!ent) {
 	ent = &new_root;
         H5G_ent_reset(ent);
 	if (H5G_stab_create (f, dxpl_id, (size_t)H5G_SIZE_HINT, ent/*out*/)<0)
-	    HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "unable to create root group");
+	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create root group")
 	if (1 != H5O_link (ent, 1, dxpl_id))
-	    HGOTO_ERROR (H5E_SYM, H5E_LINK, FAIL, "internal error (wrong link count)");
+	    HGOTO_ERROR(H5E_SYM, H5E_LINK, FAIL, "internal error (wrong link count)")
     } else {
 	/*
 	 * Open the root object as a group.
 	 */
-	if (H5O_open (ent)<0)
-	    HGOTO_ERROR (H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open root group");
-    }
+	if(H5O_open(ent) < 0)
+	    HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open root group")
+    } /* end else */
 
     /* Create the path names for the root group's entry */
-    ent->user_path_r=H5RS_create("/");
-    assert(ent->user_path_r);
-    ent->canon_path_r=H5RS_create("/");
-    assert(ent->canon_path_r);
-    ent->user_path_hidden=0;
+    H5G_name_init(ent, "/");
 
     /*
      * Create the group pointer.  Also decrement the open object count so we
      * don't count the root group as an open object.  The root group will
      * never be closed.
      */
-    if (NULL==(f->shared->root_grp = H5FL_CALLOC (H5G_t)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-    if (NULL==(f->shared->root_grp->shared = H5FL_CALLOC (H5G_shared_t))) {
+    if(NULL == (f->shared->root_grp = H5FL_CALLOC(H5G_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+    if(NULL == (f->shared->root_grp->shared = H5FL_CALLOC(H5G_shared_t))) {
         H5FL_FREE(H5G_t, f->shared->root_grp);
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-    }
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+    } /* end if */
+
     /* Shallow copy (take ownership) of the group entry object */
-    if(H5G_ent_copy(&(f->shared->root_grp->ent), ent, H5G_COPY_SHALLOW)<0)
+    if(H5G_ent_copy(&(f->shared->root_grp->ent), ent, H5_COPY_SHALLOW)<0)
         HGOTO_ERROR (H5E_SYM, H5E_CANTCOPY, FAIL, "can't copy group entry")
 
     f->shared->root_grp->shared->fo_count = 1;
-    assert (1==f->nopen_objs);
+    HDassert(1 == f->nopen_objs);
     f->nopen_objs = 0;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_mkroot() */
 
 
 /*-------------------------------------------------------------------------
@@ -1753,8 +1283,6 @@
  * Purpose:	Creates a new empty group with the specified name. The name
  *		is either an absolute name or is relative to LOC.
  *
- * Errors:
- *
  * Return:	Success:	A handle for the group.	 The group is opened
  *				and should eventually be close by calling
  *				H5G_close().
@@ -1765,11 +1293,6 @@
  *		matzke at llnl.gov
  *		Aug 11 1997
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static H5G_t *
@@ -1780,21 +1303,21 @@
     unsigned    stab_init=0;    /* Flag to indicate that the symbol table was created successfully */
     H5G_t	*ret_value;	/* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_create);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_create)
 
     /* check args */
-    assert(loc);
-    assert(name && *name);
+    HDassert(loc);
+    HDassert(name && *name);
 
     /* create an open group */
-    if (NULL==(grp = H5FL_CALLOC(H5G_t)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-    if (NULL==(grp->shared = H5FL_CALLOC(H5G_t)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+    if(NULL == (grp = H5FL_CALLOC(H5G_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+    if(NULL == (grp->shared = H5FL_CALLOC(H5G_shared_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
 
     /* What file is the group being added to? */
-    if (NULL==(file=H5G_insertion_file(loc, name, dxpl_id)))
-        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, NULL, "unable to locate insertion point");
+    if(NULL == (file = H5G_insertion_file(loc, name, dxpl_id)))
+        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, NULL, "unable to locate insertion point")
 
     /* Create the group entry */
     if (H5G_stab_create(file, dxpl_id, size_hint, &(grp->ent)/*out*/) < 0)
@@ -1814,26 +1337,26 @@
     grp->shared->fo_count = 1;
 
     /* Set return value */
-    ret_value=grp;
+    ret_value = grp;
 
 done:
-    if(ret_value==NULL) {
+    if(ret_value == NULL) {
         /* Check if we need to release the file-oriented symbol table info */
         if(stab_init) {
             if(H5O_close(&(grp->ent))<0)
-                HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, NULL, "unable to release object header");
-            if(H5O_delete(file, dxpl_id,grp->ent.header)<0)
-                HDONE_ERROR(H5E_SYM, H5E_CANTDELETE, NULL, "unable to delete object header");
+                HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, NULL, "unable to release object header")
+            if(H5O_delete(file, dxpl_id, grp->ent.header) < 0)
+                HDONE_ERROR(H5E_SYM, H5E_CANTDELETE, NULL, "unable to delete object header")
         } /* end if */
-        if(grp!=NULL) {
+        if(grp != NULL) {
             if(grp->shared != NULL)
                 H5FL_FREE(H5G_shared_t, grp->shared);
             H5FL_FREE(H5G_t,grp);
-        }
+        } /* end if */
     } /* end if */
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_create() */
 
 
 /*-------------------------------------------------------------------------
@@ -1921,42 +1444,43 @@
  * Programmer:	Robb Matzke
  *		Monday, January	 5, 1998
  *
- * Modifications:
- *      Modified to call H5G_open_oid - QAK - 3/17/99
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 H5G_t *
 H5G_open(H5G_entry_t *ent, hid_t dxpl_id)
 {
     H5G_t           *grp = NULL;
-    H5G_shared_t    *shared_fo=NULL;
-    H5G_t           *ret_value=NULL;
+    H5G_shared_t    *shared_fo = NULL;
+    H5G_t           *ret_value = NULL;
 
-    FUNC_ENTER_NOAPI(H5G_open, NULL);
+    FUNC_ENTER_NOAPI(H5G_open, NULL)
 
     /* Check args */
-    assert(ent);
+    HDassert(ent);
 
+    /* Allocate the group structure */
+    if(NULL == (grp = H5FL_CALLOC(H5G_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "can't allocate space for group")
+
+    /* Shallow copy (take ownership) of the group entry object */
+    if(H5G_ent_copy(&(grp->ent), ent, H5_COPY_SHALLOW)<0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, NULL, "can't copy group entry")
+
     /* Check if group was already open */
-    if((shared_fo=H5FO_opened(ent->file, ent->header))==NULL) {
+    if((shared_fo = H5FO_opened(grp->ent.file, grp->ent.header))==NULL) {
 
         /* Clear any errors from H5FO_opened() */
         H5E_clear();
 
         /* Open the group object */
-        if ((grp=H5G_open_oid(ent, dxpl_id)) ==NULL)
-            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, NULL, "not found");
+        if(H5G_open_oid(grp, dxpl_id) < 0)
+            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, NULL, "not found")
 
         /* Add group to list of open objects in file */
-        if(H5FO_insert(grp->ent.file, grp->ent.header, grp->shared)<0)
-        {
+        if(H5FO_insert(grp->ent.file, grp->ent.header, grp->shared)<0) {
             H5FL_FREE(H5G_shared_t, grp->shared);
             HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, NULL, "can't insert group into list of open objects")
-        }
+        } /* end if */
 
         /* Increment object count for the object in the top file */
         if(H5FO_top_incr(grp->ent.file, grp->ent.header) < 0)
@@ -1964,15 +1488,8 @@
 
         /* Set open object count */
         grp->shared->fo_count = 1;
-    }
+    } /* end if */
     else {
-        if(NULL == (grp = H5FL_CALLOC(H5G_t)))
-            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "can't allocate space for group")
-
-        /* Shallow copy (take ownership) of the group entry object */
-        if(H5G_ent_copy(&(grp->ent), ent, H5G_COPY_SHALLOW)<0)
-            HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, NULL, "can't copy group entry")
-
         /* Point to shared group info */
         grp->shared = shared_fo;
 
@@ -1989,7 +1506,7 @@
         /* Increment object count for the object in the top file */
         if(H5FO_top_incr(grp->ent.file, grp->ent.header) < 0)
             HGOTO_ERROR(H5E_SYM, H5E_CANTINC, NULL, "can't increment object count")
-    }
+    } /* end else */
 
     /* Set return value */
     ret_value = grp;
@@ -1998,8 +1515,8 @@
     if (!ret_value && grp)
         H5FL_FREE(H5G_t,grp);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_open() */
 
 
 /*-------------------------------------------------------------------------
@@ -2015,59 +1532,44 @@
  * Programmer:	Quincey Koziol
  *	    Wednesday, March	17, 1999
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added a deep copy of the symbol table entry
- *
  *-------------------------------------------------------------------------
  */
-static H5G_t *
-H5G_open_oid(H5G_entry_t *ent, hid_t dxpl_id)
+static herr_t
+H5G_open_oid(H5G_t *grp, hid_t dxpl_id)
 {
-    H5G_t		*grp = NULL;
-    H5G_t		*ret_value = NULL;
     hbool_t             ent_opened = FALSE;
+    herr_t		ret_value = SUCCEED;
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_open_oid);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_open_oid)
 
     /* Check args */
-    assert(ent);
+    HDassert(grp);
 
-    /* Open the object, making sure it's a group */
-    if (NULL==(grp = H5FL_CALLOC(H5G_t)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-    if (NULL==(grp->shared = H5FL_CALLOC(H5G_shared_t)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+    /* Allocate the shared information for the group */
+    if(NULL == (grp->shared = H5FL_CALLOC(H5G_shared_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
-    /* Copy over (take ownership) of the group entry object */
-    H5G_ent_copy(&(grp->ent),ent,H5G_COPY_SHALLOW);
-
     /* Grab the object header */
     if (H5O_open(&(grp->ent)) < 0)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to open group")
+        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group")
     ent_opened = TRUE;
 
     /* Check if this object has the right message(s) to be treated as a group */
     if(H5O_exists(&(grp->ent), H5O_STAB_ID, 0, dxpl_id) <= 0)
-        HGOTO_ERROR (H5E_SYM, H5E_CANTOPENOBJ, NULL, "not a group")
+        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "not a group")
 
-    /* Set return value */
-    ret_value = grp;
-
 done:
-    if(!ret_value) {
+    if(ret_value < 0) {
         if(grp) {
             if(ent_opened)
                 H5O_close(&(grp->ent));
             if(grp->shared)
                 H5FL_FREE(H5G_shared_t, grp->shared);
-            H5FL_FREE(H5G_t,grp);
         } /* end if */
     } /* end if */
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_open_oid() */
 
 
 /*-------------------------------------------------------------------------
@@ -2080,25 +1582,23 @@
  * Programmer:	Robb Matzke
  *		Monday, January	 5, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5G_close(H5G_t *grp)
 {
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_close, FAIL);
+    FUNC_ENTER_NOAPI(H5G_close, FAIL)
 
     /* Check args */
-    assert(grp && grp->shared);
-    assert(grp->shared->fo_count > 0);
+    HDassert(grp && grp->shared);
+    HDassert(grp->shared->fo_count > 0);
 
     --grp->shared->fo_count;
 
-    if (0 == grp->shared->fo_count) {
-        assert (grp!=H5G_rootof(H5G_fileof(grp)));
+    if(0 == grp->shared->fo_count) {
+        HDassert(grp != H5G_rootof(H5G_fileof(grp)));
 
         /* Remove the group from the list of opened objects in the file */
         if(H5FO_top_decr(grp->ent.file, grp->ent.header) < 0)
@@ -2107,7 +1607,7 @@
             HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "can't remove group from list of open objects")
         if(H5O_close(&(grp->ent)) < 0)
             HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to close")
-        H5FL_FREE (H5G_shared_t, grp->shared);
+        H5FL_FREE(H5G_shared_t, grp->shared);
     } else {
         /* Decrement the ref. count for this object in the top file */
         if(H5FO_top_decr(grp->ent.file, grp->ent.header) < 0)
@@ -2127,17 +1627,16 @@
                 HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "problem attempting file close")
         } /* end if */
 
-        if(H5G_free_ent_name(&(grp->ent))<0)
-        {
+        if(H5G_name_free(&(grp->ent))<0) {
             H5FL_FREE (H5G_t,grp);
-            HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't free group entry name");
+            HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't free group entry name")
         }
     }
 
-    H5FL_FREE (H5G_t,grp);
+    H5FL_FREE(H5G_t,grp);
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5G_close() */
 
 
@@ -2154,25 +1653,23 @@
  * Programmer:  James Laird
  *              Tuesday, September 7, 2004
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5G_free(H5G_t *grp)
 {
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_free, FAIL);
+    FUNC_ENTER_NOAPI(H5G_free, FAIL)
 
-    assert(grp && grp->shared);
+    HDassert(grp && grp->shared);
 
     H5FL_FREE(H5G_shared_t, grp->shared);
     H5FL_FREE(H5G_t, grp);
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_free() */
 
 
 /*-------------------------------------------------------------------------
@@ -2191,20 +1688,18 @@
  * Programmer:	Robb Matzke
  *              Tuesday, October 13, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
-static H5G_t *
+H5G_t *
 H5G_rootof(H5F_t *f)
 {
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_rootof);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_rootof)
 
-    while (f->mtab.parent)
+    while(f->mtab.parent)
         f = f->mtab.parent;
 
-    FUNC_LEAVE_NOAPI(f->shared->root_grp);
-}
+    FUNC_LEAVE_NOAPI(f->shared->root_grp)
+} /* end H5G_rootof() */
 
 
 /*-------------------------------------------------------------------------
@@ -2212,42 +1707,34 @@
  *
  * Purpose:	Inserts a symbol table entry into the group graph.
  *
- * Errors:
- *
  * Return:	Non-negative on success/Negative on failure
  *
  * Programmer:	Robb Matzke
  *		Friday, September 19, 1997
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5G_insert(H5G_entry_t *loc, const char *name, H5G_entry_t *ent, hid_t dxpl_id)
 {
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_insert, FAIL);
+    FUNC_ENTER_NOAPI(H5G_insert, FAIL)
 
     /* Check args. */
-    assert (loc);
-    assert (name && *name);
-    assert (ent);
+    HDassert(loc);
+    HDassert(name && *name);
+    HDassert(ent);
 
     /*
      * Lookup and insert the name -- it shouldn't exist yet.
      */
     if (H5G_namei(loc, name, NULL, NULL, NULL, H5G_TARGET_NORMAL, NULL, H5G_NAMEI_INSERT, ent, dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_EXISTS, FAIL, "already exists");
+	HGOTO_ERROR(H5E_SYM, H5E_EXISTS, FAIL, "already exists")
 
-
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_insert() */
 
 
 /*-------------------------------------------------------------------------
@@ -2457,16 +1944,11 @@
  * Programmer:	Robb Matzke
  *              Monday, April  6, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5G_link (H5G_entry_t *cur_loc, const char *cur_name, H5G_entry_t *new_loc,
-	  const char *new_name, H5G_link_t type, unsigned namei_flags, hid_t dxpl_id)
+H5G_link (H5G_entry_t *cur_loc, const char *cur_name, H5G_entry_t *link_loc,
+	  const char *link_name, H5G_link_t type, unsigned namei_flags, hid_t dxpl_id)
 {
     H5G_entry_t		cur_obj;	/*entry for the link tail	*/
     unsigned            cur_obj_init=0; /* Flag to indicate that the current object is initialized */
@@ -2474,52 +1956,60 @@
     H5O_stab_t		stab_mesg;	/*symbol table message		*/
     const char		*rest = NULL;	/*last component of new name	*/
     char		*norm_cur_name = NULL;	/* Pointer to normalized current name */
-    char		*norm_new_name = NULL;	/* Pointer to normalized current name */
+    char		*norm_link_name = NULL;	/* Pointer to normalized current name */
     size_t		nchars;		/*characters in component	*/
     size_t		offset;		/*offset to sym-link value	*/
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_link);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_link)
 
     /* Check args */
-    assert (cur_loc);
-    assert (new_loc);
-    assert (cur_name && *cur_name);
-    assert (new_name && *new_name);
+    HDassert(cur_loc);
+    HDassert(link_loc);
+    HDassert(cur_name && *cur_name);
+    HDassert(link_name && *link_name);
 
     /* Get normalized copies of the current and new names */
-    if((norm_cur_name=H5G_normalize(cur_name))==NULL)
-        HGOTO_ERROR (H5E_SYM, H5E_BADVALUE, FAIL, "can't normalize name");
-    if((norm_new_name=H5G_normalize(new_name))==NULL)
-        HGOTO_ERROR (H5E_SYM, H5E_BADVALUE, FAIL, "can't normalize name");
+    if((norm_cur_name = H5G_normalize(cur_name)) == NULL)
+        HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "can't normalize name")
+    if((norm_link_name = H5G_normalize(link_name)) == NULL)
+        HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "can't normalize name")
 
-    switch (type) {
+    switch(type) {
+        case H5G_LINK_HARD:
+            if(H5G_namei(cur_loc, norm_cur_name, NULL, NULL, &cur_obj, namei_flags, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id) < 0)
+                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "source object not found")
+            cur_obj_init = 1;     /* Indicate that the cur_obj struct is initialized */
+            if(H5G_insert(link_loc, norm_link_name, &cur_obj, dxpl_id) < 0)
+                HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create new name/link for object")
+            break;
+
         case H5G_LINK_SOFT:
             /*
              * Lookup the the new_name so we can get the group which will contain
              * the new entry.  The entry shouldn't exist yet.
              */
-            if (H5G_namei(new_loc, norm_new_name, &rest, &grp_ent, NULL,
-                            H5G_TARGET_NORMAL, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id)>=0)
-                HGOTO_ERROR (H5E_SYM, H5E_EXISTS, FAIL, "already exists");
+            if(H5G_namei(link_loc, norm_link_name, &rest, &grp_ent, NULL,
+                            H5G_TARGET_NORMAL, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id) >= 0)
+                HGOTO_ERROR(H5E_SYM, H5E_EXISTS, FAIL, "already exists")
             H5E_clear (); /*it's okay that we didn't find it*/
-            rest = H5G_component (rest, &nchars);
+            rest = H5G_component(rest, &nchars);
 
             /*
              * There should be one component left.  Make sure it's null
              * terminated and that `rest' points to it.
              */
-            assert(!rest[nchars]);
+            HDassert(!rest[nchars]);
 
             /*
              * Add the link-value to the local heap for the symbol table which
              * will contain the link.
              */
-            if (NULL==H5O_read (&grp_ent, H5O_STAB_ID, 0, &stab_mesg, dxpl_id))
-                HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "unable to determine local heap address");
-            if ((size_t)(-1)==(offset=H5HL_insert (grp_ent.file, dxpl_id,
+            if(NULL == H5O_read(&grp_ent, H5O_STAB_ID, 0, &stab_mesg, dxpl_id))
+                HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to determine local heap address")
+            if((size_t)(-1) == (offset = H5HL_insert (grp_ent.file, dxpl_id,
                    stab_mesg.heap_addr, HDstrlen(norm_cur_name)+1, norm_cur_name)))
-                HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "unable to write link value to local heap");
+                HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to write link value to local heap")
             H5O_reset (H5O_STAB_ID, &stab_mesg);
 
             /*
@@ -2530,7 +2020,7 @@
             cur_obj.file = grp_ent.file;
             cur_obj.type = H5G_CACHED_SLINK;
             cur_obj.cache.slink.lval_offset = offset;
-            cur_obj_init=1;     /* Indicate that the cur_obj struct is initialized */
+            cur_obj_init = 1;     /* Indicate that the cur_obj struct is initialized */
 
             /*
              * Insert the link head in the symbol table.  This shouldn't ever
@@ -2541,39 +2031,31 @@
              *
              * Note: We don't increment the link count of the destination object
              */
-            if (H5G_stab_insert (&grp_ent, rest, &cur_obj, FALSE, dxpl_id)<0)
-                HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "unable to create new name/link for object");
+            if(H5G_stab_insert(&grp_ent, rest, &cur_obj, FALSE, dxpl_id) < 0)
+                HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create new name/link for object")
             break;
 
-        case H5G_LINK_HARD:
-            if (H5G_namei(cur_loc, norm_cur_name, NULL, NULL, &cur_obj, namei_flags, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id)<0)
-                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "source object not found");
-            cur_obj_init=1;     /* Indicate that the cur_obj struct is initialized */
-            if (H5G_insert (new_loc, norm_new_name, &cur_obj, dxpl_id)<0)
-                HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "unable to create new name/link for object");
-            break;
-
         default:
-            HGOTO_ERROR (H5E_SYM, H5E_BADVALUE, FAIL, "unrecognized link type");
-    }
+            HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unrecognized link type")
+    } /* end switch */
 
 done:
     /* Free the group's ID to name buffer, if creating a soft link */
     if(type == H5G_LINK_SOFT)
-        H5G_free_ent_name(&grp_ent);
+        H5G_name_free(&grp_ent);
 
     /* Free the ID to name buffer */
     if(cur_obj_init)
-        H5G_free_ent_name(&cur_obj);
+        H5G_name_free(&cur_obj);
 
     /* Free the normalized path names */
     if(norm_cur_name)
         H5MM_xfree(norm_cur_name);
-    if(norm_new_name)
-        H5MM_xfree(norm_new_name);
+    if(norm_link_name)
+        H5MM_xfree(norm_link_name);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_link() */
 
 
 /*-------------------------------------------------------------------------
@@ -2631,11 +2113,6 @@
  * Programmer:	Robb Matzke
  *              Monday, April 13, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -2643,12 +2120,12 @@
 		 H5G_stat_t *statbuf/*out*/, hid_t dxpl_id)
 {
     H5G_entry_t		grp_ent, obj_ent;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_get_objinfo, FAIL);
+    FUNC_ENTER_NOAPI(H5G_get_objinfo, FAIL)
 
-    assert (loc);
-    assert (name && *name);
+    HDassert(loc);
+    HDassert(name && *name);
     if (statbuf) HDmemset (statbuf, 0, sizeof *statbuf);
 
     /* Find the object's symbol table entry */
@@ -2723,11 +2200,11 @@
 
 done:
     /* Free the ID to name buffers */
-    H5G_free_ent_name(&grp_ent);
-    H5G_free_ent_name(&obj_ent);
+    H5G_name_free(&grp_ent);
+    H5G_name_free(&obj_ent);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_get_objinfo() */
 
 
 /*-------------------------------------------------------------------------
@@ -2744,8 +2221,6 @@
  * Programmer:	Raymond Lu
  *	        Nov 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -2913,23 +2388,18 @@
  * Programmer:	Robb Matzke
  *              Monday, April 13, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5G_linkval (H5G_entry_t *loc, const char *name, size_t size, char *buf/*out*/, hid_t dxpl_id)
+H5G_linkval(H5G_entry_t *loc, const char *name, size_t size, char *buf/*out*/, hid_t dxpl_id)
 {
     const char		*s = NULL;
     H5G_entry_t		grp_ent, obj_ent;
     H5O_stab_t		stab_mesg;
     const H5HL_t        *heap;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_linkval);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_linkval)
 
     /*
      * Get the symbol table entry for the link head and the symbol table
@@ -2962,11 +2432,11 @@
 
 done:
     /* Free the ID to name buffers */
-    H5G_free_ent_name(&grp_ent);
-    H5G_free_ent_name(&obj_ent);
+    H5G_name_free(&grp_ent);
+    H5G_name_free(&obj_ent);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* H5G_linkval() */
 
 
 /*-------------------------------------------------------------------------
@@ -2979,11 +2449,6 @@
  * Programmer:	Robb Matzke
  *              Monday, July 20, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -2991,9 +2456,9 @@
 {
     H5G_entry_t	obj_ent;
     H5O_name_t	comment;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_set_comment);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_set_comment)
 
     /* Get the symbol table entry for the object */
     if (H5G_find(loc, name, &obj_ent/*out*/, dxpl_id)<0)
@@ -3004,19 +2469,19 @@
         H5E_clear();
 
     /* Add the new message */
-    if (buf && *buf) {
+    if(buf && *buf) {
 	comment.s = H5MM_xstrdup(buf);
-	if (H5O_modify(&obj_ent, H5O_NAME_ID, H5O_NEW_MESG, 0, H5O_UPDATE_TIME, &comment, dxpl_id)<0)
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to set comment object header message");
+	if(H5O_modify(&obj_ent, H5O_NAME_ID, H5O_NEW_MESG, 0, H5O_UPDATE_TIME, &comment, dxpl_id)<0)
+	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to set comment object header message")
 	H5O_reset(H5O_NAME_ID, &comment);
-    }
+    } /* end if */
 
 done:
     /* Free the ID to name buffer */
-    H5G_free_ent_name(&obj_ent);
+    H5G_name_free(&obj_ent);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_set_comment() */
 
 
 /*-------------------------------------------------------------------------
@@ -3033,11 +2498,6 @@
  * Programmer:	Robb Matzke
  *              Monday, July 20, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static int
@@ -3045,18 +2505,18 @@
 {
     H5O_name_t	comment;
     H5G_entry_t	obj_ent;
-    int	ret_value;
+    int	ret_value;                      /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_get_comment);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_get_comment)
 
     /* Get the symbol table entry for the object */
-    if (H5G_find(loc, name, &obj_ent/*out*/, dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object not found");
+    if(H5G_find(loc, name, &obj_ent/*out*/, dxpl_id)<0)
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object not found")
 
     /* Get the message */
     comment.s = NULL;
-    if (NULL==H5O_read(&obj_ent, H5O_NAME_ID, 0, &comment, dxpl_id)) {
-	if (buf && bufsize>0)
+    if(NULL == H5O_read(&obj_ent, H5O_NAME_ID, 0, &comment, dxpl_id)) {
+	if(buf && bufsize > 0)
             buf[0] = '\0';
 	ret_value = 0;
     } else {
@@ -3064,14 +2524,14 @@
 	   HDstrncpy(buf, comment.s, bufsize);
 	ret_value = (int)HDstrlen(comment.s);
 	H5O_reset(H5O_NAME_ID, &comment);
-    }
+    } /* end else */
 
 done:
     /* Free the ID to name buffer */
-    H5G_free_ent_name(&obj_ent);
+    H5G_name_free(&obj_ent);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_get_comment() */
 
 
 /*-------------------------------------------------------------------------
@@ -3084,11 +2544,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, September 17, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -3098,17 +2553,17 @@
     const char		*base=NULL;
     char		*norm_name = NULL;	/* Pointer to normalized name */
     int                 obj_type;       /* Object type */
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t              ret_value = SUCCEED;    /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_unlink);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_unlink)
 
     /* Sanity check */
-    assert(loc);
-    assert(name && *name);
+    HDassert(loc);
+    HDassert(name && *name);
 
     /* Get normalized copy of the name */
-    if((norm_name=H5G_normalize(name))==NULL)
-        HGOTO_ERROR (H5E_SYM, H5E_BADVALUE, FAIL, "can't normalize name");
+    if((norm_name = H5G_normalize(name)) == NULL)
+        HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "can't normalize name")
 
     /* Reset the group entries to known values in a portable way */
     H5G_ent_reset(&grp_ent);
@@ -3121,31 +2576,31 @@
     if (!H5F_addr_defined(grp_ent.header))
 	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "no containing group specified");
     if (NULL==(base=H5G_basename(norm_name, NULL)) || '/'==*base)
-	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "problems obtaining object base name");
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "problems obtaining object base name")
 
     /* Get object type before unlink */
     if((obj_type = H5G_get_type(&obj_ent, dxpl_id)) < 0)
-	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't determine object type");
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't determine object type")
 
     /* Remove the name from the symbol table */
     if (H5G_stab_remove(&grp_ent, base, dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "unable to unlink name from symbol table");
+	HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "unable to unlink name from symbol table")
 
     /* Search the open IDs and replace names for unlinked object */
-    if (H5G_replace_name(obj_type, &obj_ent, NULL, NULL, NULL, NULL, OP_UNLINK )<0)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "unable to replace name");
+    if (H5G_name_replace(obj_type, &obj_ent, NULL, NULL, H5G_NAME_UNLINK )<0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "unable to replace name")
 
 done:
     /* Free the ID to name buffers */
-    H5G_free_ent_name(&grp_ent);
-    H5G_free_ent_name(&obj_ent);
+    H5G_name_free(&grp_ent);
+    H5G_name_free(&obj_ent);
 
     /* Free the normalized path name */
     if(norm_name)
         H5MM_xfree(norm_name);
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_unlink() */
 
 
 /*-------------------------------------------------------------------------
@@ -3158,14 +2613,6 @@
  * Programmer:	Robb Matzke
  *              Friday, September 25, 1998
  *
- * Modifications:
- *
- *	Raymond Lu
- *	Thursday, April 18, 2002
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -3173,73 +2620,71 @@
 		const char *dst_name, hid_t dxpl_id)
 {
     H5G_stat_t		sb;
-    char		*linkval=NULL;
-    size_t		lv_size=32;
-    H5G_entry_t         obj_ent;        /* Object entry for object being moved */
-    H5RS_str_t         *src_name_r;     /* Ref-counted version of src name */
-    H5RS_str_t         *dst_name_r;     /* Ref-counted version of dest name */
-    herr_t      ret_value=SUCCEED;      /* Return value */
+    char		*linkval = NULL;
+    size_t		lv_size = 32;
+    H5G_entry_t         obj_ent;                /* Object entry for object being moved */
+    H5RS_str_t         *dst_name_r = NULL;      /* Ref-counted version of dest name */
+    herr_t              ret_value = SUCCEED;      /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_move);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_move)
 
     /* Sanity check */
-    assert(src_loc);
-    assert(dst_loc);
-    assert(src_name && *src_name);
-    assert(dst_name && *dst_name);
+    HDassert(src_loc);
+    HDassert(dst_loc);
+    HDassert(src_name && *src_name);
+    HDassert(dst_name && *dst_name);
 
-    if (H5G_get_objinfo(src_loc, src_name, FALSE, &sb, dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object not found");
-    if (H5G_LINK==sb.type) {
+    if(H5G_get_objinfo(src_loc, src_name, FALSE, &sb, dxpl_id) < 0)
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object not found")
+    if(H5G_LINK == sb.type) {
 	/*
 	 * When renaming a symbolic link we rename the link but don't change
 	 * the value of the link.
 	 */
 	do {
-	    if (NULL==(linkval=H5MM_realloc(linkval, 2*lv_size)))
-		HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate space for symbolic link value");
+	    if(NULL==(linkval=H5MM_realloc(linkval, 2*lv_size)))
+		HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate space for symbolic link value")
 	    linkval[lv_size-1] = '\0';
-	    if (H5G_linkval(src_loc, src_name, lv_size, linkval, dxpl_id)<0)
-		HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read symbolic link value");
+	    if(H5G_linkval(src_loc, src_name, lv_size, linkval, dxpl_id)<0)
+		HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read symbolic link value")
 	} while (linkval[lv_size-1]);
 	if (H5G_link(src_loc, linkval, dst_loc, dst_name, H5G_LINK_SOFT,
 		     H5G_TARGET_NORMAL, dxpl_id)<0)
-	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to rename symbolic link");
+	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to rename symbolic link")
 	H5MM_xfree(linkval);
 
     } else {
 	/*
 	 * Rename the object.
 	 */
-	if (H5G_link(src_loc, src_name, dst_loc, dst_name, H5G_LINK_HARD,
-		     H5G_TARGET_MOUNT, dxpl_id)<0)
-	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to register new name for object");
-    }
+	if(H5G_link(src_loc, src_name, dst_loc, dst_name, H5G_LINK_HARD, H5G_TARGET_MOUNT, dxpl_id) < 0)
+	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to register new name for object")
+    } /* end else */
 
     /* Search the open ID list and replace names for the move operation
      * This has to be done here because H5G_link and H5G_unlink have
      * internal object entries, and do not modify the entries list
     */
-    if (H5G_namei(src_loc, src_name, NULL, NULL, &obj_ent, H5G_TARGET_NORMAL|H5G_TARGET_SLINK, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id))
-	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to follow symbolic link");
-    src_name_r=H5RS_wrap(src_name);
-    assert(src_name_r);
-    dst_name_r=H5RS_wrap(dst_name);
-    assert(dst_name_r);
-    if (H5G_replace_name(sb.type, &obj_ent, src_name_r, src_loc, dst_name_r, dst_loc, OP_MOVE )<0)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to replace name ");
-    H5RS_decr(src_name_r);
-    H5RS_decr(dst_name_r);
-    H5G_free_ent_name(&obj_ent);
+    if(H5G_namei(src_loc, src_name, NULL, NULL, &obj_ent, H5G_TARGET_NORMAL|H5G_TARGET_SLINK, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id))
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to follow symbolic link")
+    dst_name_r = H5RS_wrap(dst_name);
+    HDassert(dst_name_r);
+    if(H5G_name_replace(sb.type, &obj_ent, dst_name_r, dst_loc, H5G_NAME_MOVE) < 0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to replace name ")
+    H5G_name_free(&obj_ent);
 
     /* Remove the old name */
-    if (H5G_unlink(src_loc, src_name, dxpl_id)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to deregister old object name");
+    if(H5G_unlink(src_loc, src_name, dxpl_id) < 0)
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to unlink old object name")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    /* Cleanup */
+    if(dst_name_r)
+        H5RS_decr(dst_name_r);
 
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_move() */
+
 
 /*-------------------------------------------------------------------------
  * Function:	H5G_insertion_file
@@ -3255,11 +2700,6 @@
  * Programmer:	Robb Matzke
  *              Wednesday, October 14, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 H5F_t *
@@ -3267,10 +2707,10 @@
 {
     H5F_t      *ret_value;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_insertion_file, NULL);
+    FUNC_ENTER_NOAPI(H5G_insertion_file, NULL)
 
-    assert(loc);
-    assert(name && *name);
+    HDassert(loc);
+    HDassert(name && *name);
 
     /* Check if the location the object will be inserted into is part of a
      * file mounting chain (either a parent or a child) and perform a more
@@ -3287,7 +2727,7 @@
          * doesn't already exist.
          */
         if (H5G_namei(loc, name, &rest, &grp_ent, NULL, H5G_TARGET_NORMAL, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id)>=0) {
-            H5G_free_ent_name(&grp_ent);
+            H5G_name_free(&grp_ent);
             HGOTO_ERROR(H5E_SYM, H5E_EXISTS, NULL, "name already exists");
         } /* end if */
         H5E_clear();
@@ -3297,7 +2737,7 @@
         assert(*rest && size>0);
         rest = H5G_component(rest+size, NULL);
         if (*rest) {
-            H5G_free_ent_name(&grp_ent);
+            H5G_name_free(&grp_ent);
             HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, NULL, "insertion point not found");
         } /* end if */
 
@@ -3305,15 +2745,15 @@
         ret_value=grp_ent.file;
 
         /* Free the ID to name buffer */
-        H5G_free_ent_name(&grp_ent);
+        H5G_name_free(&grp_ent);
     } /* end if */
     else
         /* Use the location's file */
-        ret_value=loc->file;
+        ret_value = loc->file;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_insertion_file() */
 
 
 /*-------------------------------------------------------------------------
@@ -3329,633 +2769,33 @@
  *
  * Comments: Used now only on the root group close, in H5F_close()
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5G_free_grp_name(H5G_t *grp)
 {
     H5G_entry_t *ent;           /* Group object's entry */
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED;   /* Return value */
 
-    FUNC_ENTER_NOAPI(H5G_free_grp_name, FAIL);
+    FUNC_ENTER_NOAPI(H5G_free_grp_name, FAIL)
 
     /* Check args */
-    assert(grp && grp->shared);
-    assert(grp->shared->fo_count > 0);
+    HDassert(grp && grp->shared);
+    HDassert(grp->shared->fo_count > 0);
 
     /* Get the entry for the group */
     if (NULL==( ent = H5G_entof(grp)))
         HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "cannot get entry");
 
     /* Free the entry */
-    H5G_free_ent_name(ent);
+    H5G_name_free(ent);
 
 done:
-     FUNC_LEAVE_NOAPI(ret_value);
-}
+     FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_free_grp_name() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5G_free_ent_name
- *
- * Purpose:	Free the 'ID to name' buffers.
- *
- * Return:	Success
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: August 22, 2002
- *
- * Comments:
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5G_free_ent_name(H5G_entry_t *ent)
-{
-    herr_t      ret_value=SUCCEED;       /* Return value */
-
-    FUNC_ENTER_NOAPI(H5G_free_ent_name, FAIL);
-
-    /* Check args */
-    assert(ent);
-
-    if(ent->user_path_r) {
-        H5RS_decr(ent->user_path_r);
-        ent->user_path_r=NULL;
-    } /* end if */
-    if(ent->canon_path_r) {
-        H5RS_decr(ent->canon_path_r);
-        ent->canon_path_r=NULL;
-    } /* end if */
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5G_replace_name
- *
- * Purpose: Search the list of open IDs and replace names according to a
- *              particular operation.  The operation occured on the LOC
- *              entry, which had SRC_NAME previously.  The new name (if there
- *              is one) is DST_NAME.  Additional entry location information
- *              (currently only needed for the 'move' operation) is passed
- *              in SRC_LOC and DST_LOC.
- *
- * Return: Success: 0, Failure: -1
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: June 11, 2002
- *
- * Comments:
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5G_replace_name(int type, H5G_entry_t *loc,
-    H5RS_str_t *src_name, H5G_entry_t *src_loc,
-    H5RS_str_t *dst_name, H5G_entry_t *dst_loc, H5G_names_op_t op )
-{
-    H5G_names_t names;          /* Structure to hold operation information for callback */
-    unsigned search_group=0;    /* Flag to indicate that groups are to be searched */
-    unsigned search_dataset=0;  /* Flag to indicate that datasets are to be searched */
-    unsigned search_datatype=0; /* Flag to indicate that datatypes are to be searched */
-    herr_t  ret_value = SUCCEED;
-
-    FUNC_ENTER_NOAPI(H5G_replace_name, FAIL);
-
-    /* Set up common information for callback */
-    names.src_name=src_name;
-    names.dst_name=dst_name;
-    names.loc=loc;
-    names.src_loc=src_loc;
-    names.dst_loc=dst_loc;
-    names.op=op;
-
-    /* Determine which types of IDs need to be operated on */
-    switch(type) {
-        /* Object is a group  */
-        case H5G_GROUP:
-            /* Search and replace names through group IDs */
-            search_group=1;
-            break;
-
-        /* Object is a dataset */
-        case H5G_DATASET:
-            /* Search and replace names through dataset IDs */
-            search_dataset=1;
-            break;
-
-        /* Object is a named datatype */
-        case H5G_TYPE:
-            /* Search and replace names through datatype IDs */
-            search_datatype=1;
-            break;
-
-        case H5G_UNKNOWN:   /* We pass H5G_UNKNOWN as object type when we need to search all IDs */
-        case H5G_LINK:      /* Symbolic links might resolve to any object, so we need to search all IDs */
-            /* Check if we will need to search groups */
-            if(H5I_nmembers(H5I_GROUP)>0)
-                search_group=1;
-
-            /* Check if we will need to search datasets */
-            if(H5I_nmembers(H5I_DATASET)>0)
-                search_dataset=1;
-
-            /* Check if we will need to search datatypes */
-            if(H5I_nmembers(H5I_DATATYPE)>0)
-                search_datatype=1;
-            break;
-
-        default:
-            HGOTO_ERROR (H5E_DATATYPE, H5E_BADTYPE, FAIL, "not valid object type");
-    } /* end switch */
-
-    /* Search through group IDs */
-    if(search_group)
-        H5I_search(H5I_GROUP, H5G_replace_ent, &names);
-
-    /* Search through dataset IDs */
-    if(search_dataset)
-        H5I_search(H5I_DATASET, H5G_replace_ent, &names);
-
-    /* Search through datatype IDs */
-    if(search_datatype)
-        H5I_search(H5I_DATATYPE, H5G_replace_ent, &names);
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5G_common_path
- *
- * Purpose: Determine if one path is a valid prefix of another path
- *
- * Return: TRUE for valid prefix, FALSE for not a valid prefix, FAIL
- *              on error
- *
- * Programmer: Quincey Koziol, koziol at ncsa.uiuc.edu
- *
- * Date: September 24, 2002
- *
- * Comments:
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static htri_t
-H5G_common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r)
-{
-    const char *fullpath;       /* Pointer to actual fullpath string */
-    const char *prefix;         /* Pointer to actual prefix string */
-    size_t  nchars1,nchars2;    /* Number of characters in components */
-    htri_t ret_value=FALSE;     /* Return value */
-
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_common_path);
-
-    /* Get component of each name */
-    fullpath=H5RS_get_str(fullpath_r);
-    assert(fullpath);
-    fullpath=H5G_component(fullpath,&nchars1);
-    assert(fullpath);
-    prefix=H5RS_get_str(prefix_r);
-    assert(prefix);
-    prefix=H5G_component(prefix,&nchars2);
-    assert(prefix);
-
-    /* Check if we have a real string for each component */
-    while(*fullpath && *prefix) {
-        /* Check that the components we found are the same length */
-        if(nchars1==nchars2) {
-            /* Check that the two components are equal */
-            if(HDstrncmp(fullpath,prefix,nchars1)==0) {
-                /* Advance the pointers in the names */
-                fullpath+=nchars1;
-                prefix+=nchars2;
-
-                /* Get next component of each name */
-                fullpath=H5G_component(fullpath,&nchars1);
-                assert(fullpath);
-                prefix=H5G_component(prefix,&nchars2);
-                assert(prefix);
-            } /* end if */
-            else
-                HGOTO_DONE(FALSE);
-        } /* end if */
-        else
-            HGOTO_DONE(FALSE);
-    } /* end while */
-
-    /* If we reached the end of the prefix path to check, it must be a valid prefix */
-    if(*prefix=='\0')
-        ret_value=TRUE;
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5G_build_fullpath
- *
- * Purpose: Build a full path from a prefix & base pair of reference counted
- *              strings
- *
- * Return: Pointer to reference counted string on success, NULL on error
- *
- * Programmer: Quincey Koziol, koziol at ncsa.uiuc.edu
- *
- * Date: August 19, 2005
- *
- * Comments:
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static H5RS_str_t *
-H5G_build_fullpath(const H5RS_str_t *prefix_r, const H5RS_str_t *name_r)
-{
-    const char *prefix;         /* Pointer to raw string of prefix */
-    const char *name;           /* Pointer to raw string of name */
-    char *full_path;            /* Full user path built */
-    size_t path_len;            /* Length of the path */
-    unsigned need_sep;          /* Flag to indicate if separator is needed */
-    H5RS_str_t *ret_value;      /* Return value */
-
-    FUNC_ENTER_NOAPI_NOINIT(H5G_build_fullpath)
-
-    /* Get the pointer to the prefix */
-    prefix=H5RS_get_str(prefix_r);
-
-    /* Get the length of the prefix */
-    path_len=HDstrlen(prefix);
-
-    /* Determine if there is a trailing separator in the name */
-    if(prefix[path_len-1]=='/')
-        need_sep=0;
-    else
-        need_sep=1;
-
-    /* Get the pointer to the raw src user path */
-    name=H5RS_get_str(name_r);
-
-    /* Add in the length needed for the '/' separator and the relative path */
-    path_len+=HDstrlen(name)+need_sep;
-
-    /* Allocate space for the path */
-    if(NULL==(full_path = H5FL_BLK_MALLOC(str_buf,path_len+1)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
-
-    /* Build full path */
-    HDstrcpy(full_path,prefix);
-    if(need_sep)
-        HDstrcat(full_path,"/");
-    HDstrcat(full_path,name);
-
-    /* Create reference counted string for path */
-    ret_value=H5RS_own(full_path);
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5G_build_fullpath() */
-
-
-/*-------------------------------------------------------------------------
- * Function: H5G_replace_ent
- *
- * Purpose: H5I_search callback function to replace group entry names
- *
- * Return: Success: 0, Failure: -1
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: June 5, 2002
- *
- * Comments:
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static int
-H5G_replace_ent(void *obj_ptr, hid_t obj_id, void *key)
-{
-    const H5G_names_t *names = (const H5G_names_t *)key;        /* Get operation's information */
-    H5G_entry_t *ent = NULL;    /* Group entry for object that the ID refers to */
-    H5F_t *top_ent_file;        /* Top file in entry's mounted file chain */
-    H5F_t *top_loc_file;        /* Top file in location's mounted file chain */
-    herr_t      ret_value = SUCCEED;       /* Return value */
-
-    FUNC_ENTER_NOAPI_NOINIT(H5G_replace_ent);
-
-    assert(obj_ptr);
-
-    /* Get the symbol table entry */
-    switch(H5I_get_type(obj_id)) {
-        case H5I_GROUP:
-            ent = H5G_entof((H5G_t*)obj_ptr);
-            break;
-
-        case H5I_DATASET:
-            ent = H5D_entof((H5D_t*)obj_ptr);
-            break;
-
-        case H5I_DATATYPE:
-            /* Avoid non-named datatypes */
-            if(!H5T_is_named((H5T_t*)obj_ptr))
-                HGOTO_DONE(SUCCEED); /* Do not exit search over IDs */
-
-            ent = H5T_entof((H5T_t*)obj_ptr);
-            break;
-
-        default:
-            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unknown data object");
-    } /* end switch */
-    assert(ent);
-
-    switch(names->op) {
-        /*-------------------------------------------------------------------------
-        * OP_MOUNT
-        *-------------------------------------------------------------------------
-        */
-        case OP_MOUNT:
-	    if(ent->user_path_r) {
-		if(ent->file->mtab.parent && H5RS_cmp(ent->user_path_r,ent->canon_path_r)) {
-		    /* Find the "top" file in the chain of mounted files */
-		    top_ent_file=ent->file->mtab.parent;
-		    while(top_ent_file->mtab.parent!=NULL)
-			top_ent_file=top_ent_file->mtab.parent;
-		} /* end if */
-		else
-		    top_ent_file=ent->file;
-
-		/* Check for entry being in correct file (or mounted file) */
-		if(top_ent_file->shared == names->loc->file->shared) {
-		    /* Check if the source is along the entry's path */
-		    /* (But not actually the entry itself) */
-		    if(H5G_common_path(ent->user_path_r,names->src_name) &&
-			    H5RS_cmp(ent->user_path_r,names->src_name)!=0) {
-			/* Hide the user path */
-			ent->user_path_hidden++;
-		    } /* end if */
-		} /* end if */
-	    } /* end if */
-            break;
-
-        /*-------------------------------------------------------------------------
-        * OP_UNMOUNT
-        *-------------------------------------------------------------------------
-        */
-        case OP_UNMOUNT:
-	    if(ent->user_path_r) {
-		if(ent->file->mtab.parent) {
-		    /* Find the "top" file in the chain of mounted files for the entry */
-		    top_ent_file=ent->file->mtab.parent;
-		    while(top_ent_file->mtab.parent!=NULL)
-			top_ent_file=top_ent_file->mtab.parent;
-		} /* end if */
-		else
-		    top_ent_file=ent->file;
-
-		if(names->loc->file->mtab.parent) {
-		    /* Find the "top" file in the chain of mounted files for the location */
-		    top_loc_file=names->loc->file->mtab.parent;
-		    while(top_loc_file->mtab.parent!=NULL)
-			top_loc_file=top_loc_file->mtab.parent;
-		} /* end if */
-		else
-		    top_loc_file=names->loc->file;
-
-		/* If the ID's entry is not in the file we operated on, skip it */
-		if(top_ent_file->shared == top_loc_file->shared) {
-		    if(ent->user_path_hidden) {
-			if(H5G_common_path(ent->user_path_r,names->src_name)) {
-			    /* Un-hide the user path */
-			    ent->user_path_hidden--;
-			} /* end if */
-		    } /* end if */
-		    else {
-			if(H5G_common_path(ent->user_path_r,names->src_name)) {
-			    /* Free user path */
-			    H5RS_decr(ent->user_path_r);
-			    ent->user_path_r=NULL;
-			} /* end if */
-		    } /* end else */
-		} /* end if */
-	    } /* end if */
-            break;
-
-        /*-------------------------------------------------------------------------
-        * OP_UNLINK
-        *-------------------------------------------------------------------------
-        */
-        case OP_UNLINK:
-            /* If the ID's entry is not in the file we operated on, skip it */
-            if(ent->file->shared == names->loc->file->shared && 
-                    names->loc->canon_path_r && ent->canon_path_r && ent->user_path_r) {
-                /* Check if we are referring to the same object */
-                if(H5F_addr_eq(ent->header, names->loc->header)) {
-                    /* Check if the object was opened with the same canonical path as the one being moved */
-                    if(H5RS_cmp(ent->canon_path_r,names->loc->canon_path_r)==0) {
-                        /* Free user path */
-			H5RS_decr(ent->user_path_r);
-			ent->user_path_r=NULL;
-                    } /* end if */
-                } /* end if */
-                else {
-                    /* Check if the location being unlinked is in the canonical path for the current object */
-                    if(H5G_common_path(ent->canon_path_r,names->loc->canon_path_r)) {
-                        /* Free user path */
-			H5RS_decr(ent->user_path_r);
-			ent->user_path_r=NULL;
-                    } /* end if */
-                } /* end else */
-            } /* end if */
-            break;
-
-        /*-------------------------------------------------------------------------
-        * OP_MOVE
-        *-------------------------------------------------------------------------
-        */
-        case OP_MOVE: /* H5Gmove case, check for relative names case */
-            /* If the ID's entry is not in the file we operated on, skip it */
-            if(ent->file->shared == names->loc->file->shared) {
-		if(ent->user_path_r && names->loc->user_path_r &&
-			names->src_loc->user_path_r && names->dst_loc->user_path_r) {
-		    H5RS_str_t *src_path_r; /* Full user path of source name */
-		    H5RS_str_t *dst_path_r; /* Full user path of destination name */
-		    H5RS_str_t *canon_src_path_r;   /* Copy of canonical part of source path */
-		    H5RS_str_t *canon_dst_path_r;   /* Copy of canonical part of destination path */
-
-		    /* Sanity check */
-		    HDassert(names->src_name);
-		    HDassert(names->dst_name);
-
-		    /* Make certain that the source and destination names are full (not relative) paths */
-		    if(*(H5RS_get_str(names->src_name))!='/') {
-			/* Create reference counted string for full src path */
-			if((src_path_r = H5G_build_fullpath(names->src_loc->user_path_r, names->src_name)) == NULL)
-			    HGOTO_ERROR (H5E_SYM, H5E_PATH, FAIL, "can't build source path name")
-		    } /* end if */
-		    else
-                        src_path_r=H5RS_dup(names->src_name);
-		    if(*(H5RS_get_str(names->dst_name))!='/') {
-			/* Create reference counted string for full dst path */
-			if((dst_path_r = H5G_build_fullpath(names->dst_loc->user_path_r, names->dst_name)) == NULL)
-			    HGOTO_ERROR (H5E_SYM, H5E_PATH, FAIL, "can't build destination path name")
-		    } /* end if */
-		    else
-                        dst_path_r=H5RS_dup(names->dst_name);
-
-		    /* Get the canonical parts of the source and destination names */
-
-		    /* Check if the object being moved was accessed through a mounted file */
-		    if(H5RS_cmp(names->loc->user_path_r,names->loc->canon_path_r)!=0) {
-			size_t non_canon_name_len;   /* Length of non-canonical part of name */
-
-			/* Get current string lengths */
-			non_canon_name_len=H5RS_len(names->loc->user_path_r)-H5RS_len(names->loc->canon_path_r);
-
-			canon_src_path_r=H5RS_create(H5RS_get_str(src_path_r)+non_canon_name_len);
-			canon_dst_path_r=H5RS_create(H5RS_get_str(dst_path_r)+non_canon_name_len);
-		    } /* end if */
-		    else {
-			canon_src_path_r=H5RS_dup(src_path_r);
-			canon_dst_path_r=H5RS_dup(dst_path_r);
-		    } /* end else */
-
-		    /* Check if the link being changed in the file is along the canonical path for this object */
-		    if(H5G_common_path(ent->canon_path_r,canon_src_path_r)) {
-			size_t user_dst_len;    /* Length of destination user path */
-			size_t canon_dst_len;   /* Length of destination canonical path */
-			const char *old_user_path;    /* Pointer to previous user path */
-			char *new_user_path;    /* Pointer to new user path */
-			char *new_canon_path;   /* Pointer to new canonical path */
-			const char *tail_path;  /* Pointer to "tail" of path */
-			size_t tail_len;    /* Pointer to "tail" of path */
-			char *src_canon_prefix;     /* Pointer to source canonical path prefix of component which is moving */
-			size_t src_canon_prefix_len;/* Length of the source canonical path prefix */
-			char *dst_canon_prefix;     /* Pointer to destination canonical path prefix of component which is moving */
-			size_t dst_canon_prefix_len;/* Length of the destination canonical path prefix */
-			char *user_prefix;      /* Pointer to user path prefix of component which is moving */
-			size_t user_prefix_len; /* Length of the user path prefix */
-			char *src_comp;     /* The source name of the component which is actually changing */
-			char *dst_comp;     /* The destination name of the component which is actually changing */
-			const char *canon_src_path;   /* pointer to canonical part of source path */
-			const char *canon_dst_path;   /* pointer to canonical part of destination path */
-
-			/* Get the pointers to the raw strings */
-			canon_src_path=H5RS_get_str(canon_src_path_r);
-			canon_dst_path=H5RS_get_str(canon_dst_path_r);
-
-			/* Get the source & destination components */
-			src_comp=HDstrrchr(canon_src_path,'/');
-			assert(src_comp);
-			dst_comp=HDstrrchr(canon_dst_path,'/');
-			assert(dst_comp);
-
-			/* Find the canonical prefixes for the entry */
-			src_canon_prefix_len=HDstrlen(canon_src_path)-HDstrlen(src_comp);
-			if(NULL==(src_canon_prefix = H5MM_malloc(src_canon_prefix_len+1)))
-			    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-			HDstrncpy(src_canon_prefix,canon_src_path,src_canon_prefix_len);
-			src_canon_prefix[src_canon_prefix_len]='\0';
-
-			dst_canon_prefix_len=HDstrlen(canon_dst_path)-HDstrlen(dst_comp);
-			if(NULL==(dst_canon_prefix = H5MM_malloc(dst_canon_prefix_len+1)))
-			    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-			HDstrncpy(dst_canon_prefix,canon_dst_path,dst_canon_prefix_len);
-			dst_canon_prefix[dst_canon_prefix_len]='\0';
-
-			/* Hold this for later use */
-			old_user_path=H5RS_get_str(ent->user_path_r);
-
-			/* Find the user prefix for the entry */
-			user_prefix_len=HDstrlen(old_user_path)-H5RS_len(ent->canon_path_r);
-			if(NULL==(user_prefix = H5MM_malloc(user_prefix_len+1)))
-			    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-			HDstrncpy(user_prefix,old_user_path,user_prefix_len);
-			user_prefix[user_prefix_len]='\0';
-
-			/* Set the tail path info */
-			tail_path=old_user_path+user_prefix_len+src_canon_prefix_len+HDstrlen(src_comp);
-			tail_len=HDstrlen(tail_path);
-
-			/* Get the length of the destination paths */
-			user_dst_len=user_prefix_len+dst_canon_prefix_len+HDstrlen(dst_comp)+tail_len;
-			canon_dst_len=dst_canon_prefix_len+HDstrlen(dst_comp)+tail_len;
-
-			/* Allocate space for the new user path */
-			if(NULL==(new_user_path = H5FL_BLK_MALLOC(str_buf,user_dst_len+1)))
-			    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-
-			/* Allocate space for the new canonical path */
-			if(NULL==(new_canon_path = H5FL_BLK_MALLOC(str_buf,canon_dst_len+1)))
-			    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-
-			/* Create the new names */
-			HDstrcpy(new_user_path,user_prefix);
-			HDstrcat(new_user_path,dst_canon_prefix);
-			HDstrcat(new_user_path,dst_comp);
-			HDstrcat(new_user_path,tail_path);
-			HDstrcpy(new_canon_path,dst_canon_prefix);
-			HDstrcat(new_canon_path,dst_comp);
-			HDstrcat(new_canon_path,tail_path);
-
-			/* Release the old user & canonical paths */
-			H5RS_decr(ent->user_path_r);
-			H5RS_decr(ent->canon_path_r);
-
-			/* Take ownership of the new user & canonical paths */
-			ent->user_path_r=H5RS_own(new_user_path);
-			ent->canon_path_r=H5RS_own(new_canon_path);
-
-			/* Free the extra paths allocated */
-			H5MM_xfree(src_canon_prefix);
-			H5MM_xfree(dst_canon_prefix);
-			H5MM_xfree(user_prefix);
-		    } /* end if */
-
-
-		    /* Free the extra paths allocated */
-		    H5RS_decr(src_path_r);
-		    H5RS_decr(dst_path_r);
-		    H5RS_decr(canon_src_path_r);
-		    H5RS_decr(canon_dst_path_r);
-		} /* end if */
-		else {
-		    /* Release the old user path */
-		    if(ent->user_path_r) {
-			H5RS_decr(ent->user_path_r);
-			ent->user_path_r = NULL;
-		    } /* end if */
-		} /* end else */
-            } /* end if */
-            break;
-
-        default:
-            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid call");
-    } /* end switch */
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
  * Function:	H5G_get_shared_count
  *
  * Purpose:	Queries the group object's "shared count"
@@ -3965,8 +2805,6 @@
  * Programmer:	Quincey Koziol
  *		Tuesday, July	 5, 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3991,8 +2829,6 @@
  * Programmer:	Quincey Koziol
  *		Tuesday, July 19, 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -4021,8 +2857,6 @@
  * Programmer:	Quincey Koziol
  *		Tuesday, July 19, 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t

Modified: packages/hdf5/trunk/src/H5Gent.c
===================================================================
--- packages/hdf5/trunk/src/H5Gent.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Gent.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -188,9 +189,9 @@
     FUNC_ENTER_NOAPI_NOFUNC(H5G_ent_decode);
 
     /* check arguments */
-    assert(f);
-    assert(pp);
-    assert(ent);
+    HDassert(f);
+    HDassert(pp);
+    HDassert(ent);
 
     ent->file = f;
 
@@ -217,13 +218,14 @@
             break;
 
         default:
-            HDabort();
+            /* Error or unknown type. Bail out. */
+            return -1;
     }
 
     *pp = p_ret + H5G_SIZEOF_ENTRY(f);
 
-    FUNC_LEAVE_NOAPI(SUCCEED);
-}
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5G_ent_decode() */
 
 
 /*-------------------------------------------------------------------------
@@ -330,7 +332,8 @@
                 break;
 
             default:
-                HDabort();
+                /* Error or unknown type. Bail out. */
+                return -1;
         }
     } else {
         H5F_ENCODE_LENGTH(f, *pp, 0);
@@ -348,104 +351,92 @@
 
 
 /*-------------------------------------------------------------------------
- * Function: H5G_ent_copy
+ * Function:    H5G_ent_copy
  *
- * Purpose: Do a deep copy of symbol table entries
+ * Purpose:     Do a deep copy of symbol table entries
  *
- * Return: Success: 0, Failure: -1
+ * Return:	Success:	Non-negative
+ *		Failure:	Negative
  *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ * Programmer:	Pedro Vicente
+ *              pvn at ncsa.uiuc.edu
+ *              ???day, August ??, 2002
  *
- * Date: August 2002
- *
- * Comments:
- *
- * Modifications:
- *      Quincey Koziol, Sept. 25, 2002:
- *          - Changed source & destination parameters to match the rest
- *              of the functions in the library.
- *          - Added 'depth' parameter to determine how much of the group
- *              entry structure we want to copy.  The new depths are:
- *                  H5G_COPY_NULL - Copy all the fields from the
+ * Notes:       'depth' parameter determines how much of the group entry
+ *              structure we want to copy.  The values are:
+ *                  H5_COPY_NULL - Copy all the fields from the
  *                      source to the destination, but set the destination's
- *                      user path and canonical path to NULL.
- *                  H5G_COPY_LIMITED - Copy all the fields from the
- *                      source to the destination, except for the user path
- *                      field, keeping it the same as its
+ *                      paths to NULL.
+ *                  H5_COPY_LIMITED - Copy all the fields from the
+ *                      source to the destination, except for the paths
+ *                      keeping them the same as their
  *                      previous value in the destination.
- *                  H5G_COPY_SHALLOW - Copy all the fields from the source
- *                      to the destination, including the user path and
- *                      canonical path. (Destination "takes ownership" of
- *                      user and canonical paths)
- *                  H5G_COPY_DEEP - Copy all the fields from the source to
- *                      the destination, deep copying the user and canonical
- *                      paths.
+ *                  H5_COPY_SHALLOW - Copy all the fields from the source
+ *                      to the destination, including the paths.
+ *                      (Destination "takes ownership" of paths)
+ *                  H5_COPY_DEEP - Copy all the fields from the source to
+ *                      the destination, deep copying the paths.
  *
  *-------------------------------------------------------------------------
  */
 herr_t
-H5G_ent_copy(H5G_entry_t *dst, const H5G_entry_t *src, H5G_ent_copy_depth_t depth)
+H5G_ent_copy(H5G_entry_t *dst, const H5G_entry_t *src, H5_copy_depth_t depth)
 {
-    H5RS_str_t *tmp_user_path_r=NULL;   /* Temporary string pointer for entry's user path */
+    H5RS_str_t *old_full_path_r = NULL;   /* String pointer for dst entry's full path */
+    H5RS_str_t *old_user_path_r = NULL;   /* String pointer for dst entry's user path */
 
-    FUNC_ENTER_NOAPI_NOFUNC(H5G_ent_copy);
+    FUNC_ENTER_NOAPI_NOFUNC(H5G_ent_copy)
 
     /* Check arguments */
-    assert(src);
-    assert(dst);
+    HDassert(src);
+    HDassert(dst);
+    HDassert(depth >= H5_COPY_NULL || depth <= H5_COPY_DEEP);
 
-    /* If the depth is "very shallow", keep the old entry's user path */
-    if(depth==H5G_COPY_LIMITED) {
-        tmp_user_path_r=dst->user_path_r;
-        if(dst->canon_path_r)
-            H5RS_decr(dst->canon_path_r);
+    /* If the depth is "limited", keep the old entry's paths */
+    if(depth == H5_COPY_LIMITED) {
+        old_full_path_r = dst->full_path_r;
+        old_user_path_r = dst->user_path_r;
     } /* end if */
 
     /* Copy the top level information */
-    HDmemcpy(dst,src,sizeof(H5G_entry_t));
+    HDmemcpy(dst, src, sizeof(H5G_entry_t));
 
     /* Deep copy the names */
-    if(depth==H5G_COPY_DEEP) {
-        dst->user_path_r=H5RS_dup(src->user_path_r);
-        dst->canon_path_r=H5RS_dup(src->canon_path_r);
-    } else if(depth==H5G_COPY_LIMITED) {
-        dst->user_path_r=tmp_user_path_r;
-        dst->canon_path_r=H5RS_dup(src->canon_path_r);
-    } else if(depth==H5G_COPY_NULL) {
-        dst->user_path_r=NULL;
-        dst->canon_path_r=NULL;
-    } else if(depth==H5G_COPY_SHALLOW) {
-#ifndef NDEBUG
+    if(depth == H5_COPY_DEEP) {
+        dst->full_path_r = H5RS_dup(src->full_path_r);
+        dst->user_path_r = H5RS_dup(src->user_path_r);
+    } else if(depth == H5_COPY_LIMITED) {
+        dst->full_path_r = old_full_path_r;
+        dst->user_path_r = old_user_path_r;
+    } else if(depth == H5_COPY_NULL) {
+        dst->full_path_r = NULL;
+        dst->user_path_r = NULL;
+    } else if(depth == H5_COPY_SHALLOW) {
         /* Discarding 'const' qualifier OK - QAK */
         H5G_ent_reset((H5G_entry_t *)src);
-#endif /* NDEBUG */
     } /* end if */
 
-    FUNC_LEAVE_NOAPI(SUCCEED);
-}
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5G_ent_copy() */
 
 
 /*-------------------------------------------------------------------------
- * Function: H5G_ent_reset
+ * Function:	H5G_ent_reset
  *
- * Purpose: Reset a symbol table entry to an empty state
+ * Purpose:	Reset a symbol table entry to an empty state
  *
- * Return: Success: 0, Failure: -1
+ * Return:	Success:	Non-negative
+ *		Failure:	Negative
  *
- * Programmer: Quincey Koziol, koziol at ncsa.uiuc.edu
+ * Programmer:	Quincey Koziol
+ *              ?day, August ??, 2005
  *
- * Date: August 2005
- *
- * Comments:
- *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5G_ent_reset(H5G_entry_t *ent)
 {
-    FUNC_ENTER_NOAPI_NOFUNC(H5G_ent_reset);
+    FUNC_ENTER_NOAPI_NOFUNC(H5G_ent_reset)
 
     /* Check arguments */
     HDassert(ent);
@@ -454,144 +445,21 @@
     HDmemset(ent, 0, sizeof(H5G_entry_t));
     ent->header = HADDR_UNDEF;
 
-    FUNC_LEAVE_NOAPI(SUCCEED);
+    FUNC_LEAVE_NOAPI(SUCCEED)
 } /* end H5G_ent_reset() */
 
 
 /*-------------------------------------------------------------------------
- * Function: H5G_ent_set_name
- *
- * Purpose: Set the name of a symbol entry OBJ, located at LOC
- *
- * Return: Success: 0, Failure: -1
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: August 22, 2002
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5G_ent_set_name(H5G_entry_t *loc, H5G_entry_t *obj, const char *name)
-{
-    size_t  name_len;           /* Length of name to append */
-    herr_t  ret_value = SUCCEED;
-
-    FUNC_ENTER_NOAPI(H5G_ent_set_name, FAIL)
-
-    assert(loc);
-    assert(obj);
-    assert(name);
-
-    /* Reset the object's previous names, if they exist */
-    if(obj->user_path_r) {
-        H5RS_decr(obj->user_path_r);
-        obj->user_path_r=NULL;
-    } /* end if */
-    if(obj->canon_path_r) {
-        H5RS_decr(obj->canon_path_r);
-        obj->canon_path_r=NULL;
-    } /* end if */
-    obj->user_path_hidden=0;
-
-    /* Get the length of the new name */
-    name_len = HDstrlen(name);
-
-    /* Modify the object's user path, if a user path exists in the location */
-    if(loc->user_path_r) {
-        const char *loc_user_path;      /* Pointer to raw string for user path */
-        size_t  user_path_len;      /* Length of location's user path name */
-        char *new_user_path;        /* Pointer to new user path */
-
-        /* Get the length of the strings involved */
-        user_path_len = H5RS_len(loc->user_path_r);
-
-        /* Modify the object's user path */
-
-        /* Get the raw string for the user path */
-        loc_user_path=H5RS_get_str(loc->user_path_r);
-        assert(loc_user_path);
-
-        /* The location's user path already ends in a '/' separator */
-        if ('/'==loc_user_path[user_path_len-1]) {
-            if (NULL==(new_user_path = H5FL_BLK_MALLOC(str_buf,user_path_len+name_len+1)))
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
-            HDstrcpy(new_user_path, loc_user_path);
-        } /* end if */
-        /* The location's user path needs a separator */
-        else {
-            if (NULL==(new_user_path = H5FL_BLK_MALLOC(str_buf,user_path_len+1+name_len+1)))
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
-            HDstrcpy(new_user_path, loc_user_path);
-            HDstrcat(new_user_path, "/");
-        } /* end else */
-
-        /* Append the component's name */
-        HDstrcat(new_user_path, name);
-
-        /* Give ownership of the user path to the entry */
-        obj->user_path_r=H5RS_own(new_user_path);
-        assert(obj->user_path_r);
-    } /* end if */
-
-    /* Modify the object's canonical path, if a canonical path exists in the location */
-    if(loc->canon_path_r) {
-        const char *loc_canon_path;     /* Pointer to raw string for canonical path */
-        size_t  canon_path_len;     /* Length of location's canonical path name */
-        char *new_canon_path;       /* Pointer to new canonical path */
-
-        /* Get the length of the strings involved */
-        canon_path_len = H5RS_len(loc->canon_path_r);
-
-        /* Modify the object's canonical path */
-
-        /* Get the raw string for the canonical path */
-        loc_canon_path=H5RS_get_str(loc->canon_path_r);
-        assert(loc_canon_path);
-
-        /* The location's canonical path already ends in a '/' separator */
-        if ('/'==loc_canon_path[canon_path_len-1]) {
-            if (NULL==(new_canon_path = H5FL_BLK_MALLOC(str_buf,canon_path_len+name_len+1)))
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
-            HDstrcpy(new_canon_path, loc_canon_path);
-        } /* end if */
-        /* The location's canonical path needs a separator */
-        else {
-            if (NULL==(new_canon_path = H5FL_BLK_MALLOC(str_buf,canon_path_len+1+name_len+1)))
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
-            HDstrcpy(new_canon_path, loc_canon_path);
-            HDstrcat(new_canon_path, "/");
-        } /* end else */
-
-        /* Append the component's name */
-        HDstrcat(new_canon_path, name);
-
-        /* Give ownership of the canonical path to the entry */
-        obj->canon_path_r=H5RS_own(new_canon_path);
-        assert(obj->canon_path_r);
-    } /* end if */
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5G_ent_set_name() */
-
-
-/*-------------------------------------------------------------------------
  * Function:    H5G_ent_debug
  *
  * Purpose:     Prints debugging information about a symbol table entry.
  *
- * Errors:
- *
  * Return:      Non-negative on success/Negative on failure
  *
  * Programmer:  Robb Matzke
  *              matzke at llnl.gov
  *              Aug 29 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The HEAP argument is passed by value.
  *-------------------------------------------------------------------------
  */
 herr_t

Copied: packages/hdf5/trunk/src/H5Gname.c (from rev 1094, packages/hdf5/branches/upstream/current/src/H5Gname.c)
===================================================================
--- packages/hdf5/trunk/src/H5Gname.c	                        (rev 0)
+++ packages/hdf5/trunk/src/H5Gname.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,893 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*-------------------------------------------------------------------------
+ *
+ * Created:		H5Gname.c
+ *			Dec 19 2005
+ *			Quincey Koziol <koziol at ncsa.uiuc.edu>
+ *
+ * Purpose:		Functions for handling group hierarchy paths.
+ *
+ *-------------------------------------------------------------------------
+ */
+#define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */
+#define H5G_PACKAGE		/*suppress error about including H5Gpkg	  */
+
+
+/* Packages needed by this file... */
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Dprivate.h"		/* Datasets				*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
+#include "H5Fpkg.h"		/* File access				*/
+#include "H5FLprivate.h"	/* Free Lists                           */
+#include "H5Gpkg.h"		/* Groups		  		*/
+#include "H5Iprivate.h"		/* IDs			  		*/
+
+/* Private typedefs */
+
+/* Struct used by change name callback function */
+typedef struct H5G_names_t {
+    H5G_names_op_t op;                  /* Operation performed on file */
+    H5G_entry_t	*loc;                   /* [src] Location affected */
+    H5F_t       *top_loc_file;          /* Top file in src location's mounted file hier. */
+    H5G_entry_t	*dst_loc;               /* Destination location */
+    H5RS_str_t  *dst_name;              /* Name of object relative to destination location */
+} H5G_names_t;
+
+
+/* Private macros */
+
+/* Local variables */
+
+/* Declare extern the PQ free list for the wrapped strings */
+H5FL_BLK_EXTERN(str_buf);
+
+/* PRIVATE PROTOTYPES */
+static htri_t H5G_common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r);
+static H5RS_str_t *H5G_build_fullpath(const char *prefix, const char *name);
+static H5RS_str_t *H5G_build_fullpath_refstr_refstr(const H5RS_str_t *prefix_r, const H5RS_str_t *name_r);
+static H5RS_str_t *H5G_build_fullpath_refstr_str(H5RS_str_t *path_r, const char *name);
+static herr_t H5G_name_move_path(H5RS_str_t **path_r_ptr,
+    const char *full_suffix, const char *src_path, const char *dst_path);
+static int H5G_name_replace_cb(void *obj_ptr, hid_t obj_id, void *key);
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5G_common_path
+ *
+ * Purpose: Determine if one path is a valid prefix of another path
+ *
+ * Return: TRUE for valid prefix, FALSE for not a valid prefix, FAIL
+ *              on error
+ *
+ * Programmer: Quincey Koziol, koziol at ncsa.uiuc.edu
+ *
+ * Date: September 24, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
+static htri_t
+H5G_common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r)
+{
+    const char *fullpath;       /* Pointer to actual fullpath string */
+    const char *prefix;         /* Pointer to actual prefix string */
+    size_t  nchars1,nchars2;    /* Number of characters in components */
+    htri_t ret_value=FALSE;     /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_common_path)
+
+    /* Get component of each name */
+    fullpath=H5RS_get_str(fullpath_r);
+    assert(fullpath);
+    fullpath=H5G_component(fullpath,&nchars1);
+    assert(fullpath);
+    prefix=H5RS_get_str(prefix_r);
+    assert(prefix);
+    prefix=H5G_component(prefix,&nchars2);
+    assert(prefix);
+
+    /* Check if we have a real string for each component */
+    while(*fullpath && *prefix) {
+        /* Check that the components we found are the same length */
+        if(nchars1==nchars2) {
+            /* Check that the two components are equal */
+            if(HDstrncmp(fullpath,prefix,nchars1)==0) {
+                /* Advance the pointers in the names */
+                fullpath+=nchars1;
+                prefix+=nchars2;
+
+                /* Get next component of each name */
+                fullpath=H5G_component(fullpath,&nchars1);
+                assert(fullpath);
+                prefix=H5G_component(prefix,&nchars2);
+                assert(prefix);
+            } /* end if */
+            else
+                HGOTO_DONE(FALSE)
+        } /* end if */
+        else
+            HGOTO_DONE(FALSE)
+    } /* end while */
+
+    /* If we reached the end of the prefix path to check, it must be a valid prefix */
+    if(*prefix=='\0')
+        ret_value=TRUE;
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_common_path() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5G_build_fullpath
+ *
+ * Purpose: Build a full path from a prefix & base pair of strings
+ *
+ * Return: Pointer to reference counted string on success, NULL on error
+ *
+ * Programmer: Quincey Koziol, koziol at ncsa.uiuc.edu
+ *
+ * Date: August 19, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static H5RS_str_t *
+H5G_build_fullpath(const char *prefix, const char *name)
+{
+    char *full_path;            /* Full user path built */
+    size_t path_len;            /* Length of the path */
+    unsigned need_sep;          /* Flag to indicate if separator is needed */
+    H5RS_str_t *ret_value;      /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5G_build_fullpath)
+
+    /* Sanity check */
+    HDassert(prefix);
+    HDassert(name);
+
+    /* Get the length of the prefix */
+    path_len = HDstrlen(prefix);
+
+    /* Determine if there is a trailing separator in the name */
+    if(prefix[path_len - 1] == '/')
+        need_sep = 0;
+    else
+        need_sep = 1;
+
+    /* Add in the length needed for the '/' separator and the relative path */
+    path_len += HDstrlen(name) + need_sep;
+
+    /* Allocate space for the path */
+    if(NULL == (full_path = (char *)H5FL_BLK_MALLOC(str_buf, path_len + 1)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+
+    /* Build full path */
+    HDstrcpy(full_path, prefix);
+    if(need_sep)
+        HDstrcat(full_path, "/");
+    HDstrcat(full_path, name);
+
+    /* Create reference counted string for path */
+    if((ret_value = H5RS_own(full_path)) == NULL)
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_build_fullpath() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5G_build_fullpath_refstr_str
+ *
+ * Purpose:     Append an object path to an existing ref-counted path
+ *
+ * Return:	Success:	Non-NULL, combined path
+ *		Failure:	NULL
+ *
+ * Programmer:	Quincey Koziol, koziol at ncsa.uiuc.edu
+ *              Tuesday, October 11, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static H5RS_str_t *
+H5G_build_fullpath_refstr_str(H5RS_str_t *prefix_r, const char *name)
+{
+    const char *prefix;         /* Pointer to raw string for path */
+    H5RS_str_t *ret_value;
+
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_build_fullpath_refstr_str)
+
+    HDassert(prefix_r);
+    HDassert(name);
+
+    /* Get the raw string for the user path */
+    prefix = H5RS_get_str(prefix_r);
+    HDassert(prefix);
+
+    /* Create reference counted string for path */
+    ret_value = H5G_build_fullpath(prefix, name);
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_build_fullpath_refstr_str() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5G_name_build_refstr_refstr
+ *
+ * Purpose: Build a full path from a prefix & base pair of reference counted
+ *              strings
+ *
+ * Return: Pointer to reference counted string on success, NULL on error
+ *
+ * Programmer: Quincey Koziol, koziol at ncsa.uiuc.edu
+ *
+ * Date: August 19, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static H5RS_str_t *
+H5G_build_fullpath_refstr_refstr(const H5RS_str_t *prefix_r, const H5RS_str_t *name_r)
+{
+    const char *prefix;         /* Pointer to raw string of prefix */
+    const char *name;           /* Pointer to raw string of name */
+    H5RS_str_t *ret_value;      /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_build_fullpath_refstr_refstr)
+
+    /* Get the pointer to the prefix */
+    prefix = H5RS_get_str(prefix_r);
+
+    /* Get the pointer to the raw src user path */
+    name = H5RS_get_str(name_r);
+
+    /* Create reference counted string for path */
+    ret_value = H5G_build_fullpath(prefix, name);
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_build_fullpath_refstr_refstr() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:    H5G_name_init
+ *
+ * Purpose:     Set the initial path for a group hierarchy name
+ *
+ * Return:	Success:	Non-negative
+ *		Failure:	Negative
+ *
+ * Programmer:	Quincey Koziol
+ *              Monday, September 12, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5G_name_init(H5G_entry_t *ent, const char *path)
+{
+    FUNC_ENTER_NOAPI_NOFUNC(H5G_name_init)
+
+    /* Check arguments */
+    HDassert(ent);
+
+    /* Set the initial paths for a name object */
+    ent->full_path_r = H5RS_create(path);
+    HDassert(ent->full_path_r);
+    ent->user_path_r = H5RS_create(path);
+    HDassert(ent->user_path_r);
+    ent->obj_hidden = 0;
+
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5G_name_init() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5G_name_set
+ *
+ * Purpose:     Set the name of a symbol entry OBJ, located at LOC
+ *
+ * Return:	Success:	Non-negative
+ *		Failure:	Negative
+ *
+ * Programmer:	Pedro Vicente, pvn at ncsa.uiuc.edu
+ *              Thursday, August 22, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5G_name_set(H5G_entry_t *loc, H5G_entry_t *obj, const char *name)
+{
+    herr_t  ret_value = SUCCEED;
+
+    FUNC_ENTER_NOAPI(H5G_name_set, FAIL)
+
+    HDassert(loc);
+    HDassert(obj);
+    HDassert(name);
+
+    /* Free & reset the object's previous paths info (if they exist) */
+    H5G_name_free(obj);
+
+    /* Create the object's full path, if a full path exists in the location */
+    if(loc->full_path_r) {
+        /* Go build the new full path */
+        if((obj->full_path_r = H5G_build_fullpath_refstr_str(loc->full_path_r, name)) == NULL)
+            HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name")
+    } /* end if */
+
+    /* Create the object's user path, if a user path exists in the location */
+    if(loc->user_path_r) {
+        /* Go build the new user path */
+        if((obj->user_path_r = H5G_build_fullpath_refstr_str(loc->user_path_r, name)) == NULL)
+            HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name")
+    } /* end if */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_name_set() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:    H5G_get_name
+ *
+ * Purpose:     Gets a name of an object from its ID.
+ *
+ * Notes:	Internal routine for H5Iget_name().
+
+ * Return:	Success:	Non-negative, length of name
+ *		Failure:	Negative
+ *
+ * Programmer:	Quincey Koziol
+ *              Tuesday, December 13, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+ssize_t
+H5G_get_name(hid_t id, char *name/*out*/, size_t size)
+{
+    H5G_entry_t   *ent;       /*symbol table entry */
+    size_t        len = 0;
+    ssize_t       ret_value;
+
+    FUNC_ENTER_NOAPI_NOFUNC(H5G_get_name)
+
+    /* get symbol table entry */
+    if(NULL != (ent = H5G_loc(id))) {
+        if (ent->user_path_r != NULL && ent->obj_hidden == 0) {
+            len = H5RS_len(ent->user_path_r);
+
+            if(name) {
+                HDstrncpy(name, H5RS_get_str(ent->user_path_r), MIN(len + 1, size));
+                if(len >= size)
+                    name[size-1] = '\0';
+            } /* end if */
+        } /* end if */
+    } /* end if */
+
+    /* Set return value */
+    ret_value=(ssize_t)len;
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_get_name() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5G_name_free
+ *
+ * Purpose:	Free the 'ID to name' buffers.
+ *
+ * Return:	Success
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: August 22, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5G_name_free(H5G_entry_t *ent)
+{
+    FUNC_ENTER_NOAPI_NOFUNC(H5G_name_free)
+
+    /* Check args */
+    HDassert(ent);
+
+    if(ent->full_path_r) {
+        H5RS_decr(ent->full_path_r);
+        ent->full_path_r = NULL;
+    } /* end if */
+    if(ent->user_path_r) {
+        H5RS_decr(ent->user_path_r);
+        ent->user_path_r = NULL;
+    } /* end if */
+    ent->obj_hidden = 0;
+
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5G_name_free() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:    H5G_name_move_path
+ *
+ * Purpose:     Update a user or canonical path after an object moves
+ *
+ * Return:	Success:	Non-negative
+ *		Failure:	Negative
+ *
+ * Programmer:	Quincey Koziol
+ *              Tuesday, December 13, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5G_name_move_path(H5RS_str_t **path_r_ptr, const char *full_suffix, const char *src_path,
+    const char *dst_path)
+{
+    const char *path;                   /* Path to update */
+    size_t path_len;                    /* Length of path */
+    size_t full_suffix_len;             /* Length of full suffix */
+    herr_t ret_value = SUCCEED;         /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5G_name_move_path)
+
+    /* Check arguments */
+    HDassert(path_r_ptr && *path_r_ptr);
+    HDassert(full_suffix);
+    HDassert(src_path);
+    HDassert(dst_path);
+
+    /* Get pointer to path to update */
+    path = H5RS_get_str(*path_r_ptr);
+    HDassert(path);
+    
+    /* Check if path needs to be updated */
+    full_suffix_len = HDstrlen(full_suffix);
+    path_len = HDstrlen(path);
+    if(full_suffix_len < path_len) {
+        const char *dst_suffix;         /* Destination suffix that changes */
+        const char *src_suffix;         /* Source suffix that changes */
+        const char *path_prefix;        /* Prefix for path */
+        size_t path_prefix_len;         /* Length of path prefix */
+        const char *path_prefix2;       /* 2nd prefix for path */
+        size_t path_prefix2_len;        /* Length of 2nd path prefix */
+        const char *common_prefix;      /* Common prefix for src & dst paths */
+        size_t common_prefix_len;       /* Length of common prefix */
+        char *new_path;                 /* Pointer to new path */
+        size_t new_path_len;            /* Length of new path */
+
+
+        /* Compute path prefix before full suffix*/
+        path_prefix = path;
+        path_prefix_len = path_len - full_suffix_len;
+
+        /* Determine the common prefix for src & dst paths */
+        common_prefix = src_path;
+        common_prefix_len = 0;
+        /* Find first character that is different */
+        while(*(src_path + common_prefix_len) == *(dst_path + common_prefix_len))
+            common_prefix_len++;
+        /* Back up to previous '/' */
+        while(*(common_prefix + common_prefix_len) != '/')
+            common_prefix_len--;
+        /* Include '/' */
+        common_prefix_len++;
+
+        /* Determine source suffix */
+        src_suffix = src_path + (common_prefix_len - 1);
+
+        /* Determine destination suffix */
+        dst_suffix = dst_path + (common_prefix_len - 1);
+
+        /* Compute path prefix before src suffix*/
+        path_prefix2 = path;
+        path_prefix2_len = path_prefix_len - HDstrlen(src_suffix);
+
+        /* Allocate space for the new path */
+        new_path_len = path_prefix2_len + HDstrlen(dst_suffix) + full_suffix_len;
+        if(NULL == (new_path = (char *)H5FL_BLK_MALLOC(str_buf, new_path_len + 1)))
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+        /* Create the new path */
+        if(path_prefix2_len > 0) {
+            HDstrncpy(new_path, path_prefix2, path_prefix2_len);
+            HDstrcpy(new_path + path_prefix2_len, dst_suffix);
+        } /* end if */
+        else
+            HDstrcpy(new_path, dst_suffix);
+        if(full_suffix_len > 0)
+            HDstrcat(new_path, full_suffix);
+
+        /* Release previous path */
+        H5RS_decr(*path_r_ptr);
+
+        /* Take ownership of the new full path */
+        *path_r_ptr = H5RS_own(new_path);
+    } /* end if */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_name_move_path() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5G_name_replace_cb
+ *
+ * Purpose: H5I_search callback function to replace group entry names
+ *
+ * Return: Success: 0, Failure: -1
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: June 5, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+H5G_name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
+{
+    const H5G_names_t *names = (const H5G_names_t *)key;        /* Get operation's information */
+    H5G_entry_t *ent = NULL;    /* Group entry for object that the ID refers to */
+    H5F_t *top_obj_file;        /* Top file in object's mounted file hier. */
+    hbool_t obj_in_child = FALSE;   /* Flag to indicate that the object is in the child mount hier. */
+    herr_t      ret_value = SUCCEED;       /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5G_name_replace_cb)
+
+    HDassert(obj_ptr);
+
+    /* Get the symbol table entry */
+    switch(H5I_get_type(obj_id)) {
+        case H5I_GROUP:
+            ent = H5G_entof((H5G_t*)obj_ptr);
+            break;
+
+        case H5I_DATASET:
+            ent = H5D_entof((H5D_t*)obj_ptr);
+            break;
+
+        case H5I_DATATYPE:
+            /* Avoid non-named datatypes */
+            if(!H5T_is_named((H5T_t *)obj_ptr))
+                HGOTO_DONE(SUCCEED)     /* Do not exit search over IDs */
+
+            ent = H5T_entof((H5T_t*)obj_ptr);
+            break;
+
+        default:
+            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unknown data object")
+    } /* end switch */
+    HDassert(ent);
+
+    /* Check if the object has a full path still */
+    if(!ent->full_path_r)
+        HGOTO_DONE(SUCCEED)     /* No need to look at object, it's path is already invalid */
+
+    /* Find the top file in object's mount hier. */
+    if(ent->file->mtab.parent) {
+        /* Check if object is in child file (for mount & unmount operations) */
+        if(names->dst_loc && ent->file->shared == names->dst_loc->file->shared)
+            obj_in_child = TRUE;
+
+        /* Find the "top" file in the chain of mounted files */
+        top_obj_file = ent->file->mtab.parent;
+        while(top_obj_file->mtab.parent != NULL) {
+            /* Check if object is in child mount hier. (for mount & unmount operations) */
+            if(names->dst_loc && top_obj_file->shared == names->dst_loc->file->shared)
+                obj_in_child = TRUE;
+
+            top_obj_file = top_obj_file->mtab.parent;
+        } /* end while */
+    } /* end if */
+    else
+        top_obj_file = ent->file;
+
+    /* Check if object is in top of child mount hier. (for mount & unmount operations) */
+    if(names->dst_loc && top_obj_file->shared == names->dst_loc->file->shared)
+        obj_in_child = TRUE;
+
+    /* Check if the object is in same file mount hier. */
+    if(top_obj_file->shared != names->top_loc_file->shared)
+        HGOTO_DONE(SUCCEED)     /* No need to look at object, it's path is already invalid */
+
+    switch(names->op) {
+        /*-------------------------------------------------------------------------
+        * H5G_NAME_MOUNT
+        *-------------------------------------------------------------------------
+        */
+        case H5G_NAME_MOUNT:
+            /* Check if object is in child mount hier. */
+            if(obj_in_child) {
+                const char *full_path;      /* Full path of current object */
+                const char *src_path;       /* Full path of source object */
+                char *new_full_path;        /* New full path of object */
+                size_t new_full_len;        /* Length of new full path */
+
+                /* Get pointers to paths of interest */
+                full_path = H5RS_get_str(ent->full_path_r);
+                src_path = H5RS_get_str(names->loc->full_path_r);
+
+                /* Build new full path */
+
+                /* Allocate space for the new full path */
+                new_full_len = HDstrlen(src_path) + HDstrlen(full_path);
+                if(NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, new_full_len + 1)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+                /* Create the new full path */
+                HDstrcpy(new_full_path, src_path);
+                HDstrcat(new_full_path, full_path);
+
+                /* Release previous full path */
+                H5RS_decr(ent->full_path_r);
+
+                /* Take ownership of the new full path */
+                ent->full_path_r = H5RS_own(new_full_path);
+            } /* end if */
+            /* Object must be in parent mount file hier. */
+            else {
+                /* Check if the source is along the entry's path */
+                /* (But not actually the entry itself) */
+                if(H5G_common_path(ent->full_path_r, names->loc->full_path_r) &&
+                        H5RS_cmp(ent->full_path_r, names->loc->full_path_r)) {
+                    /* Hide the user path */
+                    (ent->obj_hidden)++;
+                } /* end if */
+            } /* end else */
+            break;
+
+        /*-------------------------------------------------------------------------
+        * H5G_NAME_UNMOUNT
+        *-------------------------------------------------------------------------
+        */
+        case H5G_NAME_UNMOUNT:
+            if(obj_in_child) {
+                const char *full_path;      /* Full path of current object */
+                const char *full_suffix;    /* Full path after source path */
+                const char *src_path;       /* Full path of source object */
+                char *new_full_path;        /* New full path of object */
+
+                /* Get pointers to paths of interest */
+                full_path = H5RS_get_str(ent->full_path_r);
+                src_path = H5RS_get_str(names->loc->full_path_r);
+
+                /* Construct full path suffix */
+                full_suffix = full_path + HDstrlen(src_path);
+
+                /* Build new full path */
+
+                /* Create the new full path */
+                if(NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, HDstrlen(full_suffix) + 1)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+                HDstrcpy(new_full_path, full_suffix);
+
+                /* Release previous full path */
+                H5RS_decr(ent->full_path_r);
+
+                /* Take ownership of the new full path */
+                ent->full_path_r = H5RS_own(new_full_path);
+
+                /* Check if the object's user path should be invalidated */
+                if(ent->user_path_r && HDstrlen(new_full_path) < (size_t)H5RS_len(ent->user_path_r)) {
+                    /* Free user path */
+                    H5RS_decr(ent->user_path_r);
+                    ent->user_path_r = NULL;
+                } /* end if */
+            } /* end if */
+            else {
+                /* Check if file being unmounted was hiding the object */
+                if(H5G_common_path(ent->full_path_r, names->loc->full_path_r) &&
+                        H5RS_cmp(ent->full_path_r, names->loc->full_path_r)) {
+                    /* Un-hide the user path */
+                    (ent->obj_hidden)--;
+                } /* end if */
+            } /* end else */
+            break;
+
+        /*-------------------------------------------------------------------------
+        * H5G_NAME_UNLINK
+        *-------------------------------------------------------------------------
+        */
+        case H5G_NAME_UNLINK:
+            /* Check if the location being unlinked is in the path for the current object */
+            if(H5G_common_path(ent->full_path_r, names->loc->full_path_r)) {
+                /* Free paths for object */
+                H5G_name_free(ent);
+            } /* end if */
+            break;
+
+        /*-------------------------------------------------------------------------
+        * H5G_NAME_MOVE
+        *-------------------------------------------------------------------------
+        */
+        case H5G_NAME_MOVE: /* H5Gmove case, check for relative names case */
+            /* Check if the src object moved is in the current object's path */
+            if(H5G_common_path(ent->full_path_r, names->loc->full_path_r)) {
+                const char *full_path;      /* Full path of current object */
+                const char *full_suffix;    /* Suffix of full path, after src_path */
+                char *new_full_path;        /* New full path of object */
+                size_t new_full_len;        /* Length of new full path */
+                H5RS_str_t *src_path_r;     /* Full path of source name */
+                const char *src_path;       /* Full path of source object */
+                H5RS_str_t *dst_path_r;     /* Full path of destination name */
+                const char *dst_path;       /* Full path of destination object */
+
+                /* Sanity check */
+                HDassert(*(H5RS_get_str(names->loc->full_path_r)) == '/');
+                HDassert(names->dst_name);
+
+                /* Make certain that the source and destination names are full (not relative) paths */
+                src_path_r = H5RS_dup(names->loc->full_path_r);
+                if(*(H5RS_get_str(names->dst_name)) != '/') {
+                    /* Create reference counted string for full dst path */
+                    if((dst_path_r = H5G_build_fullpath_refstr_refstr(names->dst_loc->full_path_r, names->dst_name)) == NULL)
+                        HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build destination path name")
+                } /* end if */
+                else
+                    dst_path_r = H5RS_dup(names->dst_name);
+
+                /* Get pointers to paths of interest */
+                full_path = H5RS_get_str(ent->full_path_r);
+                src_path = H5RS_get_str(src_path_r);
+                dst_path = H5RS_get_str(dst_path_r);
+
+                /* Get pointer to "full suffix" */
+                full_suffix = full_path + HDstrlen(src_path);
+
+                /* Update the user path, if one exists */
+                if(ent->user_path_r)
+                    if(H5G_name_move_path(&(ent->user_path_r), full_suffix, src_path, dst_path) < 0)
+                        HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name")
+
+                /* Build new full path */
+
+                /* Allocate space for the new full path */
+                new_full_len = HDstrlen(dst_path) + HDstrlen(full_suffix);
+                if(NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, new_full_len + 1)))
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+                /* Create the new full path */
+                HDstrcpy(new_full_path, dst_path);
+                HDstrcat(new_full_path, full_suffix);
+
+                /* Release previous full path */
+                H5RS_decr(ent->full_path_r);
+
+                /* Take ownership of the new full path */
+                ent->full_path_r = H5RS_own(new_full_path);
+
+                /* Release source & destination full paths */
+                H5RS_decr(src_path_r);
+                H5RS_decr(dst_path_r);
+            } /* end if */
+            break;
+
+        default:
+            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid operation")
+    } /* end switch */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value);
+} /* end H5G_name_replace_cb() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5G_name_replace
+ *
+ * Purpose: Search the list of open IDs and replace names according to a
+ *              particular operation.  The operation occured on the LOC
+ *              entry.  The new name (if there is one) is DST_NAME.
+ *              Additional entry location information (currently only needed
+ *              for the 'move' operation) is passed in DST_LOC.
+ *
+ * Return: Success: 0, Failure: -1
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: June 11, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5G_name_replace(int type, H5G_entry_t *loc,
+    H5RS_str_t *dst_name, H5G_entry_t *dst_loc, H5G_names_op_t op )
+{
+    herr_t ret_value = SUCCEED;
+
+    FUNC_ENTER_NOAPI(H5G_name_replace, FAIL)
+
+    /* Check if the object we are manipulating has a path */
+    if(loc->full_path_r) {
+        unsigned search_group = 0;  /* Flag to indicate that groups are to be searched */
+        unsigned search_dataset = 0;  /* Flag to indicate that datasets are to be searched */
+        unsigned search_datatype = 0; /* Flag to indicate that datatypes are to be searched */
+
+        /* Determine which types of IDs need to be operated on */
+        switch(type) {
+            /* Object is a group  */
+            case H5G_GROUP:
+                /* Search and replace names through group IDs */
+                search_group = 1;
+                break;
+
+            /* Object is a dataset */
+            case H5G_DATASET:
+                /* Search and replace names through dataset IDs */
+                search_dataset = 1;
+                break;
+
+            /* Object is a named datatype */
+            case H5G_TYPE:
+                /* Search and replace names through datatype IDs */
+                search_datatype = 1;
+                break;
+
+            case H5G_UNKNOWN:   /* We pass H5G_UNKNOWN as object type when we need to search all IDs */
+            case H5G_LINK:      /* Symbolic links might resolve to any object, so we need to search all IDs */
+                /* Check if we will need to search groups */
+                if(H5I_nmembers(H5I_GROUP) > 0)
+                    search_group = 1;
+
+                /* Check if we will need to search datasets */
+                if(H5I_nmembers(H5I_DATASET) > 0)
+                    search_dataset = 1;
+
+                /* Check if we will need to search datatypes */
+                if(H5I_nmembers(H5I_DATATYPE) > 0)
+                    search_datatype = 1;
+                break;
+
+            default:
+                HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL, "not valid object type")
+        } /* end switch */
+
+        /* Check if we need to operate on the objects affected */
+        if(search_group || search_dataset || search_datatype) {
+            H5G_names_t names;          /* Structure to hold operation information for callback */
+            H5F_t *top_loc_file;        /* Top file in src location's mounted file hier. */
+
+            /* Find top file in src location's mount hierarchy */
+            if(loc->file->mtab.parent) {
+                /* Find the "top" file in the chain of mounted files for the location */
+                top_loc_file = loc->file->mtab.parent;
+                while(top_loc_file->mtab.parent != NULL)
+                    top_loc_file = top_loc_file->mtab.parent;
+            } /* end if */
+            else
+                top_loc_file = loc->file;
+
+            /* Set up common information for callback */
+            names.loc = loc;
+            names.top_loc_file = top_loc_file;
+            names.dst_loc = dst_loc;
+            names.dst_name = dst_name;
+            names.op = op;
+
+            /* Search through group IDs */
+            if(search_group)
+                H5I_search(H5I_GROUP, H5G_name_replace_cb, &names);
+
+            /* Search through dataset IDs */
+            if(search_dataset)
+                H5I_search(H5I_DATASET, H5G_name_replace_cb, &names);
+
+            /* Search through datatype IDs */
+            if(search_datatype)
+                H5I_search(H5I_DATATYPE, H5G_name_replace_cb, &names);
+        } /* end if */
+    } /* end if */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_name_replace() */
+

Modified: packages/hdf5/trunk/src/H5Gnode.c
===================================================================
--- packages/hdf5/trunk/src/H5Gnode.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Gnode.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -49,6 +50,19 @@
     size_t      offset;                 /*offset into heap for name          */
 } H5G_node_key_t;
 
+/*
+ * A symbol table node is a collection of symbol table entries.  It can
+ * be thought of as the lowest level of the B-link tree that points to
+ * a collection of symbol table entries that belong to a specific symbol
+ * table or group.
+ */
+typedef struct H5G_node_t {
+    H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */
+                            /* first field in structure */
+    unsigned nsyms;                     /*number of symbols                  */
+    H5G_entry_t *entry;                 /*array of symbol table entries      */
+} H5G_node_t;
+
 /* Private macros */
 #define H5G_NODE_VERS   1               /*symbol table node version number   */
 #define H5G_NODE_SIZEOF_HDR(F) (H5G_NODE_SIZEOF_MAGIC + 4)
@@ -68,7 +82,6 @@
 static herr_t H5G_compute_size(const H5F_t *f, const H5G_node_t *sym, size_t *size_ptr);
 
 /* B-tree callbacks */
-static size_t H5G_node_sizeof_rkey(const H5F_t *f, const void *_udata);
 static H5RC_t *H5G_node_get_shared(const H5F_t *f, const void *_udata);
 static herr_t H5G_node_create(H5F_t *f, hid_t dxpl_id, H5B_ins_t op, void *_lt_key,
 			      void *_udata, void *_rt_key,
@@ -109,7 +122,6 @@
 H5B_class_t H5B_SNODE[1] = {{
     H5B_SNODE_ID,		/*id			*/
     sizeof(H5G_node_key_t), 	/*sizeof_nkey		*/
-    H5G_node_sizeof_rkey,	/*get_sizeof_rkey	*/
     H5G_node_get_shared,	/*get_shared		*/
     H5G_node_create,		/*new			*/
     H5G_node_cmp2,		/*cmp2			*/
@@ -124,9 +136,6 @@
     H5G_node_debug_key,		/*debug			*/
 }};
 
-/* Declare a free list to manage the H5B_shared_t struct */
-H5FL_EXTERN(H5B_shared_t);
-
 /* Declare a free list to manage the H5G_node_t struct */
 H5FL_DEFINE_STATIC(H5G_node_t);
 
@@ -142,34 +151,9 @@
 /* Declare a free list to manage the raw page information */
 H5FL_BLK_DEFINE_STATIC(grp_page);
 
-
-/*-------------------------------------------------------------------------
- * Function:	H5G_node_sizeof_rkey
- *
- * Purpose:	Returns the size of a raw B-link tree key for the specified
- *		file.
- *
- * Return:	Success:	Size of the key.
- *
- *		Failure:	never fails
- *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Jul 14 1997
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static size_t
-H5G_node_sizeof_rkey(const H5F_t *f, const void UNUSED * udata)
-{
-    /* Use FUNC_ENTER_NOAPI_NOINIT_NOFUNC here to avoid performance issues */
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_node_sizeof_rkey);
+/* Declare extern the free list to manage haddr_t's */
+H5FL_EXTERN(haddr_t);
 
-    FUNC_LEAVE_NOAPI(H5F_SIZEOF_SIZE(f));	/*the name offset */
-}
-
 
 /*-------------------------------------------------------------------------
  * Function:	H5G_node_get_shared
@@ -707,8 +691,6 @@
  *		matzke at llnl.gov
  *		Jun 23 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -913,9 +895,6 @@
  *		matzke at llnl.gov
  *		Jun 23 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -929,26 +908,26 @@
     int		        cmp = 1;
     const char		*s;
     const char          *base;           /* Base of heap */
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_node_found);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_node_found)
 
     /*
      * Check arguments.
      */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(udata);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(udata);
 
     /*
      * Load the symbol table node for exclusive access.
      */
-    if (NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_READ)))
-	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, FAIL, "unable to protect symbol table node");
+    if(NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_READ)))
+	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, FAIL, "unable to protect symbol table node")
 
     /* Get base address of heap */
-    if (NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
-	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to protect symbol name");
+    if(NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to protect symbol name")
 
     base = H5HL_offset_into(f, heap, 0);
 
@@ -956,23 +935,23 @@
      * Binary search.
      */
     rt = sn->nsyms;
-    while (lt < rt && cmp) {
+    while(lt < rt && cmp) {
 	idx = (lt + rt) / 2;
-        s=base+sn->entry[idx].name_off;
+        s = base + sn->entry[idx].name_off;
 	cmp = HDstrcmp(udata->common.name, s);
 
 	if (cmp < 0)
 	    rt = idx;
 	else
 	    lt = idx + 1;
-    }
+    } /* end while */
 
-    if (H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
-	HGOTO_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to unprotect symbol name");
-    heap=NULL; base=NULL;
+    if(H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
+	HGOTO_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to unprotect symbol name")
+    heap = NULL; base = NULL;
 
-    if (cmp)
-        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "not found");
+    if(cmp)
+        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "not found")
 
     /*
      * The caller is querying the symbol entry, copy it into the UDATA
@@ -980,8 +959,8 @@
      *
      * (do a NULL copy, since the entry's name will be constructed later)
      */
-    if (H5G_ent_copy(udata->ent, &sn->entry[idx], H5G_COPY_NULL)<0)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to copy entry");
+    if(H5G_ent_copy(udata->ent, &sn->entry[idx], H5_COPY_NULL) < 0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to copy entry")
 
     /* Leave object in same file as lookup occurs in */
     /* If a file is opened through different H5Fopen() calls, the symbol
@@ -991,11 +970,11 @@
     udata->ent->file = f;
 
 done:
-    if (sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) < 0)
-	HDONE_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to release symbol table node");
+    if(sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) < 0)
+	HDONE_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to release symbol table node")
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_node_found() */
 
 
 /*-------------------------------------------------------------------------
@@ -1030,16 +1009,14 @@
  *		matzke at llnl.gov
  *		Jun 24 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 static H5B_ins_t
-H5G_node_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void UNUSED *_lt_key,
-		hbool_t UNUSED *lt_key_changed, void *_md_key,
-		void *_udata, void *_rt_key, hbool_t *rt_key_changed,
-		haddr_t *new_node_p)
+H5G_node_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr,
+    void UNUSED *_lt_key, hbool_t UNUSED *lt_key_changed,
+    void *_md_key, void *_udata,
+    void *_rt_key, hbool_t *rt_key_changed,
+    haddr_t *new_node_p)
 {
     H5G_node_key_t	*md_key = (H5G_node_key_t *) _md_key;
     H5G_node_key_t	*rt_key = (H5G_node_key_t *) _rt_key;
@@ -1055,27 +1032,27 @@
     H5G_node_t		*insert_into = NULL;	/*node that gets new entry*/
     H5B_ins_t		ret_value = H5B_INS_ERROR;
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_node_insert);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_node_insert)
 
     /*
      * Check arguments.
      */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(md_key);
-    assert(rt_key);
-    assert(udata);
-    assert(new_node_p);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(md_key);
+    HDassert(rt_key);
+    HDassert(udata);
+    HDassert(new_node_p);
 
     /*
      * Load the symbol node.
      */
-    if (NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_INS_ERROR, "unable to protect symbol table node");
+    if(NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_WRITE)))
+	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_INS_ERROR, "unable to protect symbol table node")
 
     /* Get base address of heap */
-    if (NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
-	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name");
+    if(NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
+	HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name")
 
     base = H5HL_offset_into(f, heap, 0);
 
@@ -1083,30 +1060,30 @@
      * Where does the new symbol get inserted?	We use a binary search.
      */
     rt = sn->nsyms;
-    while (lt < rt) {
+    while(lt < rt) {
 	idx = (lt + rt) / 2;
-        s=base+sn->entry[idx].name_off;
+        s = base + sn->entry[idx].name_off;
 
-	if (0 == (cmp = HDstrcmp(udata->common.name, s))) /*already present */ {
+	if(0 == (cmp = HDstrcmp(udata->common.name, s))) /*already present */ {
             HCOMMON_ERROR(H5E_SYM, H5E_CANTINSERT, "symbol is already present in symbol table");
 
-            if (H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
-                HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name");
-            heap=NULL; base=NULL;
+            if(H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
+                HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name")
+            heap = NULL; base = NULL;
 
-	    HGOTO_DONE(H5B_INS_ERROR);
-        }
+	    HGOTO_DONE(H5B_INS_ERROR)
+        } /* end if */
 
 	if (cmp < 0)
 	    rt = idx;
 	else
 	    lt = idx + 1;
-    }
+    } /* end while */
     idx += cmp > 0 ? 1 : 0;
 
-    if (H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
-	HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name");
-    heap=NULL; base=NULL;
+    if(H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
+	HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name")
+    heap = NULL; base = NULL;
 
     /*
      * Add the new name to the heap.
@@ -1115,8 +1092,10 @@
 			udata->common.name);
     udata->ent->name_off = offset;
     if (0==offset || (size_t)(-1)==offset)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, H5B_INS_ERROR, "unable to insert symbol name into heap");
-    if (sn->nsyms >= 2*H5F_SYM_LEAF_K(f)) {
+	HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, H5B_INS_ERROR, "unable to insert symbol name into heap")
+
+    /* Determine where to place entry in node */
+    if(sn->nsyms >= 2 * H5F_SYM_LEAF_K(f)) {
 	/*
 	 * The node is full.  Split it into a left and right
 	 * node and return the address of the new right node (the
@@ -1125,12 +1104,11 @@
 	ret_value = H5B_INS_RIGHT;
 
 	/* The right node */
-	if (H5G_node_create(f, dxpl_id, H5B_INS_FIRST, NULL, NULL, NULL,
-			    new_node_p/*out*/)<0)
-	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, H5B_INS_ERROR, "unable to split symbol table node");
+	if(H5G_node_create(f, dxpl_id, H5B_INS_FIRST, NULL, NULL, NULL, new_node_p/*out*/) < 0)
+	    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, H5B_INS_ERROR, "unable to split symbol table node")
 
-	if (NULL == (snrt = H5AC_protect(f, dxpl_id, H5AC_SNODE, *new_node_p, NULL, NULL, H5AC_WRITE)))
-	    HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_INS_ERROR, "unable to split symbol table node");
+	if(NULL == (snrt = H5AC_protect(f, dxpl_id, H5AC_SNODE, *new_node_p, NULL, NULL, H5AC_WRITE)))
+	    HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_INS_ERROR, "unable to split symbol table node")
 
 	HDmemcpy(snrt->entry, sn->entry + H5F_SYM_LEAF_K(f),
 		 H5F_SYM_LEAF_K(f) * sizeof(H5G_entry_t));
@@ -1147,37 +1125,36 @@
 	md_key->offset = sn->entry[sn->nsyms - 1].name_off;
 
 	/* Where to insert the new entry? */
-	if (idx <= (int)H5F_SYM_LEAF_K(f)) {
+	if(idx <= (int)H5F_SYM_LEAF_K(f)) {
 	    insert_into = sn;
-	    if (idx == (int)H5F_SYM_LEAF_K(f))
+	    if(idx == (int)H5F_SYM_LEAF_K(f))
 		md_key->offset = offset;
 	} else {
 	    idx -= H5F_SYM_LEAF_K(f);
 	    insert_into = snrt;
-	    if (idx == (int)H5F_SYM_LEAF_K (f)) {
+	    if(idx == (int)H5F_SYM_LEAF_K (f)) {
 		rt_key->offset = offset;
 		*rt_key_changed = TRUE;
-	    }
-	}
+	    } /* end if */
+	} /* end else */
     } else {
 	/* Where to insert the new entry? */
 	ret_value = H5B_INS_NOOP;
 	sn->cache_info.is_dirty = TRUE;
 	insert_into = sn;
-	if (idx == (int)sn->nsyms) {
+	if(idx == (int)sn->nsyms) {
 	    rt_key->offset = offset;
 	    *rt_key_changed = TRUE;
-	}
-    }
+	} /* end if */
+    } /* end else */
 
     /* Move entries down to make room for new entry */
-    HDmemmove(insert_into->entry + idx + 1,
-	      insert_into->entry + idx,
+    HDmemmove(insert_into->entry + idx + 1, insert_into->entry + idx,
 	      (insert_into->nsyms - idx) * sizeof(H5G_entry_t));
 
     /* Copy new entry into table */
-    /* (use H5G_COPY_NULL because we don't track the object names in the table) */
-    H5G_ent_copy(&(insert_into->entry[idx]), udata->ent, H5G_COPY_NULL);
+    if(H5G_ent_copy(&(insert_into->entry[idx]), udata->ent, H5_COPY_NULL) < 0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, H5B_INS_ERROR, "unable to copy entry")
 
     /* Flag entry as dirty */
     insert_into->entry[idx].dirty = TRUE;
@@ -1186,13 +1163,13 @@
     insert_into->nsyms += 1;
 
 done:
-    if (snrt && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, *new_node_p, snrt, FALSE) < 0)
-	HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to release symbol table node");
-    if (sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) < 0)
-	HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to release symbol table node");
+    if(snrt && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, *new_node_p, snrt, FALSE) < 0)
+	HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to release symbol table node")
+    if(sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) < 0)
+	HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to release symbol table node")
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_node_insert() */
 
 
 /*-------------------------------------------------------------------------
@@ -1221,16 +1198,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, September 24, 1998
  *
- * Modifications:
- *	Robb Matzke, 1999-07-28
- *	The ADDR argument is passed by value.
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 18 Sep 2002
- *      Added `id to name' support.
- *
- *	Quincey Koziol, 2003-03-22
- *	Added support for deleting all the entries at once.
- *
  *-------------------------------------------------------------------------
  */
 static H5B_ins_t
@@ -1244,74 +1211,73 @@
     H5G_bt_ud2_t	*udata = (H5G_bt_ud2_t *)_udata;
     H5G_node_t		*sn = NULL;
     const H5HL_t        *heap = NULL;
-    unsigned		lt=0, rt, idx=0;
-    int		        cmp=1;
+    unsigned		lt = 0, rt, idx = 0;
+    int		        cmp = 1;
     const char		*s = NULL;
     const char          *base;              /* Base of heap */
     H5B_ins_t		ret_value = H5B_INS_ERROR;
 
-    FUNC_ENTER_NOAPI_NOINIT(H5G_node_remove);
+    FUNC_ENTER_NOAPI_NOINIT(H5G_node_remove)
 
     /* Check arguments */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(lt_key);
-    assert(rt_key);
-    assert(udata);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(lt_key);
+    HDassert(rt_key);
+    HDassert(udata);
 
     /* Load the symbol table */
-    if (NULL==(sn=H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_INS_ERROR, "unable to protect symbol table node");
+    if(NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_WRITE)))
+	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_INS_ERROR, "unable to protect symbol table node")
 
     /* "Normal" removal of a single entry from the symbol table node */
-    if(udata->common.name!=NULL) {
-        size_t len=0;
+    if(udata->common.name != NULL) {
+        size_t len = 0;
         hbool_t found;     /* Indicate that the string was found */
 
         /* Get base address of heap */
-        if (NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
-            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name");
+        if(NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
+            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name")
 
         base = H5HL_offset_into(f, heap, 0);
 
         /* Find the name with a binary search */
         rt = sn->nsyms;
-        while (lt<rt && cmp) {
-            idx = (lt+rt)/2;
-            s=base+sn->entry[idx].name_off;
+        while(lt < rt && cmp) {
+            idx = (lt + rt) / 2;
+            s = base + sn->entry[idx].name_off;
             cmp = HDstrcmp(udata->common.name, s);
-            if (cmp<0) {
+            if(cmp < 0)
                 rt = idx;
-            } else {
-                lt = idx+1;
-            }
-        }
+            else
+                lt = idx + 1;
+        } /* end while */
 
-        if (H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
-            HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name");
-        heap=NULL; base=NULL;
+        if(H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
+            HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name")
+        heap = NULL; base = NULL;
 
-        if (cmp)
-            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "not found");
+        if(cmp)
+            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "not found")
 
-        if (H5G_CACHED_SLINK==sn->entry[idx].type) {
+        if(H5G_CACHED_SLINK == sn->entry[idx].type) {
             /* Remove the symbolic link value */
-            if (NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
-                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name");
+            if(NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
+                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name")
 
             s = H5HL_offset_into(f, heap, sn->entry[idx].cache.slink.lval_offset);
-            if (s) {
-                len=HDstrlen(s)+1;
-                found=1;
+            if(s) {
+                len = HDstrlen(s) + 1;
+                found = 1;
             } /* end if */
             else
-                found=0;
+                found = 0;
 
-            if (H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
-                HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name");
-            heap=NULL; s=NULL;
+            if(H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
+                HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name")
+            heap = NULL; s = NULL;
 
-            if (found)
+            if(found)
                 H5HL_remove(f, dxpl_id, udata->common.heap_addr, sn->entry[idx].cache.slink.lval_offset, len);
 
             H5E_clear(); /* no big deal */
@@ -1319,55 +1285,55 @@
             /* Decrement the reference count, if requested */
             if(udata->adj_link) {
                 HDassert(H5F_addr_defined(sn->entry[idx].header));
-                if (H5O_link(sn->entry+idx, -1, dxpl_id)<0)
+                if(H5O_link(sn->entry+idx, -1, dxpl_id) < 0)
                     HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, H5B_INS_ERROR, "unable to decrement object link count")
             } /* end if */
-        }
+        } /* end else */
 
         /* Remove the name from the local heap */
-        if (NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
-            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name");
+        if(NULL == (heap = H5HL_protect(f, dxpl_id, udata->common.heap_addr)))
+            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5B_INS_ERROR, "unable to protect symbol name")
 
         s = H5HL_offset_into(f, heap, sn->entry[idx].name_off);
 
-        if (s) {
-            len=HDstrlen(s)+1;
-            found=1;
+        if(s) {
+            len = HDstrlen(s) + 1;
+            found = 1;
         } /* end if */
         else
-            found=0;
+            found = 0;
 
-        if (H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
-            HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name");
-        heap=NULL; s=NULL;
+        if(H5HL_unprotect(f, dxpl_id, heap, udata->common.heap_addr) < 0)
+            HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to unprotect symbol name")
+        heap = NULL; s = NULL;
 
-        if (found)
+        if(found)
             H5HL_remove(f, dxpl_id, udata->common.heap_addr, sn->entry[idx].name_off, len);
 
         H5E_clear(); /* no big deal */
 
         /* Remove the entry from the symbol table node */
-        if(1==sn->nsyms) {
+        if(1 == sn->nsyms) {
             /*
              * We are about to remove the only symbol in this node. Copy the left
              * key to the right key and mark the right key as dirty.  Free this
              * node and indicate that the pointer to this node in the B-tree
              * should be removed also.
              */
-            assert(0==idx);
+            HDassert(0 == idx);
             *rt_key = *lt_key;
             *rt_key_changed = TRUE;
             sn->nsyms = 0;
             sn->cache_info.is_dirty = TRUE;
-            if (H5MF_xfree(f, H5FD_MEM_BTREE, dxpl_id, addr, (hsize_t)H5G_node_size(f))<0
+            if(H5MF_xfree(f, H5FD_MEM_BTREE, dxpl_id, addr, (hsize_t)H5G_node_size(f)) < 0
                     || H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, TRUE)<0) {
                 sn = NULL;
-                HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to free symbol table node");
-            }
+                HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to free symbol table node")
+            } /* end if */
             sn = NULL;
             ret_value = H5B_INS_REMOVE;
 
-        } else if (0==idx) {
+        } else if(0 == idx) {
             /*
              * We are about to remove the left-most entry from the symbol table
              * node but there are other entries to the right.  No key values
@@ -1375,11 +1341,11 @@
              */
             sn->nsyms -= 1;
             sn->cache_info.is_dirty = TRUE;
-            HDmemmove(sn->entry+idx, sn->entry+idx+1,
-                      (sn->nsyms-idx)*sizeof(H5G_entry_t));
+            HDmemmove(sn->entry + idx, sn->entry + idx + 1,
+                      (sn->nsyms-idx) * sizeof(H5G_entry_t));
             ret_value = H5B_INS_NOOP;
 
-        } else if (idx+1==sn->nsyms) {
+        } else if (idx + 1 == sn->nsyms) {
             /*
              * We are about to remove the right-most entry from the symbol table
              * node but there are other entries to the left.  The right key
@@ -1387,7 +1353,7 @@
              */
             sn->nsyms -= 1;
             sn->cache_info.is_dirty = TRUE;
-            rt_key->offset = sn->entry[sn->nsyms-1].name_off;
+            rt_key->offset = sn->entry[sn->nsyms - 1].name_off;
             *rt_key_changed = TRUE;
             ret_value = H5B_INS_NOOP;
 
@@ -1398,20 +1364,20 @@
              */
             sn->nsyms -= 1;
             sn->cache_info.is_dirty = TRUE;
-            HDmemmove(sn->entry+idx, sn->entry+idx+1,
-                      (sn->nsyms-idx)*sizeof(H5G_entry_t));
+            HDmemmove(sn->entry + idx, sn->entry + idx + 1,
+                      (sn->nsyms - idx) * sizeof(H5G_entry_t));
             ret_value = H5B_INS_NOOP;
-        }
+        } /* end else */
     } /* end if */
     /* Remove all entries from node, during B-tree deletion */
     else {
         /* Reduce the link count for all entries in this node */
-        for(idx=0; idx<sn->nsyms; idx++) {
-            if (H5G_CACHED_SLINK!=sn->entry[idx].type) {
+        for(idx = 0; idx < sn->nsyms; idx++) {
+            if(H5G_CACHED_SLINK != sn->entry[idx].type) {
                 /* Decrement the reference count, if requested */
                 if(udata->adj_link) {
                     HDassert(H5F_addr_defined(sn->entry[idx].header));
-                    if (H5O_link(sn->entry+idx, -1, dxpl_id)<0)
+                    if (H5O_link(sn->entry+idx, -1, dxpl_id) < 0)
                         HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, H5B_INS_ERROR, "unable to decrement object link count")
                 } /* end if */
             } /* end if */
@@ -1427,21 +1393,21 @@
         *rt_key_changed = TRUE;
         sn->nsyms = 0;
         sn->cache_info.is_dirty = TRUE;
-        if (H5MF_xfree(f, H5FD_MEM_BTREE, dxpl_id, addr, (hsize_t)H5G_node_size(f))<0
+        if(H5MF_xfree(f, H5FD_MEM_BTREE, dxpl_id, addr, (hsize_t)H5G_node_size(f)) < 0
                 || H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, TRUE)<0) {
             sn = NULL;
-            HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to free symbol table node");
-        }
+            HGOTO_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to free symbol table node")
+        } /* end if */
         sn = NULL;
         ret_value = H5B_INS_REMOVE;
     } /* end else */
 
 done:
-    if (sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE)<0)
-	HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to release symbol table node");
+    if(sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) < 0)
+	HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_INS_ERROR, "unable to release symbol table node")
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_node_remove() */
 
 
 /*-------------------------------------------------------------------------
@@ -1455,12 +1421,6 @@
  *		matzke at llnl.gov
  *		Jun 24 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
- *
- *		Quincey Koziol, 2002-04-22
- *		Changed to callback from H5B_iterate
  *-------------------------------------------------------------------------
  */
 int
@@ -1568,8 +1528,6 @@
  * Programmer:  Raymond Lu
  *              Nov 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -1615,8 +1573,6 @@
  * Programmer:  Raymond Lu
  *              Nov 20, 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -1685,7 +1641,6 @@
  * Programmer:  Raymond Lu
  *              Nov 20, 2002
  *
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -1693,35 +1648,38 @@
 		  const void UNUSED *_rt_key, void *_udata)
 {
     H5G_bt_it_ud3_t	*udata = (H5G_bt_it_ud3_t*)_udata;
-    hsize_t             loc_idx;
     H5G_node_t		*sn = NULL;
     int                 ret_value = H5B_ITER_CONT;
 
-    FUNC_ENTER_NOAPI(H5G_node_type, H5B_ITER_ERROR);
+    FUNC_ENTER_NOAPI(H5G_node_type, H5B_ITER_ERROR)
 
     /* Check arguments. */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(udata);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(udata);
 
     /* Find the node, locate the object symbol table entry and retrieve the type */
-    if (NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_READ)))
+    if(NULL == (sn = H5AC_protect(f, dxpl_id, H5AC_SNODE, addr, NULL, NULL, H5AC_READ)))
 	HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5B_ITER_ERROR, "unable to load symbol table node");
 
     if(udata->idx >= udata->num_objs && udata->idx < (udata->num_objs + sn->nsyms)) {
+        hsize_t loc_idx;
+
+        /* Compute index of entry */
         loc_idx = udata->idx - udata->num_objs;
+
         udata->type = H5G_get_type(&(sn->entry[loc_idx]), dxpl_id);
         ret_value = H5B_ITER_STOP;
     } else {
         udata->num_objs += sn->nsyms;
-    }
+    } /* end else */
 
 done:
-    if (sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) != SUCCEED)
+    if(sn && H5AC_unprotect(f, dxpl_id, H5AC_SNODE, addr, sn, FALSE) != SUCCEED)
         HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5B_ITER_ERROR, "unable to release object header");
 
     FUNC_LEAVE_NOAPI(ret_value);
-}
+} /* end H5G_node_type() */
 
 
 /*-------------------------------------------------------------------------
@@ -1757,15 +1715,15 @@
     /* Set up the "global" information for this file's groups */
     shared->type= H5B_SNODE;
     shared->two_k=2*H5F_KVALUE(f,H5B_SNODE);
-    shared->sizeof_rkey = H5G_node_sizeof_rkey(f, NULL);
+    shared->sizeof_rkey = H5F_SIZEOF_SIZE(f);	/*the name offset */
     assert(shared->sizeof_rkey);
     shared->sizeof_rnode = H5B_nodesize(f, shared, &shared->sizeof_keys);
     assert(shared->sizeof_rnode);
     if(NULL==(shared->page=H5FL_BLK_MALLOC(grp_page,shared->sizeof_rnode)))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for B-tree page")
-#ifdef H5_USING_PURIFY
-HDmemset(shared->page,0,shared->sizeof_rnode);
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(shared->page, 0, shared->sizeof_rnode);
+#endif /* H5_CLEAR_MEMORY */
     if(NULL==(shared->nkey=H5FL_SEQ_MALLOC(size_t,(size_t)(2*H5F_KVALUE(f,H5B_SNODE)+1))))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for B-tree page")
 
@@ -1859,9 +1817,6 @@
  *		matzke at llnl.gov
  *		Aug  4 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR and HEAP arguments are passed by value.
  *-------------------------------------------------------------------------
  */
 herr_t

Modified: packages/hdf5/trunk/src/H5Gpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Gpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Gpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -31,21 +32,10 @@
 #include "H5Gprivate.h"
 
 /* Other private headers needed by this file */
-#include "H5ACprivate.h"	/* Metadata cache			  */
+#include "H5ACprivate.h"	/* Metadata cache			*/
 #include "H5Oprivate.h"		/* Object headers		  	*/
 
-/*
- * A symbol table node is a collection of symbol table entries.  It can
- * be thought of as the lowest level of the B-link tree that points to
- * a collection of symbol table entries that belong to a specific symbol
- * table or group.
- */
-typedef struct H5G_node_t {
-    H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */
-                            /* first field in structure */
-    unsigned nsyms;                     /*number of symbols                  */
-    H5G_entry_t *entry;                 /*array of symbol table entries      */
-} H5G_node_t;
+#define H5G_SIZE_HINT   256    /* default root grp size hint         */
 
 /*
  * Shared information for all open group objects
@@ -170,7 +160,22 @@
     /* upward */
 } H5G_bt_it_ud4_t;
 
+/* Enum for H5G_namei actions */
+typedef enum {
+    H5G_NAMEI_TRAVERSE,         /* Just traverse groups */
+    H5G_NAMEI_INSERT            /* Insert entry in group */
+} H5G_namei_act_t ;
+
 /*
+ * During name lookups (see H5G_namei()) we sometimes want information about
+ * a symbolic link or a mount point.  The normal operation is to follow the
+ * symbolic link or mount point and return information about its target.
+ */
+#define H5G_TARGET_NORMAL	0x0000
+#define H5G_TARGET_SLINK	0x0001
+#define H5G_TARGET_MOUNT	0x0002
+
+/*
  * This is the class identifier to give to the B-tree functions.
  */
 H5_DLLVAR H5B_class_t H5B_SNODE[1];
@@ -179,6 +184,17 @@
 H5_DLLVAR const H5AC_class_t H5AC_SNODE[1];
 
 /*
+ * Utility functions
+ */
+H5_DLL H5G_t *H5G_rootof(H5F_t *f);
+H5_DLL const char * H5G_component(const char *name, size_t *size_p);
+H5_DLL herr_t H5G_namei_term_interface(void);
+H5_DLL herr_t H5G_namei(const H5G_entry_t *loc_ent, const char *name,
+    const char **rest/*out*/, H5G_entry_t *grp_ent/*out*/, H5G_entry_t *obj_ent/*out*/,
+    unsigned target, int *nlinks/*out*/, H5G_namei_act_t action,
+    H5G_entry_t *ent, hid_t dxpl_id);
+
+/*
  * Functions that understand symbol tables but not names.  The
  * functions that understand names are exported to the rest of
  * the library and appear in H5Gprivate.h.
@@ -199,7 +215,6 @@
 				  H5G_entry_t *ent, unsigned n);
 H5_DLL herr_t H5G_ent_encode_vec(H5F_t *f, uint8_t **pp,
 				  const H5G_entry_t *ent, unsigned n);
-H5_DLL herr_t H5G_ent_set_name(H5G_entry_t *loc, H5G_entry_t *obj, const char *name);
 
 /* Functions that understand symbol table nodes */
 H5_DLL int H5G_node_iterate (H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t addr,
@@ -210,4 +225,17 @@
 		     const void *_rt_key, void *_udata);
 H5_DLL int H5G_node_type(H5F_t *f, hid_t dxpl_id, const void *_lt_key, haddr_t addr,
 		     const void *_rt_key, void *_udata);
+
+/*
+ * These functions operate on group hierarchy names.
+ */
+H5_DLL herr_t H5G_name_init(H5G_entry_t *name, const char *path);
+H5_DLL herr_t H5G_name_set(H5G_entry_t *loc, H5G_entry_t *obj, const char *name);
+
+/* Testing functions */
+#ifdef H5G_TESTING
+H5_DLL herr_t H5G_user_path_test(hid_t obj_id, char *user_path, size_t *user_path_len, unsigned *user_path_hidden);
+#endif /* H5G_TESTING */
+
 #endif
+

Modified: packages/hdf5/trunk/src/H5Gprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Gprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Gprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -20,11 +21,6 @@
  *
  * Purpose:             Library-visible declarations.
  *
- * Modifications:       Aug 22, 2002
- *                      Pedro Vicente <pvn at ncsa.uiuc.edu>
- *                      Added 'names' field to H5G_entry_t
- *                      Added H5G_replace_name
- *
  *-------------------------------------------------------------------------
  */
 
@@ -78,6 +74,14 @@
     H5G_NCACHED         = 3     /*THIS MUST BE LAST                          */
 } H5G_type_t;
 
+/* Type of operation being performed for call to H5G_name_replace() */
+typedef enum {
+    H5G_NAME_MOVE = 0,          /* H5*move call    */
+    H5G_NAME_UNLINK,            /* H5Gunlink call  */
+    H5G_NAME_MOUNT,             /* H5Fmount call   */
+    H5G_NAME_UNMOUNT            /* H5Funmount call */
+} H5G_names_op_t;
+
 /*
  * A symbol table entry caches these parameters from object header
  * messages...  The values are entered into the symbol table when an object
@@ -109,30 +113,15 @@
     size_t      name_off;               /*offset of name within name heap    */
     haddr_t     header;                 /*file address of object header      */
     H5F_t       *file;                  /*file to which this obj hdr belongs */
+    H5RS_str_t  *full_path_r;           /* Path to object, as seen from root of current file mounting hierarchy */
     H5RS_str_t  *user_path_r;           /* Path to object, as opened by user */
-    H5RS_str_t  *canon_path_r;          /* Path to object, as found in file  */
-    unsigned    user_path_hidden;       /* Whether the user's path is valid  */
+    unsigned    obj_hidden;             /* Whether the object is visible in group hier. */
 } H5G_entry_t;
 
 typedef struct H5G_t H5G_t;
 typedef struct H5G_shared_t H5G_shared_t;
 
-/* Type of operation being performed for call to H5G_replace_name() */
-typedef enum {
-    OP_MOVE = 0,        /* H5*move call    */
-    OP_UNLINK,          /* H5Gunlink call  */
-    OP_MOUNT,           /* H5Fmount call   */
-    OP_UNMOUNT          /* H5Funmount call */
-} H5G_names_op_t;
 
-/* Depth of group entry copy */
-typedef enum {
-    H5G_COPY_NULL,      /* Null destination names */
-    H5G_COPY_LIMITED,   /* Limited copy from source to destination, omitting name & old name fields */
-    H5G_COPY_SHALLOW,   /* Copy from source to destination, including name & old name fields */
-    H5G_COPY_DEEP       /* Deep copy from source to destination, including duplicating name & old name fields */
-} H5G_ent_copy_depth_t;
-
 /*
  * Library prototypes...  These are the ones that other packages routinely
  * call.
@@ -153,9 +142,6 @@
 H5_DLL herr_t H5G_find(H5G_entry_t *loc, const char *name,
                         H5G_entry_t *ent/*out*/, hid_t dxpl_id);
 H5_DLL H5F_t *H5G_insertion_file(H5G_entry_t *loc, const char *name, hid_t dxpl_id);
-H5_DLL  herr_t H5G_replace_name(int type, H5G_entry_t *loc,
-        H5RS_str_t *src_name, H5G_entry_t *src_loc,
-        H5RS_str_t *dst_name, H5G_entry_t *dst_loc, H5G_names_op_t op);
 H5_DLL  herr_t H5G_free_grp_name(H5G_t *grp);
 H5_DLL herr_t H5G_get_shared_count(H5G_t *grp);
 H5_DLL herr_t H5G_mount(H5G_t *grp);
@@ -164,10 +150,10 @@
 /*
  * These functions operate on symbol table nodes.
  */
-H5_DLL herr_t H5G_node_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream,
-			      int indent, int fwidth, haddr_t heap);
 H5_DLL herr_t H5G_node_init(H5F_t *f);
 H5_DLL herr_t H5G_node_close(const H5F_t *f);
+H5_DLL herr_t H5G_node_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream,
+			      int indent, int fwidth, haddr_t heap);
 
 /*
  * These functions operate on symbol table entries.  They're used primarily
@@ -179,9 +165,18 @@
 			      H5G_entry_t *ent/*out*/);
 H5_DLL const H5G_cache_t *H5G_ent_cache(const H5G_entry_t *ent, H5G_type_t *cache_type);
 H5_DLL herr_t H5G_ent_copy(H5G_entry_t *dst, const H5G_entry_t *src,
-            H5G_ent_copy_depth_t depth);
+            H5_copy_depth_t depth);
 H5_DLL herr_t H5G_ent_reset(H5G_entry_t *ent);
-H5_DLL herr_t H5G_free_ent_name(H5G_entry_t *ent);
 H5_DLL herr_t H5G_ent_debug(H5F_t *f, hid_t dxpl_id, const H5G_entry_t *ent, FILE * stream,
 			     int indent, int fwidth, haddr_t heap);
+
+/*
+ * These functions operate on group hierarchy names.
+ */
+H5_DLL herr_t H5G_name_free(H5G_entry_t *ent);
+H5_DLL  herr_t H5G_name_replace(int type, H5G_entry_t *loc,
+        H5RS_str_t *dst_name, H5G_entry_t *dst_loc, H5G_names_op_t op);
+H5_DLL ssize_t H5G_get_name(hid_t id, char *name/*out*/, size_t size);
+
 #endif
+

Modified: packages/hdf5/trunk/src/H5Gpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Gpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Gpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,21 +9,19 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
  *
- * Created:             H5Gproto.h
+ * Created:             H5Gpublic.h
  *                      Jul 11 1997
  *                      Robb Matzke <matzke at llnl.gov>
  *
  * Purpose:             Public declarations for the H5G package (symbol
  *                      tables).
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 #ifndef _H5Gpublic_H
@@ -136,3 +135,4 @@
 }
 #endif
 #endif
+

Modified: packages/hdf5/trunk/src/H5Gstab.c
===================================================================
--- packages/hdf5/trunk/src/H5Gstab.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Gstab.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer: Robb Matzke <matzke at llnl.gov>
@@ -43,24 +44,20 @@
  *		item in the heap is the empty string, and must appear at
  *		heap offset zero.
  *
- * Errors:
- *
  * Return:	Non-negative on success/Negative on failure
  *
  * Programmer:	Robb Matzke
  *		matzke at llnl.gov
  *		Aug  1 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5G_stab_create(H5F_t *f, hid_t dxpl_id, size_t init, H5G_entry_t *self/*out*/)
 {
-    size_t		    name;	/*offset of "" name	*/
+    size_t	name_offset;	        /* Offset of "" name	*/
     H5O_stab_t		    stab;	/*symbol table message	*/
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;    /* Return value */
 
     FUNC_ENTER_NOAPI(H5G_stab_create, FAIL)
 
@@ -72,17 +69,17 @@
     init = MAX(init, H5HL_SIZEOF_FREE(f) + 2);
 
     /* Create symbol table private heap */
-    if (H5HL_create(f, dxpl_id, init, &(stab.heap_addr)/*out*/)<0)
+    if(H5HL_create(f, dxpl_id, init, &(stab.heap_addr)/*out*/)<0)
 	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't create heap")
-    name = H5HL_insert(f, dxpl_id, stab.heap_addr, 1, "");
-    if ((size_t)(-1)==name)
+    name_offset = H5HL_insert(f, dxpl_id, stab.heap_addr, 1, "");
+    if((size_t)(-1) == name_offset)
 	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't initialize heap")
 
     /*
      * B-tree's won't work if the first name isn't at the beginning
      * of the heap.
      */
-    assert(0 == name);
+    HDassert(0 == name_offset);
 
     /* Create the B-tree */
     if (H5B_create(f, dxpl_id, H5B_SNODE, NULL, &(stab.btree_addr)/*out*/) < 0)
@@ -164,7 +161,7 @@
         HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "not found")
 
     /* Set the name for the symbol entry OBJ_ENT */
-    if (H5G_ent_set_name( grp_ent, obj_ent, name ) < 0)
+    if (H5G_name_set( grp_ent, obj_ent, name ) < 0)
         HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "cannot insert name")
 
 done:
@@ -191,25 +188,21 @@
 H5G_stab_insert(H5G_entry_t *grp_ent, const char *name, H5G_entry_t *obj_ent,
     hbool_t inc_link, hid_t dxpl_id)
 {
-    H5O_stab_t		stab;		/*symbol table message		*/
+    H5O_stab_t		stab;		/* Symbol table message		*/
     H5G_bt_ud1_t	udata;		/*data to pass through B-tree	*/
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t              ret_value = SUCCEED;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5G_stab_insert, FAIL)
 
     /* check arguments */
-    assert(grp_ent && grp_ent->file);
-    assert(name && *name);
-    assert(obj_ent && obj_ent->file);
-    if (grp_ent->file->shared != obj_ent->file->shared)
+    HDassert(grp_ent && grp_ent->file);
+    HDassert(name && *name);
+    HDassert(obj_ent && obj_ent->file);
+    if(grp_ent->file->shared != obj_ent->file->shared)
 	HGOTO_ERROR(H5E_SYM, H5E_LINK, FAIL, "interfile hard links are not allowed")
 
-    /* Set the name for the symbol entry OBJ_ENT */
-    if (H5G_ent_set_name( grp_ent, obj_ent, name ) < 0)
-        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "cannot insert name")
-
     /* initialize data to pass through B-tree */
-    if (NULL == H5O_read(grp_ent, H5O_STAB_ID, 0, &stab, dxpl_id))
+    if(NULL == H5O_read(grp_ent, H5O_STAB_ID, 0, &stab, dxpl_id))
 	HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "not a symbol table")
 
     udata.common.name = name;
@@ -217,17 +210,21 @@
     udata.ent = obj_ent;
 
     /* insert */
-    if (H5B_insert(grp_ent->file, dxpl_id, H5B_SNODE, stab.btree_addr, &udata) < 0)
+    if(H5B_insert(grp_ent->file, dxpl_id, H5B_SNODE, stab.btree_addr, &udata) < 0)
 	HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "unable to insert entry")
 
+    /* Set the name for the symbol entry OBJ_ENT */
+    if(H5G_name_set(grp_ent, obj_ent, name) < 0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "cannot insert name")
+
     /* Increment link count on object, if appropriate */
     if(inc_link)
         if (H5O_link(obj_ent, 1, dxpl_id) < 0)
             HGOTO_ERROR(H5E_SYM, H5E_LINK, FAIL, "unable to increment hard link count")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5G_stab_insert() */
 
 
 /*-------------------------------------------------------------------------
@@ -240,8 +237,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, September 17, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -253,23 +248,25 @@
 
     FUNC_ENTER_NOAPI(H5G_stab_remove, FAIL)
 
-    assert(grp_ent && grp_ent->file);
-    assert(name && *name);
+    HDassert(grp_ent && grp_ent->file);
+    HDassert(name && *name);
 
     /* initialize data to pass through B-tree */
-    if (NULL==H5O_read(grp_ent, H5O_STAB_ID, 0, &stab, dxpl_id))
-	HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "not a symbol table")
+    if(NULL == H5O_read(grp_ent, H5O_STAB_ID, 0, &stab, dxpl_id))
+        HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "not a symbol table")
+
+    /* Initialize data to pass through B-tree */
     udata.common.name = name;
     udata.common.heap_addr = stab.heap_addr;
     udata.adj_link = TRUE;
 
-    /* remove */
-    if (H5B_remove(grp_ent->file, dxpl_id, H5B_SNODE, stab.btree_addr, &udata)<0)
-	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to remove entry")
+    /* Remove */
+    if(H5B_remove(grp_ent->file, dxpl_id, H5B_SNODE, stab.btree_addr, &udata)<0)
+        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to remove entry")
 
 done:
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* end H5G_stab_remove() */
 
 
 /*-------------------------------------------------------------------------

Copied: packages/hdf5/trunk/src/H5Gtest.c (from rev 1094, packages/hdf5/branches/upstream/current/src/H5Gtest.c)
===================================================================
--- packages/hdf5/trunk/src/H5Gtest.c	                        (rev 0)
+++ packages/hdf5/trunk/src/H5Gtest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,118 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>
+ *              Monday, December 19, 2005
+ *
+ * Purpose:	Group testing functions.
+ */
+
+#define H5G_PACKAGE		/*suppress error about including H5Gpkg	  */
+#define H5G_TESTING		/*suppress warning about H5G testing funcs*/
+
+
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Dprivate.h"		/* Datasets				*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
+#include "H5Gpkg.h"		/* Groups		  		*/
+#include "H5HLprivate.h"	/* Local Heaps				*/
+#include "H5Iprivate.h"		/* IDs			  		*/
+
+
+/*--------------------------------------------------------------------------
+ NAME
+    H5G_user_path_test
+ PURPOSE
+    Retrieve the user path for an ID
+ USAGE
+    herr_t H5G_user_path_test(obj_id, user_path, user_path_len)
+        hid_t obj_id;           IN: ID to check
+        char *user_path;        OUT: Pointer to buffer for User path
+        size_t *user_path_len;  OUT: Size of user path
+        unsigned *obj_hidden;   OUT: Whether object is hidden
+ RETURNS
+    Non-negative on success, negative on failure
+ DESCRIPTION
+    Retrieves the user path for an ID.  A zero for the length is returned in
+    the case of no user path.
+ GLOBAL VARIABLES
+ COMMENTS, BUGS, ASSUMPTIONS
+    DO NOT USE THIS FUNCTION FOR ANYTHING EXCEPT TESTING
+ EXAMPLES
+ REVISION LOG
+--------------------------------------------------------------------------*/
+herr_t
+H5G_user_path_test(hid_t obj_id, char *user_path, size_t *user_path_len, unsigned *obj_hidden)
+{
+    void *obj_ptr;              /* Pointer to object for ID */
+    H5G_entry_t *obj_ent;       /* Pointer to symbol table entry for obj */
+    herr_t ret_value = SUCCEED; /* Return value */
+
+    FUNC_ENTER_NOAPI(H5G_user_path_test, FAIL)
+
+    /* Sanity check */
+    HDassert(user_path_len);
+    HDassert(obj_hidden);
+
+    /* Get pointer to object for ID */
+    if(NULL == (obj_ptr = H5I_object(obj_id)))
+         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get object for ID")
+
+    /* Get the symbol table entry */
+    switch(H5I_get_type(obj_id)) {
+        case H5I_GROUP:
+            obj_ent = H5G_entof((H5G_t *)obj_ptr);
+            break;
+
+        case H5I_DATASET:
+            obj_ent = H5D_entof((H5D_t *)obj_ptr);
+            break;
+
+        case H5I_DATATYPE:
+            /* Avoid non-named datatypes */
+            if(!H5T_is_named((H5T_t *)obj_ptr))
+                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a named datatype")
+
+            obj_ent = H5T_entof((H5T_t *)obj_ptr);
+            break;
+
+        default:
+            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unknown data object type")
+    } /* end switch */
+    HDassert(obj_ent);
+
+    /* Retrieve a copy of the user path and put it into the buffer */
+    if(obj_ent->user_path_r) {
+        size_t len = H5RS_len(obj_ent->user_path_r);
+
+        /* Set the user path, if given */
+        if(user_path)
+            HDstrcpy(user_path, H5RS_get_str(obj_ent->user_path_r));
+
+        /* Set the length of the path */
+        *user_path_len = len;
+
+        /* Set the user path hidden flag */
+        *obj_hidden = obj_ent->obj_hidden;
+    } /* end if */
+    else {
+        *user_path_len = 0;
+        *obj_hidden = 0;
+    } /* end else */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+}   /* H5G_user_path_test() */
+

Copied: packages/hdf5/trunk/src/H5Gtraverse.c (from rev 1094, packages/hdf5/branches/upstream/current/src/H5Gtraverse.c)
===================================================================
--- packages/hdf5/trunk/src/H5Gtraverse.c	                        (rev 0)
+++ packages/hdf5/trunk/src/H5Gtraverse.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,462 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*-------------------------------------------------------------------------
+ *
+ * Created:		H5Gtraverse.c
+ *			Dec 19 2005
+ *			Quincey Koziol <koziol at ncsa.uiuc.edu>
+ *
+ * Purpose:		Functions for traversing group hierarchy
+ *
+ *-------------------------------------------------------------------------
+ */
+#define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */
+#define H5G_PACKAGE		/*suppress error about including H5Gpkg	  */
+
+/* Packages needed by this file... */
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
+#include "H5Fpkg.h"		/* File access				*/
+#include "H5Gpkg.h"		/* Groups		  		*/
+#include "H5HLprivate.h"	/* Local Heaps				*/
+#ifdef QAK
+#include "H5Iprivate.h"		/* IDs			  		*/
+#endif /* QAK */
+#include "H5MMprivate.h"	/* Memory management			*/
+
+/* Private typedefs */
+
+/* Private macros */
+
+/* Local variables */
+static char *H5G_comp_g = NULL;                 /*component buffer      */
+static size_t H5G_comp_alloc_g = 0;             /*sizeof component buffer */
+
+/* PRIVATE PROTOTYPES */
+static herr_t H5G_traverse_slink(H5G_entry_t *grp_ent/*in,out*/,
+    H5G_entry_t *obj_ent/*in,out*/, int *nlinks/*in,out*/, hid_t dxpl_id);
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5G_namei_term_interface
+ *
+ * Purpose:	Terminates part  of the H5G interface - free the global
+ *              component buffer.
+ *
+ * Return:	Success:	Non-negative.
+ *
+ * 		Failure:	Negative.
+ *
+ * Programmer:	Quincey Koziol
+ *		Monday, September	26, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5G_namei_term_interface(void)
+{
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5G_namei_term_interface)
+
+    /* Free the global component buffer */
+    H5G_comp_g = H5MM_xfree(H5G_comp_g);
+    H5G_comp_alloc_g = 0;
+
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5G_namei_term_interface() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5G_traverse_slink
+ *
+ * Purpose:	Traverses symbolic link.  The link head appears in the group
+ *		whose entry is GRP_ENT and the link head entry is OBJ_ENT.
+ *
+ * Return:	Success:	Non-negative, OBJ_ENT will contain information
+ *				about the object to which the link points and
+ *				GRP_ENT will contain the information about
+ *				the group in which the link tail appears.
+ *
+ *		Failure:	Negative
+ *
+ * Programmer:	Robb Matzke
+ *              Friday, April 10, 1998
+ *
+ * Modifications:
+ *
+ *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
+ *      Added `id to name' support.
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5G_traverse_slink (H5G_entry_t *grp_ent/*in,out*/,
+		    H5G_entry_t *obj_ent/*in,out*/,
+		    int *nlinks/*in,out*/, hid_t dxpl_id)
+{
+    H5O_stab_t		stab_mesg;		/*info about local heap	*/
+    const char		*clv = NULL;		/*cached link value	*/
+    char		*linkval = NULL;	/*the copied link value	*/
+    H5G_entry_t         tmp_grp_ent;            /* Temporary copy of group entry */
+    H5RS_str_t          *tmp_full_path_r = NULL, *tmp_user_path_r = NULL; /* Temporary pointer to object's user path & canonical path */
+    const H5HL_t        *heap;
+    herr_t      ret_value=SUCCEED;       /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5G_traverse_slink);
+
+    /* Portably initialize the temporary group entry */
+    H5G_ent_reset(&tmp_grp_ent);
+
+    /* Get the link value */
+    if (NULL==H5O_read (grp_ent, H5O_STAB_ID, 0, &stab_mesg, dxpl_id))
+	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address");
+
+    if (NULL == (heap = H5HL_protect(grp_ent->file, dxpl_id, stab_mesg.heap_addr)))
+	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read protect link value")
+
+    clv = H5HL_offset_into(grp_ent->file, heap, obj_ent->cache.slink.lval_offset);
+
+    linkval = H5MM_xstrdup (clv);
+    assert(linkval);
+
+    if (H5HL_unprotect(grp_ent->file, dxpl_id, heap, stab_mesg.heap_addr) < 0)
+	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read unprotect link value")
+
+    /* Hold the entry's name (& old_name) to restore later */
+    tmp_full_path_r = obj_ent->full_path_r;
+    obj_ent->full_path_r = NULL;
+    tmp_user_path_r = obj_ent->user_path_r;
+    obj_ent->user_path_r = NULL;
+
+    /* Free the names for the group entry */
+    H5G_name_free(grp_ent);
+
+    /* Clone the group entry, so we can track the names properly */
+    H5G_ent_copy(&tmp_grp_ent,grp_ent,H5_COPY_DEEP);
+
+    /* Traverse the link */
+    if (H5G_namei (&tmp_grp_ent, linkval, NULL, grp_ent, obj_ent, H5G_TARGET_NORMAL, nlinks, H5G_NAMEI_TRAVERSE, NULL, dxpl_id))
+	HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "unable to follow symbolic link");
+
+    /* Free the entry's names, we will use the original name for the object */
+    H5G_name_free(obj_ent);
+
+    /* Restore previous name for object */
+    obj_ent->full_path_r = tmp_full_path_r;
+    tmp_full_path_r = NULL;
+    obj_ent->user_path_r = tmp_user_path_r;
+    tmp_user_path_r = NULL;
+
+done:
+    /* Error cleanup */
+    if(tmp_full_path_r)
+        H5RS_decr(tmp_full_path_r);
+    if(tmp_user_path_r)
+        H5RS_decr(tmp_user_path_r);
+
+    /* Release cloned copy of group entry */
+    H5G_name_free(&tmp_grp_ent);
+
+    H5MM_xfree (linkval);
+    FUNC_LEAVE_NOAPI(ret_value);
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5G_namei
+ *
+ * Purpose:	Translates a name to a symbol table entry.
+ *
+ *		If the specified name can be fully resolved, then this
+ *		function returns the symbol table entry for the named object
+ *		through the OBJ_ENT argument. The symbol table entry for the
+ *		group containing the named object is returned through the
+ *		GRP_ENT argument if it is non-null.  However, if the name
+ *		refers to the root object then the GRP_ENT will be
+ *		initialized with an undefined object header address.  The
+ *		REST argument, if present, will point to the null terminator
+ *		of NAME.
+ *
+ *		If the specified name cannot be fully resolved, then OBJ_ENT
+ *		is initialized with the undefined object header address. The
+ *		REST argument will point into the NAME argument to the start
+ *		of the component that could not be located.  The GRP_ENT will
+ *		contain the entry for the symbol table that was being
+ *		searched at the time of the failure and will have an
+ *		undefined object header address if the search failed at the
+ *		root object. For instance, if NAME is `/foo/bar/baz' and the
+ *		root directory exists and contains an entry for `foo', and
+ *		foo is a group that contains an entry for bar, but bar is not
+ *		a group, then the results will be that REST points to `baz',
+ *		OBJ_ENT has an undefined object header address, and GRP_ENT
+ *		is the symbol table entry for `bar' in `/foo'.
+ *
+ *		Every file has a root group whose name is `/'.  Components of
+ *		a name are separated from one another by one or more slashes
+ *		(/).  Slashes at the end of a name are ignored.  If the name
+ *		begins with a slash then the search begins at the root group
+ *		of the file containing LOC_ENT. Otherwise it begins at
+ *		LOC_ENT.  The component `.' is a no-op, but `..' is not
+ *		understood by this function (unless it appears as an entry in
+ *		the symbol table).
+ *
+ *		Symbolic links are followed automatically, but if TARGET
+ *		includes the H5G_TARGET_SLINK bit and the last component of
+ *		the name is a symbolic link then that link is not followed.
+ *		The *NLINKS value is decremented each time a link is followed
+ *		and link traversal fails if the value would become negative.
+ *		If NLINKS is the null pointer then a default value is used.
+ *
+ *		Mounted files are handled by calling H5F_mountpoint() after
+ *		each step of the translation.  If the input argument to that
+ *		function is a mount point then the argument shall be replaced
+ *		with information about the root group of the mounted file.
+ *		But if TARGET includes the H5G_TARGET_MOUNT bit and the last
+ *		component of the name is a mount point then H5F_mountpoint()
+ *		is not called and information about the mount point itself is
+ *		returned.
+ *
+ * Errors:
+ *
+ * Return:	Success:	Non-negative if name can be fully resolved.
+ *				See above for values of REST, GRP_ENT, and
+ *				OBJ_ENT.  NLINKS has been decremented for
+ *				each symbolic link that was followed.
+ *
+ *		Failure:	Negative if the name could not be fully
+ *				resolved. See above for values of REST,
+ *				GRP_ENT, and OBJ_ENT.
+ *
+ * Programmer:	Robb Matzke
+ *		matzke at llnl.gov
+ *		Aug 11 1997
+ *
+ * Modifications:
+ *      Robb Matzke, 2002-03-28
+ *      The component name buffer on the stack has been replaced by
+ *      a dynamically allocated buffer on the heap in order to
+ *      remove limitations on the length of a name component.
+ *      There are two reasons that the buffer pointer is global:
+ *        (1) We want to be able to reuse the buffer without
+ *            allocating and freeing it each time this function is
+ *            called.
+ *        (2) We need to be able to free it from H5G_term_interface()
+ *            when the library terminates.
+ *
+ *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
+ *      Modified to deep copies of symbol table entries
+ *      Added `id to name' support.
+ *
+ *      Quincey Koziol, 2003-01-06
+ *      Added "action" and "ent" parameters to allow different actions when
+ *      working on the last component of a name.  (Specifically, this allows
+ *      inserting an entry into a group, instead of trying to look it up)
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5G_namei(const H5G_entry_t *loc_ent, const char *name, const char **rest/*out*/,
+	  H5G_entry_t *grp_ent/*out*/, H5G_entry_t *obj_ent/*out*/,
+	  unsigned target, int *nlinks/*out*/, H5G_namei_act_t action,
+          H5G_entry_t *ent, hid_t dxpl_id)
+{
+    H5G_entry_t		  _grp_ent;     /*entry for current group	*/
+    H5G_entry_t		  _obj_ent;     /*entry found			*/
+    size_t		  nchars;	/*component name length		*/
+    int			  _nlinks = H5G_NLINKS;
+    const char		   *s = NULL;
+    unsigned null_obj;          /* Flag to indicate this function was called with obj_ent set to NULL */
+    unsigned null_grp;          /* Flag to indicate this function was called with grp_ent set to NULL */
+    unsigned obj_copy = 0;      /* Flag to indicate that the object entry is copied */
+    unsigned group_copy = 0;    /* Flag to indicate that the group entry is copied */
+    unsigned last_comp = 0;     /* Flag to indicate that a component is the last component in the name */
+    unsigned did_insert = 0;    /* Flag to indicate that H5G_stab_insert was called */
+    herr_t      ret_value=SUCCEED;       /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5G_namei);
+
+    /* Set up "out" parameters */
+    if (rest)
+        *rest = name;
+    if (!grp_ent) {
+        grp_ent = &_grp_ent;
+        null_grp = 1;
+    } /* end if */
+    else
+        null_grp = 0;
+    if (!obj_ent) {
+        obj_ent = &_obj_ent;
+        null_obj = 1;
+    } /* end if */
+    else
+        null_obj = 0;
+    if (!nlinks)
+        nlinks = &_nlinks;
+
+    /* Check args */
+    if (!name || !*name)
+        HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "no name given");
+    if (!loc_ent)
+        HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "no current working group");
+
+    /*
+     * Where does the searching start?  For absolute names it starts at the
+     * root of the file; for relative names it starts at CWG.
+     */
+    /* Check if we need to get the root group's entry */
+    if('/' == *name) {
+        H5G_t *tmp_grp;         /* Temporary pointer to root group of file */
+
+        /* Look up root group for starting location */
+        tmp_grp = H5G_rootof(loc_ent->file);
+        HDassert(tmp_grp);
+
+        /* Set the location entry to the root group's entry*/
+        loc_ent = &(tmp_grp->ent);
+    } /* end if */
+
+    /* Deep copy of the symbol table entry (duplicates strings) */
+    if(H5G_ent_copy(obj_ent, loc_ent, H5_COPY_DEEP) < 0)
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, FAIL, "unable to copy entry")
+    obj_copy = 1;
+
+    H5G_ent_reset(grp_ent);
+
+    /* Check for needing a larger buffer for the individual path name components */
+    if(HDstrlen(name) + 1 > H5G_comp_alloc_g) {
+        H5G_comp_alloc_g = MAX3(1024, 2 * H5G_comp_alloc_g, HDstrlen(name) + 1);
+        H5G_comp_g = H5MM_realloc(H5G_comp_g, H5G_comp_alloc_g);
+        if(!H5G_comp_g) {
+            H5G_comp_alloc_g = 0;
+            HGOTO_ERROR(H5E_SYM, H5E_NOSPACE, FAIL, "unable to allocate component buffer")
+        } /* end if */
+    } /* end if */
+
+    /* traverse the name */
+    while ((name = H5G_component(name, &nchars)) && *name) {
+        /* Update the "rest of name" pointer */
+	if(rest)
+            *rest = name;
+
+	/*
+	 * Copy the component name into a null-terminated buffer so
+	 * we can pass it down to the other symbol table functions.
+	 */
+	HDmemcpy(H5G_comp_g, name, nchars);
+	H5G_comp_g[nchars] = '\0';
+
+	/*
+	 * The special name `.' is a no-op.
+	 */
+	if ('.' == H5G_comp_g[0] && !H5G_comp_g[1]) {
+	    name += nchars;
+	    continue;
+	} /* end if */
+
+	/*
+	 * Advance to the next component of the name.
+	 */
+        /* If we've already copied a new entry into the group entry,
+         * it needs to be freed before overwriting it with another entry
+         */
+	if(group_copy)
+            H5G_name_free(grp_ent);
+
+        /* Transfer "ownership" of the entry's information to the group entry */
+        H5G_ent_copy(grp_ent, obj_ent, H5_COPY_SHALLOW);
+        H5G_ent_reset(obj_ent);
+
+	/* Set flag that we've copied a new entry into the group entry */
+	group_copy = 1;
+
+        /* Check if this is the last component of the name */
+        if(!((s=H5G_component(name+nchars, NULL)) && *s))
+            last_comp=1;
+
+        switch(action) {
+            case H5G_NAMEI_TRAVERSE:
+                if (H5G_stab_find(grp_ent, H5G_comp_g, obj_ent/*out*/, dxpl_id )<0) {
+                    /*
+                     * Component was not found in the current symbol table, possibly
+                     * because GRP_ENT isn't a symbol table.
+                     */
+                    HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "component not found");
+                }
+                break;
+
+            case H5G_NAMEI_INSERT:
+                if(!last_comp) {
+                    if (H5G_stab_find(grp_ent, H5G_comp_g, obj_ent/*out*/, dxpl_id )<0) {
+                        /*
+                         * Component was not found in the current symbol table, possibly
+                         * because GRP_ENT isn't a symbol table.
+                         */
+                        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "component not found");
+                    }
+                } /* end if */
+                else {
+                    did_insert = 1;
+                    if(H5G_stab_insert(grp_ent, H5G_comp_g, ent, TRUE, dxpl_id) < 0)
+                        HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "unable to insert name")
+                    HGOTO_DONE(SUCCEED);
+                } /* end else */
+                break;
+        } /* end switch */
+
+	/*
+	 * If we found a symbolic link then we should follow it.  But if this
+	 * is the last component of the name and the H5G_TARGET_SLINK bit of
+	 * TARGET is set then we don't follow it.
+	 */
+	if(H5G_CACHED_SLINK==obj_ent->type &&
+                (0==(target & H5G_TARGET_SLINK) || !last_comp)) {
+	    if ((*nlinks)-- <= 0)
+		HGOTO_ERROR (H5E_SYM, H5E_SLINK, FAIL, "too many links");
+	    if (H5G_traverse_slink (grp_ent, obj_ent, nlinks, dxpl_id)<0)
+		HGOTO_ERROR (H5E_SYM, H5E_NOTFOUND, FAIL, "symbolic link traversal failed");
+	}
+
+	/*
+	 * Resolve mount points to the mounted group.  Do not do this step if
+	 * the H5G_TARGET_MOUNT bit of TARGET is set and this is the last
+	 * component of the name.
+	 */
+	if (0==(target & H5G_TARGET_MOUNT) || !last_comp)
+	    H5F_mountpoint(obj_ent/*in,out*/);
+
+	/* next component */
+	name += nchars;
+    } /* end while */
+
+    /* Update the "rest of name" pointer */
+    if (rest)
+        *rest = name; /*final null */
+
+    /* If this was an insert, make sure that the insert function was actually
+     * called (this catches no-op names like "." and "/") */
+     if(action == H5G_NAMEI_INSERT && !did_insert)
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "group already exists");
+
+done:
+    /* If we started with a NULL obj_ent, free the entry information */
+    if(null_obj || (ret_value < 0 && obj_copy))
+        H5G_name_free(obj_ent);
+    /* If we started with a NULL grp_ent and we copied something into it, free the entry information */
+    if(null_grp && group_copy)
+        H5G_name_free(grp_ent);
+
+   FUNC_LEAVE_NOAPI(ret_value);
+}
+

Modified: packages/hdf5/trunk/src/H5HG.c
===================================================================
--- packages/hdf5/trunk/src/H5HG.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HG.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -215,9 +216,9 @@
     if (NULL==(heap->chunk = H5FL_BLK_MALLOC (heap_chunk,size)))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, HADDR_UNDEF, \
                      "memory allocation failed");
-#ifdef H5_USING_PURIFY
-HDmemset(heap->chunk,0,size);
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(heap->chunk, 0, size);
+#endif /* H5_CLEAR_MEMORY */
     heap->nalloc = H5HG_NOBJS (f, size);
     heap->nused = 1; /* account for index 0, which is used for the free object */
     if (NULL==(heap->obj = H5FL_SEQ_MALLOC (H5HG_obj_t,heap->nalloc)))
@@ -448,26 +449,24 @@
      * necessary to make room. We remove the right-most entry that has less
      * free space than this heap.
      */
-    if (heap->obj[0].size>0) {
-	if (!f->shared->cwfs) {
-	    f->shared->cwfs = H5MM_malloc (H5HG_NCWFS*sizeof(H5HG_heap_t*));
-	    if (NULL==f->shared->cwfs)
-		HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-	    f->shared->ncwfs = 1;
-	    f->shared->cwfs[0] = heap;
-	} else if (H5HG_NCWFS==f->shared->ncwfs) {
-	    for (i=H5HG_NCWFS-1; i>=0; --i) {
-		if (f->shared->cwfs[i]->obj[0].size < heap->obj[0].size) {
-		    HDmemmove (f->shared->cwfs+1, f->shared->cwfs, i * sizeof(H5HG_heap_t*));
-		    f->shared->cwfs[0] = heap;
-		    break;
-		}
-	    }
-	} else {
-	    HDmemmove (f->shared->cwfs+1, f->shared->cwfs, f->shared->ncwfs*sizeof(H5HG_heap_t*));
-	    f->shared->ncwfs += 1;
-	    f->shared->cwfs[0] = heap;
-	}
+    if (!f->shared->cwfs) {
+        f->shared->cwfs = H5MM_malloc (H5HG_NCWFS*sizeof(H5HG_heap_t*));
+        if (NULL==f->shared->cwfs)
+            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+        f->shared->ncwfs = 1;
+        f->shared->cwfs[0] = heap;
+    } else if (H5HG_NCWFS==f->shared->ncwfs) {
+        for (i=H5HG_NCWFS-1; i>=0; --i) {
+            if (f->shared->cwfs[i]->obj[0].size < heap->obj[0].size) {
+                HDmemmove (f->shared->cwfs+1, f->shared->cwfs, i * sizeof(H5HG_heap_t*));
+                f->shared->cwfs[0] = heap;
+                break;
+            }
+        }
+    } else {
+        HDmemmove (f->shared->cwfs+1, f->shared->cwfs, f->shared->ncwfs*sizeof(H5HG_heap_t*));
+        f->shared->ncwfs += 1;
+        f->shared->cwfs[0] = heap;
     }
 
     ret_value = heap;
@@ -564,8 +563,11 @@
             break;
         }
     }
-    heap->chunk = H5FL_BLK_FREE(heap_chunk,heap->chunk);
-    heap->obj = H5FL_SEQ_FREE(H5HG_obj_t,heap->obj);
+
+    if (heap->chunk)
+        heap->chunk = H5FL_BLK_FREE(heap_chunk,heap->chunk);
+    if (heap->obj)
+        heap->obj = H5FL_SEQ_FREE(H5HG_obj_t,heap->obj);
     H5FL_FREE (H5HG_heap_t,heap);
 
     FUNC_LEAVE_NOAPI(SUCCEED);
@@ -809,9 +811,9 @@
     /* Re-allocate the heap information in memory */
     if (NULL==(new_chunk = H5FL_BLK_REALLOC (heap_chunk, heap->chunk, heap->size+need)))
         HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "new heap allocation failed");
-#ifdef H5_USING_PURIFY
-HDmemset(new_chunk+heap->size,0,need);
-#endif /* H5_USING_PURIFY */
+#ifdef H5_CLEAR_MEMORY
+HDmemset(new_chunk + heap->size, 0, need);
+#endif /* H5_CLEAR_MEMORY */
 
     /* Adjust the size of the heap */
     old_size=heap->size;

Modified: packages/hdf5/trunk/src/H5HGdbg.c
===================================================================
--- packages/hdf5/trunk/src/H5HGdbg.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HGdbg.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5HGpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5HGpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HGpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5HGprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5HGprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HGprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5HGpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5HGpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HGpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5HL.c
===================================================================
--- packages/hdf5/trunk/src/H5HL.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HL.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5HLdbg.c
===================================================================
--- packages/hdf5/trunk/src/H5HLdbg.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HLdbg.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5HLpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5HLpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HLpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5HLprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5HLprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HLprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5HLpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5HLpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HLpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5HP.c
===================================================================
--- packages/hdf5/trunk/src/H5HP.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HP.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5HPprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5HPprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5HPprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5I.c
===================================================================
--- packages/hdf5/trunk/src/H5I.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5I.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -1303,39 +1304,23 @@
  *  If a zero is returned for the name's length, then there is no name
  *  associated with the ID.
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 ssize_t
 H5Iget_name(hid_t id, char *name/*out*/, size_t size)
 {
-    H5G_entry_t   *ent;       /*symbol table entry */
-    size_t        len=0;
     ssize_t       ret_value;
 
-    FUNC_ENTER_API (H5Iget_name, FAIL);
+    FUNC_ENTER_API(H5Iget_name, FAIL)
     H5TRACE3("Zs","ixz",id,name,size);
 
-    /* get symbol table entry */
-    if(NULL!=(ent = H5G_loc(id))) {
-        if (ent->user_path_r != NULL && ent->user_path_hidden==0) {
-            len = H5RS_len(ent->user_path_r);
+    /* Call internal group routine to retrieve object's name */
+    if((ret_value = H5G_get_name(id, name, size)) < 0)
+	HGOTO_ERROR(H5E_ATOM, H5E_CANTGET, FAIL, "can't retrieve object name")
 
-            if(name) {
-                HDstrncpy(name, H5RS_get_str(ent->user_path_r), MIN(len+1,size));
-                if(len >= size)
-                    name[size-1]='\0';
-            } /* end if */
-        } /* end if */
-    } /* end if */
-
-    /* Set return value */
-    ret_value=(ssize_t)len;
-
 done:
-    FUNC_LEAVE_API(ret_value);
-}
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Iget_name() */
 
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5Ipkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Ipkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ipkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Iprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Iprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Iprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-----------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5Ipublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Ipublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ipublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5MF.c
===================================================================
--- packages/hdf5/trunk/src/H5MF.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5MF.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5MFprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5MFprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5MFprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5MM.c
===================================================================
--- packages/hdf5/trunk/src/H5MM.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5MM.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5MMprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5MMprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5MMprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5MMpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5MMpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5MMpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5MPprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5MPprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5MPprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -367,7 +368,6 @@
 #define color_H5Sget_simple_extent_ndims "red"
 #define color_H5Sget_simple_extent_dims "red"
 #define color_H5Sis_simple "red"
-#define color_H5Sset_space "red"
 #define color_H5Sget_select_npoints "red"
 #define color_H5Sselect_hyperslab "red"
 #define color_H5Scombine_hyperslab "red"

Modified: packages/hdf5/trunk/src/H5O.c
===================================================================
--- packages/hdf5/trunk/src/H5O.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5O.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -20,8 +21,6 @@
  *
  * Purpose:		Object header virtual functions.
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 
@@ -47,6 +46,26 @@
 #include <sys/time.h>
 #endif /* H5_HAVE_GETTIMEOFDAY */
 
+/* Local macros */
+
+/* Load native information for a message, if it's not already present */
+/* (Only works for messages with decode callback) */
+#define LOAD_NATIVE(F, DXPL, MSG, ERR)                                        \
+    if(NULL == (MSG)->native) {                                               \
+        const H5O_msg_class_t	*decode_type;                                 \
+                                                                              \
+        /* Check for shared message */                                        \
+        if ((MSG)->flags & H5O_FLAG_SHARED)                                   \
+            decode_type = H5O_MSG_SHARED;                                     \
+        else                                                                  \
+            decode_type = (MSG)->type;                                        \
+                                                                              \
+        /* Decode the message */                                              \
+        HDassert(decode_type->decode);                                        \
+        if(NULL == ((MSG)->native = (decode_type->decode)((F), (DXPL), (MSG)->raw))) \
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, ERR, "unable to decode message") \
+    } /* end if */
+
 /* Private typedefs */
 
 /* User data for iteration while removing a message */
@@ -64,31 +83,91 @@
 typedef herr_t (*H5O_operator_int_t)(H5O_mesg_t *mesg/*in,out*/, unsigned idx,
     unsigned * oh_flags_ptr, void *operator_data/*in,out*/);
 
+/* Package variables */
+
+/* Header message ID to class mapping */
+const H5O_msg_class_t *const H5O_msg_class_g[] = {
+    H5O_MSG_NULL,		/*0x0000 Null				*/
+    H5O_MSG_SDSPACE,		/*0x0001 Simple Dimensionality		*/
+    NULL,		/*0x0002 Data space (fiber bundle?)		*/
+    H5O_MSG_DTYPE,		/*0x0003 Data Type			*/
+    H5O_MSG_FILL,       	/*0x0004 Old data storage -- fill value */
+    H5O_MSG_FILL_NEW,		/*0x0005 New Data storage -- fill value */
+    NULL,		/*0x0006 Data storage -- compact object		*/
+    H5O_MSG_EFL,		/*0x0007 Data storage -- external data files */
+    H5O_MSG_LAYOUT,		/*0x0008 Data Layout			*/
+#ifdef H5O_ENABLE_BOGUS
+    H5O_MSG_BOGUS,		/*0x0009 "Bogus"			*/
+#else /* H5O_ENABLE_BOGUS */
+    NULL,			/*0x0009 "Bogus"			*/
+#endif /* H5O_ENABLE_BOGUS */
+    NULL,		/*0x000A Not assigned				*/
+    H5O_MSG_PLINE,		/*0x000B Data storage -- filter pipeline */
+    H5O_MSG_ATTR,		/*0x000C Attribute list			*/
+    H5O_MSG_NAME,		/*0x000D Object name			*/
+    H5O_MSG_MTIME,		/*0x000E Object modification date and time */
+    H5O_MSG_SHARED,		/*0x000F Shared header message		*/
+    H5O_MSG_CONT,		/*0x0010 Object header continuation	*/
+    H5O_MSG_STAB,		/*0x0011 Symbol table			*/
+    H5O_MSG_MTIME_NEW,		/*0x0012 New Object modification date and time */
+};
+
+/* Declare a free list to manage the H5O_t struct */
+H5FL_DEFINE(H5O_t);
+
+/* Declare a free list to manage the H5O_mesg_t sequence information */
+H5FL_SEQ_DEFINE(H5O_mesg_t);
+
+/* Declare a free list to manage the H5O_chunk_t sequence information */
+H5FL_SEQ_DEFINE(H5O_chunk_t);
+
+/* Declare a free list to manage the chunk image information */
+H5FL_BLK_DEFINE(chunk_image);
+
+/* Library private variables */
+
+/* Local variables */
+
+/*
+ * An array of functions indexed by symbol table entry cache type
+ * (H5G_type_t) that are called to retrieve constant messages cached in the
+ * symbol table entry.
+ */
+static void *(*H5O_fast_g[H5G_NCACHED]) (const H5G_cache_t *,
+					 const H5O_msg_class_t *,
+					 void *);
+
+/* Declare external the free list for time_t's */
+H5FL_EXTERN(time_t);
+
+/* Declare extern the free list for H5O_cont_t's */
+H5FL_EXTERN(H5O_cont_t);
+
+
 /* PRIVATE PROTOTYPES */
-static herr_t H5O_init(H5F_t *f, hid_t dxpl_id, size_t size_hint,
+static herr_t H5O_new(H5F_t *f, hid_t dxpl_id, size_t size_hint,
                        H5G_entry_t *ent/*out*/, haddr_t header);
-static herr_t H5O_reset_real(const H5O_class_t *type, void *native);
-static herr_t H5O_free_mesg(H5O_mesg_t *mesg);
-static void * H5O_copy_real(const H5O_class_t *type, const void *mesg,
+static herr_t H5O_reset_real(const H5O_msg_class_t *type, void *native);
+static void * H5O_copy_real(const H5O_msg_class_t *type, const void *mesg,
         void *dst);
-static int H5O_count_real (H5G_entry_t *ent, const H5O_class_t *type,
+static int H5O_count_real (H5G_entry_t *ent, const H5O_msg_class_t *type,
         hid_t dxpl_id);
-static htri_t H5O_exists_real(H5G_entry_t *ent, const H5O_class_t *type,
+static htri_t H5O_exists_real(H5G_entry_t *ent, const H5O_msg_class_t *type,
         int sequence, hid_t dxpl_id);
 #ifdef NOT_YET
-static herr_t H5O_share(H5F_t *f, hid_t dxpl_id, const H5O_class_t *type, const void *mesg,
+static herr_t H5O_share(H5F_t *f, hid_t dxpl_id, const H5O_msg_class_t *type, const void *mesg,
 			 H5HG_t *hobj/*out*/);
 #endif /* NOT_YET */
 static unsigned H5O_find_in_ohdr(H5F_t *f, hid_t dxpl_id, H5O_t *oh,
-                                 const H5O_class_t **type_p, int sequence);
-static int H5O_modify_real(H5G_entry_t *ent, const H5O_class_t *type,
+                                 const H5O_msg_class_t **type_p, int sequence);
+static int H5O_modify_real(H5G_entry_t *ent, const H5O_msg_class_t *type,
     int overwrite, unsigned flags, unsigned update_flags, const void *mesg,
     hid_t dxpl_id);
 static int H5O_append_real(H5F_t *f, hid_t dxpl_id, H5O_t *oh,
-    const H5O_class_t *type, unsigned flags, const void *mesg);
-static herr_t H5O_remove_real(H5G_entry_t *ent, const H5O_class_t *type,
+    const H5O_msg_class_t *type, unsigned flags, const void *mesg);
+static herr_t H5O_remove_real(H5G_entry_t *ent, const H5O_msg_class_t *type,
     int sequence, H5O_operator_t op, void *op_data, hbool_t adj_link, hid_t dxpl_id);
-static unsigned H5O_alloc(H5F_t *f, H5O_t *oh, const H5O_class_t *type,
+static unsigned H5O_alloc(H5F_t *f, H5O_t *oh, const H5O_msg_class_t *type,
 		      size_t size);
 static unsigned H5O_alloc_extend_chunk(H5F_t *f, H5O_t *oh, unsigned chunkno, size_t size);
 static unsigned H5O_alloc_new_chunk(H5F_t *f, H5O_t *oh, size_t size);
@@ -96,85 +175,40 @@
 static herr_t H5O_delete_mesg(H5F_t *f, hid_t dxpl_id, H5O_mesg_t *mesg,
     hbool_t adj_link);
 static unsigned H5O_new_mesg(H5F_t *f, H5O_t *oh, unsigned *flags,
-    const H5O_class_t *orig_type, const void *orig_mesg, H5O_shared_t *sh_mesg,
-    const H5O_class_t **new_type, const void **new_mesg, hid_t dxpl_id);
-static herr_t H5O_write_mesg(H5O_t *oh, unsigned idx, const H5O_class_t *type,
+    const H5O_msg_class_t *orig_type, const void *orig_mesg, H5O_shared_t *sh_mesg,
+    const H5O_msg_class_t **new_type, const void **new_mesg, hid_t dxpl_id);
+static herr_t H5O_write_mesg(H5O_t *oh, unsigned idx, const H5O_msg_class_t *type,
     const void *mesg, unsigned flags, unsigned update_flags);
-static herr_t H5O_iterate_real(const H5G_entry_t *ent, const H5O_class_t *type,
+static herr_t H5O_iterate_real(const H5G_entry_t *ent, const H5O_msg_class_t *type,
     H5AC_protect_t prot, hbool_t internal, void *op, void *op_data, hid_t dxpl_id);
 
-/* Metadata cache callbacks */
-static H5O_t *H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_udata1,
-		       void *_udata2);
-static herr_t H5O_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5O_t *oh);
-static herr_t H5O_dest(H5F_t *f, H5O_t *oh);
-static herr_t H5O_clear(H5F_t *f, H5O_t *oh, hbool_t destroy);
-static herr_t H5O_compute_size(const H5F_t *f, const H5O_t *oh, size_t *size_ptr);
-
-/* H5O inherits cache-like properties from H5AC */
-static const H5AC_class_t H5AC_OHDR[1] = {{
-    H5AC_OHDR_ID,
-    (H5AC_load_func_t)H5O_load,
-    (H5AC_flush_func_t)H5O_flush,
-    (H5AC_dest_func_t)H5O_dest,
-    (H5AC_clear_func_t)H5O_clear,
-    (H5AC_size_func_t)H5O_compute_size,
-}};
-
-/* ID to type mapping */
-static const H5O_class_t *const message_type_g[] = {
-    H5O_NULL,		/*0x0000 Null					*/
-    H5O_SDSPACE,	/*0x0001 Simple Dimensionality			*/
-    NULL,		/*0x0002 Data space (fiber bundle?)		*/
-    H5O_DTYPE,		/*0x0003 Data Type				*/
-    H5O_FILL,       	/*0x0004 Old data storage -- fill value         */
-    H5O_FILL_NEW,	/*0x0005 New Data storage -- fill value 	*/
-    NULL,		/*0x0006 Data storage -- compact object		*/
-    H5O_EFL,		/*0x0007 Data storage -- external data files	*/
-    H5O_LAYOUT,		/*0x0008 Data Layout				*/
-#ifdef H5O_ENABLE_BOGUS
-    H5O_BOGUS,		/*0x0009 "Bogus"				*/
-#else /* H5O_ENABLE_BOGUS */
-    NULL,		/*0x0009 "Bogus"				*/
-#endif /* H5O_ENABLE_BOGUS */
-    NULL,		/*0x000A Not assigned				*/
-    H5O_PLINE,		/*0x000B Data storage -- filter pipeline	*/
-    H5O_ATTR,		/*0x000C Attribute list				*/
-    H5O_NAME,		/*0x000D Object name				*/
-    H5O_MTIME,		/*0x000E Object modification date and time	*/
-    H5O_SHARED,		/*0x000F Shared header message			*/
-    H5O_CONT,		/*0x0010 Object header continuation		*/
-    H5O_STAB,		/*0x0011 Symbol table				*/
-    H5O_MTIME_NEW,	/*0x0012 New Object modification date and time  */
-};
-
-/*
- * An array of functions indexed by symbol table entry cache type
- * (H5G_type_t) that are called to retrieve constant messages cached in the
- * symbol table entry.
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_init
+ *
+ * Purpose:	Initialize the interface from some other package.
+ *
+ * Return:	Success:	non-negative
+ *
+ *		Failure:	negative
+ *
+ * Programmer:	Quincey Koziol
+ *              Wednesday, September 28, 2005
+ *
+ *-------------------------------------------------------------------------
  */
-static void *(*H5O_fast_g[H5G_NCACHED]) (const H5G_cache_t *,
-					 const H5O_class_t *,
-					 void *);
+herr_t
+H5O_init(void)
+{
+    herr_t ret_value = SUCCEED;   /* Return value */
 
-/* Declare a free list to manage the H5O_t struct */
-H5FL_DEFINE_STATIC(H5O_t);
+    FUNC_ENTER_NOAPI(H5O_init, FAIL)
+    /* FUNC_ENTER() does all the work */
 
-/* Declare a free list to manage the H5O_mesg_t sequence information */
-H5FL_SEQ_DEFINE_STATIC(H5O_mesg_t);
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_init() */
 
-/* Declare a free list to manage the H5O_chunk_t sequence information */
-H5FL_SEQ_DEFINE_STATIC(H5O_chunk_t);
-
-/* Declare a free list to manage the chunk image information */
-H5FL_BLK_DEFINE_STATIC(chunk_image);
-
-/* Declare external the free list for time_t's */
-H5FL_EXTERN(time_t);
-
-/* Declare extern the free list for H5O_cont_t's */
-H5FL_EXTERN(H5O_cont_t);
-
 
 /*-------------------------------------------------------------------------
  * Function:	H5O_init_interface
@@ -222,14 +256,6 @@
  *		matzke at llnl.gov
  *		Aug  5 1997
  *
- * Modifications:
- *
- *      Bill Wendling, 1. November 2002
- *      Separated the create function into two different functions. One
- *      which allocates space and an initialization function which
- *      does the rest of the work (initializes, caches, and opens the
- *      object header).
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -238,31 +264,30 @@
     haddr_t	header;
     herr_t      ret_value = SUCCEED;    /* return value */
 
-    FUNC_ENTER_NOAPI(H5O_create, FAIL);
+    FUNC_ENTER_NOAPI(H5O_create, FAIL)
 
     /* check args */
-    assert(f);
-    assert(ent);
+    HDassert(f);
+    HDassert(ent);
 
-    size_hint = H5O_ALIGN (MAX (H5O_MIN_SIZE, size_hint));
+    size_hint = H5O_ALIGN(MAX(H5O_MIN_SIZE, size_hint));
 
     /* allocate disk space for header and first chunk */
-    if (HADDR_UNDEF == (header = H5MF_alloc(f, H5FD_MEM_OHDR, dxpl_id,
-                                            (hsize_t)H5O_SIZEOF_HDR(f) + size_hint)))
-        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
-                    "file allocation failed for object header header");
+    if(HADDR_UNDEF == (header = H5MF_alloc(f, H5FD_MEM_OHDR, dxpl_id,
+            (hsize_t)H5O_SIZEOF_HDR(f) + size_hint)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "file allocation failed for object header header")
 
     /* initialize the object header */
-    if (H5O_init(f, dxpl_id, size_hint, ent, header) != SUCCEED)
-        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to initialize object header");
+    if(H5O_new(f, dxpl_id, size_hint, ent, header) != SUCCEED)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to initialize object header")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_create() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5O_init
+ * Function:	H5O_new
  *
  * Purpose:	Initialize a new object header, sets the link count to 0,
  *              and caches the header. The object header is opened for
@@ -277,30 +302,28 @@
  * Programmer:	Bill Wendling
  *		1, November 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_init(H5F_t *f, hid_t dxpl_id, size_t size_hint, H5G_entry_t *ent/*out*/, haddr_t header)
+H5O_new(H5F_t *f, hid_t dxpl_id, size_t size_hint, H5G_entry_t *ent/*out*/, haddr_t header)
 {
     H5O_t      *oh = NULL;
     haddr_t     tmp_addr;
     herr_t      ret_value = SUCCEED;    /* return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_init);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_new)
 
     /* check args */
-    assert(f);
-    assert(ent);
+    HDassert(f);
+    HDassert(ent);
 
     size_hint = H5O_ALIGN(MAX(H5O_MIN_SIZE, size_hint));
     ent->file = f;
     ent->header = header;
 
     /* allocate the object header and fill in header fields */
-    if (NULL == (oh = H5FL_MALLOC(H5O_t)))
-        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
+    if(NULL == (oh = H5FL_MALLOC(H5O_t)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
     oh->cache_info.is_dirty = TRUE;
     oh->version = H5O_VERSION;
@@ -310,25 +333,25 @@
     oh->nchunks = 1;
     oh->alloc_nchunks = H5O_NCHUNKS;
 
-    if (NULL == (oh->chunk = H5FL_SEQ_MALLOC(H5O_chunk_t, (size_t)oh->alloc_nchunks)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
+    if(NULL == (oh->chunk = H5FL_SEQ_MALLOC(H5O_chunk_t, (size_t)oh->alloc_nchunks)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
     tmp_addr = ent->header + (hsize_t)H5O_SIZEOF_HDR(f);
     oh->chunk[0].dirty = TRUE;
     oh->chunk[0].addr = tmp_addr;
     oh->chunk[0].size = size_hint;
 
-    if (NULL == (oh->chunk[0].image = H5FL_BLK_CALLOC(chunk_image, size_hint)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
+    if(NULL == (oh->chunk[0].image = H5FL_BLK_CALLOC(chunk_image, size_hint)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
     /* create the message list and initialize the first message */
     oh->nmesgs = 1;
     oh->alloc_nmesgs = H5O_NMESGS;
 
-    if (NULL == (oh->mesg = H5FL_SEQ_CALLOC(H5O_mesg_t, (size_t)oh->alloc_nmesgs)))
-        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
+    if(NULL == (oh->mesg = H5FL_SEQ_CALLOC(H5O_mesg_t, (size_t)oh->alloc_nmesgs)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
 
-    oh->mesg[0].type = H5O_NULL;
+    oh->mesg[0].type = H5O_MSG_NULL;
     oh->mesg[0].dirty = TRUE;
     oh->mesg[0].native = NULL;
     oh->mesg[0].raw = oh->chunk[0].image + H5O_SIZEOF_MSGHDR(f);
@@ -337,20 +360,20 @@
 
     /* cache it */
     if (H5AC_set(f, dxpl_id, H5AC_OHDR, ent->header, oh) < 0)
-        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to cache object header");
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to cache object header")
 
     /* open it */
     if (H5O_open(ent) < 0)
-        HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, FAIL, "unable to open object header");
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, FAIL, "unable to open object header")
 
 done:
-    if(ret_value<0 && oh) {
-        if(H5O_dest(f,oh)<0)
-	    HDONE_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy object header data");
+    if(ret_value < 0 && oh) {
+        if(H5O_dest(f, oh) < 0)
+	    HDONE_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy object header data")
     } /* end if */
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_new() */
 
 
 /*-------------------------------------------------------------------------
@@ -364,20 +387,18 @@
  * Programmer:	Robb Matzke
  *		Monday, January	 5, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_open(const H5G_entry_t *obj_ent)
 {
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED;
 
-    FUNC_ENTER_NOAPI(H5O_open, FAIL);
+    FUNC_ENTER_NOAPI(H5O_open, FAIL)
 
     /* Check args */
-    assert(obj_ent);
-    assert(obj_ent->file);
+    HDassert(obj_ent);
+    HDassert(obj_ent->file);
 
 #ifdef H5O_DEBUG
     if (H5DEBUG(O))
@@ -388,8 +409,8 @@
     obj_ent->file->nopen_objs++;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_open() */
 
 
 /*-------------------------------------------------------------------------
@@ -402,24 +423,19 @@
  * Programmer:	Robb Matzke
  *		Monday, January	 5, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_close(H5G_entry_t *obj_ent)
 {
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED;   /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_close, FAIL);
+    FUNC_ENTER_NOAPI(H5O_close, FAIL)
 
     /* Check args */
-    assert(obj_ent);
-    assert(obj_ent->file);
-    assert(obj_ent->file->nopen_objs > 0);
+    HDassert(obj_ent);
+    HDassert(obj_ent->file);
+    HDassert(obj_ent->file->nopen_objs > 0);
 
     /* Decrement open-lock counters */
     --obj_ent->file->nopen_objs;
@@ -443,530 +459,18 @@
     if(obj_ent->file->nopen_objs == obj_ent->file->mtab.nmounts) {
         /* Attempt to close down the file hierarchy */
         if(H5F_try_close(obj_ent->file) < 0)
-            HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "problem attempting file close")
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTCLOSEFILE, FAIL, "problem attempting file close")
     } /* end if */
 
     /* Free the ID to name buffers */
-    H5G_free_ent_name(obj_ent);
+    H5G_name_free(obj_ent);
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_close() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5O_load
- *
- * Purpose:	Loads an object header from disk.
- *
- * Return:	Success:	Pointer to the new object header.
- *
- *		Failure:	NULL
- *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Aug  5 1997
- *
- * Modifications:
- *
- *	Robb Matzke, 1997-08-30
- *	Plugged memory leaks that occur during error handling.
- *
- *	Robb Matzke, 1998-01-07
- *	Able to distinguish between constant and variable messages.
- *
- * 	Robb Matzke, 1999-07-28
- *	The ADDR argument is passed by value.
- *
- *	Quincey Koziol, 2002-7-180
- *	Added dxpl parameter to allow more control over I/O from metadata
- *      cache.
- *-------------------------------------------------------------------------
- */
-static H5O_t *
-H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void UNUSED * _udata1,
-	 void UNUSED * _udata2)
-{
-    H5O_t	*oh = NULL;
-    H5O_t	*ret_value;
-    uint8_t	buf[16], *p;
-    size_t	mesg_size;
-    size_t	hdr_size;
-    unsigned	id;
-    int	mesgno;
-    unsigned	curmesg = 0, nmesgs;
-    unsigned	chunkno;
-    haddr_t	chunk_addr;
-    size_t	chunk_size;
-    uint8_t	flags;
-
-    FUNC_ENTER_NOAPI(H5O_load, NULL);
-
-    /* check args */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(!_udata1);
-    assert(!_udata2);
-
-    /* allocate ohdr and init chunk list */
-    if (NULL==(oh = H5FL_CALLOC(H5O_t)))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-
-    /* read fixed-lenth part of object header */
-    hdr_size = H5O_SIZEOF_HDR(f);
-    assert(hdr_size<=sizeof(buf));
-    if (H5F_block_read(f, H5FD_MEM_OHDR, addr, hdr_size, dxpl_id, buf) < 0)
-	HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read object header");
-    p = buf;
-
-    /* decode version */
-    oh->version = *p++;
-    if (H5O_VERSION != oh->version)
-	HGOTO_ERROR(H5E_OHDR, H5E_VERSION, NULL, "bad object header version number");
-
-    /* reserved */
-    p++;
-
-    /* decode number of messages */
-    UINT16DECODE(p, nmesgs);
-
-    /* decode link count */
-    UINT32DECODE(p, oh->nlink);
-
-    /* decode first chunk info */
-    chunk_addr = addr + (hsize_t)hdr_size;
-    UINT32DECODE(p, chunk_size);
-
-    /* build the message array */
-    oh->alloc_nmesgs = MAX(H5O_NMESGS, nmesgs);
-    if (NULL==(oh->mesg=H5FL_SEQ_CALLOC(H5O_mesg_t,(size_t)oh->alloc_nmesgs)))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-
-    /* read each chunk from disk */
-    while (H5F_addr_defined(chunk_addr)) {
-	/* increase chunk array size */
-	if (oh->nchunks >= oh->alloc_nchunks) {
-	    unsigned na = oh->alloc_nchunks + H5O_NCHUNKS;
-	    H5O_chunk_t *x = H5FL_SEQ_REALLOC (H5O_chunk_t, oh->chunk, (size_t)na);
-
-	    if (!x)
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-	    oh->alloc_nchunks = na;
-	    oh->chunk = x;
-	}
-
-	/* read the chunk raw data */
-	chunkno = oh->nchunks++;
-	oh->chunk[chunkno].dirty = FALSE;
-	oh->chunk[chunkno].addr = chunk_addr;
-	oh->chunk[chunkno].size = chunk_size;
-	if (NULL==(oh->chunk[chunkno].image = H5FL_BLK_MALLOC(chunk_image,chunk_size)))
-	    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-	if (H5F_block_read(f, H5FD_MEM_OHDR, chunk_addr, chunk_size, dxpl_id,
-			   oh->chunk[chunkno].image) < 0)
-	    HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read object header data");
-
-	/* load messages from this chunk */
-	for (p = oh->chunk[chunkno].image; p < oh->chunk[chunkno].image + chunk_size; p += mesg_size) {
-	    UINT16DECODE(p, id);
-	    UINT16DECODE(p, mesg_size);
-	    assert (mesg_size==H5O_ALIGN (mesg_size));
-	    flags = *p++;
-	    p += 3; /*reserved*/
-
-            /* Try to detect invalidly formatted object header messages */
-	    if (p + mesg_size > oh->chunk[chunkno].image + chunk_size)
-		HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "corrupt object header");
-
-            /* Skip header messages we don't know about */
-            /* (Usually from future versions of the library */
-	    if (id >= NELMTS(message_type_g) || NULL == message_type_g[id])
-                continue;
-
-	    if (H5O_NULL_ID == id && oh->nmesgs > 0 &&
-		H5O_NULL_ID == oh->mesg[oh->nmesgs - 1].type->id &&
-		oh->mesg[oh->nmesgs - 1].chunkno == chunkno) {
-		/* combine adjacent null messages */
-		mesgno = oh->nmesgs - 1;
-		oh->mesg[mesgno].raw_size += H5O_SIZEOF_MSGHDR(f) + mesg_size;
-	    } else {
-		/* new message */
-		if (oh->nmesgs >= nmesgs)
-		    HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "corrupt object header");
-		mesgno = oh->nmesgs++;
-		oh->mesg[mesgno].type = message_type_g[id];
-		oh->mesg[mesgno].dirty = FALSE;
-		oh->mesg[mesgno].flags = flags;
-		oh->mesg[mesgno].native = NULL;
-		oh->mesg[mesgno].raw = p;
-		oh->mesg[mesgno].raw_size = mesg_size;
-		oh->mesg[mesgno].chunkno = chunkno;
-	    }
-	}
-
-        assert(p == oh->chunk[chunkno].image + chunk_size);
-
-        /* decode next object header continuation message */
-        for (chunk_addr = HADDR_UNDEF; !H5F_addr_defined(chunk_addr) && curmesg < oh->nmesgs; ++curmesg) {
-            if (H5O_CONT_ID == oh->mesg[curmesg].type->id) {
-                H5O_cont_t *cont;
-
-                cont = (H5O_CONT->decode) (f, dxpl_id, oh->mesg[curmesg].raw, NULL);
-                oh->mesg[curmesg].native = cont;
-                chunk_addr = cont->addr;
-                chunk_size = cont->size;
-                cont->chunkno = oh->nchunks;	/*the next chunk to allocate */
-            }
-        }
-    }
-
-    /* Set return value */
-    ret_value = oh;
-
-done:
-    if (!ret_value && oh) {
-        if(H5O_dest(f,oh)<0)
-	    HDONE_ERROR(H5E_OHDR, H5E_CANTFREE, NULL, "unable to destroy object header data");
-    }
-
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5O_flush
- *
- * Purpose:	Flushes (and destroys) an object header.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Aug  5 1997
- *
- * Modifications:
- *
- *	Robb Matzke, 1998-01-07
- *	Handles constant vs non-constant messages.
- *
- *      rky, 1998-08-28
- *	Only p0 writes metadata to disk.
- *
- * 	Robb Matzke, 1999-07-28
- *	The ADDR argument is passed by value.
- *
- *	Quincey Koziol, 2002-7-180
- *	Added dxpl parameter to allow more control over I/O from metadata
- *      cache.
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5O_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5O_t *oh)
-{
-    uint8_t	buf[16], *p;
-    int	id;
-    unsigned	u;
-    H5O_mesg_t *curr_msg;       /* Pointer to current message being operated on */
-    H5O_cont_t	*cont = NULL;
-    herr_t	(*encode)(H5F_t*, uint8_t*, const void*) = NULL;
-    unsigned combine=0;        /* Whether to combine the object header prefix & the first chunk */
-    herr_t      ret_value=SUCCEED;       /* Return value */
-
-    FUNC_ENTER_NOAPI(H5O_flush, FAIL);
-
-    /* check args */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(oh);
-
-    /* flush */
-    if (oh->cache_info.is_dirty) {
-	p = buf;
-
-	/* encode version */
-	*p++ = oh->version;
-
-	/* reserved */
-	*p++ = 0;
-
-	/* encode number of messages */
-	UINT16ENCODE(p, oh->nmesgs);
-
-	/* encode link count */
-	UINT32ENCODE(p, oh->nlink);
-
-	/* encode body size */
-	UINT32ENCODE(p, oh->chunk[0].size);
-
-	/* zero to alignment */
-	HDmemset (p, 0, (size_t)(H5O_SIZEOF_HDR(f)-12));
-
-	/* write the object header prefix */
-
-        /* Check if we can combine the object header prefix & the first chunk into one I/O operation */
-        if(oh->chunk[0].dirty && (addr+H5O_SIZEOF_HDR(f))==oh->chunk[0].addr) {
-            combine=1;
-        } /* end if */
-        else {
-            if (H5F_block_write(f, H5FD_MEM_OHDR, addr, (size_t)H5O_SIZEOF_HDR(f),
-                        dxpl_id, buf) < 0)
-                HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header hdr to disk");
-        } /* end else */
-
-	/* encode messages */
-	for (u = 0, curr_msg=&oh->mesg[0]; u < oh->nmesgs; u++,curr_msg++) {
-	    if (curr_msg->dirty) {
-                p = curr_msg->raw - H5O_SIZEOF_MSGHDR(f);
-
-                id = curr_msg->type->id;
-                UINT16ENCODE(p, id);
-                assert (curr_msg->raw_size<H5O_MAX_SIZE);
-                UINT16ENCODE(p, curr_msg->raw_size);
-                *p++ = curr_msg->flags;
-                *p++ = 0; /*reserved*/
-                *p++ = 0; /*reserved*/
-                *p++ = 0; /*reserved*/
-
-                if (curr_msg->native) {
-                    assert(curr_msg->type->encode);
-
-                    /* allocate file space for chunks that have none yet */
-                    if (H5O_CONT_ID == curr_msg->type->id &&
-                            !H5F_addr_defined(((H5O_cont_t *)(curr_msg->native))->addr)) {
-                        cont = (H5O_cont_t *) (curr_msg->native);
-                        assert(cont->chunkno < oh->nchunks);
-                        assert(!H5F_addr_defined(oh->chunk[cont->chunkno].addr));
-                        cont->size = oh->chunk[cont->chunkno].size;
-
-                        /* Free the space we'd reserved in the file to hold this chunk */
-                        H5MF_free_reserved(f, (hsize_t)cont->size);
-
-                        if (HADDR_UNDEF==(cont->addr=H5MF_alloc(f, H5FD_MEM_OHDR, dxpl_id, (hsize_t)cont->size)))
-                            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate space for object header data");
-                        oh->chunk[cont->chunkno].addr = cont->addr;
-                    }
-
-                    /*
-                     * Encode the message.  If the message is shared then we
-                     * encode a Shared Object message instead of the object
-                     * which is being shared.
-                     */
-                    assert(curr_msg->raw >=
-                       oh->chunk[curr_msg->chunkno].image);
-                    assert (curr_msg->raw_size ==
-                        H5O_ALIGN (curr_msg->raw_size));
-                    assert(curr_msg->raw + curr_msg->raw_size <=
-                       oh->chunk[curr_msg->chunkno].image +
-                       oh->chunk[curr_msg->chunkno].size);
-                    if (curr_msg->flags & H5O_FLAG_SHARED) {
-                        encode = H5O_SHARED->encode;
-                    } else {
-                        encode = curr_msg->type->encode;
-                    }
-                    if ((encode)(f, curr_msg->raw, curr_msg->native)<0)
-                        HGOTO_ERROR(H5E_OHDR, H5E_CANTENCODE, FAIL, "unable to encode object header message");
-                }
-                curr_msg->dirty = FALSE;
-                oh->chunk[curr_msg->chunkno].dirty = TRUE;
-	    }
-	}
-
-	/* write each chunk to disk */
-	for (u = 0; u < oh->nchunks; u++) {
-	    if (oh->chunk[u].dirty) {
-                assert(H5F_addr_defined(oh->chunk[u].addr));
-                if(u==0 && combine) {
-                    /* Allocate space for the combined prefix and first chunk */
-                    if((p=H5FL_BLK_MALLOC(chunk_image,(H5O_SIZEOF_HDR(f)+oh->chunk[u].size)))==NULL)
-                        HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-
-                    /* Copy in the prefix */
-                    HDmemcpy(p,buf,(size_t)H5O_SIZEOF_HDR(f));
-
-                    /* Copy in the first chunk */
-                    HDmemcpy(p+H5O_SIZEOF_HDR(f),oh->chunk[u].image,oh->chunk[u].size);
-
-                    /* Write the combined prefix/chunk out */
-                    if (H5F_block_write(f, H5FD_MEM_OHDR, addr,
-                                (H5O_SIZEOF_HDR(f)+oh->chunk[u].size),
-                                dxpl_id, p) < 0)
-                        HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header data to disk");
-
-                    /* Release the memory for the combined prefix/chunk */
-                    p = H5FL_BLK_FREE(chunk_image,p);
-                } /* end if */
-                else {
-                    if (H5F_block_write(f, H5FD_MEM_OHDR, oh->chunk[u].addr,
-                                (oh->chunk[u].size),
-                                dxpl_id, oh->chunk[u].image) < 0)
-                        HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header data to disk");
-                } /* end else */
-                oh->chunk[u].dirty = FALSE;
-	    } /* end if */
-	} /* end for */
-	oh->cache_info.is_dirty = FALSE;
-    }
-
-    if (destroy) {
-        if(H5O_dest(f,oh)<0)
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy object header data");
-    }
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5O_dest
- *
- * Purpose:	Destroys an object header.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	Quincey Koziol
- *		koziol at ncsa.uiuc.edu
- *		Jan 15 2003
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5O_dest(H5F_t UNUSED *f, H5O_t *oh)
-{
-    unsigned	i;
-
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_dest);
-
-    /* check args */
-    assert(oh);
-
-    /* Verify that node is clean */
-    assert (oh->cache_info.is_dirty==FALSE);
-
-    /* destroy chunks */
-    for (i = 0; i < oh->nchunks; i++) {
-        /* Verify that chunk is clean */
-        assert (oh->chunk[i].dirty==0);
-
-        oh->chunk[i].image = H5FL_BLK_FREE(chunk_image,oh->chunk[i].image);
-    }
-    if(oh->chunk)
-        oh->chunk = H5FL_SEQ_FREE(H5O_chunk_t,oh->chunk);
-
-    /* destroy messages */
-    for (i = 0; i < oh->nmesgs; i++) {
-        /* Verify that message is clean */
-        assert (oh->mesg[i].dirty==0);
-
-        H5O_free_mesg(&oh->mesg[i]);
-    }
-    if(oh->mesg)
-        oh->mesg = H5FL_SEQ_FREE(H5O_mesg_t,oh->mesg);
-
-    /* destroy object header */
-    H5FL_FREE(H5O_t,oh);
-
-    FUNC_LEAVE_NOAPI(SUCCEED);
-} /* end H5O_dest() */
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5O_clear
- *
- * Purpose:	Mark a object header in memory as non-dirty.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	Quincey Koziol
- *		koziol at ncsa.uiuc.edu
- *		Mar 20 2003
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5O_clear(H5F_t *f, H5O_t *oh, hbool_t destroy)
-{
-    unsigned	u;      /* Local index variable */
-    herr_t ret_value = SUCCEED;
-
-    FUNC_ENTER_NOAPI_NOINIT(H5O_clear);
-
-    /* check args */
-    assert(oh);
-
-    /* Mark chunks as clean */
-    for (u = 0; u < oh->nchunks; u++)
-        oh->chunk[u].dirty=FALSE;
-
-    /* Mark messages as clean */
-    for (u = 0; u < oh->nmesgs; u++)
-        oh->mesg[u].dirty=FALSE;
-
-    /* Mark whole header as clean */
-    oh->cache_info.is_dirty=FALSE;
-
-    if (destroy)
-        if (H5O_dest(f, oh) < 0)
-            HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy object header data");
-
-done:
-    FUNC_LEAVE_NOAPI(ret_value);
-} /* end H5O_clear() */
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5O_compute_size
- *
- * Purpose:	Compute the size in bytes of the specified instance of
- *              H5O_t on disk, and return it in *len_ptr.  On failure,
- *              the value of *len_ptr is undefined.
- *
- *		The value returned will probably be low unless the object
- *		has just been flushed, as we simply total up the size of
- *		the header with the sizes of the chunks.  Thus any message
- *		that has been added since the last flush will not be
- *		reflected in the total.
- *
- * Return:	Non-negative on success/Negative on failure
- *
- * Programmer:	John Mainzer
- *		5/13/04
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-H5O_compute_size(const H5F_t *f, const H5O_t *oh, size_t *size_ptr)
-{
-    unsigned	u;
-    size_t	size;
-
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_compute_size);
-
-    /* check args */
-    HDassert(f);
-    HDassert(oh);
-    HDassert(size_ptr);
-
-    size = H5O_SIZEOF_HDR(f);
-
-    for (u = 0; u < oh->nchunks; u++)
-        size += oh->chunk[u].size;
-
-    HDassert(size >= H5O_SIZEOF_HDR(f));
-
-    *size_ptr = size;
-
-    FUNC_LEAVE_NOAPI(SUCCEED);
-} /* H5O_compute_size() */
-
-
-/*-------------------------------------------------------------------------
  * Function:	H5O_reset
  *
  * Purpose:	Some message data structures have internal fields that
@@ -990,18 +494,18 @@
 herr_t
 H5O_reset(unsigned type_id, void *native)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     herr_t      ret_value;              /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_reset,FAIL);
 
     /* check args */
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    assert(type_id < NELMTS(H5O_msg_class_g));
+    type=H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     assert(type);
 
     /* Call the "real" reset routine */
-    if((ret_value=H5O_reset_real(type, native))<0)
+    if((ret_value=H5O_reset_real(type, native)) < 0)
 	HGOTO_ERROR(H5E_OHDR, H5E_READERROR, FAIL, "unable to reset object header");
 
 done:
@@ -1022,12 +526,10 @@
  *		matzke at llnl.gov
  *		Aug 12 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_reset_real(const H5O_class_t *type, void *native)
+H5O_reset_real(const H5O_msg_class_t *type, void *native)
 {
     herr_t      ret_value=SUCCEED;       /* Return value */
 
@@ -1070,21 +572,21 @@
 void *
 H5O_free (unsigned type_id, void *mesg)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
-    void * ret_value;                   /* Return value */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
+    void * ret_value = NULL;                   /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_free, NULL);
+    FUNC_ENTER_NOAPI(H5O_free, NULL)
 
     /* check args */
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
-    assert(type);
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type);
 
     /* Call the "real" free routine */
-    ret_value=H5O_free_real(type, mesg);
+    ret_value = H5O_free_real(type, mesg);
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_free() */
 
 
@@ -1100,7 +602,7 @@
  *
  *-------------------------------------------------------------------------
  */
-static herr_t
+herr_t
 H5O_free_mesg(H5O_mesg_t *mesg)
 {
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_free_mesg)
@@ -1110,7 +612,7 @@
 
     /* Free any native information */
     if(mesg->flags & H5O_FLAG_SHARED)
-        mesg->native = H5O_free_real(H5O_SHARED, mesg->native);
+        mesg->native = H5O_free_real(H5O_MSG_SHARED, mesg->native);
     else
         mesg->native = H5O_free_real(mesg->type, mesg->native);
 
@@ -1131,25 +633,23 @@
  * Programmer:	Robb Matzke
  *              Thursday, May 21, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 void *
-H5O_free_real(const H5O_class_t *type, void *msg_native)
+H5O_free_real(const H5O_msg_class_t *type, void *msg_native)
 {
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_free_real)
 
     /* check args */
-    assert(type);
+    HDassert(type);
 
-    if (msg_native) {
+    if(msg_native) {
         H5O_reset_real(type, msg_native);
         if (NULL!=(type->free))
             (type->free)(msg_native);
         else
             H5MM_xfree (msg_native);
-    }
+    } /* end if */
 
     FUNC_LEAVE_NOAPI(NULL)
 } /* end H5O_free_real() */
@@ -1179,14 +679,14 @@
 void *
 H5O_copy (unsigned type_id, const void *mesg, void *dst)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     void	*ret_value;             /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_copy, NULL);
 
     /* check args */
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    assert(type_id < NELMTS(H5O_msg_class_g));
+    type=H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     assert(type);
 
     /* Call the "real" copy routine */
@@ -1216,7 +716,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_copy_real (const H5O_class_t *type, const void *mesg, void *dst)
+H5O_copy_real (const H5O_msg_class_t *type, const void *mesg, void *dst)
 {
     void	*ret_value = NULL;
 
@@ -1251,13 +751,6 @@
  *		matzke at llnl.gov
  *		Aug  5 1997
  *
- * Modifications:
- *
- * 	Robb Matzke, 1998-08-27
- *	This function can also be used to obtain the current number of links
- *	if zero is passed for ADJUST.  If that's the case then we don't check
- *	for write access on the file.
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -1267,68 +760,68 @@
     hbool_t deleted=FALSE;      /* Whether the object was deleted as a result of this action */
     int	ret_value = FAIL;
 
-    FUNC_ENTER_NOAPI(H5O_link, FAIL);
+    FUNC_ENTER_NOAPI(H5O_link, FAIL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    if (adjust!=0 && 0==(ent->file->intent & H5F_ACC_RDWR))
-	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file");
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    if(adjust!=0 && 0==(ent->file->intent & H5F_ACC_RDWR))
+	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file")
 
     /* get header */
     if (NULL == (oh = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header,
 				   NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* adjust link count */
-    if (adjust<0) {
-	if (oh->nlink + adjust < 0)
-	    HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "link count would be negative");
+    if(adjust < 0) {
+	if(oh->nlink + adjust < 0)
+	    HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "link count would be negative")
 	oh->nlink += adjust;
 	oh->cache_info.is_dirty = TRUE;
 
         /* Check if the object should be deleted */
-        if(oh->nlink==0) {
+        if(oh->nlink == 0) {
             /* Check if the object is still open by the user */
             if(H5FO_opened(ent->file,ent->header)!=NULL) {
                 /* Flag the object to be deleted when it's closed */
                 if(H5FO_mark(ent->file,ent->header,TRUE)<0)
-                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't mark object for deletion");
+                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't mark object for deletion")
             } /* end if */
             else {
                 /* Delete object right now */
                 if(H5O_delete_oh(ent->file,dxpl_id,oh)<0)
-                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't delete object from file");
+                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't delete object from file")
 
                 /* Mark the object header as deleted */
                 deleted=TRUE;
             } /* end else */
         } /* end if */
-    } else if (adjust>0) {
+    } else if (adjust > 0) {
         /* A new object, or one that will be deleted */
-        if(oh->nlink==0) {
+        if(oh->nlink == 0) {
             /* Check if the object is current open, but marked for deletion */
             if(H5FO_marked(ent->file,ent->header)>0) {
                 /* Remove "delete me" flag on the object */
                 if(H5FO_mark(ent->file,ent->header,FALSE)<0)
-                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't mark object for deletion");
+                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't mark object for deletion")
             } /* end if */
         } /* end if */
 
 	oh->nlink += adjust;
 	oh->cache_info.is_dirty = TRUE;
-    }
+    } /* end if */
 
     /* Set return value */
     ret_value = oh->nlink;
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, deleted) < 0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_link() */
 
 
 /*-------------------------------------------------------------------------
@@ -1344,36 +837,30 @@
  * Programmer:	Robb Matzke
  *              Tuesday, April 21, 1998
  *
- * Modifications:
- *              Changed to use IDs for types, instead of type objects, then
- *              call "real" routine.
- *              Quincey Koziol
- *		Feb 14 2003
- *
  *-------------------------------------------------------------------------
  */
 int
-H5O_count (H5G_entry_t *ent, unsigned type_id, hid_t dxpl_id)
+H5O_count(H5G_entry_t *ent, unsigned type_id, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     int	ret_value;                      /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_count, FAIL);
+    FUNC_ENTER_NOAPI(H5O_count, FAIL)
 
     /* Check args */
-    assert (ent);
-    assert (ent->file);
-    assert (H5F_addr_defined(ent->header));
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
-    assert (type);
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type);
 
     /* Call the "real" count routine */
-    if((ret_value=H5O_count_real(ent, type, dxpl_id))<0)
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTCOUNT, FAIL, "unable to count object header messages");
+    if((ret_value = H5O_count_real(ent, type, dxpl_id))<0)
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTCOUNT, FAIL, "unable to count object header messages")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_count() */
 
 
@@ -1390,43 +877,41 @@
  * Programmer:	Robb Matzke
  *              Tuesday, April 21, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
-H5O_count_real (H5G_entry_t *ent, const H5O_class_t *type, hid_t dxpl_id)
+H5O_count_real(H5G_entry_t *ent, const H5O_msg_class_t *type, hid_t dxpl_id)
 {
     H5O_t	*oh = NULL;
     int	acc;
     unsigned	u;
     int	ret_value;
 
-    FUNC_ENTER_NOAPI(H5O_count_real, FAIL);
+    FUNC_ENTER_NOAPI(H5O_count_real, FAIL)
 
     /* Check args */
-    assert (ent);
-    assert (ent->file);
-    assert (H5F_addr_defined(ent->header));
-    assert (type);
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(type);
 
     /* Load the object header */
-    if (NULL == (oh = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_READ)))
-	HGOTO_ERROR (H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+    if(NULL == (oh = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_READ)))
+	HGOTO_ERROR (H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* Loop over all messages, counting the ones of the type looked for */
-    for (u=acc=0; u<oh->nmesgs; u++)
-	if (oh->mesg[u].type==type)
+    for(u = acc = 0; u < oh->nmesgs; u++)
+	if(oh->mesg[u].type == type)
             acc++;
 
     /* Set return value */
-    ret_value=acc;
+    ret_value = acc;
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE) != SUCCEED)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_count_real() */
 
 
@@ -1446,35 +931,29 @@
  * Programmer:	Robb Matzke
  *              Monday, November  2, 1998
  *
- * Modifications:
- *              Changed to use IDs for types, instead of type objects, then
- *              call "real" routine.
- *              Quincey Koziol
- *		Feb 14 2003
- *
  *-------------------------------------------------------------------------
  */
 htri_t
 H5O_exists(H5G_entry_t *ent, unsigned type_id, int sequence, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     htri_t      ret_value;              /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_exists, FAIL);
+    FUNC_ENTER_NOAPI(H5O_exists, FAIL)
 
-    assert(ent);
-    assert(ent->file);
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
-    assert(type);
-    assert(sequence>=0);
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type);
+    HDassert(sequence>=0);
 
     /* Call the "real" exists routine */
     if((ret_value=H5O_exists_real(ent, type, sequence, dxpl_id))<0)
 	HGOTO_ERROR(H5E_OHDR, H5E_READERROR, FAIL, "unable to verify object header message");
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_exists() */
 
 
@@ -1499,13 +978,13 @@
  *-------------------------------------------------------------------------
  */
 static htri_t
-H5O_exists_real(H5G_entry_t *ent, const H5O_class_t *type, int sequence, hid_t dxpl_id)
+H5O_exists_real(H5G_entry_t *ent, const H5O_msg_class_t *type, int sequence, hid_t dxpl_id)
 {
     H5O_t	*oh=NULL;
     unsigned	u;
     htri_t      ret_value;       /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_exists_real);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_exists_real)
 
     assert(ent);
     assert(ent->file);
@@ -1517,21 +996,21 @@
 	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
 
     /* Scan through the messages looking for the right one */
-    for (u=0; u<oh->nmesgs; u++) {
-	if (type->id!=oh->mesg[u].type->id)
+    for(u = 0; u < oh->nmesgs; u++) {
+	if(type->id != oh->mesg[u].type->id)
             continue;
-	if (--sequence<0)
+	if(--sequence < 0)
             break;
-    }
+    } /* end for */
 
     /* Set return value */
-    ret_value=(sequence<0);
+    ret_value = (sequence < 0);
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE) != SUCCEED)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_exists_real() */
 
 
@@ -1556,37 +1035,31 @@
  *		matzke at llnl.gov
  *		Aug  6 1997
  *
- * Modifications:
- *              Changed to use IDs for types, instead of type objects, then
- *              call "real" routine.
- *              Quincey Koziol
- *		Feb 14 2003
- *
  *-------------------------------------------------------------------------
  */
 void *
 H5O_read(const H5G_entry_t *ent, unsigned type_id, int sequence, void *mesg, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     void *ret_value;                    /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_read, NULL);
+    FUNC_ENTER_NOAPI(H5O_read, NULL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
-    assert(type);
-    assert(sequence >= 0);
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type);
+    HDassert(sequence >= 0);
 
     /* Call the "real" read routine */
-    if((ret_value=H5O_read_real(ent, type, sequence, mesg, dxpl_id))==NULL)
-	HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to load object header");
+    if((ret_value = H5O_read_real(ent, type, sequence, mesg, dxpl_id))==NULL)
+	HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to load object header")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_read() */
 
 
@@ -1611,17 +1084,10 @@
  *		matzke at llnl.gov
  *		Aug  6 1997
  *
- * Modifications:
- *      Bill Wendling, 2003-09-30
- *      Protect the object header and pass it into the H5O_find_in_ohdr
- *      function. This is done because the H5O_find_in_ohdr used to
- *      protect the ohdr, find the message, and then unprotect it. This
- *      saves time and also helps the FPHDF5 stuff, where unprotecting
- *      actually destroys the object in the cache.
  *-------------------------------------------------------------------------
  */
 void *
-H5O_read_real(const H5G_entry_t *ent, const H5O_class_t *type, int sequence, void *mesg, hid_t dxpl_id)
+H5O_read_real(const H5G_entry_t *ent, const H5O_msg_class_t *type, int sequence, void *mesg, hid_t dxpl_id)
 {
     H5O_t          *oh = NULL;
     int             idx;
@@ -1629,14 +1095,14 @@
     H5G_type_t      cache_type;
     void           *ret_value = NULL;
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_read_real);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_read_real)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    assert(type);
-    assert(sequence >= 0);
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(type);
+    HDassert(sequence >= 0);
 
     /* can we get it from the symbol table entry? */
     cache = H5G_ent_cache(ent, &cache_type);
@@ -1650,16 +1116,16 @@
 
     /* copy the message to the user-supplied buffer */
     if (NULL == (oh = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_READ)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "unable to load object header")
 
     /* can we get it from the object header? */
     if ((idx = H5O_find_in_ohdr(ent->file, dxpl_id, oh, &type, sequence)) < 0)
-	HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, NULL, "unable to find message in object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, NULL, "unable to find message in object header")
 
-    if (oh->mesg[idx].flags & H5O_FLAG_SHARED) {
+    if(oh->mesg[idx].flags & H5O_FLAG_SHARED) {
 	/*
 	 * If the message is shared then then the native pointer points to an
-	 * H5O_SHARED message.  We use that information to look up the real
+	 * H5O_MSG_SHARED message.  We use that information to look up the real
 	 * message in the global heap or some other object header.
 	 */
 	H5O_shared_t *shared;
@@ -1673,15 +1139,15 @@
 	 * the raw message) so we must copy the native message before
 	 * returning.
 	 */
-	if (NULL==(ret_value = (type->copy) (oh->mesg[idx].native, mesg, 0)))
-	    HGOTO_ERROR (H5E_OHDR, H5E_CANTINIT, NULL, "unable to copy message to user space");
-    }
+	if(NULL==(ret_value = (type->copy) (oh->mesg[idx].native, mesg, 0)))
+	    HGOTO_ERROR (H5E_OHDR, H5E_CANTINIT, NULL, "unable to copy message to user space")
+    } /* end else */
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE) < 0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, NULL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, NULL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_read_real() */
 
 
@@ -1708,10 +1174,9 @@
  *-------------------------------------------------------------------------
  */
 static unsigned
-H5O_find_in_ohdr(H5F_t *f, hid_t dxpl_id, H5O_t *oh, const H5O_class_t **type_p, int sequence)
+H5O_find_in_ohdr(H5F_t *f, hid_t dxpl_id, H5O_t *oh, const H5O_msg_class_t **type_p, int sequence)
 {
     unsigned		u;
-    const H5O_class_t	*type = NULL;
     unsigned		ret_value;
 
     FUNC_ENTER_NOAPI_NOINIT(H5O_find_in_ohdr);
@@ -1736,18 +1201,8 @@
      * Decode the message if necessary.  If the message is shared then decode
      * a shared message, ignoring the message type.
      */
-    if (oh->mesg[u].flags & H5O_FLAG_SHARED)
-	type = H5O_SHARED;
-    else
-	type = oh->mesg[u].type;
+    LOAD_NATIVE(f, dxpl_id, &(oh->mesg[u]), UFAIL)
 
-    if (NULL == oh->mesg[u].native) {
-	assert(type->decode);
-	oh->mesg[u].native = (type->decode) (f, dxpl_id, oh->mesg[u].raw, NULL);
-	if (NULL == oh->mesg[u].native)
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, UFAIL, "unable to decode message");
-    }
-
     /*
      * Return the message type. If this is a shared message then return the
      * pointed-to type.
@@ -1794,45 +1249,33 @@
  *		matzke at llnl.gov
  *		Aug  6 1997
  *
- * Modifications:
- *
- *	Robb Matzke, 7 Jan 1998
- *	Handles constant vs non-constant messages.  Once a message is made
- *	constant it can never become non-constant.  Constant messages cannot
- *	be modified.
- *
- *      Changed to use IDs for types, instead of type objects, then
- *      call "real" routine.
- *      Quincey Koziol
- *	Feb 14 2003
- *
  *-------------------------------------------------------------------------
  */
 int
 H5O_modify(H5G_entry_t *ent, unsigned type_id, int overwrite,
    unsigned flags, unsigned update_flags, const void *mesg, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     int	ret_value;              /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_modify, FAIL);
+    FUNC_ENTER_NOAPI(H5O_modify, FAIL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
-    assert(type);
-    assert(mesg);
-    assert (0==(flags & ~H5O_FLAG_BITS));
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type);
+    HDassert(mesg);
+    HDassert(0 == (flags & ~H5O_FLAG_BITS));
 
     /* Call the "real" modify routine */
     if((ret_value= H5O_modify_real(ent, type, overwrite, flags, update_flags, mesg, dxpl_id))<0)
-	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header message")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_modify() */
 
 
@@ -1868,20 +1311,13 @@
  *		matzke at llnl.gov
  *		Aug  6 1997
  *
- * Modifications:
- *
- *	Robb Matzke, 7 Jan 1998
- *	Handles constant vs non-constant messages.  Once a message is made
- *	constant it can never become non-constant.  Constant messages cannot
- *	be modified.
- *
  *-------------------------------------------------------------------------
  */
 static int
-H5O_modify_real(H5G_entry_t *ent, const H5O_class_t *type, int overwrite,
+H5O_modify_real(H5G_entry_t *ent, const H5O_msg_class_t *type, int overwrite,
    unsigned flags, unsigned update_flags, const void *mesg, hid_t dxpl_id)
 {
-    H5O_t		*oh=NULL;
+    H5O_t		*oh = NULL;
     int		        sequence;
     unsigned		idx;            /* Index of message to modify */
     H5O_mesg_t         *idx_msg;        /* Pointer to message to modify */
@@ -1891,57 +1327,87 @@
     FUNC_ENTER_NOAPI_NOINIT(H5O_modify_real)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    assert(type);
-    assert(mesg);
-    assert (0==(flags & ~H5O_FLAG_BITS));
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(type);
+    HDassert(mesg);
+    HDassert(0 == (flags & ~H5O_FLAG_BITS));
 
     if (0==(ent->file->intent & H5F_ACC_RDWR))
-	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file");
+	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file")
 
     if (NULL == (oh = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* Count similar messages */
-    for (idx = 0, sequence = -1, idx_msg=&oh->mesg[0]; idx < oh->nmesgs; idx++, idx_msg++) {
-	if (type->id != idx_msg->type->id)
+    for(idx = 0, sequence = -1, idx_msg=&oh->mesg[0]; idx < oh->nmesgs; idx++, idx_msg++) {
+	if(type->id != idx_msg->type->id)
             continue;
-	if (++sequence == overwrite)
+	if(++sequence == overwrite)
             break;
     } /* end for */
 
     /* Was the right message found? */
-    if (overwrite >= 0 && (idx >= oh->nmesgs || sequence != overwrite)) {
-	/* But can we insert a new one with this sequence number? */
-	if (overwrite == sequence + 1)
-	    overwrite = -1;
-	else
-	    HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "message not found");
+    if(overwrite >= 0) {
+        /* Check if we are trying to create a new message */
+        if(idx >= oh->nmesgs || sequence != overwrite) {
+            /* But can we insert a new one with this sequence number? */
+            if(overwrite == sequence + 1)
+                overwrite = -1;
+            else
+                HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "message not found")
+        } /* end if */
+        else if(!(oh->mesg[idx].flags & H5O_FLAG_SHARED)) {
+            H5O_mesg_t *curr_msg = &oh->mesg[idx];      /* Message to overwrite */
+            size_t msg_size;    /* Size of modified message */
+
+            /* Get the size of the modified message */
+            msg_size = curr_msg->type->raw_size(ent->file, mesg);
+
+            /* Adjust size for alignment, if necessary */
+            msg_size = H5O_ALIGN(msg_size);
+
+            /* Check if message grew */
+            if(msg_size > curr_msg->raw_size) {
+                /* Free any native information */
+                H5O_free_mesg(curr_msg);
+
+                /* Change message type to nil and zero it */
+                curr_msg->type = H5O_MSG_NULL;
+                HDmemset(curr_msg->raw, 0, curr_msg->raw_size);
+
+                /* Indicate that the message was modified */
+                curr_msg->dirty = TRUE;
+
+                /* Indicate that new space should be allocated for the modified message */
+                sequence = overwrite - 1;
+                overwrite = -1;
+            } /* end if */
+        } /* end if */
     } /* end if */
 
     /* Check for creating new message */
-    if (overwrite < 0) {
+    if(overwrite < 0) {
         /* Create a new message */
         if((idx=H5O_new_mesg(ent->file,oh,&flags,type,mesg,&sh_mesg,&type,&mesg,dxpl_id))==UFAIL)
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to create new message");
+	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to create new message")
 
         /* Set the correct sequence number for the message created */
 	sequence++;
 
-    } else if (oh->mesg[idx].flags & H5O_FLAG_CONSTANT) {
-	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to modify constant message");
-    } else if (oh->mesg[idx].flags & H5O_FLAG_SHARED) {
-	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to modify shared (constant) message");
+    } else if(oh->mesg[idx].flags & H5O_FLAG_CONSTANT) {
+	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to modify constant message")
+    } else if(oh->mesg[idx].flags & H5O_FLAG_SHARED) {
+	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to modify shared (constant) message")
     }
 
     /* Write the information to the message */
     if(H5O_write_mesg(oh,idx,type,mesg,flags,update_flags)<0)
-        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to write message");
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to write message")
 
     /* Update the modification time message if any */
-    if(update_flags&H5O_UPDATE_TIME)
+    if(update_flags & H5O_UPDATE_TIME)
         H5O_touch_oh(ent->file, oh, FALSE);
 
     /* Set return value */
@@ -1949,9 +1415,9 @@
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE) < 0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_modify_real() */
 
 
@@ -1971,8 +1437,6 @@
  *		koziol at ncsa.uiuc.edu
  *		Dec 31 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 H5O_t *
@@ -1980,21 +1444,21 @@
 {
     H5O_t	       *ret_value;      /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_protect, NULL);
+    FUNC_ENTER_NOAPI(H5O_protect, NULL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
 
-    if (0==(ent->file->intent & H5F_ACC_RDWR))
-	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, NULL, "no write intent on file");
+    if(0==(ent->file->intent & H5F_ACC_RDWR))
+	HGOTO_ERROR (H5E_OHDR, H5E_WRITEERROR, NULL, "no write intent on file")
 
     if (NULL == (ret_value = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "unable to load object header")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_protect() */
 
 
@@ -2013,28 +1477,26 @@
  *		koziol at ncsa.uiuc.edu
  *		Dec 31 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_unprotect(H5G_entry_t *ent, H5O_t *oh, hid_t dxpl_id)
 {
-    herr_t ret_value=SUCCEED;      /* Return value */
+    herr_t ret_value = SUCCEED;      /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_unprotect, FAIL);
+    FUNC_ENTER_NOAPI(H5O_unprotect, FAIL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    assert(oh);
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    HDassert(oh);
 
-    if (H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE) < 0)
-	HGOTO_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+    if(H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE) < 0)
+	HGOTO_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_unprotect() */
 
 
@@ -2053,19 +1515,13 @@
  *		koziol at ncsa.uiuc.edu
  *		Dec 31 2002
  *
- * Modifications:
- *              Changed to use IDs for types, instead of type objects, then
- *              call "real" routine.
- *              Quincey Koziol
- *		Feb 14 2003
- *
  *-------------------------------------------------------------------------
  */
 int
 H5O_append(H5F_t *f, hid_t dxpl_id, H5O_t *oh, unsigned type_id, unsigned flags,
     const void *mesg)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     int	ret_value;                      /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_append,FAIL);
@@ -2073,8 +1529,8 @@
     /* check args */
     assert(f);
     assert(oh);
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    assert(type_id < NELMTS(H5O_msg_class_g));
+    type=H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     assert(type);
     assert(0==(flags & ~H5O_FLAG_BITS));
     assert(mesg);
@@ -2103,12 +1559,10 @@
  *		koziol at ncsa.uiuc.edu
  *		Dec 31 2002
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
-H5O_append_real(H5F_t *f, hid_t dxpl_id, H5O_t *oh, const H5O_class_t *type,
+H5O_append_real(H5F_t *f, hid_t dxpl_id, H5O_t *oh, const H5O_msg_class_t *type,
     unsigned flags, const void *mesg)
 {
     unsigned		idx;            /* Index of message to modify */
@@ -2156,8 +1610,8 @@
  *-------------------------------------------------------------------------
  */
 static unsigned
-H5O_new_mesg(H5F_t *f, H5O_t *oh, unsigned *flags, const H5O_class_t *orig_type,
-    const void *orig_mesg, H5O_shared_t *sh_mesg, const H5O_class_t **new_type,
+H5O_new_mesg(H5F_t *f, H5O_t *oh, unsigned *flags, const H5O_msg_class_t *orig_type,
+    const void *orig_mesg, H5O_shared_t *sh_mesg, const H5O_msg_class_t **new_type,
     const void **new_mesg, hid_t dxpl_id)
 {
     size_t	size;                   /* Size of space allocated for object header */
@@ -2181,7 +1635,7 @@
 
         if (NULL==orig_type->get_share)
             HGOTO_ERROR (H5E_OHDR, H5E_UNSUPPORTED, UFAIL, "message class is not sharable");
-        if ((orig_type->get_share)(f, orig_mesg, sh_mesg/*out*/)<0) {
+        if ((orig_type->get_share)(f, orig_mesg, sh_mesg/*out*/) < 0) {
             /*
              * If the message isn't shared then turn off the shared bit
              * and treat it as an unshared message.
@@ -2190,7 +1644,7 @@
             *flags &= ~H5O_FLAG_SHARED;
         } else {
             /* Change type & message to use shared information */
-            *new_type=H5O_SHARED;
+            *new_type=H5O_MSG_SHARED;
             *new_mesg=sh_mesg;
         } /* end else */
     } /* end if */
@@ -2201,14 +1655,14 @@
 
     /* Compute the size needed to store the message on disk */
     if ((size = ((*new_type)->raw_size) (f, *new_mesg)) >=H5O_MAX_SIZE)
-        HGOTO_ERROR (H5E_OHDR, H5E_CANTINIT, UFAIL, "object header message is too large (16k max)");
+        HGOTO_ERROR (H5E_OHDR, H5E_CANTINIT, UFAIL, "object header message is too large");
 
     /* Allocate space in the object headed for the message */
     if ((ret_value = H5O_alloc(f, oh, orig_type, size)) == UFAIL)
         HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, UFAIL, "unable to allocate space for message");
 
     /* Increment any links in message */
-    if((*new_type)->link && ((*new_type)->link)(f,dxpl_id,(*new_mesg))<0)
+    if((*new_type)->link && ((*new_type)->link)(f,dxpl_id,(*new_mesg)) < 0)
         HGOTO_ERROR (H5E_OHDR, H5E_LINK, UFAIL, "unable to adjust shared object link count");
 
 done:
@@ -2226,12 +1680,10 @@
  * Programmer:	Quincey Koziol
  *              Friday, September  3, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_write_mesg(H5O_t *oh, unsigned idx, const H5O_class_t *type,
+H5O_write_mesg(H5O_t *oh, unsigned idx, const H5O_msg_class_t *type,
     const void *mesg, unsigned flags, unsigned update_flags)
 {
     H5O_mesg_t         *idx_msg;        /* Pointer to message to modify */
@@ -2276,17 +1728,12 @@
  * Programmer:	Robb Matzke
  *              Monday, July 27, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_touch_oh(H5F_t *f, H5O_t *oh, hbool_t force)
 {
     unsigned	idx;
-#ifdef H5_HAVE_GETTIMEOFDAY
-    struct timeval now_tv;
-#endif /* H5_HAVE_GETTIMEOFDAY */
     time_t	now;
     size_t	size;
     herr_t      ret_value=SUCCEED;       /* Return value */
@@ -2296,14 +1743,18 @@
     assert(oh);
 
     /* Look for existing message */
-    for (idx=0; idx<oh->nmesgs; idx++) {
-	if (H5O_MTIME==oh->mesg[idx].type || H5O_MTIME_NEW==oh->mesg[idx].type)
+    for (idx=0; idx < oh->nmesgs; idx++) {
+	if (H5O_MSG_MTIME==oh->mesg[idx].type || H5O_MSG_MTIME_NEW==oh->mesg[idx].type)
             break;
     }
 
 #ifdef H5_HAVE_GETTIMEOFDAY
-    HDgettimeofday(&now_tv,NULL);
-    now=now_tv.tv_sec;
+    {
+        struct timeval now_tv;
+
+        HDgettimeofday(&now_tv, NULL);
+        now = now_tv.tv_sec;
+    }
 #else /* H5_HAVE_GETTIMEOFDAY */
     now = HDtime(NULL);
 #endif /* H5_HAVE_GETTIMEOFDAY */
@@ -2312,8 +1763,9 @@
     if (idx==oh->nmesgs) {
 	if (!force)
             HGOTO_DONE(SUCCEED); /*nothing to do*/
-	size = (H5O_MTIME_NEW->raw_size)(f, &now);
-	if ((idx=H5O_alloc(f, oh, H5O_MTIME_NEW, size))==UFAIL)
+	size = (H5O_MSG_MTIME_NEW->raw_size)(f, &now);
+
+	if ((idx=H5O_alloc(f, oh, H5O_MSG_MTIME_NEW, size))==UFAIL)
 	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to allocate space for modification time message");
     }
 
@@ -2344,39 +1796,37 @@
  * Programmer:	Robb Matzke
  *              Monday, July 27, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_touch(H5G_entry_t *ent, hbool_t force, hid_t dxpl_id)
 {
     H5O_t	*oh = NULL;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_touch, FAIL);
+    FUNC_ENTER_NOAPI(H5O_touch, FAIL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
-    if (0==(ent->file->intent & H5F_ACC_RDWR))
-	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file");
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
+    if(0==(ent->file->intent & H5F_ACC_RDWR))
+	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file")
 
     /* Get the object header */
     if (NULL==(oh=H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* Create/Update the modification time message */
     if (H5O_touch_oh(ent->file, oh, force)<0)
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to update object modificaton time");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to update object modificaton time")
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE)<0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_touch() */
 
 #ifdef H5O_ENABLE_BOGUS
 
@@ -2391,36 +1841,34 @@
  *              <koziol at ncsa.uiuc.edu>
  *              Tuesday, January 21, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_bogus_oh(H5F_t *f, H5O_t *oh)
 {
     int	idx;
-    size_t	size;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER(H5O_bogus_oh, FAIL);
+    FUNC_ENTER(H5O_bogus_oh, FAIL)
 
-    assert(f);
-    assert(oh);
+    HDassert(f);
+    HDassert(oh);
 
     /* Look for existing message */
-    for (idx=0; idx<oh->nmesgs; idx++)
-	if (H5O_BOGUS==oh->mesg[idx].type)
+    for(idx = 0; idx < oh->nmesgs; idx++)
+	if(H5O_MSG_BOGUS == oh->mesg[idx].type)
             break;
 
     /* Create a new message */
-    if (idx==oh->nmesgs) {
-	size = (H5O_BOGUS->raw_size)(f, NULL);
-	if ((idx=H5O_alloc(f, oh, H5O_BOGUS, size))<0)
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to allocate space for 'bogus' message");
+    if(idx == oh->nmesgs) {
+        size_t	size = (H5O_MSG_BOGUS->raw_size)(f, NULL);
 
+	if((idx = H5O_alloc(f, oh, H5O_MSG_BOGUS, size))<0)
+	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to allocate space for 'bogus' message")
+
         /* Allocate the native message in memory */
-	if (NULL==(oh->mesg[idx].native = H5MM_malloc(sizeof(H5O_bogus_t))))
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "memory allocation failed for 'bogus' message");
+	if(NULL == (oh->mesg[idx].native = H5MM_malloc(sizeof(H5O_bogus_t))))
+	    HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "memory allocation failed for 'bogus' message")
 
         /* Update the native part */
         ((H5O_bogus_t *)(oh->mesg[idx].native))->u = H5O_BOGUS_VALUE;
@@ -2431,7 +1879,7 @@
     } /* end if */
 
 done:
-    FUNC_LEAVE(ret_value);
+    FUNC_LEAVE(ret_value)
 } /* end H5O_bogus_oh() */
 
 
@@ -2446,8 +1894,6 @@
  *              <koziol at ncsa.uiuc.edu>
  *              Tuesday, January 21, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -2456,30 +1902,30 @@
     H5O_t	*oh = NULL;
     herr_t	ret_value = SUCCEED;
 
-    FUNC_ENTER(H5O_bogus, FAIL);
+    FUNC_ENTER(H5O_bogus, FAIL)
 
     /* check args */
-    assert(ent);
-    assert(ent->file);
-    assert(H5F_addr_defined(ent->header));
+    HDassert(ent);
+    HDassert(ent->file);
+    HDassert(H5F_addr_defined(ent->header));
 
     /* Verify write access to the file */
     if (0==(ent->file->intent & H5F_ACC_RDWR))
-	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file");
+	HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "no write intent on file")
 
     /* Get the object header */
     if (NULL==(oh=H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* Create the "bogus" message */
     if (H5O_bogus_oh(ent->file, oh)<0)
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to update object 'bogus' message");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to update object 'bogus' message")
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE)<0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE(ret_value);
+    FUNC_LEAVE(ret_value)
 } /* end H5O_bogus() */
 #endif /* H5O_ENABLE_BOGUS */
 
@@ -2517,7 +1963,7 @@
 herr_t
 H5O_remove(H5G_entry_t *ent, unsigned type_id, int sequence, hbool_t adj_link, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     herr_t      ret_value;              /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_remove, FAIL)
@@ -2526,8 +1972,8 @@
     HDassert(ent);
     HDassert(ent->file);
     HDassert(H5F_addr_defined(ent->header));
-    HDassert(type_id < NELMTS(message_type_g));
-    type = message_type_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     HDassert(type);
 
     /* Call the "real" remove routine */
@@ -2560,7 +2006,7 @@
 H5O_remove_op(H5G_entry_t *ent, unsigned type_id, 
     H5O_operator_t op, void *op_data, hbool_t adj_link, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     herr_t      ret_value;              /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_remove_op, FAIL)
@@ -2569,8 +2015,8 @@
     HDassert(ent);
     HDassert(ent->file);
     HDassert(H5F_addr_defined(ent->header));
-    HDassert(type_id < NELMTS(message_type_g));
-    type = message_type_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     HDassert(type);
 
     /* Call the "real" remove routine */
@@ -2595,8 +2041,6 @@
  *		koziol at ncsa.uiuc.edu
  *		Sep  6 2005
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -2629,28 +2073,24 @@
         /*
          * Keep track of how many times we failed trying to remove constant
          * messages.
+         * (OK to remove constant messages - QAK)
          */
-        if (mesg->flags & H5O_FLAG_CONSTANT) {
-            udata->nfailed++;
-        } /* end if */
-        else {
-            /* Free any space referred to in the file from this message */
-            if(H5O_delete_mesg(udata->f, udata->dxpl_id, mesg, udata->adj_link)<0)
-                HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, H5O_ITER_ERROR, "unable to delete file space for object header message")
+        /* Free any space referred to in the file from this message */
+        if(H5O_delete_mesg(udata->f, udata->dxpl_id, mesg, udata->adj_link) < 0)
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, H5O_ITER_ERROR, "unable to delete file space for object header message")
 
-            /* Free any native information */
-            H5O_free_mesg(mesg);
+        /* Free any native information */
+        H5O_free_mesg(mesg);
 
-            /* Change message type to nil and zero it */
-            mesg->type = H5O_NULL;
-            HDmemset(mesg->raw, 0, mesg->raw_size);
+        /* Change message type to nil and zero it */
+        mesg->type = H5O_MSG_NULL;
+        HDmemset(mesg->raw, 0, mesg->raw_size);
 
-            /* Indicate that the message was modified */
-            mesg->dirty = TRUE;
+        /* Indicate that the message was modified */
+        mesg->dirty = TRUE;
 
-            /* Indicate that the object header was modified */
-            *oh_flags_ptr = TRUE;
-        } /* end else */
+        /* Indicate that the object header was modified */
+        *oh_flags_ptr = TRUE;
 
         /* Break out now, if we've found the correct message */
         if(udata->sequence != H5O_ALL)
@@ -2680,15 +2120,10 @@
  *		matzke at llnl.gov
  *		Aug 28 1997
  *
- * Modifications:
- *
- *	Robb Matzke, 7 Jan 1998
- *	Does not remove constant messages.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_remove_real(H5G_entry_t *ent, const H5O_class_t *type, int sequence,
+H5O_remove_real(H5G_entry_t *ent, const H5O_msg_class_t *type, int sequence,
     H5O_operator_t op, void *op_data, hbool_t adj_link, hid_t dxpl_id)
 {
     H5O_iter_ud1_t udata;               /* User data for iterator */
@@ -2718,7 +2153,7 @@
         HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "error iterating over messages")
 
     /* Fail if we tried to remove any constant messages */
-    if (udata.nfailed)
+    if(udata.nfailed)
 	HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to remove constant message(s)")
 
 done:
@@ -2726,6 +2161,53 @@
 } /* end H5O_remove_real() */
 
 
+/*------------------------------------------------------------------------- 
+ *
+ * Function:    H5O_alloc_msgs
+ *
+ * Purpose:     Allocate more messages for a header
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		koziol at ncsa.uiuc.edu
+ *		Nov 21 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_alloc_msgs(H5O_t *oh, size_t min_alloc)
+{
+    size_t old_alloc;                   /* Old number of messages allocated */
+    size_t na;                          /* New number of messages allocated */
+    H5O_mesg_t *new_mesg;               /* Pointer to new message array */
+    herr_t ret_value = SUCCEED; 	/* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc_msgs)
+        
+    /* check args */
+    HDassert(oh);
+
+    /* Initialize number of messages information */
+    old_alloc = oh->alloc_nmesgs;
+    na = oh->alloc_nmesgs + MAX (H5O_NMESGS, min_alloc);
+
+    /* Attempt to allocate more memory */
+    if(NULL == (new_mesg = H5FL_SEQ_REALLOC(H5O_mesg_t, oh->mesg, na)))
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+    /* Update ohdr information */
+    oh->alloc_nmesgs = na;
+    oh->mesg = new_mesg;
+
+    /* Set new object header info to zeros */
+    HDmemset(&oh->mesg[old_alloc], 0, (oh->alloc_nmesgs - old_alloc) * sizeof(H5O_mesg_t));
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* H5O_alloc_msgs() */
+
+
 /*-------------------------------------------------------------------------
  * Function:	H5O_alloc_extend_chunk
  *
@@ -2750,12 +2232,6 @@
  *		matzke at llnl.gov
  *		Aug  7 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-08-26
- *		If new memory is allocated as a multiple of some alignment
- *		then we're careful to initialize the part of the new memory
- *		from the end of the expected message to the end of the new
- *		memory.
  *-------------------------------------------------------------------------
  */
 static unsigned
@@ -2768,15 +2244,15 @@
     uint8_t	*old_addr;
     unsigned	ret_value;
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc_extend_chunk);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc_extend_chunk)
 
     /* check args */
-    assert(oh);
-    assert(chunkno < oh->nchunks);
-    assert(size > 0);
+    HDassert(oh);
+    HDassert(chunkno < oh->nchunks);
+    HDassert(size > 0);
 
-    if (H5F_addr_defined(oh->chunk[chunkno].addr))
-	HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, UFAIL, "chunk is on disk");
+    if(H5F_addr_defined(oh->chunk[chunkno].addr))
+	HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, UFAIL, "chunk is on disk")
 
     /* try to extend a null message */
     for (idx=0; idx<oh->nmesgs; idx++) {
@@ -2824,20 +2300,16 @@
     delta = H5O_ALIGN(delta);
 
     if( H5MF_reserve(f, (hsize_t)delta) < 0 )
-        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "unable to reserve space in file");
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "unable to reserve space in file")
 
     /* create a new null message */
-    if (oh->nmesgs >= oh->alloc_nmesgs) {
-        unsigned na = oh->alloc_nmesgs + H5O_NMESGS;
-        H5O_mesg_t *x = H5FL_SEQ_REALLOC (H5O_mesg_t, oh->mesg, (size_t)na);
+    if(oh->nmesgs >= oh->alloc_nmesgs) {
+        if(H5O_alloc_msgs(oh, (size_t)0) < 0)
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "can't allocate more space for messages")
+    } /* end if */
 
-        if (NULL==x)
-            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
-        oh->alloc_nmesgs = na;
-        oh->mesg = x;
-    }
     idx = oh->nmesgs++;
-    oh->mesg[idx].type = H5O_NULL;
+    oh->mesg[idx].type = H5O_MSG_NULL;
     oh->mesg[idx].dirty = TRUE;
     oh->mesg[idx].native = NULL;
     oh->mesg[idx].raw = oh->chunk[chunkno].image +
@@ -2846,35 +2318,37 @@
     oh->mesg[idx].raw_size = delta - H5O_SIZEOF_MSGHDR(f);
     oh->mesg[idx].chunkno = chunkno;
 
+    /* Allocate more memory space for chunk's image */
     old_addr = oh->chunk[chunkno].image;
     old_size = oh->chunk[chunkno].size;
     oh->chunk[chunkno].size += delta;
     oh->chunk[chunkno].image = H5FL_BLK_REALLOC(chunk_image,old_addr,
 					    oh->chunk[chunkno].size);
-    if (NULL==oh->chunk[chunkno].image)
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
-    HDmemset(oh->chunk[chunkno].image+old_size, 0,
-	     oh->chunk[chunkno].size - old_size);
+    if(NULL == oh->chunk[chunkno].image)
+	HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed")
 
+    /* Wipe new space for chunk */
+    HDmemset(oh->chunk[chunkno].image + old_size, 0, oh->chunk[chunkno].size - old_size);
+
     /* adjust raw addresses for messages of this chunk */
     if (old_addr != oh->chunk[chunkno].image) {
 	for (u = 0; u < oh->nmesgs; u++) {
 	    if (oh->mesg[u].chunkno == chunkno)
 		oh->mesg[u].raw = oh->chunk[chunkno].image +
 		    (oh->mesg[u].raw - old_addr);
-	}
-    }
+        } /* end if */
+    } /* end for */
 
     /* Set return value */
     ret_value=idx;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* H5O_alloc_extend_chunk() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5O_alloc_new_chunk
+ * Function:    H5O_alloc_new_chunk
  *
  * Purpose:	Allocates a new chunk for the object header but doen't
  *		give the new chunk a file address yet.	One of the other
@@ -2883,41 +2357,39 @@
  *		message, then some message from another chunk is moved into
  *		this chunk to make room.
  *
- * 		SIZE need not be aligned.
+ *              SIZE need not be aligned.
  *
- * Return:	Success:	Index number of the null message for the
- *				new chunk.  The null message will be at
- *				least SIZE bytes not counting the message
- *				ID or size fields.
+ * Return:      Success:        Index number of the null message for the
+ *                              new chunk.  The null message will be at
+ *                              least SIZE bytes not counting the message
+ *                              ID or size fields.
  *
- *		Failure:	Negative
+ *              Failure:        Negative
  *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Aug  7 1997
+ * Programmer:  Robb Matzke
+ *              matzke at llnl.gov
+ *              Aug  7 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static unsigned
 H5O_alloc_new_chunk(H5F_t *f, H5O_t *oh, size_t size)
 {
-    size_t	cont_size;		/*continuation message size	*/
-    int	found_null = (-1);	/*best fit null message		*/
-    int	found_other = (-1);	/*best fit other message	*/
-    unsigned	idx;		        /*message number */
-    uint8_t	*p = NULL;		/*ptr into new chunk		*/
-    H5O_cont_t	*cont = NULL;		/*native continuation message	*/
-    int	chunkno;
-    unsigned	u;
-    unsigned	ret_value;		/*return value	*/
+    size_t      cont_size;              /*continuation message size     */
+    int found_null = (-1);      /*best fit null message         */
+    int found_other = (-1);     /*best fit other message        */
+    unsigned    idx;                    /*message number */
+    uint8_t     *p = NULL;              /*ptr into new chunk            */
+    H5O_cont_t  *cont = NULL;           /*native continuation message   */
+    int chunkno;
+    unsigned    u;
+    unsigned    ret_value;              /*return value  */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc_new_chunk);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc_new_chunk)
 
     /* check args */
-    assert (oh);
-    assert (size > 0);
+    HDassert(oh);
+    HDassert(size > 0);
     size = H5O_ALIGN(size);
 
     /*
@@ -2927,42 +2399,42 @@
      * Don't ever move continuation message from one chunk to another.
      */
     cont_size = H5O_ALIGN (H5F_SIZEOF_ADDR(f) + H5F_SIZEOF_SIZE(f));
-    for (u=0; u<oh->nmesgs; u++) {
-	if (H5O_NULL_ID == oh->mesg[u].type->id) {
-	    if (cont_size == oh->mesg[u].raw_size) {
-		found_null = u;
-		break;
-	    } else if (oh->mesg[u].raw_size >= cont_size &&
-		       (found_null < 0 ||
-			(oh->mesg[u].raw_size <
-			 oh->mesg[found_null].raw_size))) {
-		found_null = u;
-	    }
-	} else if (H5O_CONT_ID == oh->mesg[u].type->id) {
-	    /*don't consider continuation messages */
-	} else if (oh->mesg[u].raw_size >= cont_size &&
-		   (found_other < 0 ||
-		    oh->mesg[u].raw_size < oh->mesg[found_other].raw_size)) {
-	    found_other = u;
-	}
-    }
-    assert(found_null >= 0 || found_other >= 0);
+    for(u = 0; u < oh->nmesgs; u++) {
+        if (H5O_NULL_ID == oh->mesg[u].type->id) {
+            if (cont_size == oh->mesg[u].raw_size) {
+                found_null = u;
+                break;
+            } else if (oh->mesg[u].raw_size >= cont_size &&
+                       (found_null < 0 ||
+                        (oh->mesg[u].raw_size <
+                         oh->mesg[found_null].raw_size))) {
+                found_null = u;
+            }
+        } else if (H5O_CONT_ID == oh->mesg[u].type->id) {
+            /*don't consider continuation messages */
+        } else if (oh->mesg[u].raw_size >= cont_size &&
+                   (found_other < 0 ||
+                    oh->mesg[u].raw_size < oh->mesg[found_other].raw_size)) {
+            found_other = u;
+	} /* end else */
+    } /* end for */
+    HDassert(found_null >= 0 || found_other >= 0);
 
     /*
      * If we must move some other message to make room for the null
      * message, then make sure the new chunk has enough room for that
      * other message.
      */
-    if (found_null < 0)
-	size += H5O_SIZEOF_MSGHDR(f) + oh->mesg[found_other].raw_size;
+    if(found_null < 0)
+        size += H5O_SIZEOF_MSGHDR(f) + oh->mesg[found_other].raw_size;
 
     /*
      * The total chunk size must include the requested space plus enough
-     * for the message header.	This must be at least some minimum and a
+     * for the message header.  This must be at least some minimum and a
      * multiple of the alignment size.
      */
     size = MAX(H5O_MIN_SIZE, size + H5O_SIZEOF_MSGHDR(f));
-    assert (size == H5O_ALIGN (size));
+    HDassert(size == H5O_ALIGN (size));
 
     /* Reserve space in the file to hold the new chunk */
     if( H5MF_reserve(f, (hsize_t)size) < 0 )
@@ -2971,63 +2443,56 @@
     /*
      * Create the new chunk without giving it a file address.
      */
-    if (oh->nchunks >= oh->alloc_nchunks) {
+    if(oh->nchunks >= oh->alloc_nchunks) {
         unsigned na = oh->alloc_nchunks + H5O_NCHUNKS;
         H5O_chunk_t *x = H5FL_SEQ_REALLOC (H5O_chunk_t, oh->chunk, (size_t)na);
 
-        if (!x)
-            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
+        if(!x)
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed")
         oh->alloc_nchunks = na;
         oh->chunk = x;
-    }
+    } /* end if */
+
     chunkno = oh->nchunks++;
     oh->chunk[chunkno].dirty = TRUE;
     oh->chunk[chunkno].addr = HADDR_UNDEF;
     oh->chunk[chunkno].size = size;
     if (NULL==(oh->chunk[chunkno].image = p = H5FL_BLK_CALLOC(chunk_image,size)))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
+	HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed")
 
     /*
      * Make sure we have enough space for all possible new messages
      * that could be generated below.
      */
-    if (oh->nmesgs + 3 > oh->alloc_nmesgs) {
-        int old_alloc=oh->alloc_nmesgs;
-        unsigned na = oh->alloc_nmesgs + MAX (H5O_NMESGS, 3);
-        H5O_mesg_t *x = H5FL_SEQ_REALLOC (H5O_mesg_t, oh->mesg, (size_t)na);
+    if(oh->nmesgs + 3 > oh->alloc_nmesgs) {
+        if(H5O_alloc_msgs(oh, (size_t)3) < 0)
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "can't allocate more space for messages")
+    } /* end if */
 
-        if (!x)
-            HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
-        oh->alloc_nmesgs = na;
-        oh->mesg = x;
-
-        /* Set new object header info to zeros */
-        HDmemset(&oh->mesg[old_alloc], 0,
-		 (oh->alloc_nmesgs-old_alloc)*sizeof(H5O_mesg_t));
-    }
-
     /*
      * Describe the messages of the new chunk.
      */
-    if (found_null < 0) {
-	found_null = u = oh->nmesgs++;
-	oh->mesg[u].type = H5O_NULL;
-	oh->mesg[u].dirty = TRUE;
-	oh->mesg[u].native = NULL;
-	oh->mesg[u].raw = oh->mesg[found_other].raw;
-	oh->mesg[u].raw_size = oh->mesg[found_other].raw_size;
-	oh->mesg[u].chunkno = oh->mesg[found_other].chunkno;
+    if(found_null < 0) {
+        found_null = u = oh->nmesgs++;
+        oh->mesg[u].type = H5O_MSG_NULL;
+        oh->mesg[u].dirty = TRUE;
+        oh->mesg[u].native = NULL;
+        oh->mesg[u].raw = oh->mesg[found_other].raw;
+        oh->mesg[u].raw_size = oh->mesg[found_other].raw_size;
+        oh->mesg[u].chunkno = oh->mesg[found_other].chunkno;
 
-	oh->mesg[found_other].dirty = TRUE;
+        oh->mesg[found_other].dirty = TRUE;
         /* Copy the message to the new location */
-        HDmemcpy(p+H5O_SIZEOF_MSGHDR(f),oh->mesg[found_other].raw,oh->mesg[found_other].raw_size);
-	oh->mesg[found_other].raw = p + H5O_SIZEOF_MSGHDR(f);
-	oh->mesg[found_other].chunkno = chunkno;
-	p += H5O_SIZEOF_MSGHDR(f) + oh->mesg[found_other].raw_size;
-	size -= H5O_SIZEOF_MSGHDR(f) + oh->mesg[found_other].raw_size;
-    }
+        HDmemcpy(p + H5O_SIZEOF_MSGHDR(f),
+                 oh->mesg[found_other].raw,
+                 oh->mesg[found_other].raw_size);
+        oh->mesg[found_other].raw = p + H5O_SIZEOF_MSGHDR(f);
+        oh->mesg[found_other].chunkno = chunkno;
+        p += H5O_SIZEOF_MSGHDR(f) + oh->mesg[found_other].raw_size;
+        size -= H5O_SIZEOF_MSGHDR(f) + oh->mesg[found_other].raw_size;
+    } /* end if */
     idx = oh->nmesgs++;
-    oh->mesg[idx].type = H5O_NULL;
+    oh->mesg[idx].type = H5O_MSG_NULL;
     oh->mesg[idx].dirty = TRUE;
     oh->mesg[idx].native = NULL;
     oh->mesg[idx].raw = p + H5O_SIZEOF_MSGHDR(f);
@@ -3039,150 +2504,137 @@
      * is larger than the continuation message, then split it into
      * two null messages.
      */
-    if (oh->mesg[found_null].raw_size > cont_size) {
-	u = oh->nmesgs++;
-	oh->mesg[u].type = H5O_NULL;
-	oh->mesg[u].dirty = TRUE;
-	oh->mesg[u].native = NULL;
-	oh->mesg[u].raw = oh->mesg[found_null].raw +
-			  cont_size +
-			  H5O_SIZEOF_MSGHDR(f);
-	oh->mesg[u].raw_size = oh->mesg[found_null].raw_size -
-			       (cont_size + H5O_SIZEOF_MSGHDR(f));
-	oh->mesg[u].chunkno = oh->mesg[found_null].chunkno;
+    if(oh->mesg[found_null].raw_size > cont_size) {
+        u = oh->nmesgs++;
+        oh->mesg[u].type = H5O_MSG_NULL;
+        oh->mesg[u].dirty = TRUE;
+        oh->mesg[u].native = NULL;
+        oh->mesg[u].raw = oh->mesg[found_null].raw +
+                          cont_size +
+                          H5O_SIZEOF_MSGHDR(f);
+        oh->mesg[u].raw_size = oh->mesg[found_null].raw_size -
+                               (cont_size + H5O_SIZEOF_MSGHDR(f));
+        oh->mesg[u].chunkno = oh->mesg[found_null].chunkno;
 
-	oh->mesg[found_null].dirty = TRUE;
-	oh->mesg[found_null].raw_size = cont_size;
-    }
+        oh->mesg[found_null].dirty = TRUE;
+        oh->mesg[found_null].raw_size = cont_size;
+    } /* end if */
 
     /*
      * Initialize the continuation message.
      */
-    oh->mesg[found_null].type = H5O_CONT;
+    oh->mesg[found_null].type = H5O_MSG_CONT;
     oh->mesg[found_null].dirty = TRUE;
     if (NULL==(cont = H5FL_MALLOC(H5O_cont_t)))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
+        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed")
     cont->addr = HADDR_UNDEF;
     cont->size = 0;
     cont->chunkno = chunkno;
     oh->mesg[found_null].native = cont;
 
     /* Set return value */
-    ret_value=idx;
+    ret_value = idx;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* H5O_alloc_new_chunk() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5O_alloc
+ * Function:    H5O_alloc
  *
- * Purpose:	Allocate enough space in the object header for this message.
+ * Purpose:     Allocate enough space in the object header for this message.
  *
- * Return:	Success:	Index of message
+ * Return:      Success:        Index of message
  *
- *		Failure:	Negative
+ *              Failure:        Negative
  *
- * Programmer:	Robb Matzke
- *		matzke at llnl.gov
- *		Aug  6 1997
+ * Programmer:  Robb Matzke
+ *              matzke at llnl.gov
+ *              Aug  6 1997
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static unsigned
-H5O_alloc(H5F_t *f, H5O_t *oh, const H5O_class_t *type, size_t size)
+H5O_alloc(H5F_t *f, H5O_t *oh, const H5O_msg_class_t *type, size_t size)
 {
-    unsigned	idx;
     H5O_mesg_t *msg;            /* Pointer to newly allocated message */
-    size_t	aligned_size = H5O_ALIGN(size);
-    unsigned	ret_value;      /* Return value */
+    size_t      aligned_size = H5O_ALIGN(size);
+    unsigned    idx;            /* Index of message which fits allocation */
+    unsigned    ret_value;      /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_alloc)
 
     /* check args */
-    assert (oh);
-    assert (type);
+    HDassert(oh);
+    HDassert(type);
 
     /* look for a null message which is large enough */
-    for (idx = 0; idx < oh->nmesgs; idx++) {
-	if (H5O_NULL_ID == oh->mesg[idx].type->id &&
+    for(idx = 0; idx < oh->nmesgs; idx++) {
+        if(H5O_NULL_ID == oh->mesg[idx].type->id &&
                 oh->mesg[idx].raw_size >= aligned_size)
-	    break;
-    }
+            break;
+    } /* end for */
 
 #ifdef LATER
     /*
      * Perhaps if we join adjacent null messages we could make one
      * large enough... we leave this as an exercise for future
-     * programmers :-)	This isn't a high priority because when an
+     * programmers :-)  This isn't a high priority because when an
      * object header is read from disk the null messages are combined
      * anyway.
      */
 #endif
 
     /* if we didn't find one, then allocate more header space */
-    if (idx >= oh->nmesgs) {
-        unsigned	chunkno;
+    if(idx >= oh->nmesgs) {
+        unsigned        chunkno;
 
 	/*
 	 * Look for a chunk which hasn't had disk space allocated yet
 	 * since we can just increase the size of that chunk.
 	 */
 	for (chunkno = 0; chunkno < oh->nchunks; chunkno++) {
-	    if ((idx = H5O_alloc_extend_chunk(f, oh, chunkno, size)) != UFAIL) {
+	    if ((idx = H5O_alloc_extend_chunk(f, oh, chunkno, size)) != UFAIL)
 		break;
-	    }
 	    H5E_clear();
 	}
 
-	/*
-	 * Create a new chunk
-	 */
-	if (idx == UFAIL) {
+        /* if idx is still UFAIL, we were not able to extend a chunk.  
+         * Create a new one.
+         */
+        if(idx == UFAIL)
 	    if ((idx = H5O_alloc_new_chunk(f, oh, size)) == UFAIL)
-		HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, UFAIL, "unable to create a new object header data chunk");
-	}
-    }
+                HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, UFAIL, "unable to create a new object header data chunk")
+    } /* end if */
 
     /* Set pointer to newly allocated message */
-    msg=&oh->mesg[idx];
+    msg = &(oh->mesg[idx]);
 
     /* do we need to split the null message? */
-    if (msg->raw_size > aligned_size) {
+    if(msg->raw_size > aligned_size) {
         H5O_mesg_t *null_msg;       /* Pointer to null message */
-        size_t	mesg_size = aligned_size+ H5O_SIZEOF_MSGHDR(f); /* Total size of newly allocated message */
+        size_t  mesg_size = aligned_size + H5O_SIZEOF_MSGHDR(f); /* Total size of newly allocated message */
 
-	assert(msg->raw_size - aligned_size >= H5O_SIZEOF_MSGHDR(f));
+        HDassert(msg->raw_size - aligned_size >= H5O_SIZEOF_MSGHDR(f));
 
-	if (oh->nmesgs >= oh->alloc_nmesgs) {
-	    int old_alloc=oh->alloc_nmesgs;
-	    unsigned na = oh->alloc_nmesgs + H5O_NMESGS;
-	    H5O_mesg_t *x = H5FL_SEQ_REALLOC (H5O_mesg_t, oh->mesg, (size_t)na);
+        /* Check if we need to extend message table */
+        if(oh->nmesgs >= oh->alloc_nmesgs) {
+            if(H5O_alloc_msgs(oh, (size_t)0) < 0)
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, UFAIL, "can't allocate more space for messages")
 
-	    if (!x)
-                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, UFAIL, "memory allocation failed");
-	    oh->alloc_nmesgs = na;
-	    oh->mesg = x;
-
-	    /* Set new object header info to zeros */
-	    HDmemset(&oh->mesg[old_alloc],0,
-		     (oh->alloc_nmesgs-old_alloc)*sizeof(H5O_mesg_t));
-
             /* "Retarget" local 'msg' pointer into newly allocated array of messages */
-            msg=&oh->mesg[idx];
-	}
-        null_msg=&oh->mesg[oh->nmesgs++];
-	null_msg->type = H5O_NULL;
-	null_msg->dirty = TRUE;
-	null_msg->native = NULL;
-	null_msg->raw = msg->raw + mesg_size;
-	null_msg->raw_size = msg->raw_size - mesg_size;
-	null_msg->chunkno = msg->chunkno;
-	msg->raw_size = aligned_size;
-    }
+            msg = &oh->mesg[idx];
+        } /* end if */
+        null_msg = &(oh->mesg[oh->nmesgs++]);
+        null_msg->type = H5O_MSG_NULL;
+        null_msg->dirty = TRUE;
+        null_msg->native = NULL;
+        null_msg->raw = msg->raw + mesg_size;
+        null_msg->raw_size = msg->raw_size - mesg_size;
+        null_msg->chunkno = msg->chunkno;
+        msg->raw_size = aligned_size;
+    } /* end if */
 
     /* initialize the new message */
     msg->type = type;
@@ -3192,11 +2644,11 @@
     oh->cache_info.is_dirty = TRUE;
 
     /* Set return value */
-    ret_value=idx;
+    ret_value = idx;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* H5O_alloc() */
 
 #ifdef NOT_YET
 
@@ -3218,7 +2670,7 @@
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_share (H5F_t *f, hid_t dxpl_id, const H5O_class_t *type, const void *mesg,
+H5O_share (H5F_t *f, hid_t dxpl_id, const H5O_msg_class_t *type, const void *mesg,
 	   H5HG_t *hobj/*out*/)
 {
     size_t	size;
@@ -3237,9 +2689,9 @@
     if ((size = (type->raw_size)(f, mesg))>0) {
 	if (NULL==(buf = H5MM_malloc (size)))
 	    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-	if ((type->encode)(f, buf, mesg)<0)
+	if ((type->encode)(f, buf, mesg) < 0)
 	    HGOTO_ERROR (H5E_OHDR, H5E_CANTENCODE, FAIL, "unable to encode message");
-	if (H5HG_insert (f, dxpl_id, size, buf, hobj)<0)
+	if (H5HG_insert (f, dxpl_id, size, buf, hobj) < 0)
 	    HGOTO_ERROR (H5E_OHDR, H5E_CANTINIT, FAIL, "unable to store message in global heap");
     }
 
@@ -3264,21 +2716,19 @@
  *		koziol at ncsa.uiuc.edu
  *		Feb 13 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 size_t
 H5O_raw_size(unsigned type_id, const H5F_t *f, const void *mesg)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     size_t      ret_value;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_raw_size,0)
 
     /* Check args */
-    HDassert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type=H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     HDassert(type);
     HDassert(type->raw_size);
     HDassert(f);
@@ -3310,14 +2760,14 @@
 size_t
 H5O_mesg_size(unsigned type_id, const H5F_t *f, const void *mesg)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     size_t      ret_value;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_mesg_size,0)
 
     /* Check args */
-    HDassert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type=H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     HDassert(type);
     HDassert(type->raw_size);
     HDassert(f);
@@ -3360,26 +2810,26 @@
 herr_t
 H5O_get_share(unsigned type_id, H5F_t *f, const void *mesg, H5O_shared_t *share)
 {
-    const H5O_class_t *type;    /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;    /* Actual H5O class type for the ID */
     herr_t ret_value;           /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_get_share,FAIL);
+    FUNC_ENTER_NOAPI(H5O_get_share,FAIL)
 
     /* Check args */
-    assert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
-    assert (type);
-    assert (type->get_share);
-    assert (f);
-    assert (mesg);
-    assert (share);
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type);
+    HDassert(type->get_share);
+    HDassert(f);
+    HDassert(mesg);
+    HDassert(share);
 
     /* Compute the raw data size for the mesg */
-    if ((ret_value = (type->get_share)(f, mesg, share))<0)
-        HGOTO_ERROR (H5E_OHDR, H5E_CANTGET, FAIL, "unable to retrieve shared message information");
+    if((ret_value = (type->get_share)(f, mesg, share)) < 0)
+        HGOTO_ERROR (H5E_OHDR, H5E_CANTGET, FAIL, "unable to retrieve shared message information")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_get_share() */
 
 
@@ -3397,35 +2847,33 @@
  *		koziol at ncsa.uiuc.edu
  *		Mar 19 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_delete(H5F_t *f, hid_t dxpl_id, haddr_t addr)
 {
-    H5O_t *oh=NULL;             /* Object header information */
-    herr_t ret_value=SUCCEED;   /* Return value */
+    H5O_t *oh = NULL;           /* Object header information */
+    herr_t ret_value = SUCCEED; /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_delete,FAIL);
+    FUNC_ENTER_NOAPI(H5O_delete,FAIL)
 
     /* Check args */
-    assert (f);
-    assert(H5F_addr_defined(addr));
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
 
     /* Get the object header information */
-    if (NULL == (oh = H5AC_protect(f, dxpl_id, H5AC_OHDR, addr, NULL, NULL, H5AC_WRITE)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+    if(NULL == (oh = H5AC_protect(f, dxpl_id, H5AC_OHDR, addr, NULL, NULL, H5AC_WRITE)))
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* Delete object */
-    if(H5O_delete_oh(f,dxpl_id,oh)<0)
-        HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't delete object from file");
+    if(H5O_delete_oh(f, dxpl_id, oh) < 0)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't delete object from file")
 
 done:
     if (oh && H5AC_unprotect(f, dxpl_id, H5AC_OHDR, addr, oh, TRUE)<0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_delete() */
 
 
@@ -3444,54 +2892,36 @@
  *		koziol at ncsa.uiuc.edu
  *		Mar 19 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
 H5O_delete_oh(H5F_t *f, hid_t dxpl_id, H5O_t *oh)
 {
     H5O_mesg_t *curr_msg;       /* Pointer to current message being operated on */
-    H5O_chunk_t *curr_chk;      /* Pointer to current chunk being operated on */
     unsigned	u;
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED;   /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_delete_oh);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_delete_oh)
 
     /* Check args */
-    assert (f);
-    assert (oh);
+    HDassert(f);
+    HDassert(oh);
 
     /* Walk through the list of object header messages, asking each one to
      * delete any file space used
      */
-    for (u = 0, curr_msg=&oh->mesg[0]; u < oh->nmesgs; u++,curr_msg++) {
+    for(u = 0, curr_msg = &oh->mesg[0]; u < oh->nmesgs; u++, curr_msg++) {
         /* Free any space referred to in the file from this message */
-        if(H5O_delete_mesg(f, dxpl_id, curr_msg, TRUE)<0)
-            HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "unable to delete file space for object header message");
+        if(H5O_delete_mesg(f, dxpl_id, curr_msg, TRUE) < 0)
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "unable to delete file space for object header message")
     } /* end for */
 
-    /* Free all the chunks for the object header */
-    for (u = 0, curr_chk=&oh->chunk[0]; u < oh->nchunks; u++,curr_chk++) {
-        haddr_t     chk_addr;   /* Actual address of chunk */
-        hsize_t     chk_size;   /* Actual size of chunk */
+    /* Free main (first) object header "chunk" */
+    if(H5MF_xfree(f, H5FD_MEM_OHDR, dxpl_id, (oh->chunk[0].addr - H5O_SIZEOF_HDR(f)), (hsize_t)(oh->chunk[0].size + H5O_SIZEOF_HDR(f))) < 0)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free object header")
 
-        if(u==0) {
-            chk_addr = curr_chk->addr - H5O_SIZEOF_HDR(f);
-            chk_size = curr_chk->size + H5O_SIZEOF_HDR(f);
-        } /* end if */
-        else {
-            chk_addr = curr_chk->addr;
-            chk_size = curr_chk->size;
-        } /* end else */
-
-        /* Free the file space for the chunk */
-	if (H5MF_xfree(f, H5FD_MEM_OHDR, dxpl_id, chk_addr, chk_size)<0)
-	    HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free object header");
-    } /* end for */
-
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_delete_oh() */
 
 
@@ -3508,25 +2938,23 @@
  *		koziol at ncsa.uiuc.edu
  *		September 26 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
 H5O_delete_mesg(H5F_t *f, hid_t dxpl_id, H5O_mesg_t *mesg, hbool_t adj_link)
 {
-    const H5O_class_t	*type;  /* Type of object to free */
+    const H5O_msg_class_t	*type;  /* Type of object to free */
     herr_t ret_value=SUCCEED;   /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_delete_mesg);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_delete_mesg)
 
     /* Check args */
-    assert (f);
-    assert (mesg);
+    HDassert(f);
+    HDassert(mesg);
 
     /* Get the message to free's type */
     if(mesg->flags & H5O_FLAG_SHARED)
-        type=H5O_SHARED;
+        type = H5O_MSG_SHARED;
     else
         type = mesg->type;
 
@@ -3535,19 +2963,19 @@
         /*
          * Decode the message if necessary.
          */
-        if (NULL == mesg->native) {
-            assert(type->decode);
-            mesg->native = (type->decode) (f, dxpl_id, mesg->raw, NULL);
-            if (NULL == mesg->native)
-                HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, FAIL, "unable to decode message");
+        if(NULL == mesg->native) {
+            HDassert(type->decode);
+            mesg->native = (type->decode) (f, dxpl_id, mesg->raw);
+            if(NULL == mesg->native)
+                HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, FAIL, "unable to decode message")
         } /* end if */
 
-        if ((type->del)(f, dxpl_id, mesg->native, adj_link)<0)
-            HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "unable to delete file space for object header message");
+        if((type->del)(f, dxpl_id, mesg->native, adj_link) < 0)
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "unable to delete file space for object header message")
     } /* end if */
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_delete_msg() */
 
 
@@ -3562,53 +2990,51 @@
  *		koziol at ncsa.uiuc.edu
  *		Oct  7 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_get_info(H5G_entry_t *ent, H5O_stat_t *ostat, hid_t dxpl_id)
 {
-    H5O_t *oh=NULL;             /* Object header information */
+    H5O_t *oh = NULL;           /* Object header information */
     H5O_mesg_t *curr_msg;       /* Pointer to current message being operated on */
     hsize_t total_size;         /* Total amount of space used in file */
     hsize_t free_space;         /* Free space in object header */
     unsigned u;                 /* Local index variable */
-    herr_t ret_value=SUCCEED;   /* Return value */
+    herr_t ret_value = SUCCEED; /* Return value */
 
-    FUNC_ENTER_NOAPI(H5O_get_info,FAIL);
+    FUNC_ENTER_NOAPI(H5O_get_info,FAIL)
 
     /* Check args */
-    assert (ent);
-    assert (ostat);
+    HDassert(ent);
+    HDassert(ostat);
 
     /* Get the object header information */
     if (NULL == (oh = H5AC_protect(ent->file, dxpl_id, H5AC_OHDR, ent->header, NULL, NULL, H5AC_READ)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* Iterate over all the messages, accumulating the total size & free space */
-    total_size=H5O_SIZEOF_HDR(ent->file);
-    free_space=0;
-    for (u = 0, curr_msg=&oh->mesg[0]; u < oh->nmesgs; u++,curr_msg++) {
+    total_size = H5O_SIZEOF_HDR(ent->file);
+    free_space = 0;
+    for(u = 0, curr_msg = &oh->mesg[0]; u < oh->nmesgs; u++, curr_msg++) {
         /* Accumulate the size for this message */
         total_size+= H5O_SIZEOF_MSGHDR(ent->file) + curr_msg->raw_size;
 
         /* Check for this message being free space */
-	if (H5O_NULL_ID == curr_msg->type->id)
+	if(H5O_NULL_ID == curr_msg->type->id)
             free_space+= H5O_SIZEOF_MSGHDR(ent->file) + curr_msg->raw_size;
     } /* end for */
 
     /* Set the information for this object header */
-    ostat->size=total_size;
-    ostat->free=free_space;
-    ostat->nmesgs=oh->nmesgs;
-    ostat->nchunks=oh->nchunks;
+    ostat->size = total_size;
+    ostat->free = free_space;
+    ostat->nmesgs = oh->nmesgs;
+    ostat->nchunks = oh->nchunks;
 
 done:
     if (oh && H5AC_unprotect(ent->file, dxpl_id, H5AC_OHDR, ent->header, oh, FALSE)<0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_get_info() */
 
 
@@ -3641,16 +3067,14 @@
  *      C. Negative causes the iterator to immediately return that value,
  *          indicating failure.
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5O_iterate(const H5G_entry_t *ent, unsigned type_id, H5O_operator_t op,
     void *op_data, hid_t dxpl_id)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
-    herr_t              ret_value=0;    /* Return value */
+    const H5O_msg_class_t *type;    /* Actual H5O class type for the ID */
+    herr_t ret_value;           /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_iterate, FAIL)
 
@@ -3658,8 +3082,8 @@
     HDassert(ent);
     HDassert(ent->file);
     HDassert(H5F_addr_defined(ent->header));
-    HDassert(type_id<NELMTS(message_type_g));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    HDassert(type_id < NELMTS(H5O_msg_class_g));
+    type = H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     HDassert(type);
 
     /* Call the "real" iterate routine */
@@ -3705,10 +3129,10 @@
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_iterate_real(const H5G_entry_t *ent, const H5O_class_t *type, H5AC_protect_t prot,
+H5O_iterate_real(const H5G_entry_t *ent, const H5O_msg_class_t *type, H5AC_protect_t prot,
     hbool_t internal, void *op, void *op_data, hid_t dxpl_id)
 {
-    H5O_t		*oh=NULL;       /* Pointer to actual object header */
+    H5O_t		*oh = NULL;     /* Pointer to actual object header */
     unsigned            oh_flags = FALSE;  /* Start iteration with no flags set on object header */
     unsigned		idx;            /* Absolute index of current message in all messages */
     unsigned		sequence;       /* Relative index of current message for messages of type */
@@ -3735,20 +3159,8 @@
              * Decode the message if necessary.  If the message is shared then decode
              * a shared message, ignoring the message type.
              */
-            if (NULL == idx_msg->native) {
-                const H5O_class_t	*decode_type;
+            LOAD_NATIVE(ent->file, dxpl_id, idx_msg, FAIL)
 
-                if (idx_msg->flags & H5O_FLAG_SHARED)
-                    decode_type = H5O_SHARED;
-                else
-                    decode_type = type;
-
-                /* Decode the message if necessary */
-                HDassert(decode_type->decode);
-                if (NULL == (idx_msg->native = (decode_type->decode) (ent->file, dxpl_id, idx_msg->raw, NULL)))
-                    HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, FAIL, "unable to decode message")
-            } /* end if */
-
             /* Check for making an "internal" (i.e. within the H5O package) callback */
             if(internal) {
                 /* Call the "internal" iterator callback */
@@ -3799,16 +3211,16 @@
  *-------------------------------------------------------------------------
  */
 herr_t
-H5O_debug_id(hid_t type_id, H5F_t *f, hid_t dxpl_id, const void *mesg, FILE *stream, int indent, int fwidth)
+H5O_debug_id(unsigned type_id, H5F_t *f, hid_t dxpl_id, const void *mesg, FILE *stream, int indent, int fwidth)
 {
-    const H5O_class_t *type;            /* Actual H5O class type for the ID */
+    const H5O_msg_class_t *type;            /* Actual H5O class type for the ID */
     herr_t      ret_value;       /* Return value */
 
     FUNC_ENTER_NOAPI(H5O_debug_id,FAIL);
 
     /* Check args */
-    assert(type_id>=0 && type_id<(hid_t)(sizeof(message_type_g)/sizeof(message_type_g[0])));
-    type=message_type_g[type_id];    /* map the type ID to the actual type object */
+    assert(type_id < NELMTS(H5O_msg_class_g));
+    type=H5O_msg_class_g[type_id];    /* map the type ID to the actual type object */
     assert(type);
     assert(type->debug);
     assert(f);
@@ -3818,7 +3230,7 @@
     assert(fwidth >= 0);
 
     /* Call the debug method in the class */
-    if ((ret_value = (type->debug)(f, dxpl_id, mesg, stream, indent, fwidth))<0)
+    if ((ret_value = (type->debug)(f, dxpl_id, mesg, stream, indent, fwidth)) < 0)
         HGOTO_ERROR (H5E_OHDR, H5E_BADTYPE, FAIL, "unable to debug message");
 
 done:
@@ -3837,9 +3249,6 @@
  *		matzke at llnl.gov
  *		Aug  6 1997
  *
- * Modifications:
- *		Robb Matzke, 1999-07-28
- *		The ADDR argument is passed by value.
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -3850,21 +3259,21 @@
     size_t	mesg_total = 0, chunk_total = 0;
     int		*sequence;
     haddr_t	tmp_addr;
-    herr_t	ret_value = SUCCEED;
-    void	*(*decode)(H5F_t*, hid_t, const uint8_t*, H5O_shared_t*);
+    void	*(*decode)(H5F_t*, hid_t, const uint8_t*);
     herr_t      (*debug)(H5F_t*, hid_t, const void*, FILE*, int, int)=NULL;
+    herr_t	ret_value = SUCCEED;
 
-    FUNC_ENTER_NOAPI(H5O_debug, FAIL);
+    FUNC_ENTER_NOAPI(H5O_debug, FAIL)
 
     /* check args */
-    assert(f);
-    assert(H5F_addr_defined(addr));
-    assert(stream);
-    assert(indent >= 0);
-    assert(fwidth >= 0);
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(stream);
+    HDassert(indent >= 0);
+    HDassert(fwidth >= 0);
 
     if (NULL == (oh = H5AC_protect(f, dxpl_id, H5AC_OHDR, addr, NULL, NULL, H5AC_READ)))
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header");
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unable to load object header")
 
     /* debug */
     HDfprintf(stream, "%*sObject Header...\n", indent, "");
@@ -3889,7 +3298,7 @@
 	      (unsigned) (oh->nchunks), (unsigned) (oh->alloc_nchunks));
 
     /* debug each chunk */
-    for (i=0, chunk_total=0; i<oh->nchunks; i++) {
+    for (i=0, chunk_total=0; i < oh->nchunks; i++) {
 	chunk_total += oh->chunk[i].size;
 	HDfprintf(stream, "%*sChunk %d...\n", indent, "", i);
 
@@ -3909,15 +3318,14 @@
     }
 
     /* debug each message */
-    if (NULL==(sequence = H5MM_calloc(NELMTS(message_type_g)*sizeof(int))))
+    if (NULL==(sequence = H5MM_calloc(NELMTS(H5O_msg_class_g)*sizeof(int))))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
-    for (i=0, mesg_total=0; i<oh->nmesgs; i++) {
+    for (i=0, mesg_total=0; i < oh->nmesgs; i++) {
 	mesg_total += H5O_SIZEOF_MSGHDR(f) + oh->mesg[i].raw_size;
 	HDfprintf(stream, "%*sMessage %d...\n", indent, "", i);
 
 	/* check for bad message id */
-	if (oh->mesg[i].type->id < 0 ||
-	    oh->mesg[i].type->id >= (int)NELMTS(message_type_g)) {
+	if (oh->mesg[i].type->id >= (int)NELMTS(H5O_msg_class_g)) {
 	    HDfprintf(stream, "*** BAD MESSAGE ID 0x%04x\n",
 		      oh->mesg[i].type->id);
 	    continue;
@@ -3930,6 +3338,9 @@
 		  (unsigned) (oh->mesg[i].type->id),
 		  oh->mesg[i].type->name,
 		  sequence[oh->mesg[i].type->id]++);
+	HDfprintf (stream, "%*s%-*s %d\n", indent+3, "", MAX (0, fwidth-3),
+		   "Dirty:",
+		   (int)(oh->mesg[i].dirty));
 	HDfprintf (stream, "%*s%-*s %s\n", indent+3, "", MAX (0, fwidth-3),
 		   "Shared:",
 		   (oh->mesg[i].flags & H5O_FLAG_SHARED) ? "Yes" : "No");
@@ -3950,6 +3361,9 @@
 	chunkno = oh->mesg[i].chunkno;
 	if (chunkno >= oh->nchunks)
 	    HDfprintf(stream, "*** BAD CHUNK NUMBER\n");
+	HDfprintf(stream, "%*s%-*s %u\n", indent + 3, "", MAX(0, fwidth - 3),
+		  "Raw data offset in chunk:",
+		  (unsigned) (oh->mesg[i].raw - oh->chunk[chunkno].image));
 
 	/* check the size */
 	if ((oh->mesg[i].raw + oh->mesg[i].raw_size >
@@ -3960,14 +3374,14 @@
 
 	/* decode the message */
 	if (oh->mesg[i].flags & H5O_FLAG_SHARED) {
-	    decode = H5O_SHARED->decode;
-	    debug = H5O_SHARED->debug;
+	    decode = H5O_MSG_SHARED->decode;
+	    debug = H5O_MSG_SHARED->debug;
 	} else {
 	    decode = oh->mesg[i].type->decode;
 	    debug = oh->mesg[i].type->debug;
 	}
 	if (NULL==oh->mesg[i].native && decode)
-	    oh->mesg[i].native = (decode)(f, dxpl_id, oh->mesg[i].raw, NULL);
+	    oh->mesg[i].native = (decode)(f, dxpl_id, oh->mesg[i].raw);
 	if (NULL==oh->mesg[i].native)
 	    debug = NULL;
 
@@ -3984,17 +3398,9 @@
 	    H5O_shared_t *shared = (H5O_shared_t*)(oh->mesg[i].native);
 	    void *mesg = NULL;
 
-	    if (shared->in_gh) {
-		void *p = H5HG_read (f, dxpl_id, oh->mesg[i].native, NULL);
-		mesg = (oh->mesg[i].type->decode)(f, dxpl_id, p, oh->mesg[i].native);
-		H5MM_xfree (p);
-	    } else {
-		mesg = H5O_read_real(&(shared->u.ent), oh->mesg[i].type, 0, NULL, dxpl_id);
-	    }
-	    if (oh->mesg[i].type->debug) {
-		(oh->mesg[i].type->debug)(f, dxpl_id, mesg, stream, indent+3,
-					  MAX (0, fwidth-3));
-	    }
+            mesg = H5O_read_real(&(shared->ent), oh->mesg[i].type, 0, NULL, dxpl_id);
+	    if (oh->mesg[i].type->debug)
+		(oh->mesg[i].type->debug)(f, dxpl_id, mesg, stream, indent+3, MAX (0, fwidth-3));
 	    H5O_free_real(oh->mesg[i].type, mesg);
 	}
     }
@@ -4005,7 +3411,7 @@
 
 done:
     if (oh && H5AC_unprotect(f, dxpl_id, H5AC_OHDR, addr, oh, FALSE) < 0)
-	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header");
+	HDONE_ERROR(H5E_OHDR, H5E_PROTECT, FAIL, "unable to release object header")
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 }

Modified: packages/hdf5/trunk/src/H5Oattr.c
===================================================================
--- packages/hdf5/trunk/src/H5Oattr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Oattr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5A_PACKAGE             /*prevent warning from including H5Apkg   */
@@ -28,7 +29,7 @@
 
 /* PRIVATE PROTOTYPES */
 static herr_t H5O_attr_encode (H5F_t *f, uint8_t *p, const void *mesg);
-static void *H5O_attr_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_attr_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static void *H5O_attr_copy (const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_attr_size (const H5F_t *f, const void *_mesg);
 static herr_t H5O_attr_reset (void *_mesg);
@@ -38,8 +39,8 @@
 static herr_t H5O_attr_debug (H5F_t *f, hid_t dxpl_id, const void *_mesg,
 			      FILE * stream, int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_ATTR[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_ATTR[1] = {{
     H5O_ATTR_ID,		/* message id number            */
     "attribute",		/* message name for debugging   */
     sizeof(H5A_t),		/* native message size          */
@@ -53,7 +54,7 @@
     H5O_attr_link,		/* link method			*/
     NULL,			/* get share method		*/
     NULL,			/* set share method		*/
-    H5O_attr_debug,		/* debug the message            */
+    H5O_attr_debug		/* debug the message            */
 }};
 
 /* This is the initial version, which does not have support for shared datatypes */
@@ -65,12 +66,6 @@
 /* Flags for attribute flag encoding */
 #define H5O_ATTR_FLAG_TYPE_SHARED       0x01
 
-/* Declare extern the free list for H5A_t's */
-H5FL_EXTERN(H5A_t);
-
-/* Declare extern the free list for attribute data buffers */
-H5FL_BLK_EXTERN(attr_buf);
-
 /* Declare external the free list for H5S_t's */
 H5FL_EXTERN(H5S_t);
 
@@ -94,35 +89,24 @@
         This function decodes the "raw" disk form of a attribute message
     into a struct in memory native format.  The struct is allocated within this
     function using malloc() and is returned to the caller.
- *
- * Modifications:
- * 	Robb Matzke, 17 Jul 1998
- *	Added padding for alignment.
- *
- * 	Robb Matzke, 20 Jul 1998
- *	Added a version number at the beginning.
- *
- *	Raymond Lu, 8 April 2004
- *	Changed Dataspace operation on H5S_simple_t to H5S_extent_t.
- *
 --------------------------------------------------------------------------*/
 static void *
-H5O_attr_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t UNUSED *sh)
+H5O_attr_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p)
 {
     H5A_t		*attr = NULL;
     H5S_extent_t	*extent;	/*extent dimensionality information  */
     size_t		name_len;   	/*attribute name length */
     int		        version;	/*message version number*/
-    unsigned            flags=0;        /* Attribute flags */
+    unsigned            flags = 0;        /* Attribute flags */
     H5A_t		*ret_value;     /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5O_attr_decode);
 
     /* check args */
-    assert(f);
-    assert(p);
+    HDassert(f);
+    HDassert(p);
 
-    if (NULL==(attr = H5FL_CALLOC(H5A_t)))
+    if(NULL == (attr = H5FL_CALLOC(H5A_t)))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
 
     /* Version number */
@@ -157,18 +141,18 @@
 	H5O_shared_t *shared;   /* Shared information */
 
         /* Get the shared information */
-	if (NULL == (shared = (H5O_SHARED->decode) (f, dxpl_id, p, NULL)))
+	if (NULL == (shared = (H5O_MSG_SHARED->decode) (f, dxpl_id, p)))
 	    HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode shared message");
 
         /* Get the actual datatype information */
-        if((attr->dt= H5O_shared_read(f, dxpl_id, shared, H5O_DTYPE, NULL))==NULL)
+        if((attr->dt= H5O_shared_read(f, dxpl_id, shared, H5O_MSG_DTYPE, NULL))==NULL)
             HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "can't decode attribute datatype");
 
         /* Free the shared information */
-        H5O_free_real(H5O_SHARED, shared);
+        H5O_free_real(H5O_MSG_SHARED, shared);
     } /* end if */
     else {
-        if((attr->dt=(H5O_DTYPE->decode)(f,dxpl_id,p,NULL))==NULL)
+        if((attr->dt=(H5O_MSG_DTYPE->decode)(f,dxpl_id,p))==NULL)
             HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "can't decode attribute datatype");
     } /* end else */
     if(version < H5O_ATTR_VERSION_NEW)
@@ -180,7 +164,7 @@
     if (NULL==(attr->ds = H5FL_CALLOC(H5S_t)))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
 
-    if((extent=(H5O_SDSPACE->decode)(f,dxpl_id,p,NULL))==NULL)
+    if((extent=(H5O_MSG_SDSPACE->decode)(f,dxpl_id,p))==NULL)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "can't decode attribute dataspace");
 
     /* Copy the extent information */
@@ -190,8 +174,8 @@
     H5FL_FREE(H5S_extent_t,extent);
 
     /* Default to entire dataspace being selected */
-    if(H5S_select_all(attr->ds,0)<0)
-        HGOTO_ERROR (H5E_DATASPACE, H5E_CANTSET, NULL, "unable to set all selection");
+    if(H5S_select_all(attr->ds, 0) < 0)
+        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTSET, NULL, "unable to set all selection")
 
     if(version < H5O_ATTR_VERSION_NEW)
         p += H5O_ALIGN(attr->ds_size);
@@ -212,9 +196,18 @@
     attr->initialized=1;
 
     /* Set return value */
-    ret_value=attr;
+    ret_value = attr;
 
 done:
+    if(!ret_value)
+        if(attr) {
+            /* Free dynamicly allocated items */
+            if(H5A_free(attr) < 0)
+                HDONE_ERROR(H5E_ATTR, H5E_CANTRELEASE, NULL, "can't release attribute info")
+
+            H5FL_FREE(H5A_t, attr);
+        } /* end if */
+
     FUNC_LEAVE_NOAPI(ret_value);
 }
 
@@ -313,16 +306,16 @@
         HDmemset(&sh_mesg,0,sizeof(H5O_shared_t));
 
         /* Get shared message information from datatype */
-        if ((H5O_DTYPE->get_share)(f, attr->dt, &sh_mesg/*out*/)<0)
+        if ((H5O_MSG_DTYPE->get_share)(f, attr->dt, &sh_mesg/*out*/)<0)
             HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "can't encode shared attribute datatype");
 
         /* Encode shared message information for datatype */
-        if((H5O_SHARED->encode)(f,p,&sh_mesg)<0)
+        if((H5O_MSG_SHARED->encode)(f,p,&sh_mesg)<0)
             HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "can't encode shared attribute datatype");
     } /* end if */
     else {
         /* Encode datatype information */
-        if((H5O_DTYPE->encode)(f,p,attr->dt)<0)
+        if((H5O_MSG_DTYPE->encode)(f,p,attr->dt)<0)
             HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "can't encode attribute datatype");
     } /* end else */
     if(version < H5O_ATTR_VERSION_NEW) {
@@ -333,7 +326,7 @@
         p += attr->dt_size;
 
     /* encode the attribute dataspace */
-    if((H5O_SDSPACE->encode)(f,p,&(attr->ds->extent))<0)
+    if((H5O_MSG_SDSPACE->encode)(f,p,&(attr->ds->extent))<0)
         HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "can't encode attribute dataspace");
     if(version < H5O_ATTR_VERSION_NEW) {
         HDmemset(p+attr->ds_size, 0, H5O_ALIGN(attr->ds_size)-attr->ds_size);
@@ -657,14 +650,14 @@
         HDmemset(&sh_mesg,0,sizeof(H5O_shared_t));
 
         /* Get shared message information from datatype */
-        if ((H5O_DTYPE->get_share)(f, mesg->dt, &sh_mesg/*out*/)<0)
+        if ((H5O_MSG_DTYPE->get_share)(f, mesg->dt, &sh_mesg/*out*/)<0)
             HGOTO_ERROR(H5E_ATTR, H5E_CANTENCODE, FAIL, "can't retrieve shared message information");
 
-        debug=H5O_SHARED->debug;
+        debug=H5O_MSG_SHARED->debug;
         dt_mesg=&sh_mesg;
     } /* end if */
     else {
-        debug=H5O_DTYPE->debug;
+        debug=H5O_MSG_DTYPE->debug;
         dt_mesg=mesg->dt;
     } /* end else */
     if(debug)

Modified: packages/hdf5/trunk/src/H5Obogus.c
===================================================================
--- packages/hdf5/trunk/src/H5Obogus.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Obogus.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -39,14 +40,14 @@
 #ifdef H5O_ENABLE_BOGUS
 
 /* PRIVATE PROTOTYPES */
-static void *H5O_bogus_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_bogus_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_bogus_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static size_t H5O_bogus_size(const H5F_t *f, const void *_mesg);
 static herr_t H5O_bogus_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE * stream,
 			     int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_BOGUS[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_BOGUS[1] = {{
     H5O_BOGUS_ID,            	/*message id number             */
     "bogus",                 	/*message name for debugging    */
     0,     	                /*native message size           */
@@ -60,7 +61,7 @@
     NULL,			/* link method			*/
     NULL,		    	/*get share method		*/
     NULL,			/*set share method		*/
-    H5O_bogus_debug,         	/*debug the message             */
+    H5O_bogus_debug         	/*debug the message             */
 }};
 
 
@@ -83,8 +84,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_bogus_decode(H5F_t UNUSED *f, hid_t dxpl_id, const uint8_t *p,
-		H5O_shared_t UNUSED *sh)
+H5O_bogus_decode(H5F_t UNUSED *f, hid_t dxpl_id, const uint8_t *p)
 {
     H5O_bogus_t *mesg=NULL;
     void *ret_value;            /* Return value */
@@ -94,7 +94,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert(!sh);
 
     /* Allocate the bogus message */
     if (NULL==(mesg = H5MM_calloc(sizeof(H5O_bogus_t))))

Copied: packages/hdf5/trunk/src/H5Ocache.c (from rev 1094, packages/hdf5/branches/upstream/current/src/H5Ocache.c)
===================================================================
--- packages/hdf5/trunk/src/H5Ocache.c	                        (rev 0)
+++ packages/hdf5/trunk/src/H5Ocache.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,617 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*-------------------------------------------------------------------------
+ *
+ * Created:		H5Ocache.c
+ *			Sep 28 2005
+ *			Quincey Koziol <koziol at ncsa.uiuc.edu>
+ *
+ * Purpose:		Object header metadata cache virtual functions.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#define H5O_PACKAGE		/*suppress error about including H5Opkg	  */
+
+/* Interface initialization */
+#define H5_INTERFACE_INIT_FUNC	H5O_cache_init_interface
+
+
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
+#include "H5FLprivate.h"	/* Free lists                           */
+#include "H5MFprivate.h"	/* File memory management		*/
+#include "H5Opkg.h"             /* Object headers			*/
+
+/* Private typedefs */
+
+/* PRIVATE PROTOTYPES */
+
+/* Metadata cache callbacks */
+static H5O_t *H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void *_udata1,
+		       void *_udata2);
+static herr_t H5O_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5O_t *oh);
+static herr_t H5O_clear(H5F_t *f, H5O_t *oh, hbool_t destroy);
+static herr_t H5O_compute_size(const H5F_t *f, const H5O_t *oh, size_t *size_ptr);
+
+/* H5O inherits cache-like properties from H5AC */
+const H5AC_class_t H5AC_OHDR[1] = {{
+    H5AC_OHDR_ID,
+    (H5AC_load_func_t)H5O_load,
+    (H5AC_flush_func_t)H5O_flush,
+    (H5AC_dest_func_t)H5O_dest,
+    (H5AC_clear_func_t)H5O_clear,
+    (H5AC_size_func_t)H5O_compute_size,
+}};
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_cache_init_interface
+ *
+ * Purpose:	Initialize the H5O interface.  (Just calls
+ *                  H5O_init_iterface currently).
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		Wednesday, September 28, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_cache_init_interface(void)
+{
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_cache_init_interface)
+
+    FUNC_LEAVE_NOAPI(H5O_init())
+} /* end H5O_cache_init_interface() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_flush_msgs
+ *
+ * Purpose:	Flushes messages for object header.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		koziol at ncsa.uiuc.edu
+ *		Nov 21 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_flush_msgs(H5F_t *f, hid_t dxpl_id, H5O_t *oh)
+{
+    uint8_t	*p;             /* Temporary pointer to encode with */
+    int	id;                     /* ID of message to encode */
+    H5O_mesg_t *curr_msg;       /* Pointer to current message being operated on */
+    herr_t	(*encode)(H5F_t*, uint8_t*, const void*) = NULL;
+    unsigned	u;              /* Local index variable */
+    herr_t      ret_value = SUCCEED;       /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5O_flush_msgs)
+
+    /* check args */
+    HDassert(f);
+    HDassert(oh);
+
+    /* Encode any dirty messages */
+    for(u = 0, curr_msg = &oh->mesg[0]; u < oh->nmesgs; u++, curr_msg++) {
+        if(curr_msg->dirty) {
+            p = curr_msg->raw - H5O_SIZEOF_MSGHDR(f);
+
+            id = curr_msg->type->id;
+            UINT16ENCODE(p, id);
+            HDassert(curr_msg->raw_size < H5O_MAX_SIZE);
+            UINT16ENCODE(p, curr_msg->raw_size);
+            *p++ = curr_msg->flags;
+            *p++ = 0; /*reserved*/
+            *p++ = 0; /*reserved*/
+            *p++ = 0; /*reserved*/
+
+            if(curr_msg->native) {
+                HDassert(curr_msg->type->encode);
+
+                /* allocate file space for chunks that have none yet */
+                if(H5O_CONT_ID == id && !H5F_addr_defined(((H5O_cont_t *)(curr_msg->native))->addr)) {
+                    H5O_cont_t *cont = (H5O_cont_t *) (curr_msg->native);
+                    assert(cont->chunkno < oh->nchunks);
+                    assert(!H5F_addr_defined(oh->chunk[cont->chunkno].addr));
+                    cont->size = oh->chunk[cont->chunkno].size;
+
+                    /* Free the space we'd reserved in the file to hold this chunk */
+                    H5MF_free_reserved(f, (hsize_t)cont->size);
+
+                    if (HADDR_UNDEF==(cont->addr=H5MF_alloc(f, H5FD_MEM_OHDR, dxpl_id, (hsize_t)cont->size)))
+                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate space for object header data");
+                    oh->chunk[cont->chunkno].addr = cont->addr;
+                } /* end if */
+
+                /*
+                 * Encode the message.  If the message is shared then we
+                 * encode a Shared Object message instead of the object
+                 * which is being shared.
+                 */
+                HDassert(curr_msg->raw >= oh->chunk[curr_msg->chunkno].image);
+                HDassert(curr_msg->raw_size == H5O_ALIGN (curr_msg->raw_size));
+                HDassert(curr_msg->raw + curr_msg->raw_size <=
+                       oh->chunk[curr_msg->chunkno].image + oh->chunk[curr_msg->chunkno].size);
+                if(curr_msg->flags & H5O_FLAG_SHARED)
+                    encode = H5O_MSG_SHARED->encode;
+                else
+                    encode = curr_msg->type->encode;
+
+#ifndef NDEBUG
+/* Sanity check */
+if(!(curr_msg->flags & H5O_FLAG_SHARED)) {
+    size_t msg_size;
+
+    /* Check for encoded message bigger than space available */
+    msg_size = curr_msg->type->raw_size(f, curr_msg->native);
+    msg_size = H5O_ALIGN(msg_size);
+    HDassert(msg_size <= curr_msg->raw_size);
+} /* end if */
+#endif /* NDEBUG */
+
+                if((encode)(f, curr_msg->raw, curr_msg->native) < 0)
+                    HGOTO_ERROR(H5E_OHDR, H5E_CANTENCODE, FAIL, "unable to encode object header message")
+            } /* end if */
+            curr_msg->dirty = FALSE;
+            oh->chunk[curr_msg->chunkno].dirty = TRUE;
+        } /* end if */
+    } /* end for */
+
+    /* Sanity check for the correct # of messages in object header */
+    if(oh->nmesgs != u)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTFLUSH, FAIL, "corrupt object header - too few messages")
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_flush_msgs() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_load
+ *
+ * Purpose:	Loads an object header from disk.
+ *
+ * Return:	Success:	Pointer to the new object header.
+ *
+ *		Failure:	NULL
+ *
+ * Programmer:	Robb Matzke
+ *		matzke at llnl.gov
+ *		Aug  5 1997
+ *
+ *-------------------------------------------------------------------------
+ */
+static H5O_t *
+H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, const void UNUSED * _udata1,
+	 void UNUSED * _udata2)
+{
+    H5O_t	*oh = NULL;
+    H5O_t	*ret_value;
+    uint8_t	buf[16], *p;
+    size_t	mesg_size;
+    size_t	hdr_size;
+    unsigned	id;
+    int	mesgno;
+    unsigned	curmesg = 0, nmesgs;
+    unsigned	chunkno;
+    unsigned    skipped_msgs = 0;       /* Number of unknown messages skipped */
+    unsigned    merged_null_msgs = 0;   /* Number of null messages merged together */
+    haddr_t	chunk_addr;
+    size_t	chunk_size;
+    uint8_t	flags;
+
+    FUNC_ENTER_NOAPI(H5O_load, NULL)
+
+    /* check args */
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(!_udata1);
+    HDassert(!_udata2);
+
+    /* allocate ohdr and init chunk list */
+    if (NULL==(oh = H5FL_CALLOC(H5O_t)))
+	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+
+    /* read fixed-lenth part of object header */
+    hdr_size = H5O_SIZEOF_HDR(f);
+    assert(hdr_size<=sizeof(buf));
+    if (H5F_block_read(f, H5FD_MEM_OHDR, addr, hdr_size, dxpl_id, buf) < 0)
+	HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read object header");
+    p = buf;
+
+    /* decode version */
+    oh->version = *p++;
+    if (H5O_VERSION != oh->version)
+	HGOTO_ERROR(H5E_OHDR, H5E_VERSION, NULL, "bad object header version number");
+
+    /* reserved */
+    p++;
+
+    /* decode number of messages */
+    UINT16DECODE(p, nmesgs);
+
+    /* decode link count */
+    UINT32DECODE(p, oh->nlink);
+
+    /* decode first chunk info */
+    chunk_addr = addr + (hsize_t)hdr_size;
+    UINT32DECODE(p, chunk_size);
+
+    /* build the message array */
+    oh->alloc_nmesgs = nmesgs;
+    if (NULL==(oh->mesg=H5FL_SEQ_CALLOC(H5O_mesg_t,(size_t)oh->alloc_nmesgs)))
+	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+
+    /* read each chunk from disk */
+    while(H5F_addr_defined(chunk_addr)) {
+	/* increase chunk array size */
+	if(oh->nchunks >= oh->alloc_nchunks) {
+	    unsigned na = oh->alloc_nchunks + H5O_NCHUNKS;
+	    H5O_chunk_t *x = H5FL_SEQ_REALLOC (H5O_chunk_t, oh->chunk, (size_t)na);
+
+	    if(!x)
+                HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+	    oh->alloc_nchunks = na;
+	    oh->chunk = x;
+	} /* end if */
+
+	/* read the chunk raw data */
+	chunkno = oh->nchunks++;
+	oh->chunk[chunkno].dirty = FALSE;
+	oh->chunk[chunkno].addr = chunk_addr;
+	oh->chunk[chunkno].size = chunk_size;
+	if(NULL==(oh->chunk[chunkno].image = H5FL_BLK_MALLOC(chunk_image, chunk_size)))
+	    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+	if(H5F_block_read(f, H5FD_MEM_OHDR, chunk_addr, chunk_size, dxpl_id, oh->chunk[chunkno].image) < 0)
+	    HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read object header data");
+
+	/* load messages from this chunk */
+	for(p = oh->chunk[chunkno].image; p < oh->chunk[chunkno].image + chunk_size; p += mesg_size) {
+	    UINT16DECODE(p, id);
+	    UINT16DECODE(p, mesg_size);
+	    HDassert(mesg_size==H5O_ALIGN (mesg_size));
+	    flags = *p++;
+	    p += 3; /*reserved*/
+
+            /* Try to detect invalidly formatted object header messages */
+	    if(p + mesg_size > oh->chunk[chunkno].image + chunk_size)
+		HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "corrupt object header")
+
+            /* Skip header messages we don't know about */
+            /* (Usually from future versions of the library */
+	    if(id >= NELMTS(H5O_msg_class_g) || NULL == H5O_msg_class_g[id]) {
+                skipped_msgs++;
+                continue;
+            } /* end if */
+
+            if((H5F_get_intent(f) & H5F_ACC_RDWR) &&
+	            H5O_NULL_ID == id && oh->nmesgs > 0 &&
+                    H5O_NULL_ID == oh->mesg[oh->nmesgs - 1].type->id &&
+                    oh->mesg[oh->nmesgs - 1].chunkno == chunkno) {
+		/* combine adjacent null messages */
+		mesgno = oh->nmesgs - 1;
+		oh->mesg[mesgno].raw_size += H5O_SIZEOF_MSGHDR(f) + mesg_size;
+		oh->mesg[mesgno].dirty = TRUE;
+                merged_null_msgs++;
+	    } else {
+		/* new message */
+		if (oh->nmesgs >= nmesgs)
+		    HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "corrupt object header - too many messages");
+		mesgno = oh->nmesgs++;
+		oh->mesg[mesgno].type = H5O_msg_class_g[id];
+		oh->mesg[mesgno].dirty = FALSE;
+		oh->mesg[mesgno].flags = flags;
+		oh->mesg[mesgno].native = NULL;
+		oh->mesg[mesgno].raw = p;
+		oh->mesg[mesgno].raw_size = mesg_size;
+		oh->mesg[mesgno].chunkno = chunkno;
+	    } /* end else */
+	} /* end for */
+
+        HDassert(p == oh->chunk[chunkno].image + chunk_size);
+
+        /* decode next object header continuation message */
+        for(chunk_addr = HADDR_UNDEF; !H5F_addr_defined(chunk_addr) && curmesg < oh->nmesgs; ++curmesg) {
+            if(H5O_CONT_ID == oh->mesg[curmesg].type->id) {
+                H5O_cont_t *cont;
+
+                cont = (H5O_MSG_CONT->decode) (f, dxpl_id, oh->mesg[curmesg].raw);
+                oh->mesg[curmesg].native = cont;
+                chunk_addr = cont->addr;
+                chunk_size = cont->size;
+                cont->chunkno = oh->nchunks;	/*the next chunk to allocate */
+            } /* end if */
+        } /* end for */
+    } /* end while */
+
+    /* Mark the object header dirty if we've merged a message */
+    if(merged_null_msgs)
+	oh->cache_info.is_dirty = TRUE;
+
+    /* Sanity check for the correct # of messages in object header */
+    if((oh->nmesgs + skipped_msgs + merged_null_msgs) != nmesgs)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "corrupt object header - too few messages")
+
+    /* Set return value */
+    ret_value = oh;
+
+done:
+    if(!ret_value && oh) {
+        if(H5O_dest(f,oh) < 0)
+	    HDONE_ERROR(H5E_OHDR, H5E_CANTFREE, NULL, "unable to destroy object header data")
+    } /* end if */
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_load() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_flush
+ *
+ * Purpose:	Flushes (and destroys) an object header.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Robb Matzke
+ *		matzke at llnl.gov
+ *		Aug  5 1997
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5O_t *oh)
+{
+    uint8_t	buf[16], *p;
+    hbool_t combine = FALSE;    /* Whether to combine the object header prefix & the first chunk */
+    unsigned	u;              /* Local index variable */
+    herr_t      ret_value = SUCCEED;       /* Return value */
+
+    FUNC_ENTER_NOAPI(H5O_flush, FAIL)
+
+    /* check args */
+    HDassert(f);
+    HDassert(H5F_addr_defined(addr));
+    HDassert(oh);
+
+    /* flush */
+    if(oh->cache_info.is_dirty) {
+	/* Encode any dirty messages */
+        if(H5O_flush_msgs(f, dxpl_id, oh) < 0)
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTFLUSH, FAIL, "unable to flush object header messages")
+
+        /* Encode header prefix */
+	p = buf;
+
+	/* encode version */
+	*p++ = oh->version;
+
+	/* reserved */
+	*p++ = 0;
+
+	/* encode number of messages */
+	UINT16ENCODE(p, oh->nmesgs);
+
+	/* encode link count */
+	UINT32ENCODE(p, oh->nlink);
+
+	/* encode body size */
+	UINT32ENCODE(p, oh->chunk[0].size);
+
+	/* zero to alignment */
+	HDmemset (p, 0, (size_t)(H5O_SIZEOF_HDR(f)-12));
+
+	/* write the object header prefix */
+
+        /* Check if we can combine the object header prefix & the first chunk into one I/O operation */
+        if(oh->chunk[0].dirty && (addr + H5O_SIZEOF_HDR(f)) == oh->chunk[0].addr) {
+            combine = TRUE;
+        } /* end if */
+        else {
+            if(H5F_block_write(f, H5FD_MEM_OHDR, addr, (size_t)H5O_SIZEOF_HDR(f), dxpl_id, buf) < 0)
+                HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header hdr to disk")
+        } /* end else */
+
+	/* write each chunk to disk */
+	for(u = 0; u < oh->nchunks; u++) {
+	    if(oh->chunk[u].dirty) {
+                HDassert(H5F_addr_defined(oh->chunk[u].addr));
+                if(u == 0 && combine) {
+                    /* Allocate space for the combined prefix and first chunk */
+                    if((p = H5FL_BLK_MALLOC(chunk_image,(H5O_SIZEOF_HDR(f)+oh->chunk[u].size))) == NULL)
+                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+                    /* Copy in the prefix */
+                    HDmemcpy(p, buf, (size_t)H5O_SIZEOF_HDR(f));
+
+                    /* Copy in the first chunk */
+                    HDmemcpy(p + H5O_SIZEOF_HDR(f), oh->chunk[u].image, oh->chunk[u].size);
+
+                    /* Write the combined prefix/chunk out */
+                    if(H5F_block_write(f, H5FD_MEM_OHDR, addr,
+                                (H5O_SIZEOF_HDR(f) + oh->chunk[u].size), dxpl_id, p) < 0)
+                        HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header data to disk")
+
+                    /* Release the memory for the combined prefix/chunk */
+                    p = H5FL_BLK_FREE(chunk_image,p);
+                } /* end if */
+                else {
+                    if(H5F_block_write(f, H5FD_MEM_OHDR, oh->chunk[u].addr,
+                                (oh->chunk[u].size), dxpl_id, oh->chunk[u].image) < 0)
+                        HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to write object header data to disk")
+                } /* end else */
+                oh->chunk[u].dirty = FALSE;
+	    } /* end if */
+	} /* end for */
+	oh->cache_info.is_dirty = FALSE;
+    } /* end if */
+
+    if (destroy) {
+        if(H5O_dest(f,oh) < 0)
+	    HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy object header data")
+    } /* end if */
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_flush() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_dest
+ *
+ * Purpose:	Destroys an object header.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		koziol at ncsa.uiuc.edu
+ *		Jan 15 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5O_dest(H5F_t UNUSED *f, H5O_t *oh)
+{
+    unsigned	i;
+
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_dest);
+
+    /* check args */
+    assert(oh);
+
+    /* Verify that node is clean */
+    assert (oh->cache_info.is_dirty==FALSE);
+
+    /* destroy chunks */
+    for (i = 0; i < oh->nchunks; i++) {
+        /* Verify that chunk is clean */
+        assert (oh->chunk[i].dirty==0);
+
+        oh->chunk[i].image = H5FL_BLK_FREE(chunk_image,oh->chunk[i].image);
+    }
+    if(oh->chunk)
+        oh->chunk = H5FL_SEQ_FREE(H5O_chunk_t,oh->chunk);
+
+    /* destroy messages */
+    for (i = 0; i < oh->nmesgs; i++) {
+        /* Verify that message is clean */
+        assert (oh->mesg[i].dirty==0);
+
+        H5O_free_mesg(&oh->mesg[i]);
+    }
+    if(oh->mesg)
+        oh->mesg = H5FL_SEQ_FREE(H5O_mesg_t,oh->mesg);
+
+    /* destroy object header */
+    H5FL_FREE(H5O_t,oh);
+
+    FUNC_LEAVE_NOAPI(SUCCEED);
+} /* end H5O_dest() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_clear
+ *
+ * Purpose:	Mark a object header in memory as non-dirty.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *		koziol at ncsa.uiuc.edu
+ *		Mar 20 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_clear(H5F_t *f, H5O_t *oh, hbool_t destroy)
+{
+    unsigned	u;      /* Local index variable */
+    herr_t ret_value = SUCCEED;
+
+    FUNC_ENTER_NOAPI_NOINIT(H5O_clear);
+
+    /* check args */
+    assert(oh);
+
+    /* Mark chunks as clean */
+    for (u = 0; u < oh->nchunks; u++)
+        oh->chunk[u].dirty=FALSE;
+
+    /* Mark messages as clean */
+    for (u = 0; u < oh->nmesgs; u++)
+        oh->mesg[u].dirty=FALSE;
+
+    /* Mark whole header as clean */
+    oh->cache_info.is_dirty=FALSE;
+
+    if (destroy)
+        if (H5O_dest(f, oh) < 0)
+            HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy object header data");
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value);
+} /* end H5O_clear() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5O_compute_size
+ *
+ * Purpose:	Compute the size in bytes of the specified instance of
+ *              H5O_t on disk, and return it in *len_ptr.  On failure,
+ *              the value of *len_ptr is undefined.
+ *
+ *		The value returned will probably be low unless the object
+ *		has just been flushed, as we simply total up the size of
+ *		the header with the sizes of the chunks.  Thus any message
+ *		that has been added since the last flush will not be
+ *		reflected in the total.
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	John Mainzer
+ *		5/13/04
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_compute_size(const H5F_t *f, const H5O_t *oh, size_t *size_ptr)
+{
+    unsigned	u;
+    size_t	size;
+
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_compute_size);
+
+    /* check args */
+    HDassert(f);
+    HDassert(oh);
+    HDassert(size_ptr);
+
+    size = H5O_SIZEOF_HDR(f);
+
+    for (u = 0; u < oh->nchunks; u++)
+        size += oh->chunk[u].size;
+
+    HDassert(size >= H5O_SIZEOF_HDR(f));
+
+    *size_ptr = size;
+
+    FUNC_LEAVE_NOAPI(SUCCEED);
+} /* H5O_compute_size() */
+

Modified: packages/hdf5/trunk/src/H5Ocont.c
===================================================================
--- packages/hdf5/trunk/src/H5Ocont.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ocont.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -23,30 +24,29 @@
  *                      the H5O package.  Therefore, do not change
  *                      any definitions in this file!
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 
 #define H5O_PACKAGE		/*suppress error about including H5Opkg	  */
 
-#include "H5private.h"
-#include "H5Eprivate.h"
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
 #include "H5FLprivate.h"	/* Free Lists				*/
-#include "H5MMprivate.h"
-#include "H5Opkg.h"             /* Object header functions                 */
+#include "H5MFprivate.h"	/* File memory management		*/
+#include "H5Opkg.h"             /* Object headers			*/
 
 
 /* PRIVATE PROTOTYPES */
-static void *H5O_cont_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_cont_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_cont_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static size_t H5O_cont_size(const H5F_t *f, const void *_mesg);
 static herr_t H5O_cont_free(void *mesg);
+static herr_t H5O_cont_delete(H5F_t *f, hid_t dxpl_id, const void *_mesg, hbool_t adj_link);
 static herr_t H5O_cont_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE * stream,
 			     int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_CONT[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_CONT[1] = {{
     H5O_CONT_ID,            	/*message id number             */
     "hdr continuation",     	/*message name for debugging    */
     sizeof(H5O_cont_t),     	/*native message size           */
@@ -56,11 +56,11 @@
     H5O_cont_size,          	/*size of header continuation   */
     NULL,                   	/*reset method			*/
     H5O_cont_free,	        /* free method			*/
-    NULL,		        /* file delete method		*/
+    H5O_cont_delete,		/* file delete method		*/
     NULL,			/* link method			*/
     NULL, 		    	/*get share method		*/
     NULL,		    	/*set share method		*/
-    H5O_cont_debug,         	/*debugging                     */
+    H5O_cont_debug         	/*debugging                     */
 }};
 
 /* Declare the free list for H5O_cont_t's */
@@ -85,7 +85,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_cont_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p, H5O_shared_t UNUSED *sh)
+H5O_cont_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_cont_t             *cont = NULL;
     void                   *ret_value;
@@ -95,7 +95,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     /* decode */
     if (NULL==(cont = H5FL_MALLOC(H5O_cont_t)))
@@ -209,6 +208,39 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:    H5O_cont_delete
+ *
+ * Purpose:     Free file space referenced by message
+ *
+ * Return:      Non-negative on success/Negative on failure
+ *
+ * Programmer:  Quincey Koziol
+ *              Monday, October 10, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_cont_delete(H5F_t *f, hid_t dxpl_id, const void *_mesg, hbool_t UNUSED adj_link)
+{
+    const H5O_cont_t     *mesg = (const H5O_cont_t *) _mesg;
+    herr_t ret_value = SUCCEED;   /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5O_cont_delete)
+
+    /* check args */
+    HDassert(f);
+    HDassert(mesg);
+
+    /* Release space for chunk */
+    if(H5MF_xfree(f, H5FD_MEM_OHDR, dxpl_id, mesg->addr, (hsize_t)mesg->size) < 0)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free object header chunk")
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_cont_delete() */
+
+
+/*-------------------------------------------------------------------------
  * Function:    H5O_cont_debug
  *
  * Purpose:     Prints debugging info.

Modified: packages/hdf5/trunk/src/H5Odtype.c
===================================================================
--- packages/hdf5/trunk/src/H5Odtype.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Odtype.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5O_PACKAGE		/*suppress error about including H5Opkg	  */
@@ -26,7 +27,7 @@
 
 /* PRIVATE PROTOTYPES */
 static herr_t H5O_dtype_encode (H5F_t *f, uint8_t *p, const void *mesg);
-static void *H5O_dtype_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_dtype_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static void *H5O_dtype_copy (const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_dtype_size (const H5F_t *f, const void *_mesg);
 static herr_t H5O_dtype_reset (void *_mesg);
@@ -38,10 +39,10 @@
 static herr_t H5O_dtype_debug (H5F_t *f, hid_t dxpl_id, const void *_mesg,
 			       FILE * stream, int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_DTYPE[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_DTYPE[1] = {{
     H5O_DTYPE_ID,		/* message id number		*/
-    "data_type",		/* message name for debugging	*/
+    "datatype",			/* message name for debugging	*/
     sizeof(H5T_t),		/* native message size		*/
     H5O_dtype_decode,		/* decode message		*/
     H5O_dtype_encode,		/* encode message		*/
@@ -53,7 +54,7 @@
     NULL,			/* link method			*/
     H5O_dtype_get_share,	/* get share method		*/
     H5O_dtype_set_share,	/* set share method		*/
-    H5O_dtype_debug,		/* debug the message		*/
+    H5O_dtype_debug		/* debug the message		*/
 }};
 
 /* This is the correct version to create all datatypes which don't contain
@@ -65,10 +66,6 @@
  * class objects (array definitely, potentially compound & vlen sequences also) */
 #define H5O_DTYPE_VERSION_UPDATED	2
 
-/* Declare external the free list for H5T_t's */
-H5FL_EXTERN(H5T_t);
-H5FL_EXTERN(H5T_shared_t);
-
 
 /*-------------------------------------------------------------------------
  * Function:	H5O_dtype_decode_helper
@@ -812,8 +809,7 @@
     function using malloc() and is returned to the caller.
 --------------------------------------------------------------------------*/
 static void *
-H5O_dtype_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-		 H5O_shared_t UNUSED *sh)
+H5O_dtype_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5T_t		   *dt = NULL;
     void                *ret_value;     /* Return value */
@@ -1092,8 +1088,6 @@
  * Programmer:	Robb Matzke
  *		Monday, June  1, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
@@ -1101,21 +1095,20 @@
 		    H5O_shared_t *sh/*out*/)
 {
     const H5T_t	*dt = (const H5T_t *)_mesg;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_dtype_get_share);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_dtype_get_share)
 
-    assert (dt);
-    assert (sh);
+    HDassert(dt);
+    HDassert(sh);
 
     if (H5F_addr_defined (dt->ent.header)) {
         /* If the address is defined, this had better be a named datatype */
 	HDassert (H5T_STATE_NAMED==dt->shared->state || H5T_STATE_OPEN==dt->shared->state);
 
-	sh->in_gh = FALSE;
-	sh->u.ent = dt->ent;
+        H5G_ent_copy(&(sh->ent), &(dt->ent), H5_COPY_NULL);
     } else
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "datatype is not sharable");
+	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "datatype is not sharable")
 
 done:
     FUNC_LEAVE_NOAPI(ret_value);
@@ -1132,33 +1125,27 @@
  * Programmer:	Robb Matzke
  *		Thursday, June	4, 1998
  *
- * Modifications:
- *
- *      Pedro Vicente, <pvn at ncsa.uiuc.edu> 22 Aug 2002
- *      Added `id to name' support.
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5O_dtype_set_share (H5F_t UNUSED *f, void *_mesg/*in,out*/,
+H5O_dtype_set_share(H5F_t UNUSED *f, void *_mesg/*in,out*/,
 		     const H5O_shared_t *sh)
 {
     H5T_t	*dt = (H5T_t *)_mesg;
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_dtype_set_share);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_dtype_set_share)
 
-    assert (dt);
-    assert (sh);
-    assert (!sh->in_gh);
+    HDassert(dt);
+    HDassert(sh);
 
     /* NULL copy here, names not appropriate */
-    H5G_ent_copy(&(dt->ent),&(sh->u.ent),H5G_COPY_NULL);
+    H5G_ent_copy(&(dt->ent), &(sh->ent), H5_COPY_NULL);
 
     /* Note that the datatype is a named datatype */
     dt->shared->state = H5T_STATE_NAMED;
 
-    FUNC_LEAVE_NOAPI(SUCCEED);
-}
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5O_dtype_set_share() */
 
 
 /*--------------------------------------------------------------------------
@@ -1476,3 +1463,4 @@
 
     FUNC_LEAVE_NOAPI(SUCCEED);
 }
+

Modified: packages/hdf5/trunk/src/H5Oefl.c
===================================================================
--- packages/hdf5/trunk/src/H5Oefl.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Oefl.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -28,7 +29,7 @@
 #include "H5Opkg.h"             /* Object headers			*/
 
 /* PRIVATE PROTOTYPES */
-static void *H5O_efl_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_efl_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_efl_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void *H5O_efl_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_efl_size(const H5F_t *f, const void *_mesg);
@@ -36,8 +37,8 @@
 static herr_t H5O_efl_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE * stream,
 			    int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_EFL[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_EFL[1] = {{
     H5O_EFL_ID,		    	/*message id number		*/
     "external file list",   	/*message name for debugging    */
     sizeof(H5O_efl_t),	    	/*native message size	    	*/
@@ -51,7 +52,7 @@
     NULL,			/* link method			*/
     NULL,	  	    	/*get share method		*/
     NULL,			/*set share method		*/
-    H5O_efl_debug,	    	/*debug the message		*/
+    H5O_efl_debug	    	/*debug the message		*/
 }};
 
 #define H5O_EFL_VERSION		1
@@ -77,7 +78,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_efl_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t UNUSED *sh)
+H5O_efl_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p)
 {
     H5O_efl_t		*mesg = NULL;
     int			version;
@@ -91,7 +92,6 @@
     /* Check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     if (NULL==(mesg = H5MM_calloc(sizeof(H5O_efl_t))))
 	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
@@ -475,3 +475,4 @@
 
     FUNC_LEAVE_NOAPI(SUCCEED);
 }
+

Modified: packages/hdf5/trunk/src/H5Ofill.c
===================================================================
--- packages/hdf5/trunk/src/H5Ofill.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ofill.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Robb Matzke <matzke at llnl.gov>
@@ -22,15 +23,17 @@
 #define H5O_PACKAGE		/*suppress error about including H5Opkg	  */
 
 #include "H5private.h"		/* Generic Functions			*/
+#include "H5Dprivate.h"		/* Datasets				*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
 #include "H5FLprivate.h"	/* Free Lists				*/
 #include "H5Iprivate.h"		/* IDs			  		*/
 #include "H5MMprivate.h"	/* Memory management			*/
 #include "H5Opkg.h"             /* Object header functions                 */
 #include "H5Pprivate.h"		/* Property lists			*/
+#include "H5Sprivate.h"		/* Dataspaces				*/
 
 
-static void  *H5O_fill_new_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void  *H5O_fill_new_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_fill_new_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void  *H5O_fill_new_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_fill_new_size(const H5F_t *f, const void *_mesg);
@@ -39,7 +42,7 @@
 static herr_t H5O_fill_new_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE *stream,
 			     int indent, int fwidth);
 
-static void  *H5O_fill_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void  *H5O_fill_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_fill_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void  *H5O_fill_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_fill_size(const H5F_t *f, const void *_mesg);
@@ -48,8 +51,8 @@
 static herr_t H5O_fill_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE *stream,
 			     int indent, int fwidth);
 
-/* This message derives from H5O, for old fill value before version 1.5 */
-const H5O_class_t H5O_FILL[1] = {{
+/* This message derives from H5O message class, for old fill value before version 1.5 */
+const H5O_msg_class_t H5O_MSG_FILL[1] = {{
     H5O_FILL_ID,                /*message id number                     */
     "fill",                     /*message name for debugging            */
     sizeof(H5O_fill_t),         /*native message size                   */
@@ -63,11 +66,11 @@
     NULL,			/* link method			*/
     NULL,                       /*get share method                      */
     NULL,                       /*set share method                      */
-    H5O_fill_debug,             /*debug the message                     */
+    H5O_fill_debug              /*debug the message                     */
 }};
 
-/* This message derives from H5O, for new fill value after version 1.4  */
-const H5O_class_t H5O_FILL_NEW[1] = {{
+/* This message derives from H5O message class, for new fill value after version 1.4  */
+const H5O_msg_class_t H5O_MSG_FILL_NEW[1] = {{
     H5O_FILL_NEW_ID,		/*message id number			*/
     "fill_new", 		/*message name for debugging		*/
     sizeof(H5O_fill_new_t),	/*native message size			*/
@@ -81,7 +84,7 @@
     NULL,			/* link method			*/
     NULL,			/*get share method			*/
     NULL,			/*set share method			*/
-    H5O_fill_new_debug,		/*debug the message			*/
+    H5O_fill_new_debug		/*debug the message			*/
 }};
 
 /* Initial version of the "old" fill value information */
@@ -95,6 +98,9 @@
 /* Declare a free list to manage the H5O_fill_t struct */
 H5FL_DEFINE(H5O_fill_t);
 
+/* Declare extern the free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(type_conv);
+
 
 /*-------------------------------------------------------------------------
  * Function:	H5O_fill_new_decode
@@ -115,8 +121,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_fill_new_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-		H5O_shared_t UNUSED *sh)
+H5O_fill_new_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_fill_new_t	*mesg=NULL;
     int			version;
@@ -126,7 +131,6 @@
 
     assert(f);
     assert(p);
-    assert(!sh);
 
     if (NULL==(mesg=H5FL_CALLOC(H5O_fill_new_t)))
 	HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value message");
@@ -189,8 +193,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_fill_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-                H5O_shared_t UNUSED *sh)
+H5O_fill_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_fill_t  *mesg=NULL;
     void        *ret_value;
@@ -199,7 +202,6 @@
 
     assert(f);
     assert(p);
-    assert(!sh);
 
     if (NULL==(mesg=H5FL_CALLOC(H5O_fill_t)))
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value message");
@@ -306,6 +308,101 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	H5O_fill_copy_dyn
+ *
+ * Purpose:	Copy dynamic fill value fields
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *              Thursday, May 31, 2007
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_fill_copy_dyn(H5O_fill_t *dest, const H5O_fill_t *mesg)
+{
+    herr_t ret_value = SUCCEED;         /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5O_fill_copy_dyn)
+
+    HDassert(dest);
+    HDassert(mesg);
+
+    /* Copy data type of fill value */
+    if(mesg->type) {
+        if(NULL == (dest->type = H5T_copy(mesg->type, H5T_COPY_TRANSIENT)))
+            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy fill value data type");
+    } /* end if */
+    else
+        dest->type = NULL;
+
+    /* Copy fill value and its size */
+    if(mesg->buf) {
+        H5_CHECK_OVERFLOW(mesg->size,ssize_t,size_t);
+	if(NULL == (dest->buf = H5MM_malloc((size_t)mesg->size)))
+	    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for fill value");
+	HDmemcpy(dest->buf, mesg->buf, (size_t)mesg->size);
+
+        /* Check for needing to convert/copy fill value */
+        if(mesg->type) {
+            H5T_path_t *tpath;      /* Conversion information */
+
+            /* Set up type conversion function */
+            if(NULL == (tpath = H5T_path_find(mesg->type, dest->type, NULL, NULL, H5AC_ind_dxpl_id)))
+                HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dest data types")
+
+            /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
+            if(!H5T_path_noop(tpath)) {
+                hid_t dst_id, src_id;       /* Source & destination datatypes for type conversion */
+                uint8_t *bkg_buf = NULL;    /* Background conversion buffer */
+                size_t bkg_size;            /* Size of background buffer */
+
+                /* Wrap copies of types to convert */
+                dst_id = H5I_register(H5I_DATATYPE, H5T_copy(dest->type, H5T_COPY_TRANSIENT));
+                if(dst_id < 0)
+                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy/register datatype")
+                src_id = H5I_register(H5I_DATATYPE, H5T_copy(mesg->type, H5T_COPY_ALL));
+                if(src_id < 0) {
+                    H5I_dec_ref(dst_id);
+                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy/register datatype")
+                } /* end if */
+
+                /* Allocate a background buffer */
+                bkg_size = MAX(H5T_get_size(dest->type), H5T_get_size(mesg->type));
+                if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, bkg_size))) {
+                    H5I_dec_ref(src_id);
+                    H5I_dec_ref(dst_id);
+                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+                } /* end if */
+
+                /* Convert fill value */
+                if(H5T_convert(tpath, src_id, dst_id, (size_t)1, (size_t)0, (size_t)0, dest->buf, bkg_buf, H5AC_ind_dxpl_id) < 0) {
+                    H5I_dec_ref(src_id);
+                    H5I_dec_ref(dst_id);
+                    if(bkg_buf)
+                        H5FL_BLK_FREE(type_conv, bkg_buf);
+                    HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "datatype conversion failed")
+                } /* end if */
+
+                /* Release the background buffer */
+                H5I_dec_ref(src_id);
+                H5I_dec_ref(dst_id);
+                if(bkg_buf)
+                    H5FL_BLK_FREE(type_conv, bkg_buf);
+            } /* end if */
+        } /* end if */
+    } /* end if */
+    else
+        dest->buf = NULL;
+    dest->size = mesg->size;
+
+done:
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_fill_copy_dyn() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	H5O_fill_new_copy
  *
  * Purpose:	Copies a message from _MESG to _DEST, allocating _DEST if
@@ -338,24 +435,12 @@
     if (!dest && NULL==(dest=H5FL_MALLOC(H5O_fill_new_t)))
 	HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill message");
 
-    /* Copy data type of fill value */
-    if (mesg->type) {
-        if(NULL==(dest->type=H5T_copy(mesg->type, H5T_COPY_TRANSIENT)))
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to copy fill value data type");
-    } /* end if */
-    else
-        dest->type=NULL;
+    /* Shallow copy basic fields */
+    *dest = *mesg;
 
-    /* Copy fill value and its size */
-    if (mesg->buf) {
-        H5_CHECK_OVERFLOW(mesg->size,ssize_t,size_t);
-	if (NULL==(dest->buf=H5MM_malloc((size_t)mesg->size)))
-	    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value");
-	HDmemcpy(dest->buf, mesg->buf, (size_t)mesg->size);
-    } /* end if */
-    else
-        dest->buf=NULL;
-    dest->size = mesg->size;
+    /* Copy dynamic fields */
+    if(H5O_fill_copy_dyn((H5O_fill_t *)dest, (const H5O_fill_t *)mesg) < 0)
+	HGOTO_ERROR(H5E_RESOURCE, H5E_CANTCOPY, NULL, "couldn't copy fill message");
 
     /* Copy three fill value attributes */
     dest->alloc_time   = mesg->alloc_time;
@@ -410,21 +495,12 @@
     if (!dest && NULL==(dest=H5FL_CALLOC(H5O_fill_t)))
         HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill message");
 
-    if (mesg->type) {
-        if(NULL==(dest->type=H5T_copy(mesg->type, H5T_COPY_TRANSIENT)))
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to copy fill value data type");
-    } /* end if */
-    else
-        dest->type=NULL;
+    /* Shallow copy basic fields */
+    *dest = *mesg;
 
-    if (mesg->buf) {
-        if (NULL==(dest->buf=H5MM_malloc(mesg->size)))
-            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value");
-        HDmemcpy(dest->buf, mesg->buf, mesg->size);
-    } /* end if */
-    else
-        dest->buf=NULL;
-    dest->size = mesg->size;
+    /* Copy dynamic fields */
+    if(H5O_fill_copy_dyn((H5O_fill_t *)dest, (const H5O_fill_t *)mesg) < 0)
+	HGOTO_ERROR(H5E_RESOURCE, H5E_CANTCOPY, NULL, "couldn't copy fill message");
 
     /* Set return value */
     ret_value = dest;
@@ -437,10 +513,10 @@
             H5T_close(dest->type);
         if (!_dest)
             H5FL_FREE(H5O_fill_t,dest);
-    }
+    } /* end if */
 
     FUNC_LEAVE_NOAPI(ret_value);
-}
+} /* end H5O_fill_copy() */
 
 
 /*-------------------------------------------------------------------------
@@ -518,6 +594,72 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	H5O_fill_reset_dyn
+ *
+ * Purpose:	Resets dynamic fill value fields
+ *
+ * Return:	Non-negative on success/Negative on failure
+ *
+ * Programmer:	Quincey Koziol
+ *              Monday, January 22, 2007
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5O_fill_reset_dyn(H5O_fill_t *fill, ssize_t size_val)
+{
+    hid_t fill_type_id = -1;            /* Datatype ID for fill value datatype when reclaiming VL fill values */
+    herr_t ret_value = SUCCEED;         /* Return value */
+
+    FUNC_ENTER_NOAPI_NOINIT(H5O_fill_reset_dyn)
+
+    HDassert(fill);
+
+    if(fill->buf) {
+        if(fill->type && H5T_detect_class(fill->type, H5T_VLEN) > 0) {
+            H5T_t *fill_type;           /* Copy of fill value datatype */
+            H5S_t *fill_space;          /* Scalar dataspace for fill value element */
+
+            /* Copy the fill value datatype and get an ID for it */
+            if(NULL == (fill_type = H5T_copy(fill->type, H5T_COPY_TRANSIENT)))
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy fill value datatype")
+            if((fill_type_id = H5I_register(H5I_DATATYPE, fill_type)) < 0) {
+                H5T_close(fill_type);
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register fill value datatype")
+            } /* end if */
+
+            /* Create a scalar dataspace for the fill value element */
+            if(NULL == (fill_space = H5S_create(H5S_SCALAR)))
+                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCREATE, FAIL, "can't create scalar dataspace")
+
+            /* Reclaim any variable length components of the fill value */
+            if(H5D_vlen_reclaim(fill_type_id, fill_space, H5P_DATASET_XFER_DEFAULT, fill->buf) < 0) {
+                H5S_close(fill_space);
+                HGOTO_ERROR(H5E_DATASET, H5E_BADITER, FAIL, "unable to reclaim variable-length fill value data")
+            } /* end if */
+
+            /* Release the scalar fill value dataspace */
+            H5S_close(fill_space);
+        } /* end if */
+
+        /* Release the fill value buffer now */
+        fill->buf = H5MM_xfree(fill->buf);
+    } /* end if */
+    fill->size = size_val;
+    if(fill->type) {
+	H5T_close(fill->type);
+	fill->type = NULL;
+    } /* end if */
+
+done:
+    if(fill_type_id > 0)
+        H5I_dec_ref(fill_type_id);
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_fill_reset_dyn() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	H5O_fill_new_reset
  *
  * Purpose:	Resets a new message to an initial state.  The new fill value
@@ -542,13 +684,9 @@
 
     assert(mesg);
 
-    if(mesg->buf)
-        mesg->buf = H5MM_xfree(mesg->buf);
-    mesg->size = -1;
-    if (mesg->type) {
-	H5T_close(mesg->type);
-	mesg->type = NULL;
-    }
+    /* Reset dynamic fields */
+    H5O_fill_reset_dyn((H5O_fill_t *)mesg, -1);
+
     mesg->alloc_time   = (H5D_alloc_time_t)0;
     mesg->fill_time    = (H5D_fill_time_t)0;
     mesg->fill_defined = FALSE;
@@ -580,13 +718,8 @@
 
     assert(mesg);
 
-    if(mesg->buf)
-        mesg->buf = H5MM_xfree(mesg->buf);
-    mesg->size = 0;
-    if (mesg->type) {
-        H5T_close(mesg->type);
-        mesg->type = NULL;
-    }
+    /* Reset dynamic fields */
+    H5O_fill_reset_dyn(mesg, 0);
 
     FUNC_LEAVE_NOAPI(SUCCEED);
 }
@@ -855,7 +988,10 @@
                 HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for type conversion");
             HDmemcpy(buf, fill->buf, H5T_get_size(fill->type));
         }
-        if (H5T_path_bkg(tpath) && NULL==(bkg=H5MM_malloc(H5T_get_size(dset_type))))
+
+        /* Use CALLOC here to clear the buffer in case later the library thinks there's
+         * data in the background. */
+        if (H5T_path_bkg(tpath) && NULL==(bkg=H5MM_calloc(H5T_get_size(dset_type))))
             HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for type conversion");
 
         /* Do the conversion */

Modified: packages/hdf5/trunk/src/H5Olayout.c
===================================================================
--- packages/hdf5/trunk/src/H5Olayout.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Olayout.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Robb Matzke <matzke at llnl.gov>
@@ -21,16 +22,16 @@
 #define H5O_PACKAGE	/*suppress error about including H5Opkg	  */
 
 
-#include "H5private.h"
-#include "H5Dprivate.h"
-#include "H5Eprivate.h"
-#include "H5FLprivate.h"	/*Free Lists	  */
+#include "H5private.h"		/* Generic Functions			*/
+#include "H5Dprivate.h"		/* Dataset functions			*/
+#include "H5Eprivate.h"		/* Error handling		  	*/
+#include "H5FLprivate.h"	/* Free Lists                           */
 #include "H5MFprivate.h"	/* File space management		*/
-#include "H5MMprivate.h"
-#include "H5Opkg.h"             /* Object header functions                  */
+#include "H5MMprivate.h"	/* Memory management			*/
+#include "H5Opkg.h"             /* Object headers			*/
 
 /* PRIVATE PROTOTYPES */
-static void *H5O_layout_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_layout_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_layout_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void *H5O_layout_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_layout_size(const H5F_t *f, const void *_mesg);
@@ -40,8 +41,8 @@
 static herr_t H5O_layout_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE * stream,
 			       int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_LAYOUT[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_LAYOUT[1] = {{
     H5O_LAYOUT_ID,          	/*message id number             */
     "layout",               	/*message name for debugging    */
     sizeof(H5O_layout_t),   	/*native message size           */
@@ -55,7 +56,7 @@
     NULL,			/* link method			*/
     NULL,		    	/*get share method		*/
     NULL,			/*set share method		*/
-    H5O_layout_debug,       	/*debug the message             */
+    H5O_layout_debug       	/*debug the message             */
 }};
 
 /* For forward and backward compatibility.  Version is 1 when space is
@@ -93,7 +94,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_layout_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p, H5O_shared_t UNUSED *sh)
+H5O_layout_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_layout_t           *mesg = NULL;
     unsigned               u;
@@ -104,7 +105,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     /* decode */
     if (NULL==(mesg = H5FL_CALLOC(H5O_layout_t)))
@@ -289,7 +289,7 @@
         else if(mesg->type==H5D_CHUNKED)
             H5F_addr_encode(f, &p, mesg->u.chunk.addr);
 
-        /* dimension size */
+        /* Dimension sizes */
         if(mesg->type!=H5D_CHUNKED)
             for (u = 0; u < mesg->unused.ndims; u++)
                 UINT32ENCODE(p, mesg->unused.dim[u])
@@ -502,7 +502,7 @@
                 break;
 
             default:
-                HGOTO_ERROR(H5E_OHDR, H5E_CANTENCODE, 0, "Invalid layout class");
+                HGOTO_ERROR(H5E_OHDR, H5E_CANTENCODE, 0, "Invalid layout class")
         } /* end switch */
     } /* end else */
 
@@ -728,3 +728,4 @@
 
     FUNC_LEAVE_NOAPI(SUCCEED);
 }
+

Modified: packages/hdf5/trunk/src/H5Omtime.c
===================================================================
--- packages/hdf5/trunk/src/H5Omtime.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Omtime.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:	Robb Matzke <matzke at llnl.gov>
@@ -32,11 +33,11 @@
 #endif
 
 
-static void *H5O_mtime_new_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_mtime_new_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_mtime_new_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static size_t H5O_mtime_new_size(const H5F_t *f, const void *_mesg);
 
-static void *H5O_mtime_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_mtime_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_mtime_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void *H5O_mtime_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_mtime_size(const H5F_t *f, const void *_mesg);
@@ -45,8 +46,8 @@
 static herr_t H5O_mtime_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE *stream,
 			     int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_MTIME[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_MTIME[1] = {{
     H5O_MTIME_ID,		/*message id number		*/
     "mtime",			/*message name for debugging	*/
     sizeof(time_t),		/*native message size		*/
@@ -60,12 +61,12 @@
     NULL,			/* link method			*/
     NULL,			/*get share method		*/
     NULL,			/*set share method		*/
-    H5O_mtime_debug,		/*debug the message		*/
+    H5O_mtime_debug		/*debug the message		*/
 }};
 
-/* This message derives from H5O */
+/* This message derives from H5O message class */
 /* (Only encode, decode & size routines are different from old mtime routines) */
-const H5O_class_t H5O_MTIME_NEW[1] = {{
+const H5O_msg_class_t H5O_MSG_MTIME_NEW[1] = {{
     H5O_MTIME_NEW_ID,		/*message id number		*/
     "mtime_new",		/*message name for debugging	*/
     sizeof(time_t),		/*native message size		*/
@@ -79,7 +80,7 @@
     NULL,			/* link method			*/
     NULL,			/*get share method		*/
     NULL,			/*set share method		*/
-    H5O_mtime_debug,		/*debug the message		*/
+    H5O_mtime_debug		/*debug the message		*/
 }};
 
 /* Current version of new mtime information */
@@ -111,8 +112,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_mtime_new_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-		 H5O_shared_t UNUSED *sh)
+H5O_mtime_new_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     time_t	*mesg;
     uint32_t    tmp_time;       /* Temporary copy of the time */
@@ -123,7 +123,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     /* decode */
     if(*p++ != H5O_MTIME_VERSION)
@@ -167,8 +166,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_mtime_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-		 H5O_shared_t UNUSED *sh)
+H5O_mtime_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     time_t	*mesg, the_time;
     int	i;
@@ -180,7 +178,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     /* Initialize time zone information */
     if (!ntzset) {

Modified: packages/hdf5/trunk/src/H5Oname.c
===================================================================
--- packages/hdf5/trunk/src/H5Oname.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Oname.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -32,8 +33,9 @@
 #include "H5MMprivate.h"
 #include "H5Opkg.h"             /* Object header functions                  */
 
+
 /* PRIVATE PROTOTYPES */
-static void *H5O_name_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_name_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_name_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void *H5O_name_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_name_size(const H5F_t *f, const void *_mesg);
@@ -41,8 +43,8 @@
 static herr_t H5O_name_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE * stream,
 			     int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_NAME[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_NAME[1] = {{
     H5O_NAME_ID,            	/*message id number             */
     "name",                 	/*message name for debugging    */
     sizeof(H5O_name_t),     	/*native message size           */
@@ -56,7 +58,7 @@
     NULL,			/* link method			*/
     NULL,		    	/*get share method		*/
     NULL,			/*set share method		*/
-    H5O_name_debug,         	/*debug the message             */
+    H5O_name_debug         	/*debug the message             */
 }};
 
 
@@ -79,8 +81,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_name_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-		H5O_shared_t UNUSED *sh)
+H5O_name_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_name_t          *mesg;
     void                *ret_value;     /* Return value */
@@ -90,7 +91,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     /* decode */
     if (NULL==(mesg = H5MM_calloc(sizeof(H5O_name_t))) ||

Modified: packages/hdf5/trunk/src/H5Onull.c
===================================================================
--- packages/hdf5/trunk/src/H5Onull.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Onull.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -30,8 +31,9 @@
 #include "H5private.h"
 #include "H5Opkg.h"             /* Object header functions                  */
 
-/* This message derives from H5O */
-const H5O_class_t H5O_NULL[1] = {{
+
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_NULL[1] = {{
     H5O_NULL_ID,            /*message id number             */
     "null",                 /*message name for debugging    */
     0,                      /*native message size           */
@@ -45,5 +47,5 @@
     NULL,		    /*no link method		    */
     NULL,		    /*no get share method	    */
     NULL,	            /*no set share method	    */
-    NULL,                   /*no debug method               */
+    NULL                    /*no debug method               */
 }};

Modified: packages/hdf5/trunk/src/H5Opkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Opkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Opkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef H5O_PACKAGE
@@ -19,9 +20,12 @@
 #ifndef _H5Opkg_H
 #define _H5Opkg_H
 
-/* Include private header file */
-#include "H5Oprivate.h"          /* Object header functions                */
+/* Get package's private header */
+#include "H5Oprivate.h"		/* Object headers		  	*/
 
+/* Other private headers needed by this file */
+#include "H5ACprivate.h"	/* Metadata cache			*/
+
 /*
  * Align messages on 8-byte boundaries because we would like to copy the
  * object header chunks directly into memory and operate on them there, even
@@ -32,7 +36,7 @@
 
 /* Object header macros */
 #define H5O_NMESGS	32		/*initial number of messages	     */
-#define H5O_NCHUNKS	8		/*initial number of chunks	     */
+#define H5O_NCHUNKS	2		/*initial number of chunks	     */
 
 /* Version of object header structure */
 #define H5O_VERSION		1
@@ -55,11 +59,11 @@
 	       2 +	/*sizeof message data	*/			      \
 	       4)	/*reserved		*/
 
-typedef struct H5O_class_t {
-    int	id;				 /*message type ID on disk   */
+struct H5O_msg_class_t {
+    unsigned	id;				 /*message type ID on disk   */
     const char	*name;				 /*for debugging             */
     size_t	native_size;			 /*size of native message    */
-    void	*(*decode)(H5F_t*, hid_t, const uint8_t*, struct H5O_shared_t*);
+    void	*(*decode)(H5F_t*, hid_t, const uint8_t*);
     herr_t	(*encode)(H5F_t*, uint8_t*, const void*);
     void	*(*copy)(const void*, void*, unsigned);    /*copy native value         */
     size_t	(*raw_size)(const H5F_t*, const void*);/*sizeof raw val	     */
@@ -70,10 +74,10 @@
     herr_t	(*get_share)(H5F_t*, const void*, struct H5O_shared_t*);    /* Get shared information */
     herr_t	(*set_share)(H5F_t*, void*, const struct H5O_shared_t*);    /* Set shared information */
     herr_t	(*debug)(H5F_t*, hid_t, const void*, FILE*, int, int);
-} H5O_class_t;
+};
 
 typedef struct H5O_mesg_t {
-    const H5O_class_t	*type;		/*type of message		     */
+    const H5O_msg_class_t	*type;	/*type of message		     */
     hbool_t		dirty;		/*raw out of date wrt native	     */
     uint8_t		flags;		/*message flags			     */
     unsigned		chunkno;	/*chunk number for this mesg	     */
@@ -89,125 +93,128 @@
     uint8_t	*image;			/*image of file			     */
 } H5O_chunk_t;
 
-typedef struct H5O_t {
+struct H5O_t {
     H5AC_info_t cache_info; /* Information for H5AC cache functions, _must_ be */
                             /* first field in structure */
-    int		version;		/*version number		     */
+    unsigned	version;		/*version number		     */
     int		nlink;			/*link count			     */
-    unsigned	nmesgs;			/*number of messages		     */
-    unsigned	alloc_nmesgs;		/*number of message slots	     */
+    size_t	nmesgs;			/*number of messages		     */
+    size_t	alloc_nmesgs;		/*number of message slots	     */
     H5O_mesg_t	*mesg;			/*array of messages		     */
-    unsigned	nchunks;		/*number of chunks		     */
-    unsigned	alloc_nchunks;		/*chunks allocated		     */
+    size_t	nchunks;		/*number of chunks		     */
+    size_t	alloc_nchunks;		/*chunks allocated		     */
     H5O_chunk_t *chunk;			/*array of chunks		     */
-} H5O_t;
+};
 
-/*
- * Null Message. (0x0000)
- */
-H5_DLLVAR const H5O_class_t H5O_NULL[1];
+/* H5O inherits cache-like properties from H5AC */
+H5_DLLVAR const H5AC_class_t H5AC_OHDR[1];
 
-/*
- * Simple Dataspace Message. (0x0001)
- */
-H5_DLLVAR const H5O_class_t H5O_SDSPACE[1];
+/* Header message ID to class mapping */
+H5_DLLVAR const H5O_msg_class_t *const H5O_msg_class_g[19];
 
-/*
- * Datatype Message. (0x0003)
- */
-H5_DLLVAR const H5O_class_t H5O_DTYPE[1];
+/* Declare external the free list for H5O_t's */
+H5FL_EXTERN(H5O_t);
 
+/* Declare external the free list for H5O_mesg_t sequences */
+H5FL_SEQ_EXTERN(H5O_mesg_t);
+
+/* Declare external the free list for H5O_chunk_t sequences */
+H5FL_SEQ_EXTERN(H5O_chunk_t);
+
+/* Declare external the free list for chunk_image blocks */
+H5FL_BLK_EXTERN(chunk_image);
+
 /*
- * Old Fill Value Message. (0x0004)
+ * Object header messages
  */
-H5_DLLVAR const H5O_class_t H5O_FILL[1];
 
-/*
- * New Fill Value Message. (0x0005)
- * 
+/* Null Message. (0x0000) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_NULL[1];
+
+/* Simple Dataspace Message. (0x0001) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_SDSPACE[1];
+
+/* Datatype Message. (0x0003) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_DTYPE[1];
+
+/* Old Fill Value Message. (0x0004) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_FILL[1];
+
+/* New Fill Value Message. (0x0005) */
+/* 
  * The new fill value message is fill value plus
  * space allocation time and fill value writing time and whether fill
  * value is defined.
  */
-H5_DLLVAR const H5O_class_t H5O_FILL_NEW[1];
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_FILL_NEW[1];
 
-/*
- * External File List Message. (0x0007)
- */
-H5_DLLVAR const H5O_class_t H5O_EFL[1];
+/* External File List Message. (0x0007) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_EFL[1];
 
-/*
- * Data Layout Message. (0x0008)
- */
-H5_DLLVAR const H5O_class_t H5O_LAYOUT[1];
+/* Data Layout Message. (0x0008) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_LAYOUT[1];
 
 #ifdef H5O_ENABLE_BOGUS
+/* "Bogus" Message. (0x0009) */
 /*
- * "Bogus" Message. (0x0009)
+ * Used for debugging - should never be found in valid HDF5 file.
  */
-H5_DLLVAR const H5O_class_t H5O_BOGUS[1];
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_BOGUS[1];
 #endif /* H5O_ENABLE_BOGUS */
 
-/*
- * Filter pipeline message. (0x000b)
- */
-H5_DLLVAR const H5O_class_t H5O_PLINE[1];
+/* Filter pipeline message. (0x000b) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_PLINE[1];
 
-/*
- * Attribute Message. (0x000c)
- */
-H5_DLLVAR const H5O_class_t H5O_ATTR[1];
+/* Attribute Message. (0x000c) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_ATTR[1];
 
-/*
- * Object name message. (0x000d)
- */
-H5_DLLVAR const H5O_class_t H5O_NAME[1];
+/* Object name message. (0x000d) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_NAME[1];
 
+/* Modification Time Message. (0x000e) */
 /*
- * Modification Time Message. (0x000e)
- *
  * The message is just a `time_t'.
  * (See also the "new" modification time message)
  */
-H5_DLLVAR const H5O_class_t H5O_MTIME[1];
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_MTIME[1];
 
-/*
- * Shared Object Message. (0x000f)
- * 
+/* Shared Object Message. (0x000f) */
+/* 
  * This message ID never really appears in an object
  * header.  Instead, bit 2 of the `Flags' field will be set and the ID field
  * will be the ID of the pointed-to message.
  */
-H5_DLLVAR const H5O_class_t H5O_SHARED[1];
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_SHARED[1];
 
-/*
- * Object Header Continuation Message. (0x0010)
- */
-H5_DLLVAR const H5O_class_t H5O_CONT[1];
+/* Object Header Continuation Message. (0x0010) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_CONT[1];
 
-/*
- * Symbol Table Message. (0x0011)
- */
-H5_DLLVAR const H5O_class_t H5O_STAB[1];
+/* Symbol Table Message. (0x0011) */
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_STAB[1];
 
-/*
- * New Modification Time Message. (0x0012)
- * 
+/* New Modification Time Message. (0x0012) */
+/* 
  * The message is just a `time_t'.
  */
-H5_DLLVAR const H5O_class_t H5O_MTIME_NEW[1];
+H5_DLLVAR const H5O_msg_class_t H5O_MSG_MTIME_NEW[1];
 
 /* Package-local function prototypes */
-H5_DLL void * H5O_read_real(const H5G_entry_t *ent, const H5O_class_t *type,
+H5_DLL herr_t H5O_init(void);
+H5_DLL herr_t H5O_free_mesg(H5O_mesg_t *mesg);
+H5_DLL void * H5O_read_real(const H5G_entry_t *ent, const H5O_msg_class_t *type,
         int sequence, void *mesg, hid_t dxpl_id);
-H5_DLL void * H5O_free_real(const H5O_class_t *type, void *mesg);
+H5_DLL void * H5O_free_real(const H5O_msg_class_t *type, void *mesg);
 
 /* Shared object operators */
 H5_DLL void * H5O_shared_read(H5F_t *f, hid_t dxpl_id, H5O_shared_t *shared,
-    const H5O_class_t *type, void *mesg);
+    const H5O_msg_class_t *type, void *mesg);
 
 /* Symbol table operators */
-H5_DLL void *H5O_stab_fast(const H5G_cache_t *cache, const struct H5O_class_t *type,
+H5_DLL void *H5O_stab_fast(const H5G_cache_t *cache, const struct H5O_msg_class_t *type,
 			    void *_mesg);
 
+/* Useful metadata cache callbacks */
+H5_DLL herr_t H5O_dest(H5F_t *f, H5O_t *oh);
+
 #endif /* _H5Opkg_H */
+

Modified: packages/hdf5/trunk/src/H5Opline.c
===================================================================
--- packages/hdf5/trunk/src/H5Opline.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Opline.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -31,7 +32,7 @@
 #define H5O_PLINE_VERSION	1
 
 static herr_t H5O_pline_encode (H5F_t *f, uint8_t *p, const void *mesg);
-static void *H5O_pline_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_pline_decode (H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static void *H5O_pline_copy (const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_pline_size (const H5F_t *f, const void *_mesg);
 static herr_t H5O_pline_reset (void *_mesg);
@@ -39,8 +40,8 @@
 static herr_t H5O_pline_debug (H5F_t *f, hid_t dxpl_id, const void *_mesg,
 			       FILE * stream, int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_PLINE[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_PLINE[1] = {{
     H5O_PLINE_ID,		/* message id number		*/
     "filter pipeline",		/* message name for debugging	*/
     sizeof(H5O_pline_t),	/* native message size		*/
@@ -54,7 +55,7 @@
     NULL,			/* link method			*/
     NULL,			/* get share method		*/
     NULL, 			/* set share method		*/
-    H5O_pline_debug,		/* debug the message		*/
+    H5O_pline_debug		/* debug the message		*/
 }};
 
 
@@ -79,8 +80,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_pline_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p,
-		H5O_shared_t UNUSED *sh)
+H5O_pline_decode(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_pline_t		*pline = NULL;
     void		*ret_value;

Modified: packages/hdf5/trunk/src/H5Oprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Oprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Oprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -28,17 +29,20 @@
 #define _H5Oprivate_H
 
 /* Include the public header file for this API */
-#include "H5Opublic.h"          /* Object header functions                */
+#include "H5Opublic.h"          /* Object header functions              */
 
 /* Public headers needed by this file */
-#include "H5Dpublic.h"          /* Dataset functions                      */
-#include "H5Spublic.h"		/* Dataspace functions			  */
+#include "H5Dpublic.h"          /* Dataset functions                    */
+#include "H5Spublic.h"		/* Dataspace functions			*/
 
 /* Private headers needed by this file */
-#include "H5HGprivate.h"        /* Global heap functions                  */
-#include "H5Tprivate.h"		/* Datatype functions			  */
-#include "H5Zprivate.h"         /* I/O pipeline filters			  */
+#include "H5Tprivate.h"		/* Datatype functions			*/
+#include "H5Zprivate.h"         /* I/O pipeline filters			*/
 
+/* Forward references of package typedefs */
+typedef struct H5O_msg_class_t H5O_msg_class_t;
+typedef struct H5O_t H5O_t;
+
 /* Object header macros */
 #define H5O_MIN_SIZE	H5O_ALIGN(32)	/*min obj header data size	     */
 #define H5O_MAX_SIZE	65536	        /*max obj header data size	     */
@@ -201,11 +205,7 @@
  */
 
 typedef struct H5O_shared_t {
-    hbool_t		in_gh;		/*shared by global heap?	     */
-    union {
-	H5HG_t		gh;		/*global heap info		     */
-	H5G_entry_t	ent;		/*symbol table entry info	     */
-    } u;
+    H5G_entry_t	ent;			/*symbol table entry info	     */
 } H5O_shared_t;
 
 /*
@@ -279,7 +279,7 @@
 H5_DLL herr_t H5O_get_info(H5G_entry_t *ent, H5O_stat_t *ostat, hid_t dxpl_id);
 H5_DLL herr_t H5O_iterate(const H5G_entry_t *ent, unsigned type_id, H5O_operator_t op,
     void *op_data, hid_t dxpl_id);
-H5_DLL herr_t H5O_debug_id(hid_t type_id, H5F_t *f, hid_t dxpl_id, const void *mesg, FILE *stream, int indent, int fwidth);
+H5_DLL herr_t H5O_debug_id(unsigned type_id, H5F_t *f, hid_t dxpl_id, const void *mesg, FILE *stream, int indent, int fwidth);
 H5_DLL herr_t H5O_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent,
 			 int fwidth);
 

Modified: packages/hdf5/trunk/src/H5Opublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Opublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Opublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------

Modified: packages/hdf5/trunk/src/H5Osdspace.c
===================================================================
--- packages/hdf5/trunk/src/H5Osdspace.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Osdspace.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5O_PACKAGE	/*suppress error about including H5Opkg	  */
@@ -25,7 +26,7 @@
 
 
 /* PRIVATE PROTOTYPES */
-static void *H5O_sdspace_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_sdspace_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_sdspace_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void *H5O_sdspace_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_sdspace_size(const H5F_t *f, const void *_mesg);
@@ -34,10 +35,10 @@
 static herr_t H5O_sdspace_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg,
 				FILE * stream, int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_SDSPACE[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_SDSPACE[1] = {{
     H5O_SDSPACE_ID,	    	/* message id number		    	*/
-    "simple_dspace",	    	/* message name for debugging	   	*/
+    "dataspace",	    	/* message name for debugging	   	*/
     sizeof(H5S_extent_t),   	/* native message size		    	*/
     H5O_sdspace_decode,	    	/* decode message			*/
     H5O_sdspace_encode,	    	/* encode message			*/
@@ -49,7 +50,7 @@
     NULL,			/* link method			*/
     NULL,		    	/* get share method			*/
     NULL, 			/* set share method			*/
-    H5O_sdspace_debug,	        /* debug the message		    	*/
+    H5O_sdspace_debug	        /* debug the message		    	*/
 }};
 
 #define H5O_SDSPACE_VERSION	1
@@ -88,7 +89,7 @@
         Added a version number and reformatted the message for aligment.
 --------------------------------------------------------------------------*/
 static void *
-H5O_sdspace_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p, H5O_shared_t UNUSED *sh)
+H5O_sdspace_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5S_extent_t	*sdim = NULL;/* New extent dimensionality structure */
     void		*ret_value;
@@ -100,7 +101,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert (!sh);
 
     /* decode */
     if ((sdim = H5FL_CALLOC(H5S_extent_t)) != NULL) {
@@ -128,8 +128,15 @@
         if (sdim->rank > 0) {
             if (NULL==(sdim->size=H5FL_ARR_MALLOC(hsize_t,sdim->rank)))
                 HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
-            for (i = 0; i < sdim->rank; i++)
+            for (i = 0; i < sdim->rank; i++) {
                 H5F_DECODE_LENGTH (f, p, sdim->size[i]);
+#ifndef H5_HAVE_LARGE_HSIZET
+                /* Rudimentary check for overflow of the dimension size */
+                if(sdim->size[i] == 0)
+                    HGOTO_ERROR(H5E_DATASPACE, H5E_BADSIZE, NULL, "invalid size detected");
+#endif /* H5_HAVE_LARGE_HSIZET */
+            } /* end for */
+
             if (flags & H5S_VALID_MAX) {
                 if (NULL==(sdim->max=H5FL_ARR_MALLOC(hsize_t,sdim->rank)))
                     HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
@@ -428,3 +435,4 @@
 
     FUNC_LEAVE_NOAPI(SUCCEED);
 }
+

Modified: packages/hdf5/trunk/src/H5Oshared.c
===================================================================
--- packages/hdf5/trunk/src/H5Oshared.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Oshared.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -36,7 +37,7 @@
 #include "H5MMprivate.h"	/* Memory management			*/
 #include "H5Opkg.h"             /* Object headers			*/
 
-static void *H5O_shared_decode (H5F_t*, hid_t dxpl_id, const uint8_t*, H5O_shared_t *sh);
+static void *H5O_shared_decode (H5F_t*, hid_t dxpl_id, const uint8_t*);
 static herr_t H5O_shared_encode (H5F_t*, uint8_t*, const void*);
 static void *H5O_shared_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_shared_size (const H5F_t*, const void *_mesg);
@@ -44,8 +45,8 @@
 static herr_t H5O_shared_link(H5F_t *f, hid_t dxpl_id, const void *_mesg);
 static herr_t H5O_shared_debug (H5F_t*, hid_t dxpl_id, const void*, FILE*, int, int);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_SHARED[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_SHARED[1] = {{
     H5O_SHARED_ID,	    	/*message id number			*/
     "shared",		    	/*message name for debugging		*/
     sizeof(H5O_shared_t), 	/*native message size			*/
@@ -59,7 +60,7 @@
     H5O_shared_link,		/*link method				*/
     NULL,			/*get share method			*/
     NULL, 			/*set share method			*/
-    H5O_shared_debug,	    	/*debug method				*/
+    H5O_shared_debug	    	/*debug method				*/
 }};
 
 /* Old version, with full symbol table entry as link for object header sharing */
@@ -91,43 +92,25 @@
  *-------------------------------------------------------------------------
  */
 void *
-H5O_shared_read(H5F_t *f, hid_t dxpl_id, H5O_shared_t *shared, const H5O_class_t *type, void *mesg)
+H5O_shared_read(H5F_t *f, hid_t dxpl_id, H5O_shared_t *shared, const H5O_msg_class_t *type, void *mesg)
 {
     void *ret_value = NULL;     /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_shared_read);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_shared_read)
 
     /* check args */
-    assert(f);
-    assert(shared);
-    assert(type);
+    HDassert(f);
+    HDassert(shared);
+    HDassert(type);
 
     /* Get the shared message */
-    if (shared->in_gh) {
-        void *tmp_buf, *tmp_mesg;
+    if(NULL == (ret_value = H5O_read_real(&(shared->ent), type, 0, mesg, dxpl_id)))
+        HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to retrieve shared message")
+    if(type->set_share && (type->set_share)(f, ret_value, shared) < 0)
+        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to set sharing information")
 
-        if (NULL==(tmp_buf = H5HG_read (f, dxpl_id, &(shared->u.gh), NULL)))
-            HGOTO_ERROR (H5E_OHDR, H5E_CANTLOAD, NULL, "unable to read shared message from global heap");
-        tmp_mesg = (type->decode)(f, dxpl_id, tmp_buf, shared);
-        tmp_buf = H5MM_xfree (tmp_buf);
-        if (!tmp_mesg)
-            HGOTO_ERROR (H5E_OHDR, H5E_CANTLOAD, NULL, "unable to decode object header shared message");
-        if (mesg) {
-            HDmemcpy (mesg, tmp_mesg, type->native_size);
-            H5MM_xfree (tmp_mesg);
-        } /* end if */
-        else
-            ret_value = tmp_mesg;
-    } /* end if */
-    else {
-        ret_value = H5O_read_real(&(shared->u.ent), type, 0, mesg, dxpl_id);
-        if (type->set_share &&
-                (type->set_share)(f, ret_value, shared)<0)
-            HGOTO_ERROR (H5E_OHDR, H5E_CANTINIT, NULL, "unable to set sharing information");
-    } /* end else */
-
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_shared_read() */
 
 
@@ -154,35 +137,25 @@
 {
     int ret_value;     /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_shared_link_adj);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_shared_link_adj)
 
     /* check args */
-    assert(f);
-    assert(shared);
+    HDassert(f);
+    HDassert(shared);
 
-    if (shared->in_gh) {
-        /*
-         * The shared message is stored in the global heap.
-         * Adjust the reference count on the global heap message.
-         */
-        if ((ret_value = H5HG_link (f, dxpl_id, &(shared->u.gh), adjust))<0)
-            HGOTO_ERROR (H5E_OHDR, H5E_LINK, FAIL, "unable to adjust shared object link count");
-    } /* end if */
-    else {
-        /*
-         * The shared message is stored in some other object header.
-         * The other object header must be in the same file as the
-         * new object header. Adjust the reference count on that
-         * object header.
-         */
-        if (shared->u.ent.file->shared != f->shared)
-            HGOTO_ERROR(H5E_OHDR, H5E_LINK, FAIL, "interfile hard links are not allowed");
-        if ((ret_value = H5O_link (&(shared->u.ent), adjust, dxpl_id))<0)
-            HGOTO_ERROR (H5E_OHDR, H5E_LINK, FAIL, "unable to adjust shared object link count");
-    } /* end else */
+    /*
+     * The shared message is stored in some other object header.
+     * The other object header must be in the same file as the
+     * new object header. Adjust the reference count on that
+     * object header.
+     */
+    if(shared->ent.file->shared != f->shared)
+        HGOTO_ERROR(H5E_OHDR, H5E_LINK, FAIL, "interfile hard links are not allowed")
+    if((ret_value = H5O_link (&(shared->ent), adjust, dxpl_id)) < 0)
+        HGOTO_ERROR(H5E_OHDR, H5E_LINK, FAIL, "unable to adjust shared object link count")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5O_shared_link_adj() */
 
 
@@ -204,53 +177,45 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_shared_decode (H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *buf, H5O_shared_t UNUSED *sh)
+H5O_shared_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *buf)
 {
-    H5O_shared_t	*mesg=NULL;
+    H5O_shared_t	*mesg = NULL;
     unsigned		flags, version;
     void                *ret_value;     /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_shared_decode);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_shared_decode)
 
     /* Check args */
-    assert (f);
-    assert (buf);
-    assert (!sh);
+    HDassert(f);
+    HDassert(buf);
 
     /* Decode */
-    if (NULL==(mesg = H5MM_calloc (sizeof(H5O_shared_t))))
-	HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+    if(NULL == (mesg = H5MM_calloc (sizeof(H5O_shared_t))))
+	HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
 
     /* Version */
     version = *buf++;
-    if (version!=H5O_SHARED_VERSION_1 && version!=H5O_SHARED_VERSION)
-	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "bad version number for shared object message");
+    if(version != H5O_SHARED_VERSION_1 && version != H5O_SHARED_VERSION)
+	HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "bad version number for shared object message")
 
     /* Get the shared information flags */
-    flags = *buf++;
-    mesg->in_gh = (flags & 0x01);
+    flags = *buf++;             /* Unused currently */
 
     /* Skip reserved bytes (for version 1) */
-    if(version==H5O_SHARED_VERSION_1)
+    if(version == H5O_SHARED_VERSION_1)
         buf += 6;
 
     /* Body */
-    if (mesg->in_gh) {
-        H5F_addr_decode (f, &buf, &(mesg->u.gh.addr));
-        INT32DECODE (buf, mesg->u.gh.idx);
-    } /* end if */
+    if(version == H5O_SHARED_VERSION_1)
+        H5G_ent_decode(f, &buf, &(mesg->ent));
     else {
-        if(version==H5O_SHARED_VERSION_1)
-            H5G_ent_decode (f, &buf, &(mesg->u.ent));
-        else {
-            assert(version==H5O_SHARED_VERSION);
-            H5F_addr_decode (f, &buf, &(mesg->u.ent.header));
-            mesg->u.ent.file=f;
-        } /* end else */
+        HDassert(version == H5O_SHARED_VERSION);
+        H5F_addr_decode(f, &buf, &(mesg->ent.header));
+        mesg->ent.file = f;
     } /* end else */
 
     /* Set return value */
-    ret_value=mesg;
+    ret_value = mesg;
 
 done:
     if(ret_value==NULL) {
@@ -258,8 +223,8 @@
             H5MM_xfree(mesg);
     } /* end if */
 
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5O_shared_decode() */
 
 
 /*-------------------------------------------------------------------------
@@ -282,45 +247,22 @@
 H5O_shared_encode (H5F_t *f, uint8_t *buf/*out*/, const void *_mesg)
 {
     const H5O_shared_t	*mesg = (const H5O_shared_t *)_mesg;
-    unsigned		flags;
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_shared_encode);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_shared_encode)
 
     /* Check args */
-    assert (f);
-    assert (buf);
-    assert (mesg);
+    HDassert(f);
+    HDassert(buf);
+    HDassert(mesg);
 
     /* Encode */
     *buf++ = H5O_SHARED_VERSION;
-    flags = mesg->in_gh ? 0x01 : 0x00;
-    *buf++ = flags;
-#ifdef OLD_WAY
-    *buf++ = 0; /*reserved 1*/
-    *buf++ = 0; /*reserved 2*/
-    *buf++ = 0; /*reserved 3*/
-    *buf++ = 0; /*reserved 4*/
-    *buf++ = 0; /*reserved 5*/
-    *buf++ = 0; /*reserved 6*/
+    *buf++ = 0; /* No flags currently */
+    H5F_addr_encode(f, &buf, mesg->ent.header);
 
-    if (mesg->in_gh) {
-	H5F_addr_encode (f, &buf, mesg->u.gh.addr);
-	INT32ENCODE (buf, mesg->u.gh.idx);
-    } /* end if */
-    else
-	H5G_ent_encode (f, &buf, &(mesg->u.ent));
-#else /* OLD_WAY */
-    if (mesg->in_gh) {
-	H5F_addr_encode (f, &buf, mesg->u.gh.addr);
-	INT32ENCODE (buf, mesg->u.gh.idx);
-    } /* end if */
-    else
-        H5F_addr_encode (f, &buf, mesg->u.ent.header);
-#endif /* OLD_WAY */
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5O_shared_encode() */
 
-    FUNC_LEAVE_NOAPI(SUCCEED);
-}
-
 
 /*-------------------------------------------------------------------------
  * Function:	H5O_shared_copy
@@ -377,23 +319,18 @@
  * Programmer:	Robb Matzke
  *              Thursday, April  2, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static size_t
-H5O_shared_size (const H5F_t *f, const void *_mesg)
+H5O_shared_size (const H5F_t *f, const void UNUSED *_mesg)
 {
-    const H5O_shared_t  *shared = (const H5O_shared_t *) _mesg;
     size_t	ret_value;
 
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_shared_size);
 
     ret_value = 1 +			/*version			*/
             1 +				/*the flags field		*/
-            (shared->in_gh ?
-               (H5F_SIZEOF_ADDR(f)+4) :	/*sharing via global heap	*/
-		H5F_SIZEOF_ADDR(f));	/*sharing by another obj hdr	*/
+            H5F_SIZEOF_ADDR(f);		/*sharing by another obj hdr	*/
 
     FUNC_LEAVE_NOAPI(ret_value);
 }
@@ -491,32 +428,21 @@
 {
     const H5O_shared_t	*mesg = (const H5O_shared_t *)_mesg;
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_shared_debug);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5O_shared_debug)
 
     /* Check args */
-    assert (f);
-    assert (mesg);
-    assert (stream);
-    assert (indent>=0);
-    assert (fwidth>=0);
+    HDassert(f);
+    HDassert(mesg);
+    HDassert(stream);
+    HDassert(indent >= 0);
+    HDassert(fwidth >= 0);
 
-    if (mesg->in_gh) {
-	HDfprintf (stream, "%*s%-*s %s\n", indent, "", fwidth,
-		   "Sharing method",
-		   "Global heap");
-	HDfprintf (stream, "%*s%-*s %a\n", indent, "", fwidth,
-		   "Collection address:",
-		   mesg->u.gh.addr);
-	HDfprintf (stream, "%*s%-*s %d\n", indent, "", fwidth,
-		   "Object ID within collection:",
-		   mesg->u.gh.idx);
-    } else {
-	HDfprintf (stream, "%*s%-*s %s\n", indent, "", fwidth,
-		   "Sharing method",
-		   "Obj Hdr");
-	H5G_ent_debug (f, dxpl_id, &(mesg->u.ent), stream, indent, fwidth,
-		       HADDR_UNDEF);
-    }
+    HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
+               "Sharing method",
+               "Obj Hdr");
+    H5G_ent_debug (f, dxpl_id, &(mesg->ent), stream, indent, fwidth,
+                   HADDR_UNDEF);
 
-    FUNC_LEAVE_NOAPI(SUCCEED);
-}
+    FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5O_shared_debug() */
+

Modified: packages/hdf5/trunk/src/H5Ostab.c
===================================================================
--- packages/hdf5/trunk/src/H5Ostab.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ostab.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -36,17 +37,17 @@
 
 
 /* PRIVATE PROTOTYPES */
-static void *H5O_stab_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p, H5O_shared_t *sh);
+static void *H5O_stab_decode(H5F_t *f, hid_t dxpl_id, const uint8_t *p);
 static herr_t H5O_stab_encode(H5F_t *f, uint8_t *p, const void *_mesg);
 static void *H5O_stab_copy(const void *_mesg, void *_dest, unsigned update_flags);
 static size_t H5O_stab_size(const H5F_t *f, const void *_mesg);
 static herr_t H5O_stab_free(void *_mesg);
 static herr_t H5O_stab_delete(H5F_t *f, hid_t dxpl_id, const void *_mesg, hbool_t adj_link);
 static herr_t H5O_stab_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg,
-			     FILE * stream, int indent, int fwidth);
+    FILE * stream, int indent, int fwidth);
 
-/* This message derives from H5O */
-const H5O_class_t H5O_STAB[1] = {{
+/* This message derives from H5O message class */
+const H5O_msg_class_t H5O_MSG_STAB[1] = {{
     H5O_STAB_ID,            	/*message id number             */
     "stab",                 	/*message name for debugging    */
     sizeof(H5O_stab_t),     	/*native message size           */
@@ -60,7 +61,7 @@
     NULL,			/* link method			*/
     NULL,		    	/*get share method		*/
     NULL, 			/*set share method		*/
-    H5O_stab_debug,         	/*debug the message             */
+    H5O_stab_debug         	/*debug the message             */
 }};
 
 /* Declare a free list to manage the H5O_stab_t struct */
@@ -86,7 +87,7 @@
  *-------------------------------------------------------------------------
  */
 static void *
-H5O_stab_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p, H5O_shared_t UNUSED *sh)
+H5O_stab_decode(H5F_t *f, hid_t UNUSED dxpl_id, const uint8_t *p)
 {
     H5O_stab_t          *stab=NULL;
     void                *ret_value;     /* Return value */
@@ -96,7 +97,6 @@
     /* check args */
     assert(f);
     assert(p);
-    assert(!sh);
 
     /* decode */
     if (NULL==(stab = H5FL_CALLOC(H5O_stab_t)))
@@ -172,21 +172,21 @@
  *-------------------------------------------------------------------------
  */
 void *
-H5O_stab_fast(const H5G_cache_t *cache, const H5O_class_t *type, void *_mesg)
+H5O_stab_fast(const H5G_cache_t *cache, const H5O_msg_class_t *type, void *_mesg)
 {
     H5O_stab_t          *ret_value;     /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT(H5O_stab_fast);
+    FUNC_ENTER_NOAPI_NOINIT(H5O_stab_fast)
 
     /* check args */
     assert(cache);
     assert(type);
 
-    if (H5O_STAB == type) {
+    if (H5O_MSG_STAB == type) {
         if (_mesg) {
 	    ret_value = (H5O_stab_t *) _mesg;
         } else if (NULL==(ret_value = H5FL_MALLOC(H5O_stab_t))) {
-	    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
+	    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
 	}
         ret_value->btree_addr = cache->stab.btree_addr;
         ret_value->heap_addr = cache->stab.heap_addr;
@@ -195,7 +195,7 @@
         ret_value=NULL;
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 }
 
 

Modified: packages/hdf5/trunk/src/H5P.c
===================================================================
--- packages/hdf5/trunk/src/H5P.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5P.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5Pdcpl.c
===================================================================
--- packages/hdf5/trunk/src/H5Pdcpl.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Pdcpl.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5P_PACKAGE		/*suppress error about including H5Ppkg	  */
@@ -35,6 +36,9 @@
 /* Static function prototypes */
 static herr_t H5P_set_layout(H5P_genplist_t *plist, H5D_layout_t layout);
 
+/* Declare extern the free list to manage blocks of type conversion data */
+H5FL_BLK_EXTERN(type_conv);
+
 
 /*-------------------------------------------------------------------------
  * Function:  H5P_set_layout
@@ -1245,7 +1249,6 @@
 H5Pset_fill_value(hid_t plist_id, hid_t type_id, const void *value)
 {
     H5O_fill_t	        fill;
-    H5T_t		*type = NULL;
     H5P_genplist_t *plist;      /* Property list pointer */
     herr_t ret_value=SUCCEED;   /* return value */
 
@@ -1265,6 +1268,10 @@
         HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't reset fill value");
 
     if(value) {
+        H5T_t *type;            /* Datatype for fill value */
+        H5T_path_t *tpath;      /* Conversion information */
+
+        /* Retrieve pointer to datatype */
 	if (NULL==(type=H5I_object_verify(type_id, H5I_DATATYPE)))
             HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data type");
 
@@ -1275,6 +1282,30 @@
         if (NULL==(fill.buf=H5MM_malloc(fill.size)))
             HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "memory allocation failed for fill value");
         HDmemcpy(fill.buf, value, fill.size);
+
+        /* Set up type conversion function */
+        if(NULL == (tpath = H5T_path_find(type, type, NULL, NULL, H5AC_ind_dxpl_id)))
+            HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dest data types")
+
+        /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
+        if(!H5T_path_noop(tpath)) {
+            uint8_t *bkg_buf = NULL;    /* Background conversion buffer */
+
+            /* Allocate a background buffer */
+            if(H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, (size_t)fill.size)))
+                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+
+            /* Convert the fill value */
+            if(H5T_convert(tpath, type_id, type_id, (size_t)1, (size_t)0, (size_t)0, fill.buf, bkg_buf, H5AC_ind_dxpl_id) < 0) {
+                if(bkg_buf)
+                    H5FL_BLK_FREE(type_conv, bkg_buf);
+                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "datatype conversion failed")
+            } /* end if */
+
+            /* Release the background buffer */
+            if(bkg_buf)
+                H5FL_BLK_FREE(type_conv, bkg_buf);
+        } /* end if */
     } else {
 	fill.type = fill.buf = NULL;
 	fill.size = (size_t)-1;

Modified: packages/hdf5/trunk/src/H5Pdxpl.c
===================================================================
--- packages/hdf5/trunk/src/H5Pdxpl.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Pdxpl.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5P_PACKAGE		/*suppress error about including H5Ppkg	  */

Modified: packages/hdf5/trunk/src/H5Pfapl.c
===================================================================
--- packages/hdf5/trunk/src/H5Pfapl.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Pfapl.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5P_PACKAGE		/*suppress error about including H5Ppkg	  */
@@ -1555,7 +1556,7 @@
 
     /* Get values */
     if (size) {
-        if(H5P_get(plist, H5F_ACS_META_BLOCK_SIZE_NAME, size) < 0)
+        if(H5P_get(plist, H5F_ACS_SDATA_BLOCK_SIZE_NAME, size) < 0)
             HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get 'small data' block size");
     } /* end if */
 

Modified: packages/hdf5/trunk/src/H5Pfcpl.c
===================================================================
--- packages/hdf5/trunk/src/H5Pfcpl.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Pfcpl.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5P_PACKAGE		/*suppress error about including H5Ppkg	  */

Modified: packages/hdf5/trunk/src/H5Ppkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Ppkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ppkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Pprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Pprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Pprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Ppublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Ppublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ppublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Ptest.c
===================================================================
--- packages/hdf5/trunk/src/H5Ptest.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Ptest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5R.c
===================================================================
--- packages/hdf5/trunk/src/H5R.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5R.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5F_PACKAGE		/*suppress error about including H5Fpkg	  */
@@ -190,7 +191,7 @@
             } /* end if */
 
             /* Zero the heap ID out, may leak heap space if user is re-using reference and doesn't have garbage collection on */
-            HDmemset(ref,H5R_DSET_REG_REF_BUF_SIZE,0);
+            HDmemset(ref, 0, H5R_DSET_REG_REF_BUF_SIZE);
 
             /* Get the amount of space required to serialize the selection */
             if ((buf_size = H5S_SELECT_SERIAL_SIZE(space)) < 0)

Modified: packages/hdf5/trunk/src/H5RC.c
===================================================================
--- packages/hdf5/trunk/src/H5RC.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5RC.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5RCprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5RCprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5RCprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5RS.c
===================================================================
--- packages/hdf5/trunk/src/H5RS.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5RS.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -62,17 +63,17 @@
 {
     char *ret_value;   /* Return value */
 
-    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5RS_xstrdup);
+    FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5RS_xstrdup)
 
-    if (s) {
-        ret_value = H5FL_BLK_MALLOC(str_buf,HDstrlen(s) + 1);
-        assert (ret_value);
+    if(s) {
+        ret_value = (char *)H5FL_BLK_MALLOC(str_buf, HDstrlen(s) + 1);
+        HDassert(ret_value);
         HDstrcpy(ret_value, s);
     } /* end if */
     else
-        ret_value=NULL;
+        ret_value = NULL;
 
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5RS_xstrdup() */
 
 
@@ -147,7 +148,7 @@
         HGOTO_ERROR(H5E_RS,H5E_NOSPACE,NULL,"memory allocation failed");
 
     /* Set the internal fields */
-    ret_value->s=(char*)s;
+    ret_value->s=(char*)s;      /* (Cast away const OK - QAK) */
     ret_value->wrapped=1;
     ret_value->n=1;
 
@@ -160,7 +161,7 @@
  NAME
     H5RS_own
  PURPOSE
-    Transfer ownership of a regular string to  a reference counted string
+    Transfer ownership of a regular string to a reference counted string
  USAGE
     H5RS_str_t *H5RS_own(s)
         const char *s;          IN: String to transfer ownership of
@@ -286,7 +287,7 @@
  PURPOSE
     "Duplicate" a ref-counted string
  USAGE
-    H5RS_str_t H5RS_incr(rs)
+    H5RS_str_t H5RS_dup(rs)
         H5RS_str_t *rs;     IN/OUT: Ref-counted string to "duplicate"
 
  RETURNS

Modified: packages/hdf5/trunk/src/H5RSprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5RSprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5RSprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Rprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Rprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Rprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Rpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Rpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Rpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5S.c
===================================================================
--- packages/hdf5/trunk/src/H5S.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5S.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5S_PACKAGE		/*suppress error about including H5Spkg	  */
@@ -28,7 +29,6 @@
 #include "H5Spkg.h"		/* Dataspaces 				*/
 
 /* Local static function prototypes */
-static H5S_t * H5S_create(H5S_class_t type);
 static herr_t H5S_set_extent_simple (H5S_t *space, unsigned rank,
     const hsize_t *dims, const hsize_t *max);
 static htri_t H5S_is_simple(const H5S_t *sdim);
@@ -288,7 +288,7 @@
  EXAMPLES
  REVISION LOG
 --------------------------------------------------------------------------*/
-static H5S_t *
+H5S_t *
 H5S_create(H5S_class_t type)
 {
     H5S_t *ret_value;
@@ -1247,6 +1247,10 @@
     dimensions in the DIMS array are used as the maximum dimensions.
     Currently, only the first dimension in the array (the slowest) may be
     unlimited in size.
+ MODIFICATIONS
+    Christian Chilan 01/05/2007 
+    Verifies that each element of DIMS is not equal to H5S_UNLIMITED.
+
 --------------------------------------------------------------------------*/
 herr_t
 H5Sset_extent_simple(hid_t space_id, int rank, const hsize_t dims[/*rank*/],
@@ -1268,6 +1272,8 @@
         HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid rank");
     if (dims) {
         for (u=0; u<rank; u++) {
+            if (H5S_UNLIMITED==dims[u])
+                HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "current dimension must have a specific size, not H5S_UNLIMITED");
             if (((max!=NULL && max[u]!=H5S_UNLIMITED) || max==NULL) && dims[u]==0)
                 HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "invalid dimension size");
         }
@@ -1549,7 +1555,10 @@
  * Programmer:	Quincey Koziol
  *		Tuesday, January  27, 1998
  *
- * Modifications:
+ * Modifications: Christian Chilan 01/05/2007
+ *                Verifies that each element of DIMS is not equal to
+ *                H5S_UNLIMITED. 
+ *              
  *
  *-------------------------------------------------------------------------
  */
@@ -1573,6 +1582,8 @@
         HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no dimensions specified");
     /* Check whether the current dimensions are valid */
     for (i=0; i<rank; i++) {
+        if (H5S_UNLIMITED==dims[i])
+            HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "current dimension must have a specific size, not H5S_UNLIMITED");
         if (maxdims) {
             if (H5S_UNLIMITED!=maxdims[i] && maxdims[i]<dims[i])
                 HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "maxdims is smaller than dims");

Modified: packages/hdf5/trunk/src/H5SL.c
===================================================================
--- packages/hdf5/trunk/src/H5SL.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5SL.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5SLprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5SLprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5SLprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5ST.c
===================================================================
--- packages/hdf5/trunk/src/H5ST.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5ST.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* TERNARY SEARCH TREE ALGS

Modified: packages/hdf5/trunk/src/H5STprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5STprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5STprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Sall.c
===================================================================
--- packages/hdf5/trunk/src/H5Sall.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Sall.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Shyper.c
===================================================================
--- packages/hdf5/trunk/src/H5Shyper.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Shyper.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Smpio.c
===================================================================
--- packages/hdf5/trunk/src/H5Smpio.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Smpio.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Snone.c
===================================================================
--- packages/hdf5/trunk/src/H5Snone.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Snone.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Spkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Spkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Spkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Spoint.c
===================================================================
--- packages/hdf5/trunk/src/H5Spoint.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Spoint.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Sprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Sprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Sprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -20,9 +21,11 @@
 
 #include "H5Spublic.h"
 
+/* Public headers needed by this file */
+#include "H5Dpublic.h"		/* Datasets				*/
+
 /* Private headers needed by this file */
 #include "H5private.h"		/* Generic Functions			*/
-#include "H5Dprivate.h"		/* Dataset functions			*/
 #include "H5Fprivate.h"		/* Files				*/
 #include "H5Gprivate.h"		/* Groups				*/
 #include "H5Oprivate.h"		/* Object headers		  	*/
@@ -143,7 +146,7 @@
 #define H5S_GET_SELECT_TYPE(S)          ((S)->select.type->type)
 #define H5S_SELECT_GET_SEQ_LIST(S,FLAGS,ITER,MAXSEQ,MAXBYTES,NSEQ,NBYTES,OFF,LEN)             ((*(S)->select.type->get_seq_list)(S,FLAGS,ITER,MAXSEQ,MAXBYTES,NSEQ,NBYTES,OFF,LEN))
 #define H5S_SELECT_VALID(S)             ((*(S)->select.type->is_valid)(S))
-#define H5S_SELECT_RELEASE(S)           ((*(S)->select.type->release)(S))
+#define H5S_SELECT_RELEASE(S)           ((S)->select.type ? (*(S)->select.type->release)(S) : SUCCEED)
 #define H5S_SELECT_SERIAL_SIZE(S)       ((*(S)->select.type->serial_size)(S))
 #define H5S_SELECT_SERIALIZE(S,BUF)     ((*(S)->select.type->serialize)(S,BUF))
 #define H5S_SELECT_BOUNDS(S,START,END)  ((*(S)->select.type->bounds)(S,START,END))
@@ -206,6 +209,7 @@
 H5_DLL int H5S_extend(H5S_t *space, const hsize_t *size);
 H5_DLL int H5S_set_extent(H5S_t *space, const hsize_t *size);
 H5_DLL herr_t H5S_set_extent_real(H5S_t *space, const hsize_t *size);
+H5_DLL H5S_t *H5S_create(H5S_class_t type);
 H5_DLL H5S_t *H5S_create_simple(unsigned rank, const hsize_t dims[/*rank*/],
 		  const hsize_t maxdims[/*rank*/]);
 H5_DLL herr_t H5S_debug(H5F_t *f, hid_t dxpl_id, const void *_mesg, FILE *stream,
@@ -216,7 +220,7 @@
 H5_DLL H5S_sel_type H5S_get_select_type(const H5S_t *space);
 H5_DLL herr_t H5S_select_iterate(void *buf, hid_t type_id, const H5S_t *space,
 				H5D_operator_t op, void *operator_data);
-H5_DLL herr_t H5S_select_fill(void *fill, size_t fill_size,
+H5_DLL herr_t H5S_select_fill(const void *fill, size_t fill_size,
                                 const H5S_t *space, void *buf);
 H5_DLL htri_t H5S_select_valid(const H5S_t *space);
 H5_DLL hssize_t H5S_get_select_npoints(const H5S_t *space);

Modified: packages/hdf5/trunk/src/H5Spublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Spublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Spublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -104,7 +105,6 @@
 H5_DLL int H5Sget_simple_extent_dims(hid_t space_id, hsize_t dims[],
 				      hsize_t maxdims[]);
 H5_DLL htri_t H5Sis_simple(hid_t space_id);
-H5_DLL herr_t H5Sset_space(hid_t space_id, int rank, const hsize_t *dims);
 H5_DLL hssize_t H5Sget_select_npoints(hid_t spaceid);
 H5_DLL herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,
 				   const hsize_t start[],

Modified: packages/hdf5/trunk/src/H5Sselect.c
===================================================================
--- packages/hdf5/trunk/src/H5Sselect.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Sselect.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.ued>
@@ -22,6 +23,7 @@
 
 
 #include "H5private.h"		/* Generic Functions			*/
+#include "H5Dprivate.h"		/* Datasets		  		*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
 #include "H5FLprivate.h"	/* Free Lists                           */
 #include "H5Iprivate.h"		/* IDs			  		*/
@@ -355,6 +357,8 @@
  COMMENTS, BUGS, ASSUMPTIONS
  EXAMPLES
  REVISION LOG
+    Christian Chilan 01/05/2007
+    Changed the error return value from 0 to FAIL.
 --------------------------------------------------------------------------*/
 htri_t
 H5Sselect_valid(hid_t spaceid)
@@ -362,12 +366,12 @@
     H5S_t	*space = NULL;      /* Dataspace to modify selection of */
     htri_t ret_value;     /* return value */
 
-    FUNC_ENTER_API(H5Sselect_valid, 0);
+    FUNC_ENTER_API(H5Sselect_valid, FAIL);
     H5TRACE1("t","i",spaceid);
 
     /* Check args */
     if (NULL == (space=H5I_object_verify(spaceid, H5I_DATASPACE)))
-        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a dataspace");
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataspace");
 
     ret_value = H5S_SELECT_VALID(space);
 
@@ -1430,12 +1434,12 @@
  REVISION LOG
 --------------------------------------------------------------------------*/
 herr_t
-H5S_select_fill(void *_fill, size_t fill_size, const H5S_t *space, void *_buf)
+H5S_select_fill(const void *_fill, size_t fill_size, const H5S_t *space, void *_buf)
 {
     H5S_sel_iter_t iter;        /* Selection iteration info */
     hbool_t iter_init=0;        /* Selection iteration info has been initialized */
     uint8_t *buf;               /* Current location in buffer */
-    void *fill=_fill;           /* Alias for fill-value buffer */
+    const void *fill = _fill;   /* Alias for fill-value buffer */
     hssize_t nelmts;            /* Number of elements in selection */
     hsize_t off[H5D_XFER_HYPER_VECTOR_SIZE_DEF];          /* Array to store sequence offsets */
     size_t len[H5D_XFER_HYPER_VECTOR_SIZE_DEF];           /* Array to store sequence lengths */
@@ -1499,7 +1503,7 @@
 
     /* Release fill value, if allocated */
     if(_fill==NULL && fill)
-        H5FL_BLK_FREE(type_elem,fill);
+        H5FL_BLK_FREE(type_elem, (void *)fill); /* casting away const OK - QAK */
 
     FUNC_LEAVE_NOAPI(ret_value);
 }   /* H5S_select_fill() */

Modified: packages/hdf5/trunk/src/H5Stest.c
===================================================================
--- packages/hdf5/trunk/src/H5Stest.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Stest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Quincey Koziol <koziol at ncsa.uiuc.edu>

Modified: packages/hdf5/trunk/src/H5T.c
===================================================================
--- packages/hdf5/trunk/src/H5T.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5T.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -252,7 +253,6 @@
 H5FL_DEFINE(H5T_path_t);
 
 /* Static local functions */
-static H5T_t *H5T_open_oid(H5G_entry_t *ent, hid_t dxpl_id);
 static herr_t H5T_print_stats(H5T_path_t *path, int *nprint/*in,out*/);
 static herr_t H5T_unregister(H5T_pers_t pers, const char *name, H5T_t *src,
                 H5T_t *dst, H5T_conv_t func, hid_t dxpl_id);
@@ -660,8 +660,8 @@
     H5T_t       *native_uint=NULL;      /* Datatype structure for native unsigned int */
     H5T_t       *native_long=NULL;      /* Datatype structure for native long */
     H5T_t       *native_ulong=NULL;     /* Datatype structure for native unsigned long */
-    H5T_t       *native_llong=NULL;     /* Datatype structure for native llong */
-    H5T_t       *native_ullong=NULL;    /* Datatype structure for native unsigned llong */
+    H5T_t       *native_llong=NULL;     /* Datatype structure for native long long */
+    H5T_t       *native_ullong=NULL;    /* Datatype structure for native unsigned long long */
     H5T_t       *native_float=NULL;     /* Datatype structure for native float */
     H5T_t       *native_double=NULL;    /* Datatype structure for native double */
     H5T_t       *std_u8le=NULL;         /* Datatype structure for unsigned 8-bit little-endian integer */
@@ -1370,75 +1370,6 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5Topen
- *
- * Purpose:	Opens a named data type.
- *
- * Return:	Success:	Object ID of the named data type.
- *
- *		Failure:	Negative
- *
- * Programmer:	Robb Matzke
- *              Monday, June  1, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-hid_t
-H5Topen(hid_t loc_id, const char *name)
-{
-    H5T_t       *type = NULL;
-    H5G_entry_t	*loc = NULL;
-    H5G_entry_t  ent;
-    hbool_t      ent_found = FALSE;     /* Entry at 'name' found */
-    hid_t        dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datatype */
-    hid_t        ret_value =FAIL;
-
-    FUNC_ENTER_API(H5Topen, FAIL);
-    H5TRACE2("i","is",loc_id,name);
-
-    /* Check args */
-    if (NULL==(loc=H5G_loc (loc_id)))
-        HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
-    if (!name || !*name)
-        HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no name");
-
-    /*
-     * Find the named data type object header and read the data type message
-     * from it.
-     */
-    if (H5G_find (loc, name, &ent/*out*/, dxpl_id)<0)
-        HGOTO_ERROR (H5E_DATATYPE, H5E_NOTFOUND, FAIL, "not found");
-    ent_found = TRUE;
-
-    /* Check that the object found is the correct type */
-    if (H5G_get_type(&ent, dxpl_id) != H5G_TYPE)
-        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "not a named datatype")
-
-    /* Open it */
-    if ((type=H5T_open (&ent, dxpl_id)) ==NULL)
-        HGOTO_ERROR (H5E_DATATYPE, H5E_CANTOPENOBJ, FAIL, "unable to open named data type");
-
-    /* Register the type and return the ID */
-    if ((ret_value=H5I_register (H5I_DATATYPE, type))<0)
-        HGOTO_ERROR (H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register named data type");
-
-done:
-    if(ret_value<0) {
-        if(type!=NULL)
-            H5T_close(type);
-        else {
-            if(ent_found && ent.header)
-                H5G_free_ent_name(&ent);
-        } /* end else */
-    } /* end if */
-
-    FUNC_LEAVE_API(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
  * Function:	H5Tcopy
  *
  * Purpose:	Copies a data type.  The resulting data type is not locked.
@@ -2720,148 +2651,6 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	H5T_open
- *
- * Purpose:	Open a named data type.
- *
- * Return:	Success:	Ptr to a new data type.
- *
- *		Failure:	NULL
- *
- * Programmer:	Robb Matzke
- *              Monday, June  1, 1998
- *
- * Modifications:
- *      Changed to use H5T_open_oid - QAK - 3/17/99
- *
- *-------------------------------------------------------------------------
- */
-H5T_t*
-H5T_open (H5G_entry_t *ent, hid_t dxpl_id)
-{
-    H5T_shared_t   *shared_fo=NULL;
-    H5T_t          *dt=NULL;
-    H5T_t          *ret_value;
-
-    FUNC_ENTER_NOAPI(H5T_open, NULL);
-
-    assert (ent);
-
-    /* Check if datatype was already open */
-    if((shared_fo=H5FO_opened(ent->file,ent->header))==NULL) {
-        /* Clear any errors from H5FO_opened() */
-        H5E_clear();
-
-        /* Open the datatype object */
-        if ((dt=H5T_open_oid(ent, dxpl_id)) ==NULL)
-            HGOTO_ERROR(H5E_DATATYPE, H5E_NOTFOUND, NULL, "not found");
-
-        /* Add the datatype to the list of opened objects in the file */
-        if(H5FO_insert(dt->ent.file, dt->ent.header, dt->shared)<0)
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINSERT, NULL, "can't insert datatype into list of open objects")
-
-        /* Increment object count for the object in the top file */
-        if(H5FO_top_incr(dt->ent.file, dt->ent.header) < 0)
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't increment object count")
-
-        /* Mark any datatypes as being in memory now */
-        if (H5T_vlen_mark(dt, NULL, H5T_VLEN_MEMORY)<0)
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "invalid datatype location")
-
-        dt->shared->fo_count=1;
-    }
-    else
-    {
-        if(NULL == (dt = H5FL_MALLOC(H5T_t)))
-            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "can't allocate space for datatype")
-
-        /* Shallow copy (take ownership) of the group entry object */
-        if(H5G_ent_copy(&(dt->ent),ent,H5G_COPY_SHALLOW)<0)
-            HGOTO_ERROR (H5E_DATATYPE, H5E_CANTCOPY, NULL, "can't copy group entry")
-
-        dt->shared=shared_fo;
-
-        shared_fo->fo_count++;
-
-        /* Check if the object has been opened through the top file yet */
-        if(H5FO_top_count(dt->ent.file, dt->ent.header) == 0) {
-            /* Open the object through this top file */
-            if(H5O_open(&(dt->ent)) < 0)
-                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, NULL, "unable to open object header")
-        } /* end if */
-
-        /* Increment object count for the object in the top file */
-        if(H5FO_top_incr(dt->ent.file, dt->ent.header) < 0)
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't increment object count")
-    }
-
-    ret_value = dt;
-
-done:
-    if(ret_value==NULL) {
-        if(dt) {
-            if(shared_fo==NULL)   /* Need to free shared fo */
-                H5FL_FREE(H5T_shared_t, dt->shared);
-            H5FL_FREE(H5T_t, dt);
-        }
-        if(shared_fo)
-            shared_fo->fo_count--;
-    }
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function:	H5T_open_oid
- *
- * Purpose:	Open a named data type.
- *
- * Return:	Success:	Ptr to a new data type.
- *
- *		Failure:	NULL
- *
- * Programmer:	Quincey Koziol
- *              Wednesday, March 17, 1999
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-H5T_t *
-H5T_open_oid (H5G_entry_t *ent, hid_t dxpl_id)
-{
-    H5T_t	*dt=NULL;
-    H5T_t	*ret_value;
-
-    FUNC_ENTER_NOAPI(H5T_open_oid, NULL);
-
-    assert (ent);
-
-    if (H5O_open (ent)<0)
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTOPENOBJ, NULL, "unable to open named data type");
-    if (NULL==(dt=H5O_read (ent, H5O_DTYPE_ID, 0, NULL, dxpl_id)))
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to load type message from object header");
-
-    /* Mark the type as named and open */
-    dt->shared->state = H5T_STATE_OPEN;
-
-    /* Shallow copy (take ownership) of the group entry object */
-    H5G_ent_copy(&(dt->ent),ent,H5G_COPY_SHALLOW);
-
-    /* Set return value */
-    ret_value=dt;
-
-done:
-    if(ret_value==NULL) {
-        if(dt==NULL)
-            H5O_close(ent);
-    } /* end if */
-
-    FUNC_LEAVE_NOAPI(ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
  * Function:	H5T_copy
  *
  * Purpose:	Copies datatype OLD_DT.	 The resulting data type is not
@@ -3102,15 +2891,14 @@
     } /* end switch */
 
     /* Deep copy of the symbol table entry, if there was one */
-    if ( new_dt->shared->state == H5T_STATE_NAMED || new_dt->shared->state == H5T_STATE_OPEN) {
-        if (!H5F_addr_defined(old_dt->ent.header))
-            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "named dataype with invalid address");
-        if (H5G_ent_copy(&(new_dt->ent), &(old_dt->ent),H5G_COPY_DEEP)<0)
-            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to copy entry");
+    if(new_dt->shared->state == H5T_STATE_NAMED || new_dt->shared->state == H5T_STATE_OPEN) {
+        if(!H5F_addr_defined(old_dt->ent.header))
+            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "named dataype with invalid address")
+        if (H5G_ent_copy(&(new_dt->ent), &(old_dt->ent),H5_COPY_DEEP)<0)
+            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to copy entry")
     } /* end if */
     else {
-        HDmemset (&(new_dt->ent), 0, sizeof(new_dt->ent));
-        new_dt->ent.header = HADDR_UNDEF;
+        H5G_ent_reset(&(new_dt->ent));
     } /* end else */
 
     /* Set return value */
@@ -3191,7 +2979,7 @@
 H5T_t *
 H5T_alloc(void)
 {
-    H5T_t *dt;                  /* Pointer to datatype allocated */
+    H5T_t *dt = NULL;           /* Pointer to datatype allocated */
     H5T_t *ret_value;           /* Return value */
 
     FUNC_ENTER_NOAPI(H5T_alloc, NULL)
@@ -3231,54 +3019,52 @@
  * Programmer:	Quincey Koziol
  *		Monday, January  6, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
 H5T_free(H5T_t *dt)
 {
     unsigned	i;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5T_free, FAIL);
+    FUNC_ENTER_NOAPI(H5T_free, FAIL)
 
-    assert(dt && dt->shared);
+    HDassert(dt && dt->shared);
 
     /*
      * If a named type is being closed then close the object header and
      * remove from the list of open objects in the file.
      */
-    if (H5T_STATE_OPEN==dt->shared->state) {
-        assert (H5F_addr_defined(dt->ent.header));
+    if(H5T_STATE_OPEN == dt->shared->state) {
+        HDassert(H5F_addr_defined(dt->ent.header));
         /* Remove the datatype from the list of opened objects in the file */
         if(H5FO_top_decr(dt->ent.file, dt->ent.header) < 0)
             HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't decrement count for object")
         if(H5FO_delete(dt->ent.file, H5AC_dxpl_id, dt->ent.header)<0)
             HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't remove datatype from list of open objects")
         if (H5O_close(&(dt->ent))<0)
-            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to close data type object header");
+            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to close data type object header")
         dt->shared->state = H5T_STATE_NAMED;
-    }
+    } /* end if */
 
     /*
      * Don't free locked datatypes.
      */
-    if (H5T_STATE_IMMUTABLE==dt->shared->state)
-	HGOTO_ERROR(H5E_DATATYPE, H5E_CLOSEERROR, FAIL, "unable to close immutable datatype");
+    if(H5T_STATE_IMMUTABLE==dt->shared->state)
+	HGOTO_ERROR(H5E_DATATYPE, H5E_CLOSEERROR, FAIL, "unable to close immutable datatype")
 
     /* Close the datatype */
-    switch (dt->shared->type) {
+    switch(dt->shared->type) {
         case H5T_COMPOUND:
-            for (i=0; i<dt->shared->u.compnd.nmembs; i++) {
+            for(i = 0; i < dt->shared->u.compnd.nmembs; i++) {
                 H5MM_xfree(dt->shared->u.compnd.memb[i].name);
                 H5T_close(dt->shared->u.compnd.memb[i].type);
-            }
+            } /* end for */
             H5MM_xfree(dt->shared->u.compnd.memb);
             break;
 
         case H5T_ENUM:
-            for (i=0; i<dt->shared->u.enumer.nmembs; i++)
+            for(i = 0; i < dt->shared->u.enumer.nmembs; i++)
                 H5MM_xfree(dt->shared->u.enumer.name[i]);
             H5MM_xfree(dt->shared->u.enumer.name);
             H5MM_xfree(dt->shared->u.enumer.value);
@@ -3290,17 +3076,17 @@
 
         default:
             break;
-    }
+    } /* end switch */
 
     /* Free the ID to name info */
-    H5G_free_ent_name(&(dt->ent));
+    H5G_name_free(&(dt->ent));
 
     /* Close the parent */
-    if (dt->shared->parent && H5T_close(dt->shared->parent)<0)
-	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close parent data type");
+    if(dt->shared->parent && H5T_close(dt->shared->parent) < 0)
+	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close parent data type")
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
+    FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5T_free() */
 
 
@@ -3333,17 +3119,16 @@
 herr_t
 H5T_close(H5T_t *dt)
 {
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
-    FUNC_ENTER_NOAPI(H5T_close, FAIL);
+    FUNC_ENTER_NOAPI(H5T_close, FAIL)
 
-    assert(dt && dt->shared);
+    HDassert(dt && dt->shared);
 
     dt->shared->fo_count--;
 
-    if(dt->shared->state != H5T_STATE_OPEN || dt->shared->fo_count == 0)
-    {
-        if(H5T_free(dt)<0)
+    if(dt->shared->state != H5T_STATE_OPEN || dt->shared->fo_count == 0) {
+        if(H5T_free(dt) < 0)
             HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "unable to free datatype");
 
         H5FL_FREE(H5T_shared_t, dt->shared);
@@ -3352,7 +3137,7 @@
          * If a named type is being closed then close the object header and
          * remove from the list of open objects in the file.
          */
-        if(H5T_STATE_OPEN==dt->shared->state) {
+        if(H5T_STATE_OPEN == dt->shared->state) {
             /* Decrement the ref. count for this object in the top file */
             if(H5FO_top_decr(dt->ent.file, dt->ent.header) < 0)
                 HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't decrement count for object")
@@ -3364,15 +3149,15 @@
         } /* end if */
 
         /* Free the ID to name info since we're not calling H5T_free*/
-        H5G_free_ent_name(&(dt->ent));
-    }
+        H5G_name_free(&(dt->ent));
+    } /* end else */
 
     /* Free the datatype struct */
     H5FL_FREE(H5T_t,dt);
 
 done:
-    FUNC_LEAVE_NOAPI(ret_value);
-}
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5T_close() */
 
 
 /*-------------------------------------------------------------------------
@@ -4766,6 +4551,12 @@
         case H5T_ENUM:
             s1 = "enum";
             break;
+        case H5T_VLEN:
+            if(H5T_IS_VL_STRING(dt->shared))
+                s1 = "str";
+            else
+                s1 = "vlen";
+            break;
         default:
             s1 = "";
             break;
@@ -4881,21 +4672,37 @@
 	    fprintf(stream, "\n\"%s\" @%lu",
 		    dt->shared->u.compnd.memb[i].name,
 		    (unsigned long) (dt->shared->u.compnd.memb[i].offset));
-#ifdef OLD_WAY
-	    if (dt->shared->u.compnd.memb[i].ndims) {
-		fprintf(stream, "[");
-		for (j = 0; j < dt->shared->u.compnd.memb[i].ndims; j++) {
-		    fprintf(stream, "%s%lu", j ? ", " : "",
-			    (unsigned long)(dt->shared->u.compnd.memb[i].dim[j]));
-		}
-		fprintf(stream, "]");
-	    }
-#endif /* OLD_WAY */
 	    fprintf(stream, " ");
 	    H5T_debug(dt->shared->u.compnd.memb[i].type, stream);
 	}
 	fprintf(stream, "\n");
 
+    } else if (H5T_VLEN==dt->shared->type) {
+        switch(dt->shared->u.vlen.loc) {
+            case H5T_VLEN_MEMORY:
+                fprintf(stream, ", loc=memory");
+                break;
+
+            case H5T_VLEN_DISK:
+                fprintf(stream, ", loc=disk");
+                break;
+
+            default:
+                fprintf(stream, ", loc=UNKNOWN");
+                break;
+        } /* end switch */
+
+        if(H5T_IS_VL_STRING(dt->shared)) {
+            /* Variable length string datatype */
+            fprintf(stream, ", variable-length");
+        } /* end if */
+        else {
+            /* Variable length sequence datatype */
+            fprintf(stream, " VLEN ");
+            H5T_debug(dt->shared->parent, stream);
+            fprintf(stream, "\n");
+        } /* end else */
+ 
     } else if (H5T_ENUM==dt->shared->type) {
 	/* Enumeration data type */
 	fprintf(stream, " ");

Modified: packages/hdf5/trunk/src/H5TS.c
===================================================================
--- packages/hdf5/trunk/src/H5TS.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5TS.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* private headers */
@@ -95,8 +96,9 @@
 {
     H5_g.H5_libinit_g = FALSE;
 
-    /* set the two pthread_t objects to ``null'' */
-    H5_g.init_lock.owner_thread = NULL;
+    /* set the owner objects to initial values */
+    H5_g.init_lock.owner_thread = pthread_self();
+    H5_g.init_lock.owner_valid = FALSE;
 
     /* initialize global API mutex lock */
     pthread_mutex_init(&H5_g.init_lock.atomic_lock, NULL);
@@ -148,36 +150,22 @@
     if (ret_value)
         return ret_value;
 
-    if (mutex->owner_thread && pthread_equal(pthread_self(), *mutex->owner_thread)) {
+    if (mutex->owner_valid && pthread_equal(pthread_self(), mutex->owner_thread)) {
         /* already owned by self - increment count */
         mutex->lock_count++;
-    } else if (!mutex->owner_thread) {
+    } else if (!mutex->owner_valid) {
         /* no one else has locked it - set owner and grab lock */
-	mutex->owner_thread = H5MM_malloc(sizeof(pthread_t));
-
-	if (!mutex->owner_thread) {
-	    H5E_push(H5E_RESOURCE, H5E_NOSPACE, "H5TS_mutex_lock",
-		     __FILE__, __LINE__, "memory allocation failed");
-	    return FAIL;
-	}
-
-        *mutex->owner_thread = pthread_self();
+        mutex->owner_thread = pthread_self();
+        mutex->owner_valid = TRUE;
         mutex->lock_count = 1;
     } else {
         /* if already locked by someone else */
         for (;;) {
 	    pthread_cond_wait(&mutex->cond_var, &mutex->atomic_lock);
 
-	    if (!mutex->owner_thread) {
-		mutex->owner_thread = H5MM_malloc(sizeof(pthread_t));
-
-		if (!mutex->owner_thread) {
-		    H5E_push(H5E_RESOURCE, H5E_NOSPACE, "H5TS_mutex_lock",
-			     __FILE__, __LINE__, "memory allocation failed");
-		    return FAIL;
-		}
-
-	        *mutex->owner_thread = pthread_self();
+	    if (!mutex->owner_valid) {
+	        mutex->owner_thread = pthread_self();
+                mutex->owner_valid = TRUE;
 	        mutex->lock_count = 1;
 	        break;
 	    }
@@ -226,8 +214,7 @@
     mutex->lock_count--;
 
     if (mutex->lock_count == 0) {
-	H5MM_xfree(mutex->owner_thread);
-	mutex->owner_thread = NULL;
+	mutex->owner_valid = FALSE;
         ret_value = pthread_cond_signal(&mutex->cond_var);
 
 	if (ret_value) {

Modified: packages/hdf5/trunk/src/H5TSprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5TSprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5TSprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -35,7 +36,8 @@
 /* Library level data structures */
 
 typedef struct H5TS_mutex_struct {
-    pthread_t *owner_thread;		/* current lock owner */
+    pthread_t owner_thread;		/* current lock owner */
+    unsigned owner_valid;		/* if current lock owner info is valid */
     pthread_mutex_t atomic_lock;	/* lock for atomicity of new mechanism */
     pthread_cond_t cond_var;		/* condition variable */
     unsigned int lock_count;

Modified: packages/hdf5/trunk/src/H5Tarray.c
===================================================================
--- packages/hdf5/trunk/src/H5Tarray.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tarray.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -25,14 +26,9 @@
 
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Eprivate.h"		/* Error handling			*/
-#include "H5FLprivate.h"	/* Free Lists				*/
 #include "H5Iprivate.h"		/* IDs					*/
 #include "H5Tpkg.h"		/* Datatypes				*/
 
-/* Declare extern the free list for H5T_t's */
-H5FL_EXTERN(H5T_t);
-H5FL_EXTERN(H5T_shared_t);
-
 
 /*--------------------------------------------------------------------------
 NAME

Modified: packages/hdf5/trunk/src/H5Tbit.c
===================================================================
--- packages/hdf5/trunk/src/H5Tbit.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tbit.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -196,7 +197,8 @@
             break;
 
         default:
-            HDabort ();
+            /* Unknown endianness. Bail out. */
+            return -1;
     }
 
     /* Set return value */

Modified: packages/hdf5/trunk/src/H5Tcommit.c
===================================================================
--- packages/hdf5/trunk/src/H5Tcommit.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tcommit.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -26,12 +27,14 @@
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Eprivate.h"		/* Error handling			*/
 #include "H5FOprivate.h"	/* File objects				*/
+#include "H5Gprivate.h"		/* Groups 			  	*/
 #include "H5Iprivate.h"		/* IDs					*/
 #include "H5Oprivate.h"		/* Object headers			*/
 #include "H5Tpkg.h"		/* Datatypes				*/
 
 /* Static local functions */
 static herr_t H5T_commit(H5G_entry_t *loc, const char *name, H5T_t *type, hid_t dxpl_id);
+static H5T_t *H5T_open_oid(H5G_entry_t *ent, hid_t dxpl_id);
 
 
 /*--------------------------------------------------------------------------
@@ -67,8 +70,6 @@
  * Programmer:	Robb Matzke
  *              Monday, June  1, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 herr_t
@@ -76,26 +77,26 @@
 {
     H5G_entry_t	*loc = NULL;
     H5T_t	*type = NULL;
-    herr_t      ret_value=SUCCEED;       /* Return value */
+    herr_t      ret_value = SUCCEED;       /* Return value */
 
     FUNC_ENTER_API(H5Tcommit, FAIL)
     H5TRACE3("e","isi",loc_id,name,type_id);
 
     /* Check arguments */
     if (NULL==(loc=H5G_loc (loc_id)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
-    if (!name || !*name)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
-    if (NULL==(type=H5I_object_verify(type_id, H5I_DATATYPE)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
+    if(NULL == (type = H5I_object_verify(type_id, H5I_DATATYPE)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
 
     /* Commit the type */
-    if (H5T_commit(loc, name, type, H5AC_dxpl_id)<0)
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to commit datatype")
+    if(H5T_commit(loc, name, type, H5AC_dxpl_id) < 0)
+	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to commit datatype")
 
 done:
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Tcommit() */
 
 
 /*-------------------------------------------------------------------------
@@ -109,66 +110,64 @@
  * Programmer:	Robb Matzke
  *              Monday, June  1, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static herr_t
-H5T_commit (H5G_entry_t *loc, const char *name, H5T_t *type, hid_t dxpl_id)
+H5T_commit(H5G_entry_t *loc, const char *name, H5T_t *type, hid_t dxpl_id)
 {
     H5F_t	*file = NULL;
-    herr_t      ret_value=SUCCEED;      /* Return value */
+    herr_t      ret_value = SUCCEED;      /* Return value */
 
     FUNC_ENTER_NOAPI_NOINIT(H5T_commit)
 
-    HDassert (loc);
-    HDassert (name && *name);
-    HDassert (type);
+    HDassert(loc);
+    HDassert(name && *name);
+    HDassert(type);
 
     /*
      * Check arguments.  We cannot commit an immutable type because H5Tclose()
      * normally fails on such types (try H5Tclose(H5T_NATIVE_INT)) but closing
      * a named type should always succeed.
      */
-    if (H5T_STATE_NAMED==type->shared->state || H5T_STATE_OPEN==type->shared->state)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "datatype is already committed")
-    if (H5T_STATE_IMMUTABLE==type->shared->state)
-	HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "datatype is immutable")
+    if(H5T_STATE_NAMED == type->shared->state || H5T_STATE_OPEN == type->shared->state)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "datatype is already committed")
+    if(H5T_STATE_IMMUTABLE == type->shared->state)
+	HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "datatype is immutable")
 
     /* Find the insertion file */
-    if (NULL==(file=H5G_insertion_file(loc, name, dxpl_id)))
+    if(NULL == (file = H5G_insertion_file(loc, name, dxpl_id)))
 	HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to find insertion point")
 
     /* Check for a "sensible" datatype to store on disk */
-    if(H5T_is_sensible(type)<=0)
+    if(H5T_is_sensible(type) <= 0)
         HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "datatype is not sensible")
 
     /* Mark datatype as being on disk now.  This step changes the size of datatype as
      * stored on disk. */
-    if(H5T_vlen_mark(type, file, H5T_VLEN_DISK)<0)
-        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location");
+    if(H5T_vlen_mark(type, file, H5T_VLEN_DISK) < 0)
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid VL location")
 
     /*
      * Create the object header and open it for write access. Insert the data
      * type message and then give the object header a name.
      */
     if (H5O_create (file, dxpl_id, 64, &(type->ent))<0)
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to create datatype object header")
+	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to create datatype object header")
     if (H5O_modify (&(type->ent), H5O_DTYPE_ID, 0, H5O_FLAG_CONSTANT, H5O_UPDATE_TIME, type, dxpl_id)<0)
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to update type header message")
+	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to update type header message")
 
     /*
      * Give the datatype a name.  That is, create and add a new object to the
      * group this datatype is being initially created in.
      */
-    if (H5G_insert (loc, name, &(type->ent), dxpl_id)<0)
-	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to name datatype")
+    if(H5G_insert(loc, name, &(type->ent), dxpl_id) < 0)
+	HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to name datatype")
     type->shared->state = H5T_STATE_OPEN;
     type->shared->fo_count=1;
 
     /* Add datatype to the list of open objects in the file */
     if(H5FO_top_incr(type->ent.file, type->ent.header)<0)
-        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't incr object ref. count")
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, FAIL, "can't incr object ref. count")
     if(H5FO_insert(type->ent.file, type->ent.header, type->shared)<0)
         HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINSERT, FAIL, "can't insert datatype into list of open objects")
 
@@ -178,18 +177,18 @@
         HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "cannot mark datatype in memory")
 
 done:
-    if (ret_value<0) {
-	if ((type->shared->state==H5T_STATE_TRANSIENT || type->shared->state==H5T_STATE_RDONLY) && H5F_addr_defined(type->ent.header)) {
+    if(ret_value < 0) {
+	if((type->shared->state == H5T_STATE_TRANSIENT || type->shared->state == H5T_STATE_RDONLY) && H5F_addr_defined(type->ent.header)) {
 	    if(H5O_close(&(type->ent))<0)
                 HDONE_ERROR(H5E_DATATYPE, H5E_CLOSEERROR, FAIL, "unable to release object header")
             if(H5O_delete(file, dxpl_id,type->ent.header)<0)
                 HDONE_ERROR(H5E_DATATYPE, H5E_CANTDELETE, FAIL, "unable to delete object header")
 	    type->ent.header = HADDR_UNDEF;
-	}
-    }
+	} /* end if */
+    } /* end if */
 
     FUNC_LEAVE_NOAPI(ret_value)
-}
+} /* H5T_commit() */
 
 
 /*-------------------------------------------------------------------------
@@ -204,8 +203,6 @@
  * Programmer:	Robb Matzke
  *              Thursday, June  4, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 htri_t
@@ -218,15 +215,15 @@
     H5TRACE1("t","i",type_id);
 
     /* Check arguments */
-    if (NULL==(type=H5I_object_verify(type_id,H5I_DATATYPE)))
-	HGOTO_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
+    if(NULL == (type = H5I_object_verify(type_id,H5I_DATATYPE)))
+	HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
 
     /* Set return value */
-    ret_value= H5T_committed(type);
+    ret_value = H5T_committed(type);
 
 done:
     FUNC_LEAVE_API(ret_value)
-}
+} /* end H5Tcommitted() */
 
 
 /*-------------------------------------------------------------------------
@@ -239,8 +236,6 @@
  * Programmer:	Quincey Koziol
  *              Wednesday, September 24, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 htri_t
@@ -249,9 +244,9 @@
     /* Use no-init for efficiency */
     FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5T_committed)
 
-    assert (type);
+    HDassert(type);
 
-    FUNC_LEAVE_NOAPI(H5T_STATE_OPEN==type->shared->state || H5T_STATE_NAMED==type->shared->state)
+    FUNC_LEAVE_NOAPI(H5T_STATE_OPEN == type->shared->state || H5T_STATE_NAMED == type->shared->state)
 } /* end H5T_committed() */
 
 
@@ -268,8 +263,6 @@
  * Programmer:	Quincey Koziol
  *              Friday, September 26, 2003
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 int
@@ -280,13 +273,218 @@
     /* Use no-init for efficiency */
     FUNC_ENTER_NOAPI(H5T_link,FAIL)
 
-    assert (type);
+    HDassert(type);
 
     /* Adjust the link count on the named datatype */
-    if((ret_value=H5O_link(&(type->ent),adjust,dxpl_id))<0)
-        HGOTO_ERROR (H5E_DATATYPE, H5E_LINK, FAIL, "unable to adjust named datatype link count")
+    if((ret_value = H5O_link(&(type->ent), adjust, dxpl_id)) < 0)
+        HGOTO_ERROR(H5E_DATATYPE, H5E_LINK, FAIL, "unable to adjust named datatype link count")
 
 done:
     FUNC_LEAVE_NOAPI(ret_value)
 } /* end H5T_link() */
 
+
+/*-------------------------------------------------------------------------
+ * Function:	H5Topen
+ *
+ * Purpose:	Opens a named datatype.
+ *
+ * Return:	Success:	Object ID of the named datatype.
+ *
+ *		Failure:	Negative
+ *
+ * Programmer:	Robb Matzke
+ *              Monday, June  1, 1998
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+H5Topen(hid_t loc_id, const char *name)
+{
+    H5T_t       *type = NULL;
+    H5G_entry_t	*loc = NULL;
+    H5G_entry_t  ent;
+    hbool_t      ent_found = FALSE;     /* Entry at 'name' found */
+    hid_t        dxpl_id = H5AC_dxpl_id; /* dxpl to use to open datatype */
+    hid_t        ret_value = FAIL;
+
+    FUNC_ENTER_API(H5Topen, FAIL)
+    H5TRACE2("i","is",loc_id,name);
+
+    /* Check args */
+    if (NULL==(loc=H5G_loc (loc_id)))
+        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+    if(!name || !*name)
+        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
+
+    /*
+     * Find the named datatype object header and read the datatype message
+     * from it.
+     */
+    if(H5G_find(loc, name, &ent/*out*/, dxpl_id)<0)
+        HGOTO_ERROR(H5E_DATATYPE, H5E_NOTFOUND, FAIL, "not found")
+    ent_found = TRUE;
+
+    /* Check that the object found is the correct type */
+    if (H5G_get_type(&ent, dxpl_id) != H5G_TYPE)
+        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "not a named datatype")
+
+    /* Open it */
+    if((type = H5T_open(&ent, dxpl_id)) == NULL)
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, FAIL, "unable to open named datatype")
+
+    /* Register the type and return the ID */
+    if((ret_value = H5I_register(H5I_DATATYPE, type)) < 0)
+        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register named datatype")
+
+done:
+    if(ret_value < 0) {
+        if(type != NULL)
+            H5T_close(type);
+        else {
+            if(ent_found && ent.header)
+                H5G_name_free(&ent);
+        } /* end else */
+    } /* end if */
+
+    FUNC_LEAVE_API(ret_value)
+} /* end H5Topen() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5T_open
+ *
+ * Purpose:	Open a named datatype.
+ *
+ * Return:	Success:	Ptr to a new datatype.
+ *
+ *		Failure:	NULL
+ *
+ * Programmer:	Robb Matzke
+ *              Monday, June  1, 1998
+ *
+ *-------------------------------------------------------------------------
+ */
+H5T_t *
+H5T_open(H5G_entry_t *ent, hid_t dxpl_id)
+{
+    H5T_shared_t   *shared_fo = NULL;
+    H5T_t          *dt = NULL;
+    H5T_t          *ret_value;
+
+    FUNC_ENTER_NOAPI(H5T_open, NULL)
+
+    HDassert(ent);
+
+    /* Check if datatype was already open */
+    if((shared_fo=H5FO_opened(ent->file,ent->header))==NULL) {
+        /* Clear any errors from H5FO_opened() */
+        H5E_clear();
+
+        /* Open the datatype object */
+        if((dt = H5T_open_oid(ent, dxpl_id)) ==NULL)
+            HGOTO_ERROR(H5E_DATATYPE, H5E_NOTFOUND, NULL, "not found")
+
+        /* Add the datatype to the list of opened objects in the file */
+        if(H5FO_insert(dt->ent.file, dt->ent.header, dt->shared)<0)
+            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINSERT, NULL, "can't insert datatype into list of open objects")
+
+        /* Increment object count for the object in the top file */
+        if(H5FO_top_incr(dt->ent.file, dt->ent.header) < 0)
+            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't increment object count")
+
+        /* Mark any datatypes as being in memory now */
+        if (H5T_vlen_mark(dt, NULL, H5T_VLEN_MEMORY)<0)
+            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "invalid datatype location")
+
+        dt->shared->fo_count = 1;
+    } /* end if */
+    else {
+        if(NULL == (dt = H5FL_MALLOC(H5T_t)))
+            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "can't allocate space for datatype")
+
+        /* Shallow copy (take ownership) of the group entry object */
+        if(H5G_ent_copy(&(dt->ent),ent,H5_COPY_SHALLOW)<0)
+            HGOTO_ERROR (H5E_DATATYPE, H5E_CANTCOPY, NULL, "can't copy group entry")
+
+        dt->shared = shared_fo;
+
+        shared_fo->fo_count++;
+
+        /* Check if the object has been opened through the top file yet */
+        if(H5FO_top_count(dt->ent.file, dt->ent.header) == 0) {
+            /* Open the object through this top file */
+            if(H5O_open(&(dt->ent)) < 0)
+                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, NULL, "unable to open object header")
+        } /* end if */
+
+        /* Increment object count for the object in the top file */
+        if(H5FO_top_incr(dt->ent.file, dt->ent.header) < 0)
+            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't increment object count")
+    } /* end else */
+
+    ret_value = dt;
+
+done:
+    if(ret_value == NULL) {
+        if(dt) {
+            if(shared_fo == NULL)   /* Need to free shared fo */
+                H5FL_FREE(H5T_shared_t, dt->shared);
+            H5FL_FREE(H5T_t, dt);
+        } /* end if */
+
+        if(shared_fo)
+            shared_fo->fo_count--;
+    } /* end if */
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5T_open() */
+
+
+/*-------------------------------------------------------------------------
+ * Function:	H5T_open_oid
+ *
+ * Purpose:	Open a named datatype.
+ *
+ * Return:	Success:	Ptr to a new datatype.
+ *
+ *		Failure:	NULL
+ *
+ * Programmer:	Quincey Koziol
+ *              Wednesday, March 17, 1999
+ *
+ *-------------------------------------------------------------------------
+ */
+H5T_t *
+H5T_open_oid (H5G_entry_t *ent, hid_t dxpl_id)
+{
+    H5T_t	*dt = NULL;
+    H5T_t	*ret_value;
+
+    FUNC_ENTER_NOAPI(H5T_open_oid, NULL)
+
+    assert (ent);
+
+    if (H5O_open (ent)<0)
+	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTOPENOBJ, NULL, "unable to open named data type");
+    if (NULL==(dt=H5O_read (ent, H5O_DTYPE_ID, 0, NULL, dxpl_id)))
+	HGOTO_ERROR (H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to load type message from object header");
+
+    /* Mark the type as named and open */
+    dt->shared->state = H5T_STATE_OPEN;
+
+    /* Shallow copy (take ownership) of the group entry object */
+    H5G_ent_copy(&(dt->ent),ent,H5_COPY_SHALLOW);
+
+    /* Set return value */
+    ret_value = dt;
+
+done:
+    if(ret_value == NULL) {
+        if(dt == NULL)
+            H5O_close(ent);
+    } /* end if */
+
+    FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5T_open_oid() */
+

Modified: packages/hdf5/trunk/src/H5Tcompound.c
===================================================================
--- packages/hdf5/trunk/src/H5Tcompound.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tcompound.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tconv.c
===================================================================
--- packages/hdf5/trunk/src/H5Tconv.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tconv.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -22,6 +23,7 @@
 #include "H5private.h"		/*generic functions			  */
 #include "H5Eprivate.h"		/*error handling			  */
 #include "H5FLprivate.h"	/*Free Lists	                          */
+#include "H5HGprivate.h"	/* Global Heaps				*/
 #include "H5Iprivate.h"		/*ID functions		   		  */
 #include "H5MMprivate.h"	/*memory management			  */
 #include "H5Pprivate.h"		/* Property Lists			  */
@@ -2428,11 +2430,11 @@
 
             /* Set flags to indicate we are writing to or reading from the file */
             if(dst->shared->u.vlen.f!=NULL)
-                write_to_file=TRUE;
+                write_to_file = TRUE;
 
             /* Set the flag for nested VL case */
             if(write_to_file && parent_is_vlen && bkg!=NULL)
-                nested=1;
+                nested = TRUE;
 
             /* The outer loop of the type conversion macro, controlling which */
             /* direction the buffer is walked */
@@ -2494,8 +2496,13 @@
                             dst_size=seq_len*dst_base_size;
 
                             /* Check if conversion buffer is large enough, resize if
-                             * necessary */
-                            if(conv_buf_size<MAX(src_size,dst_size)) {
+                             * necessary.  If the SEQ_LEN is 0, allocate a minimal size buffer. */
+			    if(!seq_len && !conv_buf) {
+                                conv_buf_size=((1/H5T_VLEN_MIN_CONF_BUF_SIZE)+1)*H5T_VLEN_MIN_CONF_BUF_SIZE;
+                                if((conv_buf=H5FL_BLK_MALLOC(vlen_seq,conv_buf_size))==NULL)
+                                    HGOTO_ERROR (H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for type conversion");
+			    }
+                            else if(conv_buf_size<MAX(src_size,dst_size)) {
                                 /* Only allocate conversion buffer in H5T_VLEN_MIN_CONF_BUF_SIZE increments */
                                 conv_buf_size=((MAX(src_size,dst_size)/H5T_VLEN_MIN_CONF_BUF_SIZE)+1)*H5T_VLEN_MIN_CONF_BUF_SIZE;
                                 if((conv_buf=H5FL_BLK_REALLOC(vlen_seq,conv_buf, conv_buf_size))==NULL)
@@ -2558,10 +2565,11 @@
                             if(nested && seq_len<(ssize_t)bg_seq_len) {
                                 size_t parent_seq_len;
                                 size_t     u;
+                                uint8_t *tmp_p;
 
-                                uint8_t *tmp_p=tmp_buf;
-                                tmp_p += seq_len*dst_base_size;
-                                for(u=0; u<(bg_seq_len-seq_len); u++) {
+                                /* TMP_P is reset each time in the loop because DST_BASE_SIZE may include some data in addition to VL info. - SLU */
+                                for(u=seq_len; u<bg_seq_len; u++) {
+                                    tmp_p = (uint8_t*)tmp_buf + u*dst_base_size;  
                                     UINT32DECODE(tmp_p, parent_seq_len);
                                     if(parent_seq_len>0) {
                                         H5F_addr_decode(dst->shared->u.vlen.f, (const uint8_t **)&tmp_p, &(parent_hobjid.addr));

Modified: packages/hdf5/trunk/src/H5Tcset.c
===================================================================
--- packages/hdf5/trunk/src/H5Tcset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tcset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tenum.c
===================================================================
--- packages/hdf5/trunk/src/H5Tenum.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tenum.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -25,15 +26,10 @@
 
 #include "H5private.h"		/*generic functions			  */
 #include "H5Eprivate.h"		/*error handling			  */
-#include "H5FLprivate.h"	/*Free Lists				  */
 #include "H5Iprivate.h"		/*ID functions		   		  */
 #include "H5MMprivate.h"	/*memory management			  */
 #include "H5Tpkg.h"		/*data-type functions			  */
 
-/* Declare extern the free lists for H5T_t's and H5T_shared_t's */
-H5FL_EXTERN(H5T_t);
-H5FL_EXTERN(H5T_shared_t);
-
 /* Static local functions */
 static char *H5T_enum_nameof(const H5T_t *dt, const void *value, char *name/*out*/,
 			      size_t size);

Modified: packages/hdf5/trunk/src/H5Tfields.c
===================================================================
--- packages/hdf5/trunk/src/H5Tfields.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tfields.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tfixed.c
===================================================================
--- packages/hdf5/trunk/src/H5Tfixed.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tfixed.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tfloat.c
===================================================================
--- packages/hdf5/trunk/src/H5Tfloat.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tfloat.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tnative.c
===================================================================
--- packages/hdf5/trunk/src/H5Tnative.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tnative.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Toffset.c
===================================================================
--- packages/hdf5/trunk/src/H5Toffset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Toffset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Topaque.c
===================================================================
--- packages/hdf5/trunk/src/H5Topaque.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Topaque.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Torder.c
===================================================================
--- packages/hdf5/trunk/src/H5Torder.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Torder.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tpad.c
===================================================================
--- packages/hdf5/trunk/src/H5Tpad.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tpad.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Tpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -39,6 +40,7 @@
 
 /* Other private headers needed by this file */
 #include "H5Fprivate.h"		/* Files				*/
+#include "H5FLprivate.h"	/* Free Lists				*/
 
 /* Other public headers needed by this file */
 #include "H5Spublic.h"		/* Dataspace functions			*/
@@ -323,6 +325,10 @@
 H5_DLLVAR double H5T_NATIVE_DOUBLE_POS_INF_g;
 H5_DLLVAR double H5T_NATIVE_DOUBLE_NEG_INF_g;
 
+/* Declare extern the free list for H5T_t's and H5T_shared_t's */
+H5FL_EXTERN(H5T_t);
+H5FL_EXTERN(H5T_shared_t);
+
 /* Common functions */
 H5_DLL H5T_t *H5T_create(H5T_class_t type, size_t size);
 H5_DLL H5T_t *H5T_alloc(void);

Modified: packages/hdf5/trunk/src/H5Tprecis.c
===================================================================
--- packages/hdf5/trunk/src/H5Tprecis.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tprecis.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Tprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -61,12 +62,11 @@
 H5_DLL herr_t H5TN_init_interface(void);
 H5_DLL herr_t H5T_init(void);
 H5_DLL htri_t H5T_isa(H5G_entry_t *ent, hid_t dxpl_id);
-H5_DLL H5T_t *H5T_open(H5G_entry_t *ent, hid_t dxpl_id);
 H5_DLL H5T_t *H5T_copy(const H5T_t *old_dt, H5T_copy_t method);
 H5_DLL herr_t H5T_lock(H5T_t *dt, hbool_t immutable);
 H5_DLL herr_t H5T_close(H5T_t *dt);
 H5_DLL H5T_class_t H5T_get_class(const H5T_t *dt, htri_t internal);
-H5_DLL htri_t H5T_detect_class (const H5T_t *dt, H5T_class_t cls);
+H5_DLL htri_t H5T_detect_class(const H5T_t *dt, H5T_class_t cls);
 H5_DLL size_t H5T_get_size(const H5T_t *dt);
 H5_DLL int    H5T_cmp(const H5T_t *dt1, const H5T_t *dt2, hbool_t superset);
 H5_DLL herr_t H5T_debug(const H5T_t *dt, FILE * stream);
@@ -85,10 +85,13 @@
 H5_DLL herr_t H5T_vlen_get_alloc_info(hid_t dxpl_id, H5T_vlen_alloc_info_t **vl_alloc_info);
 H5_DLL htri_t H5T_vlen_mark(H5T_t *dt, H5F_t *f, H5T_vlen_loc_t loc);
 H5_DLL htri_t H5T_is_sensible(const H5T_t *dt);
-H5_DLL htri_t H5T_committed(const H5T_t *type);
-H5_DLL int H5T_link(const H5T_t *type, int adjust, hid_t dxpl_id);
 
 /* Reference specific functions */
 H5_DLL H5R_type_t H5T_get_ref_type(const H5T_t *dt);
 
+/* Operations on named datatypes */
+H5_DLL H5T_t *H5T_open(H5G_entry_t *ent, hid_t dxpl_id);
+H5_DLL htri_t H5T_committed(const H5T_t *type);
+H5_DLL int H5T_link(const H5T_t *type, int adjust, hid_t dxpl_id);
+
 #endif

Modified: packages/hdf5/trunk/src/H5Tpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Tpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tstrpad.c
===================================================================
--- packages/hdf5/trunk/src/H5Tstrpad.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tstrpad.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Tvlen.c
===================================================================
--- packages/hdf5/trunk/src/H5Tvlen.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Tvlen.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -26,7 +27,6 @@
 #include "H5private.h"		/* Generic Functions			*/
 #include "H5Dprivate.h"		/* Dataset functions			*/
 #include "H5Eprivate.h"		/* Error handling		  	*/
-#include "H5FLprivate.h"	/* Free Lists                           */
 #include "H5HGprivate.h"	/* Global Heaps				*/
 #include "H5Iprivate.h"		/* IDs			  		*/
 #include "H5MMprivate.h"	/* Memory management			*/
@@ -65,10 +65,6 @@
     H5D_XFER_VLEN_FREE_INFO_DEF
 };
 
-/* Declare extern the free lists for H5T_t's and H5T_shared_t's */
-H5FL_EXTERN(H5T_t);
-H5FL_EXTERN(H5T_shared_t);
-
 
 /*--------------------------------------------------------------------------
 NAME
@@ -221,7 +217,7 @@
     assert(loc>H5T_VLEN_BADLOC && loc<H5T_VLEN_MAXLOC);
 
     /* Only change the location if it's different */
-    if(loc!=dt->shared->u.vlen.loc) {
+    if(loc != dt->shared->u.vlen.loc || f != dt->shared->u.vlen.f) {
         /* Indicate that the location changed */
         ret_value=TRUE;
 

Modified: packages/hdf5/trunk/src/H5V.c
===================================================================
--- packages/hdf5/trunk/src/H5V.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5V.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Vprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Vprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Vprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Z.c
===================================================================
--- packages/hdf5/trunk/src/H5Z.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Z.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5Z_PACKAGE		/*suppress error about including H5Zpkg	  */

Modified: packages/hdf5/trunk/src/H5Zdeflate.c
===================================================================
--- packages/hdf5/trunk/src/H5Zdeflate.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zdeflate.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Zfletcher32.c
===================================================================
--- packages/hdf5/trunk/src/H5Zfletcher32.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zfletcher32.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/src/H5Zpkg.h
===================================================================
--- packages/hdf5/trunk/src/H5Zpkg.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zpkg.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef H5Z_PACKAGE

Modified: packages/hdf5/trunk/src/H5Zprivate.h
===================================================================
--- packages/hdf5/trunk/src/H5Zprivate.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zprivate.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Robb Matzke <matzke at llnl.gov>

Modified: packages/hdf5/trunk/src/H5Zpublic.h
===================================================================
--- packages/hdf5/trunk/src/H5Zpublic.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zpublic.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Robb Matzke <matzke at llnl.gov>
@@ -19,6 +20,9 @@
 #ifndef _H5Zpublic_H
 #define _H5Zpublic_H
 
+/* Public headers needed by this file */
+#include "H5public.h"
+
 /*
  * Filter identifiers.  Values 0 through 255 are for filters defined by the
  * HDF5 library.  Values 256 through 511 are available for testing new

Modified: packages/hdf5/trunk/src/H5Zshuffle.c
===================================================================
--- packages/hdf5/trunk/src/H5Zshuffle.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zshuffle.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5Z_PACKAGE		/*suppress error about including H5Zpkg	  */

Modified: packages/hdf5/trunk/src/H5Zszip.c
===================================================================
--- packages/hdf5/trunk/src/H5Zszip.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5Zszip.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #define H5Z_PACKAGE		/*suppress error about including H5Zpkg	  */

Modified: packages/hdf5/trunk/src/H5api_adpt.h
===================================================================
--- packages/hdf5/trunk/src/H5api_adpt.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5api_adpt.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -34,6 +35,16 @@
 #define H5_DLLVAR extern
 #endif /* _HDF5DLL_ */
 
+#if defined(HDF5_HLDLL)
+#pragma warning(disable: 4273)	/* Disable the dll linkage warnings */
+#define H5_HLDLL __declspec(dllexport)
+#elif defined(_HDF5USEHLDLL_)
+#define H5_HLDLL __declspec(dllimport)
+#else
+#define H5_HLDLL
+#endif /* _HDF5_HLDLL */
+
+
 #if defined(_HDF5TESTDLL_)
 #pragma warning(disable: 4273)	/* Disable the dll linkage warnings */
 #define H5TEST_DLL __declspec(dllexport)
@@ -83,6 +94,7 @@
 
 #else /*WIN32*/
 #define H5_DLL
+#define H5_HLDLL
 #define H5_DLLVAR extern
 #define H5_DLLCPP
 #define H5TEST_DLL

Modified: packages/hdf5/trunk/src/H5config.h.in
===================================================================
--- packages/hdf5/trunk/src/H5config.h.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5config.h.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,9 @@
 /* src/H5config.h.in.  Generated from configure.in by autoheader.  */
 
+/* Define if the memory buffers being written to disk should be cleared before
+   writing. */
+#undef CLEAR_MEMORY
+
 /* Define if your system can handle converting denormalized floating-point
    values. */
 #undef CONVERT_DENORMAL_FLOAT
@@ -19,6 +23,10 @@
 /* Define to 1 if you have the `BSDgettimeofday' function. */
 #undef HAVE_BSDGETTIMEOFDAY
 
+/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
+   */
+#undef HAVE_DECL_TZNAME
+
 /* Define to 1 if you have the `difftime' function. */
 #undef HAVE_DIFFTIME
 
@@ -55,6 +63,12 @@
 /* Define to 1 if you have the `fseek64' function. */
 #undef HAVE_FSEEK64
 
+/* Define to 1 if you have the `fseeko' function. */
+#undef HAVE_FSEEKO
+
+/* Define to 1 if you have the `ftello' function. */
+#undef HAVE_FTELLO
+
 /* Define if the function stack tracing code is to be compiled in */
 #undef HAVE_FUNCSTACK
 
@@ -205,6 +219,9 @@
 /* Define to 1 if you have the <mpe.h> header file. */
 #undef HAVE_MPE_H
 
+/* Define if MPI_File_get_size works correctly */
+#undef HAVE_MPI_GET_SIZE
+
 /* Define to 1 if you have the <netinet/in.h> header file. */
 #undef HAVE_NETINET_IN_H
 
@@ -392,112 +409,112 @@
 /* Width for printf() for type `long long' or `__int64', use `ll' */
 #undef PRINTF_LL_WIDTH
 
-/* The size of a `char', as computed by sizeof. */
+/* The size of `char', as computed by sizeof. */
 #undef SIZEOF_CHAR
 
-/* The size of a `double', as computed by sizeof. */
+/* The size of `double', as computed by sizeof. */
 #undef SIZEOF_DOUBLE
 
-/* The size of a `float', as computed by sizeof. */
+/* The size of `float', as computed by sizeof. */
 #undef SIZEOF_FLOAT
 
-/* The size of a `int', as computed by sizeof. */
+/* The size of `int', as computed by sizeof. */
 #undef SIZEOF_INT
 
-/* The size of a `int16_t', as computed by sizeof. */
+/* The size of `int16_t', as computed by sizeof. */
 #undef SIZEOF_INT16_T
 
-/* The size of a `int32_t', as computed by sizeof. */
+/* The size of `int32_t', as computed by sizeof. */
 #undef SIZEOF_INT32_T
 
-/* The size of a `int64_t', as computed by sizeof. */
+/* The size of `int64_t', as computed by sizeof. */
 #undef SIZEOF_INT64_T
 
-/* The size of a `int8_t', as computed by sizeof. */
+/* The size of `int8_t', as computed by sizeof. */
 #undef SIZEOF_INT8_T
 
-/* The size of a `int_fast16_t', as computed by sizeof. */
+/* The size of `int_fast16_t', as computed by sizeof. */
 #undef SIZEOF_INT_FAST16_T
 
-/* The size of a `int_fast32_t', as computed by sizeof. */
+/* The size of `int_fast32_t', as computed by sizeof. */
 #undef SIZEOF_INT_FAST32_T
 
-/* The size of a `int_fast64_t', as computed by sizeof. */
+/* The size of `int_fast64_t', as computed by sizeof. */
 #undef SIZEOF_INT_FAST64_T
 
-/* The size of a `int_fast8_t', as computed by sizeof. */
+/* The size of `int_fast8_t', as computed by sizeof. */
 #undef SIZEOF_INT_FAST8_T
 
-/* The size of a `int_least16_t', as computed by sizeof. */
+/* The size of `int_least16_t', as computed by sizeof. */
 #undef SIZEOF_INT_LEAST16_T
 
-/* The size of a `int_least32_t', as computed by sizeof. */
+/* The size of `int_least32_t', as computed by sizeof. */
 #undef SIZEOF_INT_LEAST32_T
 
-/* The size of a `int_least64_t', as computed by sizeof. */
+/* The size of `int_least64_t', as computed by sizeof. */
 #undef SIZEOF_INT_LEAST64_T
 
-/* The size of a `int_least8_t', as computed by sizeof. */
+/* The size of `int_least8_t', as computed by sizeof. */
 #undef SIZEOF_INT_LEAST8_T
 
-/* The size of a `long', as computed by sizeof. */
+/* The size of `long', as computed by sizeof. */
 #undef SIZEOF_LONG
 
-/* The size of a `long double', as computed by sizeof. */
+/* The size of `long double', as computed by sizeof. */
 #undef SIZEOF_LONG_DOUBLE
 
-/* The size of a `long long', as computed by sizeof. */
+/* The size of `long long', as computed by sizeof. */
 #undef SIZEOF_LONG_LONG
 
-/* The size of a `off_t', as computed by sizeof. */
+/* The size of `off_t', as computed by sizeof. */
 #undef SIZEOF_OFF_T
 
-/* The size of a `short', as computed by sizeof. */
+/* The size of `short', as computed by sizeof. */
 #undef SIZEOF_SHORT
 
-/* The size of a `size_t', as computed by sizeof. */
+/* The size of `size_t', as computed by sizeof. */
 #undef SIZEOF_SIZE_T
 
-/* The size of a `ssize_t', as computed by sizeof. */
+/* The size of `ssize_t', as computed by sizeof. */
 #undef SIZEOF_SSIZE_T
 
-/* The size of a `uint16_t', as computed by sizeof. */
+/* The size of `uint16_t', as computed by sizeof. */
 #undef SIZEOF_UINT16_T
 
-/* The size of a `uint32_t', as computed by sizeof. */
+/* The size of `uint32_t', as computed by sizeof. */
 #undef SIZEOF_UINT32_T
 
-/* The size of a `uint64_t', as computed by sizeof. */
+/* The size of `uint64_t', as computed by sizeof. */
 #undef SIZEOF_UINT64_T
 
-/* The size of a `uint8_t', as computed by sizeof. */
+/* The size of `uint8_t', as computed by sizeof. */
 #undef SIZEOF_UINT8_T
 
-/* The size of a `uint_fast16_t', as computed by sizeof. */
+/* The size of `uint_fast16_t', as computed by sizeof. */
 #undef SIZEOF_UINT_FAST16_T
 
-/* The size of a `uint_fast32_t', as computed by sizeof. */
+/* The size of `uint_fast32_t', as computed by sizeof. */
 #undef SIZEOF_UINT_FAST32_T
 
-/* The size of a `uint_fast64_t', as computed by sizeof. */
+/* The size of `uint_fast64_t', as computed by sizeof. */
 #undef SIZEOF_UINT_FAST64_T
 
-/* The size of a `uint_fast8_t', as computed by sizeof. */
+/* The size of `uint_fast8_t', as computed by sizeof. */
 #undef SIZEOF_UINT_FAST8_T
 
-/* The size of a `uint_least16_t', as computed by sizeof. */
+/* The size of `uint_least16_t', as computed by sizeof. */
 #undef SIZEOF_UINT_LEAST16_T
 
-/* The size of a `uint_least32_t', as computed by sizeof. */
+/* The size of `uint_least32_t', as computed by sizeof. */
 #undef SIZEOF_UINT_LEAST32_T
 
-/* The size of a `uint_least64_t', as computed by sizeof. */
+/* The size of `uint_least64_t', as computed by sizeof. */
 #undef SIZEOF_UINT_LEAST64_T
 
-/* The size of a `uint_least8_t', as computed by sizeof. */
+/* The size of `uint_least8_t', as computed by sizeof. */
 #undef SIZEOF_UINT_LEAST8_T
 
-/* The size of a `__int64', as computed by sizeof. */
+/* The size of `__int64', as computed by sizeof. */
 #undef SIZEOF___INT64
 
 /* Define to 1 if you have the ANSI C header files. */
@@ -529,7 +546,7 @@
 #undef inline
 #endif
 
-/* Define to `long' if <sys/types.h> does not define. */
+/* Define to `long int' if <sys/types.h> does not define. */
 #undef off_t
 
 /* Define to `unsigned long' if <sys/types.h> does not define. */

Modified: packages/hdf5/trunk/src/H5detect.c
===================================================================
--- packages/hdf5/trunk/src/H5detect.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5detect.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,13 +9,14 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*keep this declaration near the top of this file -RPM*/
 static const char *FileHeader = "\n\
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\
+ * Copyright by The HDF Group.                                               *\n\
  * Copyright by the Board of Trustees of the University of Illinois.         *\n\
  * All rights reserved.                                                      *\n\
  *                                                                           *\n\
@@ -24,8 +26,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *\n\
  * root level of an installed copy of the electronic HDF5 document set and   *\n\
  * is linked from the top-level documents page.  It can also be found at     *\n\
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *\n\
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *\n\
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *\n\
+ * access to either file, you may request a copy from help at hdfgroup.org.     *\n\
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *";
 /*
  *
@@ -532,10 +534,6 @@
 #include \"H5FLprivate.h\"\n\
 #include \"H5Tpkg.h\"\n\
 \n\
-/* Declare external the free lists for H5T_t's and H5T_shared_t's */\n\
-H5FL_EXTERN(H5T_t);\n\
-H5FL_EXTERN(H5T_shared_t);\n\
-\n\
 \n");
 
     /* The interface initialization function */

Modified: packages/hdf5/trunk/src/H5private.h
===================================================================
--- packages/hdf5/trunk/src/H5private.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5private.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:	Robb Matzke <matzke at llnl.gov>
@@ -427,6 +428,8 @@
 #   define LLONG_MAX	((long_long)(((unsigned long_long)1		      \
 				      <<(8*sizeof(long_long)-1))-1))
 #   define LLONG_MIN    ((long_long)(-LLONG_MAX)-1)
+#endif
+#ifndef ULLONG_MAX
 #   define ULLONG_MAX	((unsigned long_long)((long_long)(-1)))
 #endif
 #ifndef SIZET_MAX
@@ -500,6 +503,14 @@
 			   H5_timer_t *timer/*in,out*/);
 H5_DLL void H5_bandwidth(char *buf/*out*/, double nbytes, double nseconds);
 
+/* Depth of object copy */
+typedef enum {
+    H5_COPY_NULL,       /* Null destination names */
+    H5_COPY_LIMITED,    /* Limited copy from source to destination, omitting path fields */
+    H5_COPY_SHALLOW,    /* Shallow copy from source to destination, just copy field pointers */
+    H5_COPY_DEEP        /* Deep copy from source to destination, including duplicating fields pointed to */
+} H5_copy_depth_t;
+
 /*
  * Redefine all the POSIX functions.  We should never see a POSIX
  * function (or any other non-HDF5 function) in the source!
@@ -607,7 +618,11 @@
 #define HDfrexpl(X,N)		frexp(X,N)
 #endif /* H5_HAVE_FREXPL */
 /* fscanf() variable arguments */
-#define HDfseek(F,O,W)		fseek(F,O,W)
+#ifdef H5_HAVE_FSEEKO
+     #define HDfseek(F,O,W)	fseeko(F,O,W)
+#else
+     #define HDfseek(F,O,W)	fseek(F,O,W)
+#endif
 #define HDfsetpos(F,P)		fsetpos(F,P)
 /* definitions related to the file stat utilities */
 #ifdef WIN32
@@ -679,7 +694,11 @@
         #define HDlseek(F,O,W)  _lseeki64(F,O,W)
      #endif
 #else
-#define HDlseek(F,O,W)		lseek(F,O,W)
+     #ifdef H5_HAVE_FSEEK64
+        #define HDlseek(F,O,W)	lseek64(F,O,W)
+     #else
+        #define HDlseek(F,O,W)	lseek(F,O,W)
+     #endif
 #endif
 #define HDmalloc(Z)		malloc(Z)
 #define HDmblen(S,N)		mblen(S,N)
@@ -748,7 +767,9 @@
 #define HDsetpgid(P,PG)		setpgid(P,PG)
 #define HDsetsid()		setsid()
 #define HDsetuid(U)		setuid(U)
+#ifndef WIN32
 #define HDsetvbuf(F,S,M,Z)	setvbuf(F,S,M,Z)
+#endif
 #define HDsigaction(N,A)	sigaction(N,A)
 #define HDsigaddset(S,N)	sigaddset(S,N)
 #define HDsigdelset(S,N)	sigdelset(S,N)
@@ -845,7 +866,9 @@
 #define HDvfprintf(F,FMT,A)	vfprintf(F,FMT,A)
 #define HDvprintf(FMT,A)	vprintf(FMT,A)
 #define HDvsprintf(S,FMT,A)	vsprintf(S,FMT,A)
-#ifdef H5_HAVE_VSNPRINTF
+#ifdef WIN32
+#define HDvsnprintf(S,N,FMT,A) _vsnprintf(S,N,FMT,A)
+#else
 #   define HDvsnprintf(S,N,FMT,A) vsnprintf(S,N,FMT,A)
 #endif
 #define HDwait(W)		wait(W)
@@ -1188,7 +1211,7 @@
 /*
  * Use this macro for API functions that shouldn't perform _any_ initialization
  *      of the library or an interface, just perform tracing, etc.  Examples
- *      are: H5close, H5check_version, H5Eget_major, H5Eget_minor.
+ *      are: H5check_version, H5Eget_major, H5Eget_minor, etc.
  *
  */
 #define FUNC_ENTER_API_NOINIT(func_name) {{                                   \
@@ -1199,6 +1222,20 @@
     BEGIN_MPE_LOG(func_name);                                                 \
     {
 
+/*
+ * Use this macro for API functions that shouldn't perform _any_ initialization
+ *      of the library or an interface or push themselves on the function
+ *      stack, just perform tracing, etc.  Examples
+ *      are: H5close, etc.
+ *
+ */
+#define FUNC_ENTER_API_NOINIT_NOFS(func_name) {{                              \
+    FUNC_ENTER_API_VARS(func_name)                                            \
+    FUNC_ENTER_COMMON(func_name,H5_IS_API(#func_name));                       \
+    FUNC_ENTER_API_THREADSAFE;                                                \
+    BEGIN_MPE_LOG(func_name);                                                 \
+    {
+
 /* Use this macro for all "normal" non-API functions */
 #define FUNC_ENTER_NOAPI(func_name,err) {                                     \
     FUNC_ENTER_COMMON(func_name,!H5_IS_API(#func_name));                      \
@@ -1303,6 +1340,14 @@
     } /*end scope from end of FUNC_ENTER*/                                    \
 }} /*end scope from beginning of FUNC_ENTER*/
 
+#define FUNC_LEAVE_API_NOFS(ret_value)                                        \
+        FINISH_MPE_LOG;                                                       \
+        H5TRACE_RETURN(ret_value);					      \
+        FUNC_LEAVE_API_THREADSAFE                                             \
+        return (ret_value);						      \
+    } /*end scope from end of FUNC_ENTER*/                                    \
+}} /*end scope from beginning of FUNC_ENTER*/
+
 #define FUNC_LEAVE_NOAPI(ret_value)                                           \
         H5_POP_FUNC;                                                          \
         return (ret_value);						      \

Modified: packages/hdf5/trunk/src/H5public.h
===================================================================
--- packages/hdf5/trunk/src/H5public.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/H5public.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -74,10 +75,10 @@
 /* Version numbers */
 #define H5_VERS_MAJOR	1	/* For major interface/format changes  	     */
 #define H5_VERS_MINOR	6	/* For minor interface/format changes  	     */
-#define H5_VERS_RELEASE	5	/* For tweaks, bug-fixes, or development     */
+#define H5_VERS_RELEASE	6	/* 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.6.5"      /* Full version string */
+#define H5_VERS_INFO    "HDF5 library version: 1.6.6"      /* Full version string */
 
 #define H5check()	H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR,	      \
 				        H5_VERS_RELEASE)

Modified: packages/hdf5/trunk/src/Makefile.in
===================================================================
--- packages/hdf5/trunk/src/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -30,14 +31,17 @@
 DISTCLEAN=libhdf5.settings
 
 ## Source and object files for the library (lexicographically)...
-LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5C.c H5D.c H5Dcontig.c H5Dcompact.c H5Defl.c \
+LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5Bcache.c H5C.c H5D.c H5Dcontig.c \
+        H5Dcompact.c H5Defl.c \
         H5Dio.c H5Distore.c H5Dmpio.c H5Dselect.c H5Dtest.c H5E.c H5F.c       \
         H5Fdbg.c H5Fmount.c H5Fsfile.c H5Fsuper.c H5FD.c \
         H5FDcore.c H5FDfamily.c H5FDgass.c H5FDlog.c H5FDmpi.c H5FDmpio.c     \
         H5FDmpiposix.c H5FDmulti.c H5FDsec2.c H5FDsrb.c H5FDstdio.c           \
-        H5FDstream.c H5FL.c H5FO.c H5FS.c H5G.c H5Gent.c H5Gnode.c H5Gstab.c  \
+        H5FDstream.c H5FL.c H5FO.c H5FS.c H5G.c H5Gent.c H5Gname.c \
+        H5Gnode.c H5Gstab.c  \
+        H5Gtest.c H5Gtraverse.c \
         H5HG.c H5HGdbg.c H5HL.c H5HLdbg.c H5HP.c H5I.c H5MF.c H5MM.c H5O.c    \
-        H5Oattr.c H5Obogus.c \
+        H5Oattr.c H5Obogus.c H5Ocache.c \
         H5Ocont.c H5Odtype.c H5Oefl.c H5Ofill.c H5Olayout.c H5Omtime.c        \
         H5Oname.c H5Onull.c H5Opline.c H5Osdspace.c H5Oshared.c H5Ostab.c     \
         H5P.c H5Pdcpl.c H5Pdxpl.c H5Pfapl.c H5Pfcpl.c H5Ptest.c H5R.c H5RC.c  \
@@ -65,7 +69,8 @@
         H5Tpublic.h H5Zpublic.h H5pubconf.h hdf5.h H5api_adpt.h
 
 ## Other header files (not to be installed)...
-PRIVATE_HDR=H5private.h H5Aprivate.h H5Apkg.h H5ACprivate.h H5Bprivate.h      \
+PRIVATE_HDR=H5private.h H5Aprivate.h H5Apkg.h H5ACprivate.h H5Bpkg.h \
+        H5Bprivate.h \
         H5Cprivate.h \
         H5Dprivate.h H5Eprivate.h H5Fprivate.h H5FDprivate.h H5FLprivate.h    \
         H5FOprivate.h H5FSprivate.h H5Gprivate.h H5Gpkg.h                     \

Modified: packages/hdf5/trunk/src/hdf5.h
===================================================================
--- packages/hdf5/trunk/src/hdf5.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/src/hdf5.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Copied: packages/hdf5/trunk/test/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/test/COPYING)
===================================================================
--- packages/hdf5/trunk/test/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/test/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/test/Dependencies
===================================================================
--- packages/hdf5/trunk/test/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5test.lo: \
    $(srcdir)/h5test.c \
@@ -180,6 +181,7 @@
    $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h
@@ -251,6 +253,7 @@
    $(top_srcdir)/src/H5FDpublic.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
@@ -365,6 +368,7 @@
    $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h
@@ -609,6 +613,7 @@
    $(top_srcdir)/src/H5ACprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5HGprivate.h \
@@ -701,14 +706,14 @@
    $(top_srcdir)/src/H5Dprivate.h \
    $(top_srcdir)/src/H5FDprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
-   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5Bprivate.h \
    $(top_srcdir)/src/H5ACprivate.h \
+   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
@@ -807,6 +812,7 @@
    $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h
 mount.lo: \
@@ -931,14 +937,14 @@
    $(top_srcdir)/src/H5Iprivate.h \
    $(top_srcdir)/src/H5Opkg.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
-   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5Bprivate.h \
    $(top_srcdir)/src/H5ACprivate.h \
+   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
@@ -990,10 +996,10 @@
    $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
    $(top_srcdir)/src/H5Zprivate.h
@@ -1243,10 +1249,10 @@
    $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5Pprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
@@ -1296,14 +1302,14 @@
    $(top_srcdir)/src/H5Dprivate.h \
    $(top_srcdir)/src/H5FDprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
-   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5Bprivate.h \
    $(top_srcdir)/src/H5ACprivate.h \
+   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
@@ -1357,12 +1363,12 @@
    $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5Sprivate.h \
    $(top_srcdir)/src/H5Dprivate.h \
    $(top_srcdir)/src/H5FDprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
@@ -1539,14 +1545,14 @@
    $(top_srcdir)/src/H5Dprivate.h \
    $(top_srcdir)/src/H5FDprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
-   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5Bprivate.h \
    $(top_srcdir)/src/H5ACprivate.h \
+   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
@@ -1683,14 +1689,14 @@
    $(top_srcdir)/src/H5Dprivate.h \
    $(top_srcdir)/src/H5FDprivate.h \
    $(top_srcdir)/src/H5Oprivate.h \
-   $(top_srcdir)/src/H5HGprivate.h \
-   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Gprivate.h \
    $(top_srcdir)/src/H5Bprivate.h \
    $(top_srcdir)/src/H5ACprivate.h \
+   $(top_srcdir)/src/H5Fprivate.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5RSprivate.h \
    $(top_srcdir)/src/H5Rprivate.h \
@@ -2502,6 +2508,7 @@
    $(top_srcdir)/src/H5MPprivate.h
 getname.lo: \
    $(srcdir)/getname.c \
+   $(srcdir)/h5test.h \
    $(top_srcdir)/src/hdf5.h \
    $(top_srcdir)/src/H5public.h \
    $(top_builddir)/src/H5pubconf.h \
@@ -2536,9 +2543,22 @@
    $(top_srcdir)/src/H5FDsrb.h \
    $(top_srcdir)/src/H5FDstdio.h \
    $(top_srcdir)/src/H5FDstream.h \
-   $(srcdir)/h5test.h \
    $(top_srcdir)/src/H5private.h \
-   $(top_srcdir)/src/H5MPprivate.h
+   $(top_srcdir)/src/H5MPprivate.h \
+   $(top_srcdir)/src/H5Gpkg.h \
+   $(top_srcdir)/src/H5Gprivate.h \
+   $(top_srcdir)/src/H5Bprivate.h \
+   $(top_srcdir)/src/H5ACprivate.h \
+   $(top_srcdir)/src/H5Fprivate.h \
+   $(top_srcdir)/src/H5Cprivate.h \
+   $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
+   $(top_srcdir)/src/H5RCprivate.h \
+   $(top_srcdir)/src/H5RSprivate.h \
+   $(top_srcdir)/src/H5Oprivate.h \
+   $(top_srcdir)/src/H5Tprivate.h \
+   $(top_srcdir)/src/H5Rprivate.h \
+   $(top_srcdir)/src/H5Zprivate.h
 file_handle.lo: \
    $(srcdir)/file_handle.c \
    $(srcdir)/h5test.h \

Modified: packages/hdf5/trunk/test/Makefile.in
===================================================================
--- packages/hdf5/trunk/test/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Test Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -50,7 +51,7 @@
             tfile[1-3].h5 th5s1.h5 th5s3.h5 lheap.h5 ohdr.h5 stab[1-2].h5 \
             extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5      \
             links.h5 links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5  \
-            dtypes[1-7].h5 tattr.h5          \
+            sec2.h5 stdio.h5 dtypes[1-7].h5 tattr.h5          \
             tselect.h5 mtime.h5 unlink.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     \

Modified: packages/hdf5/trunk/test/big.c
===================================================================
--- packages/hdf5/trunk/test/big.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/big.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -20,6 +21,8 @@
 
 const char *FILENAME[] = {
     "big",
+    "sec2",
+    "stdio",
     NULL
 };
 
@@ -29,6 +32,9 @@
 #define WRT_SIZE	4*1024
 #define FAMILY_SIZE	1024*1024*1024
 
+/* Define big file as 2GB */
+#define BIG_FILE 0x80000000UL
+ 
 #define MAX_TRIES       100
 
 #if H5_SIZEOF_LONG_LONG >= 8
@@ -118,7 +124,7 @@
 
     if ((fd=HDopen("x.h5", O_RDWR|O_TRUNC|O_CREAT, 0666))<0) return 0;
     if (HDlseek(fd, (off_t)(1024*1024), SEEK_SET)!=1024*1024) return 0;
-    if (5!=HDwrite(fd, "hello", 5)) return 0;
+    if (5!=HDwrite(fd, "hello", (size_t)5)) return 0;
     if (HDclose(fd)<0) return 0;
     if (HDstat("x.h5", &sb)<0) return 0;
     if (HDunlink("x.h5")<0) return 0;
@@ -131,6 +137,47 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	supports_big
+ *
+ * Purpose:	Determines if the file system of the current working
+ *		directory supports big files.
+ *
+ * Return:	Success:	Non-zero if big files are supported; zero
+ *				otherwise.
+ *
+ *		Failure:	zero
+ *
+ * Programmer:	Raymond Lu
+ *              Wednesday, April 18, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+supports_big(void)
+{
+    int		fd;
+
+    if ((fd=HDopen("y.h5", O_RDWR|O_TRUNC|O_CREAT, 0666))<0) return 0;
+
+    /* Write a few bytes at 2GB */
+    if (HDlseek(fd, BIG_FILE, SEEK_SET)!=BIG_FILE) return 0;
+    if (5!=HDwrite(fd, "hello", (size_t)5)) return 0;
+
+    /* Write a few bytes at 4GB */
+    if (HDlseek(fd, 2*BIG_FILE, SEEK_SET) != 2*BIG_FILE) return 0;
+    if (5!=HDwrite(fd, "hello", (size_t)5)) return 0;
+
+    if (HDclose(fd)<0) return 0;
+    if (HDunlink("y.h5")<0) return 0;
+
+    return (1);
+}
+
+
+
+/*-------------------------------------------------------------------------
  * Function:	enough_room
  *
  * Purpose:	Tries to create a bunch of sparse files to see if quotas will
@@ -172,7 +219,7 @@
 	if ((off_t)size != HDlseek(fd[i], (off_t)size, SEEK_SET)) {
 	    goto done;
 	}
-	if (1!=HDwrite(fd[i], "X", 1)) {
+	if (1!=HDwrite(fd[i], "X", (size_t)1)) {
 	    goto done;
 	}
     }
@@ -209,17 +256,16 @@
  *-------------------------------------------------------------------------
  */
 static int
-writer (hid_t fapl, int wrt_n)
+writer(char* filename, hid_t fapl, int wrt_n)
 {
     hsize_t	size1[4] = {8, 1024, 1024, 1024};
     hsize_t	size2[1] = {GB8LL};
     hsize_t	hs_start[1];
     hsize_t	hs_size[1];
     hid_t	file=-1, space1=-1, space2=-1, mem_space=-1, d1=-1, d2=-1;
-    int		*buf = malloc (sizeof(int) * WRT_SIZE);
+    int		*buf = (int*)malloc (sizeof(int) * WRT_SIZE);
     int		i, j;
     FILE	*out = fopen(DNAME, "w");
-    char	filename[1024];
     hid_t       dcpl;
 
     TESTING("large dataset write");
@@ -228,7 +274,6 @@
      * We might be on a machine that has 32-bit files, so create an HDF5 file
      * which is a family of files.  Each member of the family will be 1GB
      */
-    h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
     if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) {
 	goto error;
     }
@@ -320,22 +365,20 @@
  *-------------------------------------------------------------------------
  */
 static int
-reader (hid_t fapl)
+reader (char *filename, hid_t fapl)
 {
     FILE	*script = NULL;
     hid_t	file=-1, mspace=-1, fspace=-1, d2=-1;
     char	ln[128], *s;
     hsize_t	hs_offset[1];
     hsize_t	hs_size[1] = {WRT_SIZE};
-    int		*buf = malloc (sizeof(int) * WRT_SIZE);
+    int		*buf = (int*)malloc (sizeof(int) * WRT_SIZE);
     int		i, j, zero, wrong, nerrors=0;
-    char	filename[1024];
 
     /* Open script file */
     script = fopen (DNAME, "r");
 
     /* Open HDF5 file */
-    h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
     if ((file=H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) goto error;
 
     /* Open the dataset */
@@ -346,7 +389,7 @@
     if ((mspace = H5Screate_simple (1, hs_size, hs_size))<0) goto error;
 
     /* Read each region */
-    while (fgets (ln, sizeof(ln), script)) {
+    while (fgets (ln, (int)sizeof(ln), script)) {
 	if ('#'!=ln[0]) break;
 	i = (int)strtol (ln+1, &s, 10);
 	hs_offset[0] = HDstrtoll (s, NULL, 0);
@@ -459,6 +502,7 @@
     hsize_t	family_size_def;	/* default family file size */
     double	family_size_def_dbl;	/* default family file size */
     int		cflag=1;		/* check file system before test */
+    char	filename[1024];
 
     /* parameters setup */
     family_size_def = FAMILY_SIZE;
@@ -497,7 +541,8 @@
     h5_reset();
     fapl = h5_fileaccess();
 
-    /* The file driver must be the family driver */
+    /* Test big file with the family driver */
+    puts("Testing big file with the Family Driver ");
     if (H5FD_FAMILY!=H5Pget_driver(fapl)) {
 	HDfprintf(stdout,
 	   "Changing file drivers to the family driver, %Hu bytes each\n",
@@ -542,11 +587,62 @@
 	}
     }
 
-    /* Do the test */
-    if (writer(fapl, WRT_N)) goto error;
-    if (reader(fapl)) goto error;
-    puts("All big tests passed.");
+    /* Do the test with the Family Driver */
+    h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
 
+    if (writer(filename, fapl, WRT_N)) goto error;
+    if (reader(filename, fapl)) goto error;
+
+    puts("Test passed with the Family Driver.");
+
+    /*
+     * We shouldn't run this test if the file system doesn't support big files 
+     * because we would generate multi-gigabyte files.
+     */
+    puts("\nChecking if file system supports big files...");
+    if (!supports_big()) {
+        puts("Tests for sec2 and stdio are skipped because file system does not support big files.");
+        usage();
+        goto quit;
+    }
+
+    /* Clean up the test file */
+    if (h5_cleanup(FILENAME, fapl)) remove(DNAME);
+
+    /* Test big file with the SEC2 driver */
+    puts("Testing big file with the SEC2 Driver ");
+
+    fapl = h5_fileaccess();
+    if(H5Pset_fapl_sec2(fapl)<0)
+
+    HDmemset(filename, 0, sizeof(filename));
+    h5_fixname(FILENAME[2], fapl, filename, sizeof filename);
+
+    if (writer(filename, fapl, WRT_N)) goto error;
+    if (reader(filename, fapl)) goto error;
+
+    puts("Test passed with the SEC2 Driver.");
+
+#ifdef H5_HAVE_FSEEKO
+    /* Clean up the test file */
+    if (h5_cleanup(FILENAME, fapl)) remove(DNAME);
+
+    /* Test big file with the STDIO driver only if fseeko is supported,
+     * because the OFFSET parameter of fseek has the type LONG, not big
+     * enough to support big files. */
+    puts("\nTesting big file with the STDIO Driver ");
+
+    fapl = h5_fileaccess();
+    if(H5Pset_fapl_stdio(fapl)<0)
+
+    HDmemset(filename, 0, sizeof(filename));
+    h5_fixname(FILENAME[1], fapl, filename, sizeof filename);
+
+    if (writer(filename, fapl, WRT_N)) goto error;
+    if (reader(filename, fapl)) goto error;
+    puts("Test passed with the STDIO Driver.");
+#endif
+
 quit:
     /* End with normal exit code */
     if (h5_cleanup(FILENAME, fapl)) remove(DNAME);

Modified: packages/hdf5/trunk/test/bittests.c
===================================================================
--- packages/hdf5/trunk/test/bittests.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/bittests.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/cache.c
===================================================================
--- packages/hdf5/trunk/test/cache.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/cache.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  John Mainzer

Modified: packages/hdf5/trunk/test/cmpd_dset.c
===================================================================
--- packages/hdf5/trunk/test/cmpd_dset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/cmpd_dset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/dangle.c
===================================================================
--- packages/hdf5/trunk/test/dangle.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/dangle.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -117,7 +118,7 @@
     if(H5close()<0)
         TEST_ERROR;
 
-    if(h5_get_file_size(filename)==0)
+    if(h5_get_file_size(filename)<0)
         TEST_ERROR;
 
     /* Clean up temporary file */
@@ -210,7 +211,7 @@
     if(H5close()<0)
         TEST_ERROR;
 
-    if(h5_get_file_size(filename)==0)
+    if(h5_get_file_size(filename)<0)
         TEST_ERROR;
 
     /* Clean up temporary file */
@@ -307,7 +308,7 @@
     if(H5close()<0)
         TEST_ERROR;
 
-    if(h5_get_file_size(filename)==0)
+    if(h5_get_file_size(filename)<0)
         TEST_ERROR;
 
     /* Clean up temporary file */
@@ -394,7 +395,7 @@
     if(H5close()<0)
         TEST_ERROR;
 
-    if(h5_get_file_size(filename)==0)
+    if(h5_get_file_size(filename)<0)
         TEST_ERROR;
 
     /* Clean up temporary file */
@@ -502,7 +503,7 @@
     if(H5close()<0)
         TEST_ERROR;
 
-    if(h5_get_file_size(filename)==0)
+    if(h5_get_file_size(filename)<0)
         TEST_ERROR;
 
     /* Clean up temporary file */

Modified: packages/hdf5/trunk/test/dsets.c
===================================================================
--- packages/hdf5/trunk/test/dsets.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/dsets.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -123,6 +124,10 @@
 #define MISSING_CHUNK_DATASET   "missing_chunk"
 #define MISSING_CHUNK_DIM       100
 
+/* Names for random chunks test */
+#define NPOINTS         50
+#define RC_FILENAME "random_chunks.h5"
+
 /* Shared global arrays */
 #define DSET_DIM1       100
 #define DSET_DIM2       200
@@ -1306,7 +1311,7 @@
     const hsize_t	hs_offset[2] = {FILTER_HS_OFFSET1, FILTER_HS_OFFSET2}; /* Hyperslab offset */
     const hsize_t	hs_size[2] = {FILTER_HS_SIZE1, FILTER_HS_SIZE2};   /* Hyperslab size */
     void		*tconv_buf = NULL;      /* Temporary conversion buffer */
-    int			i, j, n;        /* Local index variables */
+    size_t		i, j, n;        /* Local index variables */
     herr_t              status;         /* Error status */
 
     /* Create the data space */
@@ -1557,7 +1562,7 @@
 
     for (i=0; i<hs_size[0]; i++) {
 	for (j=0; j<hs_size[1]; j++) {
-	    points[hs_offset[0]+i][hs_offset[1]+j] = (int)HDrandom();
+	    points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j] = (int)HDrandom();
 	}
     }
     if (H5Sselect_hyperslab(sid, H5S_SELECT_SET, hs_offset, NULL, hs_size,
@@ -1593,8 +1598,8 @@
         /* Check that the values read are the same as the values written */
         for (i=0; i<hs_size[0]; i++) {
 	   for (j=0; j<hs_size[1]; j++) {
-	       if (points[hs_offset[0]+i][hs_offset[1]+j] !=
-                      check[hs_offset[0]+i][hs_offset[1]+j]) {
+	       if (points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j] !=
+                      check[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]) {
 		  H5_FAILED();
 		  fprintf(stderr,"    Read different values than written.\n");
 		  fprintf(stderr,"    At index %lu,%lu\n",
@@ -2161,7 +2166,7 @@
     const hsize_t dims[2] = {DSET_DIM1, DSET_DIM2};         /* Dataspace dimensions */
     const hsize_t chunk_dims[2] = {2, 25};      /* Chunk dimensions */
     hsize_t     dset_size;      /* Dataset size */
-    int	        i,j;            /* Local index variables */
+    size_t      i,j;            /* Local index variables */
     herr_t      ret;            /* Generic return value */
     char testfile[512]="";      /* Buffer to hold name of existing test file */
     char *srcdir = HDgetenv("srcdir");    /* The source directory, if we are using the --srcdir configure option */
@@ -2413,7 +2418,7 @@
     const hsize_t       chunk_size[2] = {10, 20};
     unsigned char       orig_data[10][20];
     unsigned char       new_data[10][20];
-    int	   		i, j;
+    size_t		i, j;
 #else /* H5_HAVE_FILTER_SHUFFLE */
     const char		*not_supported= "    Data shuffling is not enabled.";
 #endif /* H5_HAVE_FILTER_SHUFFLE */
@@ -2675,7 +2680,7 @@
 
 #ifndef H5_WANT_H5_V1_4_COMPAT
 /* This message derives from H5Z */
-const H5Z_class_t H5Z_CAN_APPLY[1] = {{
+const H5Z_class_t H5Z_CAN_APPLY_TEST[1] = {{
     H5Z_FILTER_BOGUS,		/* Filter id number		*/
     "bogus",			/* Filter name for debugging	*/
     can_apply_bogus,            /* The "can apply" callback     */
@@ -2707,7 +2712,7 @@
     const hsize_t dims[2] = {DSET_DIM1, DSET_DIM2};         /* Dataspace dimensions */
     const hsize_t chunk_dims[2] = {2, 25};      /* Chunk dimensions */
     hsize_t     dset_size;      /* Dataset size */
-    int	        i,j;            /* Local index variables */
+    size_t      i,j;            /* Local index variables */
 
     TESTING("dataset filter 'can apply' callback");
 
@@ -2722,7 +2727,7 @@
         printf("    Line %d: Can't set chunk sizes\n",__LINE__);
         goto error;
     } /* end if */
-    if(H5Zregister (H5Z_CAN_APPLY)<0) {
+    if(H5Zregister (H5Z_CAN_APPLY_TEST)<0) {
         H5_FAILED();
         printf("    Line %d: Can't register 'can apply' filter\n",__LINE__);
         goto error;
@@ -3034,7 +3039,7 @@
 
 #ifndef H5_WANT_H5_V1_4_COMPAT
 /* This message derives from H5Z */
-const H5Z_class_t H5Z_SET_LOCAL[1] = {{
+const H5Z_class_t H5Z_SET_LOCAL_TEST[1] = {{
     H5Z_FILTER_BOGUS2,		/* Filter id number		*/
     "bogus2",			/* Filter name for debugging	*/
     NULL,                       /* The "can apply" callback     */
@@ -3068,7 +3073,7 @@
     const hsize_t chunk_dims[2] = {2, 25};      /* Chunk dimensions */
     hsize_t     dset_size;      /* Dataset size */
     unsigned    cd_values[2]={BOGUS2_PARAM_1, BOGUS2_PARAM_2};   /* Parameters for Bogus2 filter */
-    int	        i,j;          /* Local index variables */
+    size_t      i,j;          /* Local index variables */
     double      n;          /* Local index variables */
 
     TESTING("dataset filter 'set local' callback");
@@ -3101,7 +3106,7 @@
         printf("    Line %d: Can't set chunk sizes\n",__LINE__);
         goto error;
     } /* end if */
-    if(H5Zregister (H5Z_SET_LOCAL)<0) {
+    if(H5Zregister (H5Z_SET_LOCAL_TEST)<0) {
         H5_FAILED();
         printf("    Line %d: Can't register 'set local' filter\n",__LINE__);
         goto error;
@@ -3874,6 +3879,235 @@
     return -1;
 } /* end test_zero_dims() */
 
+
+/*-------------------------------------------------------------------------
+ * Function: test_random_chunks
+ *
+ * Purpose: Tests that write/read on randomly selected chunks in 2 datasets.
+ *              One dataset has fixed dimensions, and the other has unlimited
+ *              dimensions which are extended before write/read operations.
+ *
+ *
+ * Return: Success: 0
+ *  Failure: -1
+ *
+ * Programmer: Christian Chilan
+ *             Monday, March 26, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+test_random_chunks(void)
+{
+    hid_t       s=-1, m=-1, d=-1, dcpl=-1, file=-1;
+    int         wbuf[NPOINTS],
+                rbuf[NPOINTS],
+                check[20][20];
+    hsize_t     coord[NPOINTS][2];
+    hsize_t     dsize[2]={100,100}, dmax[2]={H5S_UNLIMITED, H5S_UNLIMITED}, csize[2]={10,10}, nsize[2]={200,200};
+    hsize_t     msize[1]={NPOINTS};
+    const char  dname[]="dataset";
+    int         chunk_row, chunk_col;
+    size_t      i, j;
+
+
+    TESTING("Random point selection on chunked dataset");
+
+    assert(NPOINTS < 100);
+    
+    /* Create file for first test */ 
+    if ((file = H5Fcreate(RC_FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) TEST_ERROR;
+
+    /* Create dataspace */
+    if((s = H5Screate_simple(2, dsize, NULL))<0) TEST_ERROR;
+
+    /* Create dataset creation property list */
+    if((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR;
+
+    /* Set chunked layout */
+    if(H5Pset_chunk(dcpl, 2, csize)<0) TEST_ERROR;
+
+    /* Set early allocation time */
+    if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY)<0) TEST_ERROR;
+
+    /* Create dataset */
+    if((d = H5Dcreate(file, dname, H5T_NATIVE_INT, s, dcpl))<0) TEST_ERROR;
+
+    /* Initialization of check array for repeated coordinates */
+    for (i=0; i<dsize[0]/csize[0]; i++)
+        for (j=0; j<dsize[1]/csize[1]; j++)
+            check[i][j] = 0;
+
+    /* Generate random point coordinates. Only one point is selected per chunk */
+    for (i=0; i<NPOINTS; i++){
+        do {
+            chunk_row = (int)HDrandom () % (dsize[0]/csize[0]);
+            chunk_col = (int)HDrandom () % (dsize[1]/csize[1]);
+        } while (check[chunk_row][chunk_col]);
+
+        wbuf[i] = check[chunk_row][chunk_col] = chunk_row+chunk_col+1;
+        coord[i][0] = chunk_row * csize[0];
+        coord[i][1] = chunk_col * csize[1];
+    }
+
+    /* Create dataspace for write buffer */
+    if ((m = H5Screate_simple(1, msize, NULL))<0) TEST_ERROR;
+
+    /* Select the random points for writing */
+    if (H5Sselect_elements (s, H5S_SELECT_SET, NPOINTS, (const hsize_t **)coord)<0) TEST_ERROR;
+
+    /* Write into dataset */
+    if (H5Dwrite(d, H5T_NATIVE_INT, m, s, H5P_DEFAULT, wbuf)<0) TEST_ERROR;
+
+    /* Close resources*/
+    if (H5Sclose(s)<0) TEST_ERROR;
+    if (H5Sclose(m)<0) TEST_ERROR;
+    if (H5Pclose(dcpl)<0) TEST_ERROR;
+    if (H5Dclose(d)<0) TEST_ERROR;
+    if (H5Fclose(file)<0) TEST_ERROR;
+
+    /* Open file again */
+    if ((file = H5Fopen(RC_FILENAME, H5F_ACC_RDWR, H5P_DEFAULT))<0) TEST_ERROR;
+
+    /* Open dataset */
+    if ((d = H5Dopen(file, dname))<0) TEST_ERROR;
+
+    /* Get dataset dataspace */
+    if ((s = H5Dget_space(d))<0) TEST_ERROR;
+
+    /* Create dataspace for read buffer */
+    if ((m = H5Screate_simple(1, msize, NULL))<0) TEST_ERROR;
+
+    /* Select the random points for reading */
+    if (H5Sselect_elements (s, H5S_SELECT_SET, NPOINTS, (const hsize_t **)coord)<0) TEST_ERROR;
+
+    /* Read from dataset */
+    if (H5Dread(d, H5T_NATIVE_INT, m, s, H5P_DEFAULT, rbuf)<0) TEST_ERROR;
+
+    /* Verify that written and read data are the same */
+    for (i=0; i<NPOINTS; i++)
+        if (rbuf[i]!=wbuf[i]){
+            printf("    Line %d: Incorrect value, wbuf[%u]=%d, rbuf[%u]=%d\n",__LINE__,(unsigned)i,wbuf[i],(unsigned)i,rbuf[i]);
+                TEST_ERROR;
+        } /* end if */
+
+    /* Close resources */
+    if (H5Sclose(s)<0) TEST_ERROR;
+    if (H5Sclose(m)<0) TEST_ERROR;
+    if (H5Dclose(d)<0) TEST_ERROR;
+    if (H5Fclose(file)<0) TEST_ERROR;
+
+    /* Remove file */
+    HDremove(RC_FILENAME);
+
+
+    /* Create file for second test */
+    if ((file = H5Fcreate(RC_FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) TEST_ERROR;
+
+    /* Create dataspace with unlimited maximum dimensions */
+    if((s = H5Screate_simple(2, dsize, dmax))<0) TEST_ERROR;
+
+    /* Create dataset creation property list */
+    if((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0) TEST_ERROR;
+
+    /* Set chunked layout */
+    if(H5Pset_chunk(dcpl, 2, csize)<0) TEST_ERROR;
+
+    /* Set allocation time to early */
+    if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY)<0) TEST_ERROR;
+
+    /* Create dataset */
+    if((d = H5Dcreate(file, dname, H5T_NATIVE_INT, s, dcpl))<0) TEST_ERROR;
+
+    /* Extend both dimensions of the dataset */
+    if (H5Dextend(d, nsize)<0) TEST_ERROR;
+    
+    /* Reset the dataset dataspace to new dimensions */
+    if (H5Sset_extent_simple(s, 2, nsize, dmax)<0) TEST_ERROR; 
+
+    /* Initialize check buffer for repeated coordinates */
+    for (i=0; i<nsize[0]/csize[0]; i++)
+        for (j=0; j<nsize[1]/csize[1]; j++)
+            check[i][j] = 0;
+
+    /* Generate random point coordinates. Only one point is selected per chunk */
+    for (i=0; i<NPOINTS; i++){
+        do {
+            chunk_row = (int)HDrandom () % (nsize[0]/csize[0]);
+            chunk_col = (int)HDrandom () % (nsize[1]/csize[1]);
+        } while (check[chunk_row][chunk_col]);
+
+        wbuf[i] = check[chunk_row][chunk_col] = chunk_row+chunk_col+1;
+        coord[i][0] = chunk_row * csize[0];
+        coord[i][1] = chunk_col * csize[1];
+    }
+
+    /* Create dataspace for write buffer */
+    if ((m = H5Screate_simple(1, msize, NULL))<0) TEST_ERROR;
+
+    /* Select the random points for writing */
+    if (H5Sselect_elements (s, H5S_SELECT_SET, NPOINTS, (const hsize_t **)coord)<0) TEST_ERROR;
+
+    /* Write into dataset */
+    if (H5Dwrite(d, H5T_NATIVE_INT, m, s, H5P_DEFAULT, wbuf)<0) TEST_ERROR;
+
+    /* Close resources */
+    if (H5Sclose(s)<0) TEST_ERROR;
+    if (H5Sclose(m)<0) TEST_ERROR;
+    if (H5Pclose(dcpl)<0) TEST_ERROR;
+    if (H5Dclose(d)<0) TEST_ERROR;
+    if (H5Fclose(file)<0) TEST_ERROR;
+
+    /* Open file again */
+    if ((file = H5Fopen(RC_FILENAME, H5F_ACC_RDWR, H5P_DEFAULT))<0) TEST_ERROR;
+
+    /* Open dataset */
+    if ((d = H5Dopen(file, dname))<0) TEST_ERROR;
+
+    /* Get dataset dataspace */
+    if ((s = H5Dget_space(d))<0) TEST_ERROR;
+
+    /* Create dataspace for read buffer */
+    if ((m = H5Screate_simple(1, msize, NULL))<0) TEST_ERROR;
+
+    /* Select the random points for reading */
+    if (H5Sselect_elements (s, H5S_SELECT_SET, NPOINTS, (const hsize_t **)coord)<0) TEST_ERROR;
+
+    /* Read from dataset */
+    if (H5Dread(d, H5T_NATIVE_INT, m, s, H5P_DEFAULT, rbuf)<0) TEST_ERROR;
+
+    /* Verify that written and read data are the same */
+    for (i=0; i<NPOINTS; i++)
+        if (rbuf[i]!=wbuf[i]){
+            printf("    Line %d: Incorrect value, wbuf[%u]=%d, rbuf[%u]=%d\n",__LINE__,(unsigned)i,wbuf[i],(unsigned)i,rbuf[i]);
+                TEST_ERROR;
+        } /* end if */
+
+    /* Close resources */
+    if (H5Sclose(s)<0) TEST_ERROR;
+    if (H5Sclose(m)<0) TEST_ERROR;
+    if (H5Dclose(d)<0) TEST_ERROR;
+    if (H5Fclose(file)<0) TEST_ERROR;
+
+    /* Remove file */
+    HDremove(RC_FILENAME);
+
+    PASSED();
+    return 0;
+
+error:
+    H5E_BEGIN_TRY {
+        H5Pclose(dcpl);
+        H5Sclose(s);
+        H5Sclose(m);
+        H5Dclose(d);
+        H5Fclose(file);
+    } H5E_END_TRY;
+    return -1;
+} /* end test_random_chunks() */
+
 
 /*-------------------------------------------------------------------------
  * Function:	main
@@ -3947,6 +4181,7 @@
     nerrors += test_filters_endianess()<0	?1:0;
     nerrors += test_zero_dims(file)<0	?1:0;
     nerrors += test_missing_chunk(file)<0	?1:0;
+    nerrors += test_random_chunks()<0   ?1:0;
 
     if (H5Fclose(file)<0) goto error;
     if (nerrors) goto error;

Modified: packages/hdf5/trunk/test/dtypes.c
===================================================================
--- packages/hdf5/trunk/test/dtypes.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/dtypes.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -3304,7 +3305,7 @@
     hid_t		file=-1, type=-1, space=-1, dset=-1, t2=-1, t3=-1, attr1=-1;
     herr_t		status;
     static hsize_t	ds_size[2] = {10, 20};
-    hsize_t		i,j;
+    size_t		i,j;
     unsigned 		attr_data[10][20];
     char		filename[1024];
 
@@ -5684,9 +5685,16 @@
 #endif
 
 	    /* The hardware conversion */
-	    /* Check for underflow when src is a "larger" float than dst.*/
+	    /* Check for underflow when src is a "larger" float than dst.
+             * Also check if the source value is in the valid range.
+             */
 	    if (FLT_FLOAT==src_type) {
 		HDmemcpy(aligned, saved+j*sizeof(float), sizeof(float));
+
+                /* Make sure the source value is in the valid range for the compiler. */
+		if(HDfabsf(*((float*)aligned)) < FLT_MIN)
+                    continue;
+ 
 		if (FLT_FLOAT==dst_type) {
 		    hw_f = *((float*)aligned);
 		    hw = (unsigned char*)&hw_f;
@@ -5701,6 +5709,10 @@
 		}
 	    } else if (FLT_DOUBLE==src_type) {
 		HDmemcpy(aligned, saved+j*sizeof(double), sizeof(double));
+
+		if(HDfabs(*((double*)aligned)) < DBL_MIN)
+                    continue;
+
 		if (FLT_FLOAT==dst_type) {
 		    hw_f = (float)(*((double*)aligned));
 		    hw = (unsigned char*)&hw_f;
@@ -5717,6 +5729,10 @@
 #if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE
 	    } else {
 		HDmemcpy(aligned, saved+j*sizeof(long double), sizeof(long double));
+
+		if(HDfabsl(*((long double*)aligned)) < LDBL_MIN)
+                    continue;
+
 		if (FLT_FLOAT==dst_type) {
 		    hw_f = *((long double*)aligned);
 		    hw = (unsigned char*)&hw_f;

Modified: packages/hdf5/trunk/test/enum.c
===================================================================
--- packages/hdf5/trunk/test/enum.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/enum.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -132,7 +133,8 @@
 			 E1_RED,   E1_BLUE,  E1_GREEN, E1_BLACK, E1_WHITE,
 			 E1_RED,   E1_WHITE, E1_GREEN, E1_GREEN, E1_BLUE};
     c_e1	data2[NELMTS(data1)];
-    hsize_t	i, ds_size[1]={NELMTS(data1)};
+    hsize_t	ds_size[1]={NELMTS(data1)};
+    size_t	i;
 
     TESTING("no-conversion datasets");
     if ((cwg=H5Gcreate(file, "test_noconv", 0))<0) goto error;
@@ -201,7 +203,8 @@
 test_tr1(hid_t file)
 {
     hid_t	cwg=-1, m_type=-1, f_type=-1, space=-1, dset=-1;
-    hsize_t	i, ds_size[1]={10};
+    hsize_t	ds_size[1]={10};
+    size_t	i;
     c_e1	eval;
     int		ival;
     static c_e1	data1[10]={E1_RED,   E1_GREEN, E1_BLUE,  E1_GREEN, E1_WHITE,
@@ -282,7 +285,8 @@
 test_tr2(hid_t file)
 {
     hid_t	cwg=-1, m_type=-1, f_type=-1, space=-1, dset=-1;
-    hsize_t	i, ds_size[1]={10};
+    hsize_t	ds_size[1]={10};
+    size_t	i;
     c_e1	val1;
     int		val2;
     static c_e1	data1[10]={E1_RED,   E1_GREEN, E1_BLUE,  E1_GREEN, E1_WHITE,

Modified: packages/hdf5/trunk/test/extend.c
===================================================================
--- packages/hdf5/trunk/test/extend.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/extend.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/external.c
===================================================================
--- packages/hdf5/trunk/test/external.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/external.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -589,7 +590,7 @@
     hid_t	dset=-1;		/*dataset			*/
     hid_t	grp=-1;			/*group to emit diagnostics	*/
     int		fd;			/*external file descriptors	*/
-    hsize_t	i, j;			/*miscellaneous counters	*/
+    size_t	i, j;			/*miscellaneous counters	*/
     hssize_t	n;			/*bytes of I/O			*/
     char	filename[1024];		/*file names			*/
     int		part[25], whole[100];	/*raw data buffers		*/

Modified: packages/hdf5/trunk/test/file_handle.c
===================================================================
--- packages/hdf5/trunk/test/file_handle.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/file_handle.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -21,7 +22,7 @@
 
 #include "h5test.h"
 
-#define KB              1024
+#define KB              1024U
 #define FAMILY_NUMBER   4
 #define FAMILY_SIZE     (1*KB)
 #define FAMILY_SIZE2    (5*KB)
@@ -149,7 +150,7 @@
 
     /* Set property list and file name for CORE driver */
     fapl = h5_fileaccess();
-    if(H5Pset_fapl_core(fapl, CORE_INCREMENT, TRUE)<0)
+    if(H5Pset_fapl_core(fapl, (size_t)CORE_INCREMENT, TRUE)<0)
         goto error;
     h5_fixname(FILENAME[1], fapl, filename, sizeof filename);
 
@@ -224,7 +225,7 @@
     hid_t       access_fapl = -1;
     char        filename[1024];
     char        dname[]="dataset";
-    int         i, j;
+    unsigned int i, j;
     int         *fhandle=NULL, *fhandle2=NULL;
     int         buf[FAMILY_NUMBER][FAMILY_SIZE];
     hsize_t     dims[2]={FAMILY_NUMBER, FAMILY_SIZE};

Modified: packages/hdf5/trunk/test/fillval.c
===================================================================
--- packages/hdf5/trunk/test/fillval.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/fillval.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -72,15 +73,15 @@
 {
     hid_t ret_value=-1;
 
-    if((ret_value = H5Tcreate(H5T_COMPOUND, sizeof(comp_datatype)))<0)
+    if((ret_value = H5Tcreate(H5T_COMPOUND, sizeof(comp_datatype))) < 0)
         goto error;
-    if(H5Tinsert(ret_value, "a", HOFFSET(comp_datatype,a), H5T_NATIVE_FLOAT)<0)
+    if(H5Tinsert(ret_value, "a", HOFFSET(comp_datatype, a), H5T_NATIVE_FLOAT) < 0)
         goto error;
-    if(H5Tinsert(ret_value, "x", HOFFSET(comp_datatype,x), H5T_NATIVE_INT)<0)
+    if(H5Tinsert(ret_value, "x", HOFFSET(comp_datatype, x), H5T_NATIVE_INT) < 0)
         goto error;
-    if(H5Tinsert(ret_value, "y", HOFFSET(comp_datatype,y),
-        H5T_NATIVE_DOUBLE)<0) goto error;
-    if(H5Tinsert(ret_value, "z", HOFFSET(comp_datatype,z), H5T_NATIVE_CHAR)<0)
+    if(H5Tinsert(ret_value, "y", HOFFSET(comp_datatype, y), H5T_NATIVE_DOUBLE) < 0)
+        goto error;
+    if(H5Tinsert(ret_value, "z", HOFFSET(comp_datatype, z), H5T_NATIVE_CHAR) < 0)
 	goto error;
 
     return ret_value;
@@ -216,6 +217,100 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	test_getset_vl
+ *
+ * Purpose:	Tests the H5Pget_fill_value() and H5Pset_fill_value()
+ *		functions, using variable-length datatype.
+ *
+ * Return:	Success:	0
+ *		Failure:	number of errors
+ *
+ * Programmer:	Quincey Koziol
+ *              Thursday, May 31, 2007
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+test_getset_vl(hid_t fapl)
+{
+    hsize_t dims[1] = {2};
+    hid_t fileid = (-1), spaceid = (-1), typeid = (-1), datasetid = (-1), plistid = (-1);
+    char fill_value[] = "aaaa";
+    char orig_fill_value[] = "aaaa";
+    char *f1 = fill_value;
+    char *f2;
+    char filename[1024];
+
+    TESTING("property lists, with variable-length datatype");
+
+    /* Create string type. */
+    if((typeid =  H5Tcopy(H5T_C_S1)) < 0) TEST_ERROR
+    if(H5Tset_size(typeid, H5T_VARIABLE) < 0) TEST_ERROR
+
+    /* Set up dataset creation property list, with fill value */
+    if((plistid = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR
+    if(H5Pset_fill_value(plistid, typeid, &f1) < 0) TEST_ERROR
+
+    /* Modify original fill value string */
+    fill_value[0] = 'b';
+
+    /* Retrieve fill value from property */
+    if(H5Pget_fill_value(plistid, typeid, &f2) < 0) TEST_ERROR
+
+    /* Verify that the fill value is the original value */
+    if(HDstrcmp(f2, orig_fill_value)) TEST_ERROR
+
+    /* Release the fill value retrieved */
+    HDfree(f2);
+
+    /* Open file. */
+    h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
+    if((fileid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
+
+    /* Write an dataset of this type. */
+    if((spaceid = H5Screate_simple(1, dims, NULL)) < 0) TEST_ERROR
+    if((datasetid = H5Dcreate(fileid, "Dataset", typeid, spaceid, plistid)) < 0) TEST_ERROR
+
+    /* Close IDs (except datatype) */
+    if(H5Dclose(datasetid) < 0) TEST_ERROR
+    if(H5Pclose(plistid) < 0) TEST_ERROR
+    if(H5Sclose(spaceid) < 0) TEST_ERROR
+    if(H5Fclose(fileid) < 0) TEST_ERROR
+
+
+    /* Re-open file, group & dataset */
+    if((fileid = H5Fopen(filename, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) TEST_ERROR
+    if((datasetid = H5Dopen(fileid, "Dataset")) < 0) TEST_ERROR
+
+    /* Get dataset's creation property list */
+    if((plistid = H5Dget_create_plist(datasetid)) < 0) TEST_ERROR
+
+    /* Query fill value */
+    if(H5Pget_fill_value(plistid, typeid, &f2) < 0) TEST_ERROR
+
+    /* Verify that the fill value is the original value */
+    if(HDstrcmp(f2, orig_fill_value)) TEST_ERROR
+
+    /* Release the fill value retrieved */
+    HDfree(f2);
+
+    /* Close IDs */
+    if(H5Dclose(datasetid) < 0) TEST_ERROR
+    if(H5Fclose(fileid) < 0) TEST_ERROR
+    if(H5Pclose(plistid) < 0) TEST_ERROR
+    if(H5Tclose(typeid) < 0) TEST_ERROR
+
+    PASSED();
+    return 0;
+
+ error:
+    H5E_BEGIN_TRY {
+    } H5E_END_TRY;
+    return 1;
+} /* end test_getset_vl() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	test_create
  *
  * Purpose:	Tests creating datasets that have fill values.
@@ -635,11 +730,11 @@
     /* Read some data and make sure it's the fill value */
     if ((mspace=H5Screate_simple(5, one, NULL))<0) goto error;
     for (i=0; i<1000; i++) {
-	for (j=0; j<5; j++) {
+	for (j=0; j<5; j++)
 	    hs_offset[j] = rand() % cur_size[j];
-	}
 	if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_offset, NULL,
 				one, NULL)<0) goto error;
+
    	/* case for atomic datatype */
 	if (datatype==H5T_INTEGER) {
             if(H5Dread(dset1, H5T_NATIVE_INT, mspace, fspace, H5P_DEFAULT,
@@ -675,7 +770,7 @@
     }
     if (H5Sclose(mspace)<0) goto error;
 
-    /* Write to all odd data locations */
+    /* Select all odd data locations in the file dataset */
     for (i=0, nelmts=1; i<5; i++) {
 	hs_size[i] = cur_size[i]/2;
 	hs_offset[i] = 0;
@@ -686,28 +781,83 @@
     if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_offset, hs_stride,
                             hs_size, NULL)<0) goto error;
 
+    /* Read non-contiguous selection from empty dataset */
+
     /* case for atomic datatype */
-    if(datatype==H5T_INTEGER) {
+    if(datatype == H5T_INTEGER) {
         /*check for overflow*/
-        assert((nelmts*sizeof(int))==(hsize_t)((size_t)(nelmts*sizeof(int))));
-        buf = malloc((size_t)(nelmts*sizeof(int)));
-        for (u=0; u<nelmts; u++) buf[u] = 9999;
-        if (H5Dwrite(dset1, H5T_NATIVE_INT, mspace, fspace, H5P_DEFAULT,
-	    buf)<0) goto error;
+        assert((nelmts * sizeof(int)) == (hsize_t)((size_t)(nelmts * sizeof(int))));
+        buf = malloc((size_t)(nelmts * sizeof(int)));
+
+        if(H5Dread(dset1, H5T_NATIVE_INT, mspace, fspace, H5P_DEFAULT, buf) < 0)
+            goto error;
+
+        /* Verify values, except if no fill value written */
+        if(fill_time != H5D_FILL_TIME_NEVER) {
+            for(u = 0; u < nelmts; u++) {
+                if(buf[u] != fillval) {
+                    H5_FAILED();
+                    puts("    Value read was not a fill value.");
+                    HDfprintf(stdout,"    Elmt={%Hu, %Hu, %Hu, %Hu, %Hu}, read: %u, "
+                           "Fill value: %u\n",
+                           hs_offset[0], hs_offset[1],
+                           hs_offset[2], hs_offset[3],
+                           hs_offset[4], buf[u], fillval);
+                    goto error;
+                } /* end if */
+            } /* end for */
+        } /* end if */
     }
     /* case for compound datatype */
-    else if(datatype==H5T_COMPOUND) {
-        assert((nelmts*sizeof(comp_datatype))==
-	    (hsize_t)((size_t)(nelmts*sizeof(comp_datatype))));
-	buf_c = (comp_datatype*)calloc((size_t)nelmts,sizeof(comp_datatype));
-        for (u=0; u<nelmts; u++) {
+    else if(datatype == H5T_COMPOUND) {
+        /*check for overflow*/
+        assert((nelmts * sizeof(comp_datatype))==
+	    (hsize_t)((size_t)(nelmts * sizeof(comp_datatype))));
+	buf_c = (comp_datatype *)malloc((size_t)nelmts * sizeof(comp_datatype));
+
+        if(H5Dread(dset2, ctype_id, mspace, fspace, H5P_DEFAULT, buf_c) < 0)
+            goto error;
+
+        /* Verify values, except if no fill value written */
+        if(fill_time != H5D_FILL_TIME_NEVER) {
+            for(u = 0; u < nelmts; u++) {
+                if(buf_c[u].a != fill_c.a || buf_c[u].x != fill_c.x ||
+                        buf_c[u].y != fill_c.y || buf_c[u].z != fill_c.z) {
+                    H5_FAILED();
+                    puts("    Value read was not a fill value.");
+                    HDfprintf(stdout,"    Elmt={%Hu, %Hu, %Hu, %Hu, %Hu}, read: %f, %d, %f, %c"
+                            "Fill value: %f, %d, %f, %c\n",
+                            hs_offset[0], hs_offset[1],
+                            hs_offset[2], hs_offset[3],
+                            hs_offset[4],
+                            buf_c[u].a, buf_c[u].x, buf_c[u].y, buf_c[u].z,
+                            fill_c.a, fill_c.x, fill_c.y, fill_c.z);
+                    goto error;
+                } /* end if */
+            } /* end for */
+        } /* end if */
+    }
+
+    /* Write to all odd data locations */
+
+    /* case for atomic datatype */
+    if(datatype == H5T_INTEGER) {
+        for(u = 0; u < nelmts; u++)
+            buf[u] = 9999;
+        if(H5Dwrite(dset1, H5T_NATIVE_INT, mspace, fspace, H5P_DEFAULT, buf) < 0)
+            goto error;
+    }
+    /* case for compound datatype */
+    else if(datatype == H5T_COMPOUND) {
+        memset(buf_c, 0, ((size_t)nelmts * sizeof(comp_datatype)));
+        for(u = 0; u < nelmts; u++) {
 	    buf_c[u].a = (float)1111.11;
  	    buf_c[u].x = 2222;
 	    buf_c[u].y = 3333.3333;
 	    buf_c[u].z = 'd';
 	}
-        if (H5Dwrite(dset2, ctype_id, mspace, fspace, H5P_DEFAULT,
-            buf_c)<0) goto error;
+        if(H5Dwrite(dset2, ctype_id, mspace, fspace, H5P_DEFAULT, buf_c) < 0)
+            goto error;
     }
 
     /* Check if space is allocated */
@@ -1432,6 +1582,7 @@
     fapl = h5_fileaccess();
 
     nerrors += test_getset();
+    nerrors += test_getset_vl(fapl);
 
     /* Chunked storage layout tests */
     if (test_chunk) {

Modified: packages/hdf5/trunk/test/flush1.c
===================================================================
--- packages/hdf5/trunk/test/flush1.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/flush1.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -54,7 +55,7 @@
     hid_t	fapl, file, dcpl, space, dset, groups, grp;
     hsize_t	ds_size[2] = {100, 100};
     hsize_t	ch_size[2] = {5, 5};
-    hsize_t	i, j;
+    size_t	i, j;
     char	name[1024];
 
     h5_reset();

Modified: packages/hdf5/trunk/test/flush2.c
===================================================================
--- packages/hdf5/trunk/test/flush2.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/flush2.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -53,7 +54,7 @@
     hid_t	fapl, file, space, dset, groups, grp;
     hsize_t	ds_size[2];
     double	error;
-    hsize_t	i, j;
+    size_t	i, j;
     char	name[1024];
 
     h5_reset();

Modified: packages/hdf5/trunk/test/gass_append.c
===================================================================
--- packages/hdf5/trunk/test/gass_append.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/gass_append.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/gass_read.c
===================================================================
--- packages/hdf5/trunk/test/gass_read.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/gass_read.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/gass_write.c
===================================================================
--- packages/hdf5/trunk/test/gass_write.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/gass_write.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/getname.c
===================================================================
--- packages/hdf5/trunk/test/getname.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/getname.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -19,8 +20,13 @@
  * Purpose:     Tests the "ID to name" functionality
  */
 
-#include "hdf5.h"
+#define H5G_PACKAGE		/*suppress error about including H5Gpkg	  */
+
+/* Define this macro to indicate that the testing APIs should be available */
+#define H5G_TESTING
+
 #include "h5test.h"
+#include "H5Gpkg.h"		/* Groups				*/
 
 
 /* Compound datatype */
@@ -42,18 +48,42 @@
 #define NX 4
 #define NY 5
 
-static int check_name( char *name, const char* check )
+#define NAME_BUF_SIZE   64
+#define SMALL_NAME_BUF_SIZE   2
+
+static int
+check_name(hid_t id, const char *chk_name, const char *chk_user_path)
 {
+    char name[NAME_BUF_SIZE];           /* Buffer to hold name and its size */
+    char user_path[NAME_BUF_SIZE];      /* Buffer to hold user path */
+    size_t user_path_len;               /* Length of user path */
+    unsigned user_path_hidden;          /* Whether the user path is hidden */
 
- int ret = HDstrcmp( name, check );
- HDstrcpy( name, "" );
- return ret;
+    /* Get name */
+    *name = '\0';
+    if(H5Iget_name(id, name, NAME_BUF_SIZE) < 0) goto error;
 
-}
+    /* Get user path */
+    *user_path = '\0';
+    if(H5G_user_path_test(id, user_path, &user_path_len, &user_path_hidden) < 0) goto error;
 
-#define NAME_BUF_SIZE   40
-#define SMALL_NAME_BUF_SIZE   2
+    /* Check on name from H5Iget_name() */
+    if(HDstrcmp(name, chk_name)) goto error;
 
+    /* Check on user path */
+    if(HDstrcmp(user_path, chk_user_path)) goto error;
+
+    /* Check that if user path is hidden, the name from H5Iget_name() and the user path should be different */
+    if(user_path_hidden && !HDstrcmp(chk_name, chk_user_path)) goto error;
+
+    /* Everything matches */
+    return 0;
+
+error:
+    /* Something doesn't match or something bad happened */
+    return -1;
+}
+
 int main( void )
 {
  char filename0[1024];
@@ -68,16 +98,7 @@
  hid_t   type_id, type2_id;
  hsize_t dims[1] = { 5 };
 
- /*buffer to hold name and its size */
- char    name[NAME_BUF_SIZE];
- size_t  size=NAME_BUF_SIZE;
-
- /*small buffer to hold name and its size */
- char    name2[SMALL_NAME_BUF_SIZE];
- size_t  size2=SMALL_NAME_BUF_SIZE;
-
- /*dynamic buffer to hold name and its size */
- char    *name3 = NULL;
+ /* Name length */
  size_t  name_len;
 
  /* Reset the library and get the file access property list */
@@ -91,7 +112,7 @@
  h5_fixname(FILENAME[3], fapl, filename3, sizeof filename3);
 
  /* Create a new file_id using default properties. */
- if ((file_id = H5Fcreate( filename0, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
+ if ((file_id = H5Fcreate( filename0, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
 
 
 /*-------------------------------------------------------------------------
@@ -102,13 +123,10 @@
  TESTING("H5Iget_name with H5Gcreate, one group");
 
  /* Create group "g0" in the root group using absolute name */
- if ((group_id = H5Gcreate( file_id, "/g0", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g0", 0 ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g0" )!=0) goto out;
+ if(check_name(group_id, "/g0", "/g0") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -125,24 +143,16 @@
  TESTING("H5Iget_name with H5Gcreate, more than one group");
 
  /* Create group "g1" in the root group using absolute name */
- if ((group_id = H5Gcreate( file_id, "/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g1", 0 ))<0) TEST_ERROR;
 
  /* Create group "g2" in group "g1" using absolute name */
- if ((group2_id = H5Gcreate( file_id, "/g1/g2", 0 ))<0) goto out;
+ if ((group2_id = H5Gcreate( file_id, "/g1/g2", 0 ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1" )!=0)
-  goto out;
+ if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1/g2" )!=0)
-  goto out;
+ if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -159,24 +169,16 @@
  TESTING("H5Iget_name with H5Gopen");
 
  /* Reopen the group */
- if ((group_id = H5Gopen( file_id, "/g1" ))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g1" ))<0) TEST_ERROR;
 
  /* Reopen the group */
- if ((group2_id = H5Gopen( file_id, "/g1/g2" ))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g1/g2" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1" )!=0)
-  goto out;
+ if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1/g2" )!=0)
-  goto out;
+ if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -194,36 +196,26 @@
 
  TESTING("H5Iget_name with H5Dcreate");
 
- /* Create the data space  */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+ /* Create the dataspace  */
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
 
  /* Create a new dataset */
- if ((dataset_id = H5Dcreate( file_id , "d1", H5T_NATIVE_INT, space_id,
-  H5P_DEFAULT ))<0) goto out;
+ if ((dataset_id = H5Dcreate( file_id , "d1", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/d1" )!=0)
-  goto out;
+ if(check_name(dataset_id, "/d1", "/d1") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
 
  /* Reopen the group */
- if ((group_id = H5Gopen( file_id, "g1" ))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "g1" ))<0) TEST_ERROR;
 
  /* Create a new dataset inside "g1" */
- if ((dataset_id = H5Dcreate( group_id , "d1", H5T_NATIVE_INT, space_id,
-  H5P_DEFAULT ))<0) goto out;
+ if ((dataset_id = H5Dcreate( group_id , "d1", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1/d1" )!=0)
-  goto out;
+ if(check_name(dataset_id, "/g1/d1", "/g1/d1") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -242,31 +234,23 @@
  TESTING("H5Iget_name with H5Dopen");
 
  /* Reopen the dataset */
- if ((dataset_id = H5Dopen( file_id, "d1"))<0) goto out;
+ if ((dataset_id = H5Dopen( file_id, "d1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/d1" )!=0)
-  goto out;
+ if(check_name(dataset_id, "/d1", "/d1") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
 
 
  /* Reopen the group */
- if ((group_id = H5Gopen( file_id, "g1" ))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "g1" ))<0) TEST_ERROR;
 
  /* Reopen the dataset */
- if ((dataset_id = H5Dopen( group_id, "d1"))<0) goto out;
+ if ((dataset_id = H5Dopen( group_id, "d1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1/d1" )!=0)
-  goto out;
+ if(check_name(dataset_id, "/g1/d1", "/g1/d1") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -284,14 +268,14 @@
  TESTING("H5Iget_name with a long path");
 
  /* Create group "g2/bar/baz" */
- if ((group_id = H5Gcreate( file_id, "g2", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "g2/bar", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "g2/bar/baz", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g2", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "g2/bar", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "g2/bar/baz", 0 ))<0) TEST_ERROR;
 
  /* Create a dataset */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
  if ((dataset_id = H5Dcreate( group3_id , "d1", H5T_NATIVE_INT, space_id,
-  H5P_DEFAULT ))<0) goto out;
+  H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -301,14 +285,10 @@
  H5Gclose( group3_id );
 
  /* Reopen the dataset */
- if ((dataset_id = H5Dopen( file_id, "/g2/bar/baz/d1"))<0) goto out;
+ if ((dataset_id = H5Dopen( file_id, "/g2/bar/baz/d1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g2/bar/baz/d1" )!=0)
-  goto out;
+ if(check_name(dataset_id, "/g2/bar/baz/d1", "/g2/bar/baz/d1") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -324,22 +304,18 @@
  TESTING("H5Iget_name with H5Tcommit");
 
  /* Create a datatype */
- if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) goto out;
+ if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) TEST_ERROR;
 
  /* Insert fields */
- if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) goto out;
- if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) goto out;
- if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) goto out;
+ if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) TEST_ERROR;
+ if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) TEST_ERROR;
+ if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) TEST_ERROR;
 
  /* Save datatype for later */
- if (H5Tcommit (file_id, "t1", type_id)<0) goto out;
+ if (H5Tcommit (file_id, "t1", type_id)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( type_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/t1" )!=0)
-  goto out;
+ if(check_name(type_id, "/t1", "/t1") < 0) TEST_ERROR;
 
  /* Close datatype */
  H5Tclose(type_id);
@@ -354,16 +330,11 @@
  TESTING("H5Iget_name with H5Topen");
 
  /* Open the named datatype */
- if((type_id=H5Topen(file_id, "t1"))<0) goto out;
+ if((type_id=H5Topen(file_id, "t1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( type_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/t1" )!=0)
-  goto out;
+ if(check_name(type_id, "/t1", "/t1") < 0) TEST_ERROR;
 
-
  /* Close datatype */
  H5Tclose(type_id);
 
@@ -379,16 +350,13 @@
  TESTING("H5Iget_name with H5Gmove and H5Gopen");
 
  /* Reopen the group */
- if ((group_id = H5Gopen( file_id, "/g1" ))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g1" ))<0) TEST_ERROR;
 
  /* Rename group */
- if (H5Gmove( file_id, "/g1", "/g1a" )<0)  goto out;
+ if (H5Gmove( file_id, "/g1", "/g1a" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1a" )!=0) goto out;
+ if(check_name(group_id, "/g1a", "/g1a") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -406,17 +374,13 @@
  TESTING("H5Iget_name with H5Gmove and H5Dopen");
 
   /* Reopen the dataset */
- if ((dataset_id = H5Dopen( file_id, "/d1"))<0) goto out;
+ if ((dataset_id = H5Dopen( file_id, "/d1"))<0) TEST_ERROR;
 
  /* Rename dataset */
- if (H5Gmove( file_id, "/d1", "/d1a" )<0) goto out;
+ if (H5Gmove( file_id, "/d1", "/d1a" )<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/d1a" )!=0)
-  goto out;
+ if(check_name(dataset_id, "/d1a", "/d1a") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -434,19 +398,14 @@
  TESTING("H5Iget_name with H5Gmove and H5Topen");
 
  /* Open the named datatype */
- if((type_id=H5Topen(file_id, "/t1"))<0) goto out;
+ if((type_id=H5Topen(file_id, "/t1"))<0) TEST_ERROR;
 
  /* Rename datatype */
- if (H5Gmove( file_id, "/t1", "/t1a" )<0) goto out;
+ if (H5Gmove( file_id, "/t1", "/t1a" )<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( type_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/t1a" )!=0)
-  goto out;
+ if(check_name(type_id, "/t1a", "/t1a") < 0) TEST_ERROR;
 
-
  /* Close datatype */
  H5Tclose(type_id);
 
@@ -460,55 +419,37 @@
  TESTING("H5Iget_name with H5Gmove and relative names");
 
  /* Create group "/g3" */
- if ((group_id = H5Gcreate( file_id, "/g3", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g3", 0 ))<0) TEST_ERROR;
 
  /* Create group "/g3/foo" using absolute name */
- if ((group2_id = H5Gcreate( file_id, "/g3/foo1", 0 ))<0) goto out;
+ if ((group2_id = H5Gcreate( file_id, "/g3/foo1", 0 ))<0) TEST_ERROR;
 
  /* Open group "/g3/foo" again */
- if ((group3_id = H5Gopen( file_id, "/g3/foo1"))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g3/foo1"))<0) TEST_ERROR;
 
  /* Rename group */
- if (H5Gmove( group_id, "foo1", "foo2" )<0)  goto out;
+ if (H5Gmove( group_id, "foo1", "foo2" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3" )!=0) goto out;
+ if(check_name(group_id, "/g3", "/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/foo2" )!=0) goto out;
+ if(check_name(group2_id, "/g3/foo2", "/g3/foo2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/foo2" )!=0) goto out;
+ if(check_name(group3_id, "/g3/foo2", "/g3/foo2") < 0) TEST_ERROR;
 
  /* Rename group again */
- if (H5Gmove( file_id, "g3/foo2", "g3/foo1" )<0)  goto out;
+ if (H5Gmove( file_id, "g3/foo2", "g3/foo1" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3" )!=0) goto out;
+ if(check_name(group_id, "/g3", "/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/foo1" )!=0) goto out;
+ if(check_name(group2_id, "/g3/foo1", "/g3/foo1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/foo1" )!=0) goto out;
+ if(check_name(group3_id, "/g3/foo1", "/g3/foo1") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -528,53 +469,37 @@
  TESTING("H5Iget_name with H5Gmove and a long path");
 
  /* Create group "g4/A/B" */
- if ((group_id = H5Gcreate( file_id, "g4", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "g4/A", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "g4/A/B", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g4", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "g4/A", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "g4/A/B", 0 ))<0) TEST_ERROR;
 
  /* Create group "g5/C" */
- if ((group4_id = H5Gcreate( file_id, "g5", 0 ))<0) goto out;
- if ((group5_id = H5Gcreate( file_id, "g5/C", 0 ))<0) goto out;
+ if ((group4_id = H5Gcreate( file_id, "g5", 0 ))<0) TEST_ERROR;
+ if ((group5_id = H5Gcreate( file_id, "g5/C", 0 ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g4/A/B" )!=0)
-  goto out;
+ if(check_name(group3_id, "/g4/A/B", "/g4/A/B") < 0) TEST_ERROR;
 
  /* Move group "B" to "D"*/
- if (H5Gmove( file_id, "/g4/A/B", "/g5/C/D" )<0)  goto out;
+ if (H5Gmove( file_id, "/g4/A/B", "/g5/C/D" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g5/C/D" )!=0) goto out;
+ if(check_name(group3_id, "/g5/C/D", "/g5/C/D") < 0) TEST_ERROR;
 
  /* Move group "/g5/C/D" back to "/g4/A/B" using relative name */
- if (H5Gmove2( group5_id, "D", group2_id, "B" )<0)  goto out;
+ if (H5Gmove2( group5_id, "D", group2_id, "B" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g4/A/B" )!=0) goto out;
+ if(check_name(group3_id, "/g4/A/B", "/g4/A/B") < 0) TEST_ERROR;
 
  /* Move group "/g4/A/B" to "/g4/F/B" using relative name */
- if (H5Gmove2( group_id, "A", group_id, "F")<0)  goto out;
+ if (H5Gmove2( group_id, "A", group_id, "F")<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g4/F/B" )!=0) goto out;
+ if(check_name(group3_id, "/g4/F/B", "/g4/F/B") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g4/F" )!=0) goto out;
+ if(check_name(group2_id, "/g4/F", "/g4/F") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -594,32 +519,22 @@
  TESTING("H5Iget_name with H5Gmove and a long path #2");
 
  /* Create group "g6/A/B" and "g7" */
- if ((group_id = H5Gcreate( file_id, "g6", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "g6/A", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "g6/A/B", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file_id, "g7", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g6", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "g6/A", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "g6/A/B", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file_id, "g7", 0 ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g6/A/B" )!=0)
-  goto out;
+ if(check_name(group3_id, "/g6/A/B", "/g6/A/B") < 0) TEST_ERROR;
 
  /* Move group "A" to "C"*/
- if (H5Gmove( file_id, "/g6/A", "/g7/C" )<0)  goto out;
+ if (H5Gmove( file_id, "/g6/A", "/g7/C" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g7/C" )!=0) goto out;
+ if(check_name(group2_id, "/g7/C", "/g7/C") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g7/C/B" )!=0) goto out;
+ if(check_name(group3_id, "/g7/C/B", "/g7/C/B") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -637,16 +552,13 @@
  TESTING("H5Iget_name with H5Gunlink");
 
   /* Create a new group. */
- if ((group_id = H5Gcreate( file_id, "/g8", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g8", 0 ))<0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file_id, "/g8")<0) goto out;
+ if (H5Gunlink( file_id, "/g8")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -661,47 +573,35 @@
  TESTING("H5Iget_name with H5Gunlink and a long path");
 
  /* Create group "g9/a/b" */
- if ((group_id = H5Gcreate( file_id, "g9", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "g9/a", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "g9/a/b", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g9", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "g9/a", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "g9/a/b", 0 ))<0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file_id, "/g9/a")<0) goto out;
+ if (H5Gunlink( file_id, "/g9/a")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group2_id );
  H5Gclose( group3_id );
 
  /* Recreate groups */
- if ((group2_id = H5Gcreate( group_id, "a", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) goto out;
+ if ((group2_id = H5Gcreate( group_id, "a", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) TEST_ERROR;
 
  /* Delete, using relative path */
- if (H5Gunlink( group_id, "a")<0) goto out;
+ if (H5Gunlink( group_id, "a")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group2_id );
@@ -711,33 +611,27 @@
  H5Gclose( group_id );
 
  /* Create group "g10/a/b" */
- if ((group_id = H5Gcreate( file_id, "g10", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "g10/a", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "g10/a/b", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g10", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "g10/a", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "g10/a/b", 0 ))<0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file_id, "/g10/a/b")<0) goto out;
+ if (H5Gunlink( file_id, "/g10/a/b")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group3_id );
 
  /* Recreate group */
- if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) goto out;
+ if ((group3_id = H5Gcreate( group_id, "a/b", 0 ))<0) TEST_ERROR;
 
  /* Delete, using relative path */
- if (H5Gunlink( group_id, "a/b")<0) goto out;
+ if (H5Gunlink( group_id, "a/b")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group3_id );
@@ -757,28 +651,22 @@
 
 
   /* Create group "g11/g" */
- if ((group_id = H5Gcreate( file_id, "g11", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "g11/g", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g11", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "g11/g", 0 ))<0) TEST_ERROR;
 
  /* Create two datasets "g11/d" and "g11/g/d"*/
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
- if ((dataset_id = H5Dcreate( group_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
- if ((dataset2_id = H5Dcreate( group2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
+ if ((dataset_id = H5Dcreate( group_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
+ if ((dataset2_id = H5Dcreate( group2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file_id, "/g11/d")<0) goto out;
+ if (H5Gunlink( file_id, "/g11/d")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(dataset_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g11/g/d" )!=0) goto out;
+ if(check_name(dataset2_id, "/g11/g/d", "/g11/g/d") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -798,7 +686,7 @@
  TESTING("H5Iget_name with H5Fmount; with IDs on the list");
 
  /* Create a group "g12" in the first file */
- if ((group_id = H5Gcreate( file_id, "/g12", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g12", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -806,28 +694,25 @@
  /* Create second file and dataset "d" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- /* Create a data space  */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+ /* Create a dataspace  */
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
 
  /* Create the dataset */
- if ((dataset_id = H5Dcreate( file1_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
+ if ((dataset_id = H5Dcreate( file1_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
 
  /* Mount second file under "g12" in the first file */
- if (H5Fmount(file_id, "/g12", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g12", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Access dataset D in the first file under "/G/D" name */
- if ((dataset_id = H5Dopen( file_id, "/g12/d"))<0) goto out;
+ if ((dataset_id = H5Dopen( file_id, "/g12/d"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g12/d" )!=0) goto out;
+ if(check_name(dataset_id, "/g12/d", "/g12/d") < 0) TEST_ERROR;
 
- if (H5Funmount(file_id, "/g12")<0) goto out;
+ if (H5Funmount(file_id, "/g12")<0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -846,9 +731,9 @@
  TESTING("H5Iget_name with H5Fmount; long name");
 
  /* Create a group "g13/g1/g2" in the first file */
- if ((group_id = H5Gcreate( file_id, "/g13", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g13/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g13/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g13", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g13/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g13/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -858,9 +743,9 @@
  /* Create second file and group "g" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g14", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g14/g3", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g14/g3/g4", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g14", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g14/g3", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g14/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -868,78 +753,69 @@
  H5Gclose( group3_id );
 
  /* Mount second file under "/g13/g1" in the first file */
- if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Access group in the first file */
- if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
 
- if (H5Funmount(file_id, "/g13/g1")<0) goto out;
+ if (H5Funmount(file_id, "/g13/g1")<0) TEST_ERROR;
 
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
 
+
+ /* Access group in the file to mount */
+ if ((group3_id = H5Gopen( file1_id, "/g14/g3/g4"))<0) TEST_ERROR;
+
  /* Mount second file under "/g13/g1" in the first file (again) */
- if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Get a group ID for the parent of the newly mounted group */
- if ((group2_id = H5Gopen( file_id, "/g13"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g13"))<0) TEST_ERROR;
 
  /* Access group in the first file */
- if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g14/g3/g4", "/g14/g3/g4") < 0) TEST_ERROR;
 
- if (H5Funmount(group2_id, "g1")<0) goto out;
+ if (H5Funmount(group2_id, "g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g14/g3/g4", "/g14/g3/g4") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
+ H5Gclose( group3_id );
 
  /* Mount second file under "/g13/g1" in the first file (again) */
- if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g13/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Get a group ID for the newly mounted group */
- if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR;
 
  /* Access group in the first file */
- if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR;
 
- if (H5Funmount(group2_id, ".")<0) goto out;
+ if (H5Funmount(group2_id, ".")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -947,56 +823,41 @@
 
  /* Mount second file under "/g13/g1" in the first file, using relative path */
 
- if ((group3_id = H5Gopen( file_id, "/g13"))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g13"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13" )!=0) goto out;
+ if(check_name(group3_id, "/g13", "/g13") < 0) TEST_ERROR;
 
- if (H5Fmount(group3_id, "g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(group3_id, "g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Get a group ID for the newly mounted group */
- if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR;
 
  /* Access group in the first file */
- if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
 
  /* Access group in the first file, with relative path */
- if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
 
- if (H5Funmount(group2_id, ".")<0) goto out;
+ if (H5Funmount(group2_id, ".")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group2_id );
@@ -1004,56 +865,42 @@
 
  /* Mount second file under "/g13/g1" in the first file, using relative path */
 
- if ((group3_id = H5Gopen( file_id, "/g13/g1"))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1" )!=0) goto out;
+ if(check_name(group3_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR;
 
- if (H5Fmount(group3_id, ".", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(group3_id, ".", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Get a group ID for the newly mounted group */
- if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g13/g1"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR;
 
  /* Access group in the first file */
- if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g13/g1/g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
 
  /* Access group in the first file, with relative path */
- if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) goto out;
+ if ((group_id = H5Gopen( group2_id, "g14/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g13/g1/g14/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g13/g1/g14/g3/g4", "/g13/g1/g14/g3/g4") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
 
- if (H5Funmount(group2_id, ".")<0) goto out;
+ if (H5Funmount(group2_id, ".")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g13/g1", "/g13/g1") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group2_id );
@@ -1073,10 +920,10 @@
  TESTING("H5Iget_name with H5Funmount");
 
  /* Create a group "g15/g1/g2" in the first file */
- if ((group_id = H5Gcreate( file_id, "/g15", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g15/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g15/g1/g2", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file_id, "/g15/g1/g2/g3", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g15", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g15/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g15/g1/g2", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file_id, "/g15/g1/g2/g3", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1087,9 +934,9 @@
  /* Create second file and group "g" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g16", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g16/g4", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g16/g4/g5", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g16", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g16/g4", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g16/g4/g5", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1097,43 +944,27 @@
  H5Gclose( group3_id );
 
  /* Access group in the first file */
- if ((group_id = H5Gopen( file_id, "/g15/g1/g2/g3"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g15/g1/g2/g3"))<0) TEST_ERROR;
 
  /* Mount second file under "/g13/g1" in the first file */
- if (H5Fmount(file_id, "/g15/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g15/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Access group in the second file */
- if ((group2_id = H5Gopen( file_id, "/g15/g1/g16/g4/g5"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g15/g1/g16/g4/g5"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0)
-  goto out;
+ if(check_name(group_id, "", "/g15/g1/g2/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g15/g1/g16/g4/g5" )!=0)
-  goto out;
+ if(check_name(group2_id, "/g15/g1/g16/g4/g5", "/g15/g1/g16/g4/g5") < 0) TEST_ERROR;
 
- if (H5Funmount(file_id, "/g15/g1")<0) goto out;
+ if (H5Funmount(file_id, "/g15/g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g15/g1/g2/g3" )!=0)
-  goto out;
+ if(check_name(group_id, "/g15/g1/g2/g3", "/g15/g1/g2/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0)
-  goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1152,25 +983,25 @@
  TESTING("H5Iget_name with a defined type dataset");
 
  /* Create a datatype */
- if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) goto out;
+ if ((type_id = H5Tcreate (H5T_COMPOUND, sizeof(s1_t)))<0) TEST_ERROR;
 
  /* Insert fields */
- if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) goto out;
- if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) goto out;
- if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) goto out;
+ if (H5Tinsert (type_id, "a", HOFFSET(s1_t,a), H5T_NATIVE_INT)<0) TEST_ERROR;
+ if (H5Tinsert (type_id, "b", HOFFSET(s1_t,b), H5T_NATIVE_INT)<0) TEST_ERROR;
+ if (H5Tinsert (type_id, "c", HOFFSET(s1_t,c), H5T_NATIVE_FLOAT)<0) TEST_ERROR;
 
   /* Create group "g17" */
- if ((group_id = H5Gcreate( file_id, "g17", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "g17", 0 ))<0) TEST_ERROR;
 
  /* Save datatype for later */
- if (H5Tcommit (group_id, "t", type_id)<0) goto out;
+ if (H5Tcommit (group_id, "t", type_id)<0) TEST_ERROR;
 
- /* Create a data space  */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+ /* Create a dataspace  */
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
 
  /* Create a new dataset */
  if ((dataset_id = H5Dcreate( group_id , "d", type_id, space_id,
-  H5P_DEFAULT ))<0) goto out;
+  H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -1179,30 +1010,22 @@
  H5Gclose( group_id );
 
  /* Open the named datatype */
- if((type_id=H5Topen(file_id, "/g17/t"))<0) goto out;
+ if((type_id=H5Topen(file_id, "/g17/t"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( type_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g17/t" )!=0)
-  goto out;
+ if(check_name(type_id, "/g17/t", "/g17/t") < 0) TEST_ERROR;
 
  /* Close datatype */
  H5Tclose(type_id);
 
  /* Reopen the dataset */
- if ((dataset_id = H5Dopen( file_id, "/g17/d"))<0) goto out;
+ if ((dataset_id = H5Dopen( file_id, "/g17/d"))<0) TEST_ERROR;
 
  /* Get datatype*/
- if((type_id=H5Dget_type(dataset_id))<0) goto out;
+ if((type_id=H5Dget_type(dataset_id))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( type_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0)
-  goto out;
+ if(check_name(type_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -1219,22 +1042,19 @@
 TESTING("H5Iget_name with datasets that have two names");
 
 /* Open dataset named "d"*/
-if ((dataset_id = H5Dopen( file_id, "/g17/d"))<0) goto out;
+if ((dataset_id = H5Dopen( file_id, "/g17/d"))<0) TEST_ERROR;
 
 /* Create link to dataset named "link" */
-if (H5Glink2(dataset_id,".",H5G_LINK_HARD,file_id,"/g17/link")<0) goto out;
-if ((dataset2_id = H5Dopen( file_id, "/g17/link"))<0) goto out;
+if (H5Glink2(dataset_id,".",H5G_LINK_HARD,file_id,"/g17/link")<0) TEST_ERROR;
+if ((dataset2_id = H5Dopen( file_id, "/g17/link"))<0) TEST_ERROR;
 
 /* Make sure that the two IDs use two different names */
-if(H5Iget_name(dataset_id, name, size)<0) goto out;
-if(check_name(name, "/g17/d")!=0) goto out;
+ if(check_name(dataset_id, "/g17/d", "/g17/d") < 0) TEST_ERROR;
+ if(check_name(dataset2_id, "/g17/link", "/g17/link") < 0) TEST_ERROR;
 
-if(H5Iget_name(dataset2_id, name, size)<0) goto out;
-if(check_name(name, "/g17/link")!=0) goto out;
+if(H5Dclose(dataset_id)<0) TEST_ERROR;
+if(H5Dclose(dataset2_id)<0) TEST_ERROR;
 
-if(H5Dclose(dataset_id)<0) goto out;
-if(H5Dclose(dataset2_id)<0) goto out;
-
 PASSED();
 
 /*-------------------------------------------------------------------------
@@ -1245,34 +1065,28 @@
  TESTING("H5Iget_name with different files");
 
  /* Create a new file using default properties. */
- if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
+ if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
 
 /* Create a new file using default properties. */
- if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
+ if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
 
-  /* Create the data space  */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+  /* Create the dataspace  */
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
 
  /* Create a new dataset */
- if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
+ if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Create a new dataset */
- if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
+ if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file2_id, "/d")<0) goto out;
+ if (H5Gunlink( file2_id, "/d")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(dataset_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/d" )!=0) goto out;
+ if(check_name(dataset2_id, "/d", "/d") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -1292,34 +1106,28 @@
  TESTING("H5Iget_name with different files #2");
 
  /* Create a new file using default properties. */
- if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
+ if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
 
 /* Create a new file using default properties. */
- if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
+ if ((file3_id = H5Fcreate( filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
 
-  /* Create the data space  */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+  /* Create the dataspace  */
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
 
  /* Create a new dataset */
- if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
+ if ((dataset_id = H5Dcreate( file2_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Create a new dataset */
- if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) goto out;
+ if ((dataset2_id = H5Dcreate( file3_id , "d", H5T_NATIVE_INT, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file3_id, "/d")<0) goto out;
+ if (H5Gunlink( file3_id, "/d")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/d"  )!=0) goto out;
+ if(check_name(dataset_id, "/d", "/d") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( dataset2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(dataset2_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Dclose( dataset_id );
@@ -1338,17 +1146,22 @@
  TESTING("H5Iget_name with a small buffer for name");
 
  /* Reopen the group */
- if ((group_id = H5Gopen( file_id, "/g17" ))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g17" ))<0) TEST_ERROR;
 
+{
+ /*small buffer to hold name and its size */
+ char    name2[SMALL_NAME_BUF_SIZE];
+
  /* Get name */
- name_len=H5Iget_name( group_id, name2, size2 );
+ name_len=H5Iget_name( group_id, name2, SMALL_NAME_BUF_SIZE );
 
- if ( name_len > size2 )
-  /* Get name with a larger buffer */
-  name_len=H5Iget_name( group_id, name, size );
+ /* Check that name is longer */
+ if(name_len <= SMALL_NAME_BUF_SIZE) TEST_ERROR;
+ if(HDstrcmp(name2, "/")) TEST_ERROR;
+}
 
  /* Verify */
- if (check_name( name, "/g17" )!=0) goto out;
+ if(check_name(group_id, "/g17", "/g17") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1364,30 +1177,34 @@
  TESTING("H5Iget_name with a dynamic buffer for name");
 
  /* Reopen the group */
- if ((group_id = H5Gopen( file_id, "/g17" ))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g17" ))<0) TEST_ERROR;
 
  /* Get name */
- name_len=H5Iget_name( group_id, NULL, size );
+ name_len = H5Iget_name(group_id, NULL, NAME_BUF_SIZE);
 
+{
+ /* dynamic buffer to hold name */
+ char    *name3;
+
  /* Include the extra null character */
- name3 = malloc(name_len+1);
+ name3 = HDmalloc(name_len + 1);
+ if(!name3) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name3, name_len+1 )<0) goto out;
+ /* Get name with dynamic buffer */
+ if(H5Iget_name(group_id, name3, name_len + 1) < 0) TEST_ERROR;
 
  /* Verify */
- if (check_name( name3, "/g17"  )!=0)
-  goto out;
+ if(HDstrcmp(name3, "/g17")) TEST_ERROR;
+ *name3 = '\0';
 
-  /* Get name */
- if (H5Iget_name( group_id, name3, 3 )<0) goto out;
+  /* Get name with smaller buffer */
+ if(H5Iget_name(group_id, name3, 3) < 0) TEST_ERROR;
 
  /* Verify */
- if (check_name( name3, "/g"  )!=0)
-  goto out;
+ if(HDstrcmp(name3, "/g")) TEST_ERROR;
 
- if ( name3 )
-  free(name3);
+ HDfree(name3);
+}
 
  /* Close */
  H5Gclose( group_id );
@@ -1403,22 +1220,29 @@
 
  TESTING("H5Iget_name with invalid IDs");
 
- /* Create a data space  */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
+ /* Create a dataspace  */
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
 
  /* Define a datatype */
- if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) goto out;
+ if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) TEST_ERROR;
 
  /* Create a new dataset */
- if ((dataset_id = H5Dcreate( file_id , "d2", type_id, space_id,
-  H5P_DEFAULT ))<0) goto out;
+ if ((dataset_id = H5Dcreate( file_id , "d2", type_id, space_id, H5P_DEFAULT ))<0) TEST_ERROR;
 
- /* Get name for non commited datatype, it should fail */
- if (H5Iget_name( type_id, name, size ) >0) goto out;
+{
+    char name[NAME_BUF_SIZE];   /* Buffer to hold name and its size */
 
- /* Get name for data space, it should fail */
- if (H5Iget_name( space_id, name, size ) >0) goto out;
+    /* Get name for non commited datatype, it should fail */
+    H5E_BEGIN_TRY {
+        if(H5Iget_name( type_id, name, NAME_BUF_SIZE) > 0) TEST_ERROR;
+    } H5E_END_TRY;
 
+    /* Get name for dataspace, it should fail */
+    H5E_BEGIN_TRY {
+        if(H5Iget_name( space_id, name, NAME_BUF_SIZE) > 0) TEST_ERROR;
+    } H5E_END_TRY;
+}
+
  /* Close */
  H5Dclose( dataset_id );
  H5Sclose( space_id );
@@ -1435,86 +1259,63 @@
  TESTING("H5Iget_name with added names with mounting");
 
  /* Create a group "g18/g2" in the first file */
- if ((group_id = H5Gcreate( file_id, "/g18", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g18/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g18", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g18/g2", 0 ))<0) TEST_ERROR;
 
  /* Also create a dataset and a datatype */
- if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) goto out;
- if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) goto out;
+ if ((space_id = H5Screate_simple( 1, dims, NULL ))<0) TEST_ERROR;
+ if ((type_id = H5Tcopy(H5T_NATIVE_INT))<0) TEST_ERROR;
  if ((dataset_id = H5Dcreate( file_id, "g18/d2", type_id, space_id,
-  H5P_DEFAULT ))<0) goto out;
+  H5P_DEFAULT ))<0) TEST_ERROR;
 
- if (H5Tcommit(file_id, "g18/t2", type_id) <0) goto out;
+ if (H5Tcommit(file_id, "g18/t2", type_id) <0) TEST_ERROR;
 
  /* Create second file and group "/g3/g4/g5" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
- if ((group3_id = H5Gcreate( file1_id, "/g3", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file1_id, "/g3/g4", 0 ))<0) goto out;
- if ((group5_id = H5Gcreate( file1_id, "/g3/g4/g5", 0 ))<0) goto out;
+ if ((group3_id = H5Gcreate( file1_id, "/g3", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file1_id, "/g3/g4", 0 ))<0) TEST_ERROR;
+ if ((group5_id = H5Gcreate( file1_id, "/g3/g4/g5", 0 ))<0) TEST_ERROR;
 
  /* Mount first file at "g3/g4" in the second file */
- if (H5Fmount(file1_id, "/g3/g4", file_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file1_id, "/g3/g4", file_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Get name for the group ID in the first file, should be "/g18/g2" still */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
- if (check_name( name, "/g18/g2" )!=0) goto out;
+ if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR;
 
  /* Get name for the dataset ID in the first file, should be "/g18/g2/d2" still */
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
- if (check_name( name, "/g18/d2" )!=0) goto out;
+ if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR;
 
  /* Get name for the datatype ID in the first file, should be "/g18/g2/t2" still */
- if (H5Iget_name( type_id, name, size )<0) goto out;
- if (check_name( name, "/g18/t2" )!=0) goto out;
+ if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR;
 
  /* Open the mounted group, dataset, and datatype through their new names */
- if ((group6_id = H5Gopen( file1_id, "/g3/g4/g18/g2" ))<0) goto out;
- if ((dataset2_id = H5Dopen( file1_id, "/g3/g4/g18/d2" ))<0) goto out;
- if ((type2_id = H5Topen( file1_id, "/g3/g4/g18/t2" ))<0) goto out;
+ if ((group6_id = H5Gopen( file1_id, "/g3/g4/g18/g2" ))<0) TEST_ERROR;
+ if ((dataset2_id = H5Dopen( file1_id, "/g3/g4/g18/d2" ))<0) TEST_ERROR;
+ if ((type2_id = H5Topen( file1_id, "/g3/g4/g18/t2" ))<0) TEST_ERROR;
 
  /* Verify names */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
- if (check_name( name, "/g3/g4/g18/g2" )!=0) goto out;
+ if(check_name(group6_id, "/g3/g4/g18/g2", "/g3/g4/g18/g2") < 0) TEST_ERROR;
+ if(check_name(dataset2_id, "/g3/g4/g18/d2", "/g3/g4/g18/d2") < 0) TEST_ERROR;
+ if(check_name(type2_id, "/g3/g4/g18/t2", "/g3/g4/g18/t2") < 0) TEST_ERROR;
 
- if (H5Iget_name( dataset2_id, name, size )<0) goto out;
- if (check_name( name, "/g3/g4/g18/d2" )!=0) goto out;
-
- if (H5Iget_name( type2_id, name, size )<0) goto out;
- if (check_name( name, "/g3/g4/g18/t2" )!=0) goto out;
-
  /* Verify that old IDs still refer to objects by their old names */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
- if (check_name( name, "/g18/g2" )!=0) goto out;
+ if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR;
+ if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR;
+ if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR;
 
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
- if (check_name( name, "/g18/d2" )!=0) goto out;
-
- if (H5Iget_name( type_id, name, size )<0) goto out;
- if (check_name( name, "/g18/t2" )!=0) goto out;
-
  /* Unmount */
- if (H5Funmount(file1_id, "/g3/g4")<0) goto out;
+ if (H5Funmount(file1_id, "/g3/g4")<0) TEST_ERROR;
 
  /* Get name for the IDs of the first file, should be unchanged */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
- if (check_name( name, "/g18/g2" )!=0) goto out;
+ if(check_name(group2_id, "/g18/g2", "/g18/g2") < 0) TEST_ERROR;
+ if(check_name(dataset_id, "/g18/d2", "/g18/d2") < 0) TEST_ERROR;
+ if(check_name(type_id, "/g18/t2", "/g18/t2") < 0) TEST_ERROR;
 
- if (H5Iget_name( dataset_id, name, size )<0) goto out;
- if (check_name( name, "/g18/d2" )!=0) goto out;
-
- if (H5Iget_name( type_id, name, size )<0) goto out;
- if (check_name( name, "/g18/t2" )!=0) goto out;
-
  /* Get name for the IDs of the second file, should be "" */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group6_id, "", "") < 0) TEST_ERROR;
+ if(check_name(dataset2_id, "", "") < 0) TEST_ERROR;
+ if(check_name(type2_id, "", "") < 0) TEST_ERROR;
 
- if (H5Iget_name( dataset2_id, name, size )<0) goto out;
- if (check_name( name, "" )!=0) goto out;
-
- if (H5Iget_name( type2_id, name, size )<0) goto out;
- if (check_name( name, "" )!=0) goto out;
-
  H5Tclose( type_id );
  H5Tclose( type2_id );
  H5Dclose( dataset_id );
@@ -1539,25 +1340,17 @@
 
  /* Create a file and group "/g1/g2" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
- if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR;
 
- /* Get name for the ID */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1/g2" )!=0)
-  goto out;
+ if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR;
 
  /* Close file */
  H5Fclose( file1_id );
 
-  /* Get name for the ID */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1/g2" )!=0)
-  goto out;
+ if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1575,40 +1368,31 @@
 
  /* Create a file and group "/g1/g2" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
- if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Create a new file and group "/g3/g4" in it */
- if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
- if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) goto out;
+ if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Mount first file at "/g3/g4" in the second file */
- if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) goto out;
+ if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Open the mounted group */
- if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) goto out;
+ if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1/g2" )!=0) goto out;
+ if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR;
 
  /* Delete */
- if (H5Gunlink( file1_id, "/g3/g4/g1/g2")<0) goto out;
+ if (H5Gunlink( file1_id, "/g3/g4/g1/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group5_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1632,137 +1416,84 @@
 
  /* Create a file and group "/g1/g2" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
- if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g1", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Create a new file and group "/g3/g4" in it */
- if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) goto out;
- if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) goto out;
+ if ((file2_id = H5Fcreate( filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file2_id, "/g3", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file2_id, "/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Mount first file at "g3/g4" in the second file */
- if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) goto out;
+ if(H5Fmount(file2_id, "/g3/g4", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4" )!=0) goto out;
+ if(check_name(group4_id, "/g3/g4", "/g3/g4") < 0) TEST_ERROR;
 
  /* Open the mounted group */
- if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) goto out;
+ if ((group5_id = H5Gopen( file2_id, "/g3/g4/g1/g2" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1/g2" )!=0) goto out;
+ if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR;
 
  /* Open another mounted group, in the middle of the path */
- if ((group6_id = H5Gopen( file2_id, "/g3/g4/g1" ))<0) goto out;
+ if ((group6_id = H5Gopen( file2_id, "/g3/g4/g1" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1" )!=0) goto out;
+ if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR;
 
  /* Rename group */
- if (H5Gmove( file2_id, "/g3/g4/g1/g2", "/g3/g4/g1/g5" )<0)  goto out;
+ if (H5Gmove( file2_id, "/g3/g4/g1/g2", "/g3/g4/g1/g5" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1/g5" )!=0) goto out;
+ if(check_name(group5_id, "/g3/g4/g1/g5", "/g3/g4/g1/g5") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g1/g5", "/g1/g5") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g1/g5" )!=0) goto out;
-
  /* Rename group */
- if (H5Gmove( file2_id, "/g3/g4/g1", "/g3/g4/g1a" )<0)  goto out;
+ if (H5Gmove( file2_id, "/g3/g4/g1", "/g3/g4/g1a" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1a/g5" )!=0) goto out;
+ if(check_name(group5_id, "/g3/g4/g1a/g5", "/g3/g4/g1a/g5") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g1a/g5", "/g1a/g5") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g1a/g5" )!=0) goto out;
+ if(check_name(group6_id, "/g3/g4/g1a", "/g3/g4/g1a") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g1a", "/g1a") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g3/g4/g1a" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g1a" )!=0) goto out;
-
  /* Rename middle group back, using relative path */
- if (H5Gmove( group3_id, "g4/g1a", "g4/g1" )<0)  goto out;
+ if (H5Gmove( group3_id, "g4/g1a", "g4/g1" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1/g5" )!=0) goto out;
+ if(check_name(group5_id, "/g3/g4/g1/g5", "/g3/g4/g1/g5") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g1/g5", "/g1/g5") < 0) TEST_ERROR;
+ if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g1/g5" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g3/g4/g1" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g1" )!=0) goto out;
-
  /* Rename end group back, using relative path */
- if (H5Gmove( group3_id, "g4/g1/g5", "g4/g1/g2" )<0)  goto out;
+ if (H5Gmove( group3_id, "g4/g1/g5", "g4/g1/g2" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g3/g4/g1/g2" )!=0) goto out;
+ if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g1/g2", "/g1/g2") < 0) TEST_ERROR;
+ if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g1", "/g1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
+ /* Rename mount point */
+ if (H5Gmove( file2_id, "/g3/g4", "/g3/g4a" )<0)  TEST_ERROR;
 
  /* Verify */
- if (check_name( name, "/g1/g2" )!=0) goto out;
+ if(check_name(group4_id, "/g3/g4a", "/g3/g4a") < 0) TEST_ERROR;
+ if(check_name(group5_id, "/g3/g4a/g1/g2", "/g3/g4a/g1/g2") < 0) TEST_ERROR;
+ if(check_name(group6_id, "/g3/g4a/g1", "/g3/g4a/g1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
+ /* Rename mount point back, using relative path*/
+ if (H5Gmove( group3_id, "g4a", "g4" )<0)  TEST_ERROR;
 
  /* Verify */
- if (check_name( name, "/g3/g4/g1" )!=0) goto out;
+ if(check_name(group4_id, "/g3/g4", "/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group5_id, "/g3/g4/g1/g2", "/g3/g4/g1/g2") < 0) TEST_ERROR;
+ if(check_name(group6_id, "/g3/g4/g1", "/g3/g4/g1") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g1" )!=0) goto out;
-
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -1783,126 +1514,72 @@
  TESTING("H5Iget_name with H5Glink hard");
 
  /* Create group "g19/g1" */
- if ((group_id = H5Gcreate( file_id, "/g19", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g19/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g19", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g19/g1", 0 ))<0) TEST_ERROR;
 
   /* Create hard link to "g19/g1/ group */
- if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g2")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g19/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR;
 
  /* Open the group */
- if ((group3_id = H5Gopen( file_id, "/g19/g2" ))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g19/g2" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g19/g2" )!=0) goto out;
+ if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR;
 
  /* Rename original group */
- if (H5Gmove( file_id, "/g19/g1", "/g19/g3" )<0)  goto out;
+ if (H5Gmove( file_id, "/g19/g1", "/g19/g3" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g19/g3" )!=0) goto out;
+ if(check_name(group2_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g19/g2" )!=0) goto out;
-
  /* Rename original group back, using relative path */
- if (H5Gmove( group_id, "g3", "g1" )<0)  goto out;
+ if (H5Gmove( group_id, "g3", "g1" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g19/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g19/g2" )!=0) goto out;
-
   /* Create another hard link to "/g19/g1" group */
- if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) TEST_ERROR;
 
  /* Open the group */
- if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) goto out;
+ if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g19/g3" )!=0) goto out;
+ if(check_name(group4_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR;
 
  /* Delete group */
- if (H5Gunlink( file_id, "/g19/g3")<0) goto out;
+ if (H5Gunlink( file_id, "/g19/g3")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g19/g1" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g19/g2" )!=0) goto out;
-
  /* Close the unlinked group */
  H5Gclose( group4_id );
 
   /* Create another hard link to "/g19/g1" group */
- if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_HARD, "/g19/g1", "/g19/g3")<0) TEST_ERROR;
 
  /* Open the group */
- if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) goto out;
+ if ((group4_id = H5Gopen( file_id, "/g19/g3" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g19/g3" )!=0) goto out;
+ if(check_name(group4_id, "/g19/g3", "/g19/g3") < 0) TEST_ERROR;
 
  /* Delete group, using relative path */
- if (H5Gunlink( group_id, "g3")<0) goto out;
+ if (H5Gunlink( group_id, "g3")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g19/g1", "/g19/g1") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g19/g2", "/g19/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g19/g1" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g19/g2" )!=0) goto out;
-
  /* Close the unlinked group */
  H5Gclose( group4_id );
 
@@ -1923,26 +1600,20 @@
  TESTING("H5Iget_name with H5Glink symbolic");
 
  /* Create group "g20/g1" */
- if ((group_id = H5Gcreate( file_id, "/g20", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g20/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g20", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g20/g1", 0 ))<0) TEST_ERROR;
 
   /* Create symbolic link to "g20/g1/ group */
- if (H5Glink(file_id, H5G_LINK_SOFT, "/g20/g1", "/g20/g2")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_SOFT, "/g20/g1", "/g20/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g20/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g20/g1", "/g20/g1") < 0) TEST_ERROR;
 
  /* Open the group */
- if ((group3_id = H5Gopen( file_id, "/g20/g2" ))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g20/g2" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g20/g2" )!=0) goto out;
+ if(check_name(group3_id, "/g20/g2", "/g20/g2") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -1960,36 +1631,25 @@
  TESTING("H5Iget_name with H5Glink symbolic and move target");
 
  /* Create group "g21/g1" */
- if ((group_id = H5Gcreate( file_id, "/g21", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g21/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g21", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g21/g1", 0 ))<0) TEST_ERROR;
 
  /* Create symbolic link to "g21/g1/ group */
- if (H5Glink(file_id, H5G_LINK_SOFT, "/g21/g1", "/g21/g2")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_SOFT, "/g21/g1", "/g21/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g21/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g21/g1", "/g21/g1") < 0) TEST_ERROR;
 
  /* Open the group */
- if ((group3_id = H5Gopen( file_id, "/g21/g2" ))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g21/g2" ))<0) TEST_ERROR;
 
  /* Rename group */
- if (H5Gmove( file_id, "/g21/g1", "/g21/g3" )<0)  goto out;
+ if (H5Gmove( file_id, "/g21/g1", "/g21/g3" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g21/g3" )!=0) goto out;
+ if(check_name(group2_id, "/g21/g3", "/g21/g3") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g21/g2", "/g21/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g21/g2" )!=0) goto out;
-
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -2006,51 +1666,32 @@
  TESTING("H5Iget_name with H5Glink symbolic and move source");
 
  /* Create group "g22/g1" */
- if ((group_id = H5Gcreate( file_id, "/g22", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g22/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g22", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g22/g1", 0 ))<0) TEST_ERROR;
 
  /* Create symbolic link to "g22/g1/ group */
- if (H5Glink(file_id, H5G_LINK_SOFT, "/g22/g1", "/g22/g2")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_SOFT, "/g22/g1", "/g22/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g22/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR;
 
  /* Open the group */
- if ((group3_id = H5Gopen( file_id, "/g22/g2" ))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g22/g2" ))<0) TEST_ERROR;
 
  /* Rename soft link */
- if (H5Gmove( file_id, "/g22/g2", "/g22/g3" )<0)  goto out;
+ if (H5Gmove( file_id, "/g22/g2", "/g22/g3" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g22/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g22/g3", "/g22/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g22/g3" )!=0) goto out;
-
  /* Rename soft link, using relative paths */
- if (H5Gmove( group_id, "g3", "g2" )<0)  goto out;
+ if (H5Gmove( group_id, "g3", "g2" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g22/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g22/g1", "/g22/g1") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g22/g2", "/g22/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g22/g2" )!=0) goto out;
-
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -2068,29 +1709,23 @@
  TESTING("H5Iget_name with H5Glink symbolic and unlink target");
 
  /* Create group "g23/g1" */
- if ((group_id = H5Gcreate( file_id, "/g23", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g23/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g23", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g23/g1", 0 ))<0) TEST_ERROR;
 
  /* Create symbolic link to "g23/g1/ group */
- if (H5Glink(file_id, H5G_LINK_SOFT, "/g23/g1", "/g23/g2")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_SOFT, "/g23/g1", "/g23/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g23/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g23/g1", "/g23/g1") < 0) TEST_ERROR;
 
  /* Open the group */
- if ((group3_id = H5Gopen( file_id, "/g23/g2" ))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g23/g2" ))<0) TEST_ERROR;
 
  /* Delete group */
- if (H5Gunlink( file_id, "/g23/g1")<0) goto out;
+ if (H5Gunlink( file_id, "/g23/g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g23/g2" )!=0) goto out;
+ if(check_name(group3_id, "/g23/g2", "/g23/g2") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2107,29 +1742,23 @@
  TESTING("H5Iget_name with H5Glink symbolic and unlink source");
 
  /* Create group "g24/g1" */
- if ((group_id = H5Gcreate( file_id, "/g24", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g24/g1", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g24", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g24/g1", 0 ))<0) TEST_ERROR;
 
  /* Create symbolic link to "g24/g1/ group */
- if (H5Glink(file_id, H5G_LINK_SOFT, "/g24/g1", "/g24/g2")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_SOFT, "/g24/g1", "/g24/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g24/g1" )!=0) goto out;
+ if(check_name(group2_id, "/g24/g1", "/g24/g1") < 0) TEST_ERROR;
 
  /* Open the group */
- if ((group3_id = H5Gopen( file_id, "/g24/g2" ))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g24/g2" ))<0) TEST_ERROR;
 
  /* Delete group */
- if (H5Gunlink( file_id, "/g24/g2")<0) goto out;
+ if (H5Gunlink( file_id, "/g24/g2")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2146,9 +1775,9 @@
  TESTING("H5Iget_name with several nested mounted files");
 
  /* Create a group "g25/g1/g2" in the first file */
- if ((group_id = H5Gcreate( file_id, "/g25", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g25/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g25/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g25", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g25/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g25/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2158,9 +1787,9 @@
  /* Create second file and group "/g26/g3/g4" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g26", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g26/g3", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g26/g3/g4", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g26", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g26/g3", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g26/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2170,9 +1799,9 @@
  /* Create third file and group "/g27/g5/g6" in it */
  file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file2_id, "/g27", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file2_id, "/g27/g5", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file2_id, "/g27/g5/g6", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file2_id, "/g27", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file2_id, "/g27/g5", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file2_id, "/g27/g5/g6", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2182,9 +1811,9 @@
  /* Create fourth file and group "/g28/g5/g6" in it */
  file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file3_id, "/g28", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file3_id, "/g28/g7", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file3_id, "/g28/g7/g8", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file3_id, "/g28", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file3_id, "/g28/g7", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file3_id, "/g28/g7/g8", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2192,136 +1821,76 @@
  H5Gclose( group3_id );
 
  /* Access group which will be hidden in the first file */
- if ((group_id = H5Gopen( file_id, "/g25/g1/g2"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g25/g1/g2"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g25/g1/g2" )!=0) goto out;
+ if(check_name(group_id, "/g25/g1/g2", "/g25/g1/g2") < 0) TEST_ERROR;
 
  /* Mount second file under "/g25/g1" in the first file */
- if (H5Fmount(file_id, "/g25/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g25/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR;
 
  /* Access group which will be hidden in the second file */
- if ((group2_id = H5Gopen( file_id, "/g25/g1/g26/g3/g4"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g25/g1/g26/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g25/g1/g26/g3/g4" )!=0) goto out;
+ if(check_name(group2_id, "/g25/g1/g26/g3/g4", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR;
 
  /* Mount third file under "/g25/g1/g26/g3" in the first file */
- if (H5Fmount(file_id, "/g25/g1/g26/g3", file2_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g25/g1/g26/g3", file2_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR;
 
  /* Access group in the third file */
- if ((group3_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g6"))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g6"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g25/g1/g26/g3/g27/g5/g6" )!=0) goto out;
+ if(check_name(group3_id, "/g25/g1/g26/g3/g27/g5/g6", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR;
 
  /* Mount fourth file under "/g25/g1/g26/g3/g27/g5" in the first file */
- if (H5Fmount(file_id, "/g25/g1/g26/g3/g27/g5", file3_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g25/g1/g26/g3/g27/g5", file3_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR;
 
  /* Access group in the fourth file */
- if ((group4_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8"))<0) goto out;
+ if ((group4_id = H5Gopen( file_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g25/g1/g26/g3/g27/g5/g28/g7/g8" )!=0) goto out;
+ if(check_name(group4_id, "/g25/g1/g26/g3/g27/g5/g28/g7/g8", "/g25/g1/g26/g3/g27/g5/g28/g7/g8") < 0) TEST_ERROR;
 
- if (H5Funmount(file_id, "/g25/g1/g26/g3/g27/g5")<0) goto out;
+ if (H5Funmount(file_id, "/g25/g1/g26/g3/g27/g5")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g25/g1/g26/g3/g27/g5/g6", "/g25/g1/g26/g3/g27/g5/g6") < 0) TEST_ERROR;
+ if(check_name(group2_id, "", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g25/g1/g26/g3/g27/g5/g6" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
  /* Close */
  H5Gclose( group4_id );
  H5Fclose( file3_id );
 
- if (H5Funmount(file_id, "/g25/g1/g26/g3")<0) goto out;
+ if (H5Funmount(file_id, "/g25/g1/g26/g3")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g25/g1/g26/g3/g4", "/g25/g1/g26/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group_id, "", "/g25/g1/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g25/g1/g26/g3/g4" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
  /* Close */
  H5Gclose( group3_id );
  H5Fclose( file2_id );
 
- if (H5Funmount(file_id, "/g25/g1")<0) goto out;
+ if (H5Funmount(file_id, "/g25/g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g25/g1/g2", "/g25/g1/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g25/g1/g2" )!=0) goto out;
-
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -2339,51 +1908,32 @@
  TESTING("H5Iget_name and H5Gmove with repeated path components");
 
  /* Create a group "g29/g1/g2/g1/g2" in a file */
- if ((group_id = H5Gcreate( file_id, "/g29", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g29/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g29/g1/g2", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file_id, "/g29/g1/g2/g1", 0 ))<0) goto out;
- if ((group5_id = H5Gcreate( file_id, "/g29/g1/g2/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g29", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g29/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g29/g1/g2", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file_id, "/g29/g1/g2/g1", 0 ))<0) TEST_ERROR;
+ if ((group5_id = H5Gcreate( file_id, "/g29/g1/g2/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Rename group */
- if (H5Gmove( file_id, "/g29/g1/g2/g1/g2", "/g29/g1/g2/g1/g3" )<0)  goto out;
+ if (H5Gmove( file_id, "/g29/g1/g2/g1/g2", "/g29/g1/g2/g1/g3" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g29/g1/g2/g1/g3" )!=0) goto out;
+ if(check_name(group5_id, "/g29/g1/g2/g1/g3", "/g29/g1/g2/g1/g3") < 0) TEST_ERROR;
 
  /* Rename group in middle of path, keeping within the same group */
- if (H5Gmove( file_id, "/g29/g1/g2/g1", "/g29/g1/g2/g3" )<0)  goto out;
+ if (H5Gmove( file_id, "/g29/g1/g2/g1", "/g29/g1/g2/g3" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g29/g1/g2/g3" )!=0) goto out;
+ if(check_name(group4_id, "/g29/g1/g2/g3", "/g29/g1/g2/g3") < 0) TEST_ERROR;
+ if(check_name(group5_id, "/g29/g1/g2/g3/g3", "/g29/g1/g2/g3/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g29/g1/g2/g3/g3" )!=0) goto out;
-
  /* Rename group in middle of path, moving to another group in file */
- if (H5Gmove( file_id, "/g29/g1/g2/g3", "/g29/g3" )<0)  goto out;
+ if (H5Gmove( file_id, "/g29/g1/g2/g3", "/g29/g3" )<0)  TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g29/g3" )!=0) goto out;
+ if(check_name(group4_id, "/g29/g3", "/g29/g3") < 0) TEST_ERROR;
+ if(check_name(group5_id, "/g29/g3/g3", "/g29/g3/g3") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g29/g3/g3" )!=0) goto out;
-
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -2402,9 +1952,9 @@
  TESTING("H5Iget_name with higher mounted file");
 
  /* Create a group "/g30/g1/g2" in the first file */
- if ((group_id = H5Gcreate( file_id, "/g30", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g30/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g30/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g30", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g30/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g30/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2414,9 +1964,9 @@
  /* Create second file and group "/g31/g3/g4" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g31", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g31/g3", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g31/g3/g4", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g31", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g31/g3", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g31/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2426,9 +1976,9 @@
  /* Create third file and group "/g32/g5/g6" in it */
  file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file2_id, "/g32", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file2_id, "/g32/g5", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file2_id, "/g32/g5/g6", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file2_id, "/g32", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file2_id, "/g32/g5", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file2_id, "/g32/g5/g6", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2438,9 +1988,9 @@
  /* Create fourth file and group "/g33/g5/g6" in it */
  file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file3_id, "/g33", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file3_id, "/g33/g7", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file3_id, "/g33/g7/g8", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file3_id, "/g33", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file3_id, "/g33/g7", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file3_id, "/g33/g7/g8", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2448,149 +1998,74 @@
  H5Gclose( group3_id );
 
  /* Access group which will be hidden in the first file */
- if ((group_id = H5Gopen( file_id, "/g30/g1/g2"))<0) goto out;
+ if ((group_id = H5Gopen( file_id, "/g30/g1/g2"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g30/g1/g2" )!=0) goto out;
+ if(check_name(group_id, "/g30/g1/g2", "/g30/g1/g2") < 0) TEST_ERROR;
 
  /* Mount second file under "/g30/g1" in the first file */
- if (H5Fmount(file_id, "/g30/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g30/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR;
 
  /* Access group which will be hidden in the second file */
- if ((group2_id = H5Gopen( file_id, "/g30/g1/g31/g3/g4"))<0) goto out;
+ if ((group2_id = H5Gopen( file_id, "/g30/g1/g31/g3/g4"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g30/g1/g31/g3/g4" )!=0) goto out;
+ if(check_name(group2_id, "/g30/g1/g31/g3/g4", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR;
 
  /* Mount third file under "/g30/g1/g31/g3" in the first file */
- if (H5Fmount(file_id, "/g30/g1/g31/g3", file2_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g30/g1/g31/g3", file2_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR;
 
  /* Access group which will be hidden in the third file */
- if ((group3_id = H5Gopen( file_id, "/g30/g1/g31/g3/g32/g5/g6"))<0) goto out;
+ if ((group3_id = H5Gopen( file_id, "/g30/g1/g31/g3/g32/g5/g6"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g30/g1/g31/g3/g32/g5/g6" )!=0) goto out;
+ if(check_name(group3_id, "/g30/g1/g31/g3/g32/g5/g6", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR;
 
  /* Mount fourth file under "/g30" in the first file, hiding the files below it */
- if (H5Fmount(file_id, "/g30", file3_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g30", file3_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR;
 
  /* Access group which will be in the fourth file */
- if ((group4_id = H5Gopen( file_id, "/g30/g33/g7/g8"))<0) goto out;
+ if ((group4_id = H5Gopen( file_id, "/g30/g33/g7/g8"))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "/g30/g33/g7/g8" )!=0) goto out;
+ if(check_name(group4_id, "/g30/g33/g7/g8", "/g30/g33/g7/g8") < 0) TEST_ERROR;
 
  /* Unmount fourth file */
- if (H5Funmount(file_id, "/g30")<0) goto out;
+ if (H5Funmount(file_id, "/g30")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "/g30/g1/g31/g3/g32/g5/g6", "/g30/g1/g31/g3/g32/g5/g6") < 0) TEST_ERROR;
+ if(check_name(group2_id, "", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g30/g1/g31/g3/g32/g5/g6" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
  /* Unmount third file */
- if (H5Funmount(file_id, "/g30/g1/g31/g3")<0) goto out;
+ if (H5Funmount(file_id, "/g30/g1/g31/g3")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "/g30/g1/g31/g3/g4", "/g30/g1/g31/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group_id, "", "/g30/g1/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g30/g1/g31/g3/g4" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
  /* Unmount second file */
- if (H5Funmount(file_id, "/g30/g1")<0) goto out;
+ if (H5Funmount(file_id, "/g30/g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )< 0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g30/g1/g2", "/g30/g1/g2") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group2_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group_id, name, size )< 0) goto out;
-
- /* Verify */
- if (check_name( name, "/g30/g1/g2" )!=0) goto out;
-
  /* Close groups */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -2615,9 +2090,9 @@
  /* Create second file and group "/g35/g3/g4" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g35", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g35/g3", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g35/g3/g4", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g35", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g35/g3", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g35/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2625,58 +2100,36 @@
  H5Gclose( group3_id );
 
  /* Create group "/g34/g1/g2" in first file */
- if ((group_id = H5Gcreate( file_id, "/g34", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g34/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g34/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g34", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g34/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g34/g1/g2", 0 ))<0) TEST_ERROR;
 
   /* Create hard link to "/g34/g1/g2 group */
- if (H5Glink(file_id, H5G_LINK_HARD, "/g34/g1/g2", "/g34/g2a")<0) goto out;
+ if (H5Glink(file_id, H5G_LINK_HARD, "/g34/g1/g2", "/g34/g2a")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g34/g1/g2" )!=0) goto out;
+ if(check_name(group3_id, "/g34/g1/g2", "/g34/g1/g2") < 0) TEST_ERROR;
 
  /* Open the link to the group */
- if ((group4_id = H5Gopen( file_id, "/g34/g2a" ))<0) goto out;
+ if ((group4_id = H5Gopen( file_id, "/g34/g2a" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g34/g2a" )!=0) goto out;
+ if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR;
 
  /* Mount second file under "/g34/g1" in the first file */
- if (H5Fmount(file_id, "/g34/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g34/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group3_id, "", "/g34/g1/g2") < 0) TEST_ERROR;
+ if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g34/g2a" )!=0) goto out;
-
  /* Unmount second file */
- if (H5Funmount(file_id, "/g34/g1")<0) goto out;
+ if (H5Funmount(file_id, "/g34/g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g34/g1/g2" )!=0) goto out;
+ if(check_name(group3_id, "/g34/g1/g2", "/g34/g1/g2") < 0) TEST_ERROR;
+ if(check_name(group4_id, "/g34/g2a", "/g34/g2a") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g34/g2a" )!=0) goto out;
-
  /* Close */
  H5Gclose( group_id );
  H5Gclose( group2_id );
@@ -2696,9 +2149,9 @@
  TESTING("H5Iget_name with mounted files and unlinking");
 
  /* Create group "/g36/g1/g2" in first file */
- if ((group_id = H5Gcreate( file_id, "/g36", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file_id, "/g36/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file_id, "/g36/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file_id, "/g36", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file_id, "/g36/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file_id, "/g36/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2708,93 +2161,53 @@
  /* Create second file and group "/g37/g4" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g37", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g37/g4", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g37/g4/g5a", 0 ))<0) goto out;
- if ((group4_id = H5Gcreate( file1_id, "/g37/g4/g5b", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g37", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g37/g4", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g37/g4/g5a", 0 ))<0) TEST_ERROR;
+ if ((group4_id = H5Gcreate( file1_id, "/g37/g4/g5b", 0 ))<0) TEST_ERROR;
 
  /* Mount second file under "/g36/g1" in the first file */
- if (H5Fmount(file_id, "/g36/g1", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file_id, "/g36/g1", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
  /* Open group in mounted file */
- if ((group5_id = H5Gopen( file_id, "/g36/g1/g37/" ))<0) goto out;
+ if ((group5_id = H5Gopen( file_id, "/g36/g1/g37/" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group5_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g36/g1/g37" )!=0) goto out;
+ if(check_name(group5_id, "/g36/g1/g37", "/g36/g1/g37") < 0) TEST_ERROR;
 
  /* Open group to delete in mounted file */
- if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5a" ))<0) goto out;
+ if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5a" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g36/g1/g37/g4/g5a" )!=0) goto out;
+ if(check_name(group6_id, "/g36/g1/g37/g4/g5a", "/g36/g1/g37/g4/g5a") < 0) TEST_ERROR;
 
  /* Delete end group in mounted file, using relative paths */
- if (H5Gunlink( group5_id, "g4/g5a")<0) goto out;
+ if (H5Gunlink( group5_id, "g4/g5a")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group6_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group3_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group3_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
  /* Close deleted group */
  H5Gclose( group6_id );
 
  /* Open groups to delete in mounted file */
- if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4" ))<0) goto out;
- if ((group7_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5b" ))<0) goto out;
+ if ((group6_id = H5Gopen( file_id, "/g36/g1/g37/g4" ))<0) TEST_ERROR;
+ if ((group7_id = H5Gopen( file_id, "/g36/g1/g37/g4/g5b" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g36/g1/g37/g4" )!=0) goto out;
+ if(check_name(group6_id, "/g36/g1/g37/g4", "/g36/g1/g37/g4") < 0) TEST_ERROR;
+ if(check_name(group7_id, "/g36/g1/g37/g4/g5b", "/g36/g1/g37/g4/g5b") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group7_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g36/g1/g37/g4/g5b" )!=0) goto out;
-
  /* Delete middle group in mounted file, using relative paths */
- if (H5Gunlink( group5_id, "g4")<0) goto out;
+ if (H5Gunlink( group5_id, "g4")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group6_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group6_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group7_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group4_id, "", "") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group7_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
- /* Get name */
- if (H5Iget_name( group4_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "" )!=0) goto out;
-
  /* Close deleted groups */
  H5Gclose( group6_id );
  H5Gclose( group7_id );
@@ -2802,7 +2215,7 @@
  /* Close group in mounted file */
  H5Gclose( group5_id );
 
- if (H5Funmount(file_id, "/g36/g1")<0) goto out;
+ if (H5Funmount(file_id, "/g36/g1")<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2825,9 +2238,9 @@
  /* Create file and group "/g38/g1/g2" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g38", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g38/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g38/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g38", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g38/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g38/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2837,9 +2250,9 @@
  /* Create second file and group "/g39/g1/g2" in it */
  file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file2_id, "/g39", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file2_id, "/g39/g3", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file2_id, "/g39/g3/g4", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file2_id, "/g39", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file2_id, "/g39/g3", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file2_id, "/g39/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2849,9 +2262,9 @@
  /* Create third file and group "/g40/g5/g6" in it */
  file3_id = H5Fcreate(filename3, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file3_id, "/g40", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file3_id, "/g40/g5", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file3_id, "/g40/g5/g6", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file3_id, "/g40", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file3_id, "/g40/g5", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file3_id, "/g40/g5/g6", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2859,56 +2272,34 @@
  H5Gclose( group3_id );
 
  /* Mount second file under "/g38/g1" in the first file */
- if (H5Fmount(file1_id, "/g38/g1", file2_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file1_id, "/g38/g1", file2_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- if ((group_id = H5Gopen( file1_id, "/g38/g1/g39/g3/g4" ))<0) goto out;
+ if ((group_id = H5Gopen( file1_id, "/g38/g1/g39/g3/g4" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g38/g1/g39/g3/g4" )!=0) goto out;
+ if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR;
 
  /* Mount first file under "/g40/g5" in the third file */
- if (H5Fmount(file3_id, "/g40/g5", file1_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file3_id, "/g40/g5", file1_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- if ((group2_id = H5Gopen( file3_id, "/g40/g5/g38/g1/g39/g3/g4" ))<0) goto out;
+ if ((group2_id = H5Gopen( file3_id, "/g40/g5/g38/g1/g39/g3/g4" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g40/g5/g38/g1/g39/g3/g4" )!=0) goto out;
+ if(check_name(group2_id, "/g40/g5/g38/g1/g39/g3/g4", "/g40/g5/g38/g1/g39/g3/g4") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g38/g1/g39/g3/g4" )!=0) goto out;
-
  /* Unmount first file */
- if (H5Funmount(file3_id, "/g40/g5")<0) goto out;
+ if (H5Funmount(file3_id, "/g40/g5")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
+ if(check_name(group_id, "/g38/g1/g39/g3/g4", "/g38/g1/g39/g3/g4") < 0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
- /* Verify */
- if (check_name( name, "/g38/g1/g39/g3/g4" )!=0) goto out;
-
  /* Unmount second file */
- if (H5Funmount(file1_id, "/g38/g1")<0) goto out;
+ if (H5Funmount(file1_id, "/g38/g1")<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2929,9 +2320,9 @@
  /* Create file and group "/g39/g1/g2" in it */
  file1_id = H5Fcreate(filename1, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file1_id, "/g41", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file1_id, "/g41/g1", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file1_id, "/g41/g1/g2", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file1_id, "/g41", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file1_id, "/g41/g1", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file1_id, "/g41/g1/g2", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2941,9 +2332,9 @@
  /* Create second file and group "/g42/g1/g2" in it */
  file2_id = H5Fcreate(filename2, H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
 
- if ((group_id = H5Gcreate( file2_id, "/g42", 0 ))<0) goto out;
- if ((group2_id = H5Gcreate( file2_id, "/g42/g3", 0 ))<0) goto out;
- if ((group3_id = H5Gcreate( file2_id, "/g42/g3/g4", 0 ))<0) goto out;
+ if ((group_id = H5Gcreate( file2_id, "/g42", 0 ))<0) TEST_ERROR;
+ if ((group2_id = H5Gcreate( file2_id, "/g42/g3", 0 ))<0) TEST_ERROR;
+ if ((group3_id = H5Gcreate( file2_id, "/g42/g3/g4", 0 ))<0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2951,26 +2342,20 @@
  H5Gclose( group3_id );
 
  /* Mount second file under "/g41/g1" in the first file */
- if (H5Fmount(file1_id, "/g41/g1", file2_id, H5P_DEFAULT)<0) goto out;
+ if (H5Fmount(file1_id, "/g41/g1", file2_id, H5P_DEFAULT)<0) TEST_ERROR;
 
- if ((group_id = H5Gopen( file1_id, "/g41/g1/g42/g3" ))<0) goto out;
+ if ((group_id = H5Gopen( file1_id, "/g41/g1/g42/g3" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "/g41/g1/g42/g3" )!=0) goto out;
+ if(check_name(group_id, "/g41/g1/g42/g3", "/g41/g1/g42/g3") < 0) TEST_ERROR;
 
  /* Unmount file */
- if (H5Funmount(file1_id, "/g41/g1")<0) goto out;
+ if (H5Funmount(file1_id, "/g41/g1")<0) TEST_ERROR;
 
- if ((group2_id = H5Gopen( group_id, "g4" ))<0) goto out;
+ if ((group2_id = H5Gopen( group_id, "g4" ))<0) TEST_ERROR;
 
- /* Get name */
- if (H5Iget_name( group2_id, name, size )<0) goto out;
-
  /* Verify */
- if (check_name( name, "" )!=0) goto out;
+ if(check_name(group2_id, "", "") < 0) TEST_ERROR;
 
  /* Close */
  H5Gclose( group_id );
@@ -2992,7 +2377,7 @@
  h5_cleanup(FILENAME, fapl);
  return 0;
 
-out:
+error:
  H5Fclose( file_id );
  H5_FAILED();
  return 1;

Modified: packages/hdf5/trunk/test/gheap.c
===================================================================
--- packages/hdf5/trunk/test/gheap.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/gheap.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Copied: packages/hdf5/trunk/test/group_new.h5 (from rev 1094, packages/hdf5/branches/upstream/current/test/group_new.h5)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/test/h5test.c
===================================================================
--- packages/hdf5/trunk/test/h5test.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/h5test.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -145,7 +146,7 @@
     int		retval=0;
     hid_t	driver;
 
-    if (!HDgetenv("HDF5_NOCLEANUP")) {
+    if (GetTestCleanup()){
 	for (i = 0; base_name[i]; i++) {
 	    if (h5_fixname(base_name[i], fapl, filename, sizeof(filename)) == NULL)
 		continue;
@@ -272,6 +273,7 @@
     char           *ptr, last = '\0';
     size_t          i, j;
     hid_t           driver = -1;
+    int		    isppdriver = 0;	/* if the driver is MPI parallel */
 
     if (!base_name || !fullname || size < 1)
         return NULL;
@@ -289,9 +291,34 @@
 	    suffix = NULL;
     }
 
-    /* Use different ones depending on parallel or serial driver used. */
-    if (H5P_DEFAULT != fapl && H5FD_MPIO == driver){
+    /* Must first check fapl is not H5P_DEFAULT (-1) because H5FD_XXX
+     * could be of value -1 if it is not defined.
+     */
+    isppdriver = H5P_DEFAULT != fapl && 
+	(H5FD_MPIO==driver || H5FD_MPIPOSIX==driver);
+
+    /* Check HDF5_NOCLEANUP environment setting.
+     * (The #ifdef is needed to prevent compile failure in case MPI is not
+     * configured.)
+     */
+    if (isppdriver){
 #ifdef H5_HAVE_PARALLEL
+	if (getenv_all(MPI_COMM_WORLD, 0, "HDF5_NOCLEANUP"))
+	    SetTestNoCleanup();
+#endif  /* H5_HAVE_PARALLEL */
+    }else{
+	if (HDgetenv("HDF5_NOCLEANUP"))
+	    SetTestNoCleanup();
+    }
+
+    /* Check what prefix to use for test files. Process HDF5_PARAPREFIX and
+     * HDF5_PREFIX.
+     * Use different ones depending on parallel or serial driver used.
+     * (The #ifdef is needed to prevent compile failure in case MPI is not
+     * configured.)
+     */
+    if (isppdriver){
+#ifdef H5_HAVE_PARALLEL
 	/*
          * For parallel:
          *      First use command line option, then the environment
@@ -337,7 +364,7 @@
 
     /* Prepend the prefix value to the base name */
     if (prefix && *prefix) {
-        if (H5P_DEFAULT != fapl && H5FD_MPIO == driver) {
+	if (isppdriver){
             /* This is a parallel system */
             char *subdir;
 
@@ -424,6 +451,37 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:	h5_rmprefix
+ *
+ * Purpose:	This "removes" the MPIO driver prefix part of the file name
+ *		by returning a pointer that points at the non-prefix component
+ *              part of the file name.  E.g.,
+ *		    Input			Return
+ *		    pfs:/scratch1/dataX		/scratch1/dataX
+ *		    /scratch2/dataY         	/scratch2/dataY
+ *		Note that there is no change to the original file name.
+ *
+ * Return:	Success:	a pointer at the non-prefix part.
+ *
+ * Programmer:	Albert Cheng; Jun  1, 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+char *
+h5_rmprefix(const char *filename)
+{
+    char *ret_ptr;
+
+    if ((ret_ptr = HDstrstr(filename, ":")) == NULL)
+	ret_ptr = filename;
+    else
+	ret_ptr++;
+    
+    return(ret_ptr);
+}
+
+
+/*-------------------------------------------------------------------------
  * Function:	h5_fileaccess
  *
  * Purpose:	Returns a file access template which is the default template
@@ -773,30 +831,32 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	h5_get_file_size
+ * Function:    h5_get_file_size
  *
- * Purpose:	Get the current size of a file (in bytes)
+ * Purpose:     Get the current size of a file (in bytes)
  *
- * Return:	Success:	Size of file in bytes (could be 0)
- *		Failure:	0
+ * Return:      Success:        Size of file in bytes
+ *              Failure:        -1
  *
- * Programmer:	Quincey Koziol
+ * Programmer:  Quincey Koziol
  *              Saturday, March 22, 2003
  *
  * Modifications:
+ *      Albert Cheng, Nov 22, 2006
+ *      Changed Failure return value to -1.
  *
  *-------------------------------------------------------------------------
  */
-off_t
+h5_stat_size_t
 h5_get_file_size(const char *filename)
 {
     h5_stat_t	sb;
 
     /* Get the file's statistics */
-    if (HDstat(filename, &sb)>=0)
-        return((off_t)sb.st_size);
+    if (HDstat(filename, &sb)==0)
+        return((h5_stat_size_t)sb.st_size);
 
-    return(0);
+    return(-1);
 } /* end get_file_size() */
 
 /*

Modified: packages/hdf5/trunk/test/h5test.h
===================================================================
--- packages/hdf5/trunk/test/h5test.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/h5test.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -122,9 +123,10 @@
 		 size_t size);
 H5TEST_DLL hid_t h5_fileaccess(void);
 H5TEST_DLL void h5_no_hwconv(void);
+H5TEST_DLL char *h5_rmprefix(const char *filename);
 H5TEST_DLL void h5_reset(void);
 H5TEST_DLL void h5_show_hostname(void);
-H5TEST_DLL off_t h5_get_file_size(const char *filename);
+H5TEST_DLL h5_stat_size_t h5_get_file_size(const char *filename);
 H5TEST_DLL int print_func(const char *format, ...);
 
 /* Routines for operating on the list of tests (for the "all in one" tests) */
@@ -142,6 +144,7 @@
 H5TEST_DLL int  SetTestVerbosity(int newval);
 H5TEST_DLL int  GetTestSummary(void);
 H5TEST_DLL int  GetTestCleanup(void);
+H5TEST_DLL int  SetTestNoCleanup(void);
 H5TEST_DLL void ParseTestVerbosity(char *argv);
 H5TEST_DLL int  GetTestNumErrs(void);
 H5TEST_DLL void  IncTestNumErrs(void);

Modified: packages/hdf5/trunk/test/hyperslab.c
===================================================================
--- packages/hdf5/trunk/test/hyperslab.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/hyperslab.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:	Robb Matzke <matzke at llnl.gov>

Modified: packages/hdf5/trunk/test/istore.c
===================================================================
--- packages/hdf5/trunk/test/istore.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/istore.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:	Robb Matzke <matzke at llnl.gov>
@@ -224,7 +225,7 @@
     hid_t               dataset;        /* Dataset ID */
     hid_t               fspace;         /* Dataset's file dataspace */
     hid_t               mspace;         /* Dataset's memory dataspace */
-    hsize_t		i, j, k, ctr;
+    size_t		i, j, k, ctr;
     int			ndims;
     uint8_t		*buf = NULL, *check = NULL, *whole = NULL;
     char		dims[64], s[256], name[256];

Copied: packages/hdf5/trunk/test/le_extlink1.h5 (from rev 1094, packages/hdf5/branches/upstream/current/test/le_extlink1.h5)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/test/lheap.c
===================================================================
--- packages/hdf5/trunk/test/lheap.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/lheap.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/links.c
===================================================================
--- packages/hdf5/trunk/test/links.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/links.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -32,6 +33,14 @@
 #define NAME_BUF_SIZE   1024
 #define MAX_NAME_LEN    ((64*1024)+1024)
 
+#define LE_FILENAME "le_extlink1.h5"
+
+/* The group_new.h5 is generated from gen_new_fill.c in HDF5 'test' directory
+ * for version 1.7 (after "compact group" checkin).  To get this data file,
+ * simply compile gen_new_group.c with HDF5 library (after compact group
+ * checkin) and run it. */
+#define FILE_NEW_GROUPS "group_new.h5"
+
 
 /*-------------------------------------------------------------------------
  * Function:	mklinks
@@ -675,6 +684,71 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:    ud_link_compat
+ *
+ * Purpose:     Ensure that User-defined links (introduced in 1.8) can be
+ *              handled by HDF5 1.6.
+ *
+ * Return:      Success:        0
+ *              Failure:        -1
+ *
+ * Programmer:  James Laird
+ *              Tuesday, July 25, 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+ud_link_compat(hid_t fapl)
+{
+    hid_t       fid = (-1);
+    H5G_stat_t  sb;
+    char      * srcdir = getenv("srcdir");      /* The source directory */
+    char        pathbuf[NAME_BUF_SIZE];         /* Path to the files */
+    char        namebuf[NAME_BUF_SIZE];
+
+    TESTING("compatibility with User-defined links");
+
+    /*
+     * Create the name of the file to open (in case we are using the --srcdir
+     * option and the file is in a different directory from this test).
+     */
+    if (srcdir && ((HDstrlen(srcdir) + 2) < sizeof(pathbuf)) )
+    {
+        HDstrcpy(pathbuf, srcdir);
+        HDstrcat(pathbuf, "/");
+    }
+    else
+        HDstrcpy(pathbuf, "");
+
+    if(HDstrlen(pathbuf) + HDstrlen(LE_FILENAME) >= sizeof(namebuf)) TEST_ERROR
+    HDstrcpy(namebuf, pathbuf);
+    HDstrcat(namebuf, LE_FILENAME);
+
+    /* Open a file with an external link in it */
+    if((fid = H5Fopen(namebuf, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR
+
+    /* Trying to open the link or get info about it should fail. */
+    H5E_BEGIN_TRY {
+        if(H5Gopen(fid, "ext_link") >= 0) TEST_ERROR
+        if(H5Gget_objinfo(fid, "ext_link", FALSE, &sb) >= 0) TEST_ERROR
+    } H5E_END_TRY
+
+    /* There isn't much more we can do with the link. We shouldn't try moving
+     * it or deleting it. */
+    if(H5Fclose(fid) < 0) TEST_ERROR
+
+    PASSED();
+    return 0;
+
+error:
+    H5E_BEGIN_TRY {
+        H5Fclose(fid);
+    } H5E_END_TRY
+    return 1;
+} /* end ud_link_compat() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	main
  *
  * Purpose:	Test links
@@ -706,6 +780,7 @@
     nerrors += ck_new_links(fapl) < 0 ? 1 : 0;
     nerrors += long_links(fapl) < 0 ? 1 : 0;
     nerrors += toomany(fapl) < 0 ? 1 : 0;
+    nerrors += ud_link_compat(fapl) < 0 ? 1 : 0;
 
     /* Results */
     if (nerrors) {

Copied: packages/hdf5/trunk/test/mergemsg.h5 (from rev 1094, packages/hdf5/branches/upstream/current/test/mergemsg.h5)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/test/mount.c
===================================================================
--- packages/hdf5/trunk/test/mount.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/mount.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/mtime.c
===================================================================
--- packages/hdf5/trunk/test/mtime.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/mtime.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/ntypes.c
===================================================================
--- packages/hdf5/trunk/test/ntypes.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ntypes.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/ohdr.c
===================================================================
--- packages/hdf5/trunk/test/ohdr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ohdr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /* Programmer:  Robb Matzke <matzke at llnl.gov>
@@ -66,6 +67,7 @@
     H5G_entry_t	oh_ent;
     time_t	time_new, ro;
     int		i;
+    herr_t      ret;                    /* Generic return value */
 
     /* Reset library */
     h5_reset();
@@ -274,6 +276,50 @@
     PASSED();
 
 
+    /*
+     * Constant message handling.
+     * (can't write to them, but should be able to remove them)
+     */
+    TESTING("constant message handling");
+    time_new = 22222222;
+    if(H5O_modify(&oh_ent, H5O_MTIME_NEW_ID, H5O_NEW_MESG, H5O_FLAG_CONSTANT, 0, &time_new, H5P_DATASET_XFER_DEFAULT) < 0) {
+	H5_FAILED();
+	H5Eprint(stdout);
+	goto error;
+    }
+    if(H5AC_flush(f, H5P_DATASET_XFER_DEFAULT, TRUE)<0) {
+	H5_FAILED();
+	H5Eprint(stdout);
+	goto error;
+    }
+    if(NULL == H5O_read(&oh_ent, H5O_MTIME_NEW_ID, 0, &ro, H5P_DATASET_XFER_DEFAULT)) {
+	H5_FAILED();
+	H5Eprint(stdout);
+	goto error;
+    }
+    if(ro != time_new) {
+	H5_FAILED();
+	HDfprintf(stdout, "    got: {%ld}\n", (long)ro);
+	HDfprintf(stdout, "    ans: {%ld}\n", (long)time_new);
+	goto error;
+    }
+    time_new = 33333333;
+    H5E_BEGIN_TRY {
+        ret = H5O_modify(&oh_ent, H5O_MTIME_NEW_ID, 0, 0, 0, &time_new, H5P_DATASET_XFER_DEFAULT);
+    } H5E_END_TRY;
+    if(ret >= 0) {
+	H5_FAILED();
+	H5Eprint(stdout);
+	goto error;
+    }
+    if(H5O_remove(&oh_ent, H5O_MTIME_NEW_ID, H5O_ALL, TRUE, H5P_DATASET_XFER_DEFAULT) < 0) {
+	H5_FAILED();
+	H5Eprint(stdout);
+	goto error;
+    }
+    PASSED();
+
+
     /* release resources */
     TESTING("object header closing");
     if (H5O_close(&oh_ent)<0) {

Modified: packages/hdf5/trunk/test/reserved.c
===================================================================
--- packages/hdf5/trunk/test/reserved.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/reserved.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "h5test.h"

Modified: packages/hdf5/trunk/test/set_extent.c
===================================================================
--- packages/hdf5/trunk/test/set_extent.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/set_extent.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/srb_append.c
===================================================================
--- packages/hdf5/trunk/test/srb_append.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/srb_append.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/srb_read.c
===================================================================
--- packages/hdf5/trunk/test/srb_read.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/srb_read.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/srb_write.c
===================================================================
--- packages/hdf5/trunk/test/srb_write.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/srb_write.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/stab.c
===================================================================
--- packages/hdf5/trunk/test/stab.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/stab.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -30,6 +31,12 @@
     NULL
 };
 
+/* The group_new.h5 is generated from gen_new_fill.c in HDF5 'test' directory
+ * for version 1.7 (after "compact group" checkin).  To get this data file,
+ * simply compile gen_new_group.c with HDF5 library (after compact group
+ * checkin) and run it. */
+#define FILE_NEW_GROUPS "group_new.h5"
+
 
 /*-------------------------------------------------------------------------
  * Function:	test_misc
@@ -214,6 +221,71 @@
 
 
 /*-------------------------------------------------------------------------
+ * Function:    read_new
+ *
+ * Purpose:     Test reading a file with "new style" (compact) groups
+ *
+ * Return:      Success:        0
+ *
+ *              Failure:        -1
+ *
+ * Programmer:  Quincey Koziol
+ *              Monday, October 24, 2005
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+read_new(hid_t fapl)
+{
+    hid_t		fid = (-1);     /* File ID */
+    hid_t		gid = (-1);     /* Group ID */
+    char       *srcdir = HDgetenv("srcdir"); /*where the src code is located*/
+    char       filename[512]="";  /* test file name */
+
+    TESTING("reading new groups");
+
+    /* Generate correct name for test file by prepending the source path */
+    if(srcdir && ((HDstrlen(srcdir) + HDstrlen(FILE_NEW_GROUPS) + 1) < sizeof(filename))) {
+        HDstrcpy(filename, srcdir);
+        HDstrcat(filename, "/");
+    }
+    HDstrcat(filename, FILE_NEW_GROUPS);
+
+    /* Open file */
+    if((fid = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR;
+
+    /* Attempt to open root group */
+    if((gid = H5Gopen(fid, "/")) < 0) TEST_ERROR;
+
+    /* Attempt to open new "empty" group (should fail) */
+    H5E_BEGIN_TRY {
+        if(H5Gopen(gid, "empty") >= 0) TEST_ERROR;
+    } H5E_END_TRY;
+
+    /* Attempt to open new group with link messages (should fail) */
+    H5E_BEGIN_TRY {
+        if(H5Gopen(gid, "links") >= 0) TEST_ERROR;
+    } H5E_END_TRY;
+
+    /* Close root group */
+    if(H5Gclose(gid) < 0) TEST_ERROR;
+
+    /* Close first file */
+    if(H5Fclose(fid)<0) TEST_ERROR;
+
+    PASSED();
+    return 0;
+
+error:
+    H5E_BEGIN_TRY {
+    	H5Gclose(gid);
+    	H5Fclose(fid);
+    } H5E_END_TRY;
+    return 1;
+} /* end read_new() */
+
+
+/*-------------------------------------------------------------------------
  * Function:	main
  *
  * Purpose:	Test groups
@@ -258,6 +330,7 @@
     nerrors += test_misc(file);
     nerrors += test_long(file);
     nerrors += test_large(file);
+    nerrors += read_new(fapl);
     if (nerrors) goto error;
 
     /* Cleanup */

Modified: packages/hdf5/trunk/test/stream_test.c
===================================================================
--- packages/hdf5/trunk/test/stream_test.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/stream_test.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/tarray.c
===================================================================
--- packages/hdf5/trunk/test/tarray.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tarray.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************

Modified: packages/hdf5/trunk/test/tattr.c
===================================================================
--- packages/hdf5/trunk/test/tattr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tattr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -27,7 +28,7 @@
 #define FILENAME   "tattr.h5"
 #define ATTR_NAME_LEN   16
 #define ATTR_MAX_DIMS   7
-#define ATTR_TMP_NAME   "temp_name"
+#define ATTR_TMP_NAME   "a really long temp_name"
 
 /* 3-D dataset with fixed dimensions */
 #define SPACE1_NAME  "Space1"
@@ -135,10 +136,32 @@
     sid2 = H5Screate_simple(ATTR1_RANK, dims2, NULL);
     CHECK(sid2, FAIL, "H5Screate_simple");
 
-    /* Try to create an attribute on the file (should fail) */
-    ret=H5Acreate(fid1,ATTR1_NAME,H5T_NATIVE_INT,sid2,H5P_DEFAULT);
-    VERIFY(ret, FAIL, "H5Acreate");
 
+    /* Try to create an attribute on the file (should create an attribute on root group) */
+    attr = H5Acreate(fid1, ATTR1_NAME, H5T_NATIVE_INT, sid2, H5P_DEFAULT);
+    CHECK(attr, FAIL, "H5Acreate");
+
+    /* Close attribute */
+    ret = H5Aclose(attr);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Open the root group */
+    group = H5Gopen(fid1, "/");
+    CHECK(group, FAIL, "H5Gopen");
+
+    /* Open attribute again */
+    attr = H5Aopen_name(group, ATTR1_NAME);
+    CHECK(attr, FAIL, "H5Aopen_name");
+
+    /* Close attribute */
+    ret = H5Aclose(attr);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Close root group */
+    ret = H5Gclose(group);
+    CHECK(ret, FAIL, "H5Gclose");
+
+
     /* Create an attribute for the dataset */
     attr=H5Acreate(dataset,ATTR1_NAME,H5T_NATIVE_INT,sid2,H5P_DEFAULT);
     CHECK(attr, FAIL, "H5Acreate");
@@ -249,10 +272,6 @@
     ret=H5Aclose(attr2);
     CHECK(ret, FAIL, "H5Aclose");
 
-    /* change first attribute back to the original name */
-    ret=H5Arename(dataset, ATTR_TMP_NAME, ATTR1_NAME);
-    CHECK(ret, FAIL, "H5Arename");
-
     ret = H5Sclose(sid1);
     CHECK(ret, FAIL, "H5Sclose");
     ret = H5Sclose(sid2);
@@ -340,7 +359,7 @@
     VERIFY(ret, 2, "H5Aget_num_attrs");
 
     /* Open an attribute for the dataset */
-    attr=H5Aopen_name(dataset,ATTR1_NAME);
+    attr = H5Aopen_name(dataset, ATTR_TMP_NAME);
     CHECK(attr, FAIL, "H5Aopen_name");
 
     /* Read attribute information */
@@ -1398,8 +1417,8 @@
     int data=8;                 /* Data to write */
     int rdata=0;                /* Read read in */
     H5G_stat_t statbuf;         /* Object's information */
-    off_t empty_filesize;       /* Size of empty file */
-    off_t filesize;             /* Size of file after modifications */
+    h5_stat_size_t empty_filesize;       /* Size of empty file */
+    h5_stat_size_t filesize;             /* Size of file after modifications */
     herr_t  ret;		/* Generic return value		*/
 
     /* Output message about test being performed */
@@ -1415,7 +1434,7 @@
 
     /* Get size of file */
     empty_filesize=h5_get_file_size(FILENAME);
-    if(empty_filesize==0)
+    if(empty_filesize<0)
         TestErrPrintf("Line %d: file size wrong!\n",__LINE__);
 
     /* Re-open file */

Modified: packages/hdf5/trunk/test/tconfig.c
===================================================================
--- packages/hdf5/trunk/test/tconfig.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tconfig.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************

Modified: packages/hdf5/trunk/test/testframe.c
===================================================================
--- packages/hdf5/trunk/test/testframe.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/testframe.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -266,7 +267,7 @@
             exit(0);
         }
 	else if ((HDstrcmp(*argv, "-cleanoff") == 0) || (HDstrcmp(*argv, "-c") == 0))
-            CleanUp = 0;
+	    SetTestNoCleanup();
 	else {
 	    /* non-standard option.  Break out. */
 	    break;
@@ -394,6 +395,19 @@
 }
 
 /*
+ * Set cleanup to no.
+ * Return previous cleanup value.
+ */
+int SetTestNoCleanup(void)
+{
+    int oldval;
+
+    oldval = CleanUp;
+    CleanUp = 0;
+    return(oldval);
+}
+
+/*
  * Parse an argument string for verbosity level and set it.
  */
 void ParseTestVerbosity(char *argv)

Modified: packages/hdf5/trunk/test/testhdf5.c
===================================================================
--- packages/hdf5/trunk/test/testhdf5.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/testhdf5.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/testhdf5.h
===================================================================
--- packages/hdf5/trunk/test/testhdf5.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/testhdf5.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/testmeta.c
===================================================================
--- packages/hdf5/trunk/test/testmeta.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/testmeta.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/tfile.c
===================================================================
--- packages/hdf5/trunk/test/tfile.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tfile.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -109,12 +110,17 @@
     /* Output message about test being performed */
     MESSAGE(5, ("Testing Low-Level File Creation I/O\n"));
 
+    /* First ensure the file does not exist */
+    remove(FILE1);
+
+    /* Try opening a non-existant file */
+    fid1 = H5Fopen(FILE1, H5F_ACC_RDWR, H5P_DEFAULT);
+    VERIFY(fid1, FAIL, "H5Fopen");
+
     /* Test create with various sequences of H5F_ACC_EXCL and */
     /* H5F_ACC_TRUNC flags */
 
     /* Create with H5F_ACC_EXCL */
-    /* First ensure the file does not exist */
-    remove(FILE1);
     fid1 = H5Fcreate(FILE1, H5F_ACC_EXCL, H5P_DEFAULT, H5P_DEFAULT);
     CHECK(fid1, FAIL, "H5Fcreate");
 
@@ -931,7 +937,7 @@
      * this attribute.  And close it.
      */
     datatype_id=H5Tcopy(H5T_NATIVE_INT);
-    CHECK(ret, FAIL, "H5Acreate");
+    CHECK(ret, FAIL, "H5Tcopy");
 
     ret = H5Tcommit(fid, TYPE_NAME, datatype_id);
     CHECK(ret, FAIL, "H5Tcommit");

Modified: packages/hdf5/trunk/test/tgenprop.c
===================================================================
--- packages/hdf5/trunk/test/tgenprop.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tgenprop.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************

Modified: packages/hdf5/trunk/test/th5s.c
===================================================================
--- packages/hdf5/trunk/test/th5s.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/th5s.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -204,6 +205,11 @@
     sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
     VERIFY(sid1, FAIL, "H5Screate_simple");
 
+    dims1[0] = H5S_UNLIMITED;
+    sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
+    VERIFY(sid1, FAIL, "H5Screate_simple");
+
+    dims1[0]=0;
     sid1 = H5Screate(H5S_SIMPLE);
     CHECK(sid1, FAIL, "H5Screate");
 
@@ -213,6 +219,16 @@
     ret = H5Sclose(sid1);
     CHECK_I(ret, "H5Sclose");
 
+    dims1[0] = H5S_UNLIMITED;
+    sid1 = H5Screate(H5S_SIMPLE);
+    CHECK(sid1, FAIL, "H5Screate");
+
+    ret = H5Sset_extent_simple(sid1,SPACE1_RANK,dims1,NULL);
+    VERIFY(ret, FAIL, "H5Sset_extent_simple");
+
+    ret = H5Sclose(sid1);
+    CHECK_I(ret, "H5Sclose");
+
     /*
      * Try writing simple dataspaces without setting their extents
      */

Modified: packages/hdf5/trunk/test/theap.c
===================================================================
--- packages/hdf5/trunk/test/theap.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/theap.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/titerate.c
===================================================================
--- packages/hdf5/trunk/test/titerate.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/titerate.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************

Modified: packages/hdf5/trunk/test/tmeta.c
===================================================================
--- packages/hdf5/trunk/test/tmeta.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tmeta.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************

Modified: packages/hdf5/trunk/test/tmisc.c
===================================================================
--- packages/hdf5/trunk/test/tmisc.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tmisc.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -254,6 +255,30 @@
 #define MISC22_SPACE_DIM0       639
 #define MISC22_SPACE_DIM1       1308
 
+/* Definitions for misc. test #24 */
+#define MISC24_FILE             "tmisc24.h5"
+#define MISC24_GROUP_NAME       "group"
+#define MISC24_GROUP_LINK       "group_link"
+#define MISC24_DATASET_NAME     "dataset"
+#define MISC24_DATASET_LINK     "dataset_link"
+#define MISC24_DATATYPE_NAME    "datatype"
+#define MISC24_DATATYPE_LINK    "datatype_link"
+
+/* Definitions for misc. test #25 'a' & 'b' */
+#define MISC25A_FILE            "foo.h5"
+#define MISC25A_GROUP0_NAME     "grp0"
+#define MISC25A_GROUP1_NAME     "/grp0/grp1"
+#define MISC25A_GROUP2_NAME     "/grp0/grp2"
+#define MISC25A_GROUP3_NAME     "/grp0/grp3"
+#define MISC25A_ATTR1_NAME      "_long attribute_"
+#define MISC25A_ATTR1_LEN       11
+#define MISC25A_ATTR2_NAME      "_short attr__"
+#define MISC25A_ATTR2_LEN       11
+#define MISC25A_ATTR3_NAME      "_short attr__"
+#define MISC25A_ATTR3_LEN       1
+#define MISC25B_FILE            "mergemsg.h5"
+#define MISC25B_GROUP           "grp1"
+
 /****************************************************************
 **
 **  test_misc1(): test unlinking a dataset from a group and immediately
@@ -3607,6 +3632,562 @@
 
 /****************************************************************
 **
+**  test_misc24(): Test opening objects with inappropriate APIs
+**
+****************************************************************/
+static void
+test_misc24(void)
+{
+    hid_t       file_id = 0, group_id = 0, type_id = 0, space_id = 0,
+                dset_id = 0, tmp_id = 0;
+    herr_t      ret;            /* Generic return value */
+
+    /* Output message about test being performed */
+    MESSAGE(5, ("Testing opening objects with inappropriate APIs\n"));
+
+    /* Create a new file using default properties. */
+    file_id = H5Fcreate(MISC24_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    CHECK(file_id, FAIL, "H5Fcreate");
+
+    /* Create dataspace for dataset */
+    space_id = H5Screate(H5S_SCALAR);
+    CHECK(space_id, FAIL, "H5Screate");
+
+    /* Create group, dataset & named datatype objects */
+    group_id = H5Gcreate(file_id, MISC24_GROUP_NAME, (size_t)0);
+    CHECK(group_id, FAIL, "H5Gcreate");
+
+    dset_id = H5Dcreate(file_id, MISC24_DATASET_NAME, H5T_NATIVE_INT, space_id, H5P_DEFAULT);
+    CHECK(dset_id, FAIL, "H5Dcreate");
+
+    type_id = H5Tcopy(H5T_NATIVE_INT);
+    CHECK(type_id, FAIL, "H5Tcopy");
+
+    ret = H5Tcommit(file_id, MISC24_DATATYPE_NAME, type_id);
+    CHECK(ret, FAIL, "H5Tcommit");
+
+    /* Create soft links to the objects created */
+    ret = H5Glink2(file_id, MISC24_GROUP_NAME, H5G_LINK_SOFT, file_id, MISC24_GROUP_LINK);
+    CHECK(ret, FAIL, "H5Glink2");
+
+    ret = H5Glink2(file_id, MISC24_DATASET_NAME, H5G_LINK_SOFT, file_id, MISC24_DATASET_LINK);
+    CHECK(ret, FAIL, "H5Glink2");
+
+    ret = H5Glink2(file_id, MISC24_DATATYPE_NAME, H5G_LINK_SOFT, file_id, MISC24_DATATYPE_LINK);
+    CHECK(ret, FAIL, "H5Glink2");
+
+    /* Close IDs for objects */
+    ret = H5Dclose(dset_id);
+    CHECK(ret, FAIL, "H5Dclose");
+
+    ret = H5Sclose(space_id);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    ret = H5Gclose(group_id);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    ret = H5Tclose(type_id);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Attempt to open each kind of object with wrong API, including using soft links */
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_GROUP_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_GROUP_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_GROUP_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_GROUP_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATASET_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATASET_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_DATASET_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_DATASET_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATATYPE_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATATYPE_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_DATATYPE_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_DATATYPE_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    /* Try again, with the object already open through valid call */
+    /* Open group */
+    group_id = H5Gopen(file_id, MISC24_GROUP_NAME);
+    CHECK(group_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_GROUP_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_GROUP_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_GROUP_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_GROUP_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    ret = H5Gclose(group_id);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Open dataset */
+    dset_id = H5Dopen(file_id, MISC24_DATASET_NAME);
+    CHECK(dset_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATASET_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATASET_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_DATASET_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Topen(file_id, MISC24_DATASET_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Topen");
+
+    ret = H5Dclose(dset_id);
+    CHECK(ret, FAIL, "H5Dclose");
+
+    /* Open named datatype */
+    type_id = H5Topen(file_id, MISC24_DATATYPE_NAME);
+    CHECK(ret, FAIL, "H5Topen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATATYPE_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Gopen(file_id, MISC24_DATATYPE_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Gopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_DATATYPE_NAME);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    H5E_BEGIN_TRY {
+        tmp_id = H5Dopen(file_id, MISC24_DATATYPE_LINK);
+    } H5E_END_TRY;
+    VERIFY(tmp_id, FAIL, "H5Dopen");
+
+    ret = H5Tclose(type_id);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close file */
+    ret = H5Fclose(file_id);
+    CHECK(ret, FAIL, "H5Fclose");
+} /* end test_misc24() */
+
+/****************************************************************
+**
+**  test_misc25a(): Exercise null object header message merge bug
+**                      with new file
+**
+****************************************************************/
+static void
+test_misc25a(void)
+{
+    hid_t fid;          /* File ID */
+    hid_t gid, gid2, gid3;      /* Group IDs */
+    hid_t aid;          /* Attribute ID */
+    hid_t sid;          /* Dataspace ID */
+    hid_t tid;          /* Datatype ID */
+    herr_t      ret;            /* Generic return value */
+
+    /* Output message about test being performed */
+    MESSAGE(5, ("Exercise null object header message bug\n"));
+
+    /* Create file */
+    fid = H5Fcreate(MISC25A_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fcreate");
+
+    /* Create top group */
+    gid = H5Gcreate(fid, MISC25A_GROUP0_NAME, (size_t)0);
+    CHECK(gid, FAIL, "H5Gcreate");
+
+    /* Close top group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Create first group */
+    gid = H5Gcreate(fid, MISC25A_GROUP1_NAME, (size_t)0);
+    CHECK(gid, FAIL, "H5Gcreate");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Create second group */
+    gid2 = H5Gcreate(fid, MISC25A_GROUP2_NAME, (size_t)0);
+    CHECK(gid2, FAIL, "H5Gcreate");
+
+    /* Close second group */
+    ret = H5Gclose(gid2);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Re-open file */
+    fid = H5Fopen(MISC25A_FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Re-open first group */
+    gid = H5Gopen(fid, MISC25A_GROUP1_NAME);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Create dataspace for attribute */
+    sid = H5Screate(H5S_SCALAR);
+    CHECK(sid, FAIL, "H5Screate");
+
+    /* Create dataype for attribute */
+    tid = H5Tcopy(H5T_C_S1);
+    CHECK(tid, FAIL, "H5Tcopy");
+    ret = H5Tset_size(tid, MISC25A_ATTR1_LEN);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Add 1st attribute on first group */
+    aid = H5Acreate(gid, MISC25A_ATTR1_NAME, tid, sid, H5P_DEFAULT);
+    CHECK(aid, FAIL, "H5Acreate");
+
+    /* Close dataspace */
+    ret = H5Sclose(sid);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close attribute */
+    ret = H5Aclose(aid);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Create dataspace for 2nd attribute */
+    sid = H5Screate(H5S_SCALAR);
+    CHECK(sid, FAIL, "H5Screate");
+
+    /* Create dataype for attribute */
+    tid = H5Tcopy(H5T_C_S1);
+    CHECK(tid, FAIL, "H5Tcopy");
+    ret = H5Tset_size(tid, MISC25A_ATTR2_LEN);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Add 2nd attribute on first group */
+    aid = H5Acreate(gid, MISC25A_ATTR2_NAME, tid, sid, H5P_DEFAULT);
+    CHECK(aid, FAIL, "H5Acreate");
+
+    /* Close dataspace */
+    ret = H5Sclose(sid);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close 2nd attribute */
+    ret = H5Aclose(aid);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Re-open file */
+    fid = H5Fopen(MISC25A_FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Create third group */
+    gid3 = H5Gcreate(fid, MISC25A_GROUP3_NAME, (size_t)0);
+    CHECK(gid3, FAIL, "H5Gcreate");
+
+    /* Close third group */
+    ret = H5Gclose(gid3);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Re-open first group */
+    gid = H5Gopen(fid, MISC25A_GROUP1_NAME);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Delete 2nd attribute */
+    ret = H5Adelete(gid, MISC25A_ATTR2_NAME);
+    CHECK(ret, FAIL, "H5Adelete");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+
+    /* Re-open file */
+    fid = H5Fopen(MISC25A_FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Re-open first group */
+    gid = H5Gopen(fid, MISC25A_GROUP1_NAME);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Create dataspace for 3rd attribute */
+    sid = H5Screate(H5S_SCALAR);
+    CHECK(sid, FAIL, "H5Screate");
+
+    /* Create dataype for attribute */
+    tid = H5Tcopy(H5T_C_S1);
+    CHECK(tid, FAIL, "H5Tcopy");
+    ret = H5Tset_size(tid, MISC25A_ATTR3_LEN);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Add 3rd attribute on first group (smaller than 2nd attribute) */
+    aid = H5Acreate(gid, MISC25A_ATTR3_NAME, tid, sid, H5P_DEFAULT);
+    CHECK(aid, FAIL, "H5Acreate");
+
+    /* Close dataspace */
+    ret = H5Sclose(sid);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close 3rd attribute */
+    ret = H5Aclose(aid);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+
+    /* Re-open file */
+    fid = H5Fopen(MISC25A_FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Re-open first group */
+    gid = H5Gopen(fid, MISC25A_GROUP1_NAME);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Delete 3rd attribute */
+    ret = H5Adelete(gid, MISC25A_ATTR3_NAME);
+    CHECK(ret, FAIL, "H5Adelete");
+
+    /* Create dataspace for 3rd attribute */
+    sid = H5Screate(H5S_SCALAR);
+    CHECK(sid, FAIL, "H5Screate");
+
+    /* Create dataype for attribute */
+    tid = H5Tcopy(H5T_C_S1);
+    CHECK(tid, FAIL, "H5Tcopy");
+    ret = H5Tset_size(tid, MISC25A_ATTR2_LEN);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Re-create 2nd attribute on first group */
+    aid = H5Acreate(gid, MISC25A_ATTR2_NAME, tid, sid, H5P_DEFAULT);
+    CHECK(aid, FAIL, "H5Acreate");
+
+    /* Close dataspace */
+    ret = H5Sclose(sid);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close 2nd attribute */
+    ret = H5Aclose(aid);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Re-open file */
+    fid = H5Fopen(MISC25A_FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Re-open first group */
+    gid = H5Gopen(fid, MISC25A_GROUP1_NAME);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Delete 2nd attribute */
+    ret = H5Adelete(gid, MISC25A_ATTR2_NAME);
+    CHECK(ret, FAIL, "H5Adelete");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Re-open file */
+    fid = H5Fopen(MISC25A_FILE, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Re-open first group */
+    gid = H5Gopen(fid, MISC25A_GROUP1_NAME);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Create dataspace for 3rd attribute */
+    sid = H5Screate(H5S_SCALAR);
+    CHECK(sid, FAIL, "H5Screate");
+
+    /* Create dataype for attribute */
+    tid = H5Tcopy(H5T_C_S1);
+    CHECK(tid, FAIL, "H5Tcopy");
+    ret = H5Tset_size(tid, MISC25A_ATTR2_LEN);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Re-create 2nd attribute on first group */
+    aid = H5Acreate(gid, MISC25A_ATTR2_NAME, tid, sid, H5P_DEFAULT);
+    CHECK(aid, FAIL, "H5Acreate");
+
+    /* Close dataspace */
+    ret = H5Sclose(sid);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close 2nd attribute */
+    ret = H5Aclose(aid);
+    CHECK(ret, FAIL, "H5Aclose");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+} /* end test_misc25a() */
+
+/****************************************************************
+**
+**  test_misc25b(): Exercise null object header message merge bug
+**                      with existing file  (This test relies on
+**                      the file produced by test/gen_mergemsg.c)
+**
+****************************************************************/
+static void
+test_misc25b(void)
+{
+    hid_t fid;          /* File ID */
+    hid_t gid;          /* Group ID */
+    char testfile[512]="";
+    char *srcdir = HDgetenv("srcdir");
+    herr_t      ret;            /* Generic return value */
+
+    /* Output message about test being performed */
+    MESSAGE(5, ("Exercise null object header message bug\n"));
+
+    /* Build the name of the file, with the source directory */
+    if (srcdir && ((HDstrlen(srcdir) + HDstrlen(MISC25B_FILE) + 1) < sizeof(testfile))){
+	HDstrcpy(testfile, srcdir);
+	HDstrcat(testfile, "/");
+    }
+    HDstrcat(testfile, MISC25B_FILE);
+
+    /* Open file */
+    fid = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT);
+    CHECK(fid, FAIL, "H5Fopen");
+
+    /* Re-open group with object header messages that will merge */
+    gid = H5Gopen(fid, MISC25B_GROUP);
+    CHECK(gid, FAIL, "H5Gopen");
+
+    /* Close first group */
+    ret = H5Gclose(gid);
+    CHECK(ret, FAIL, "H5Gclose");
+
+    /* Close file */
+    ret = H5Fclose(fid);
+    CHECK(ret, FAIL, "H5Fclose");
+} /* end test_misc25a() */
+
+/****************************************************************
+**
 **  test_misc(): Main misc. test routine.
 **
 ****************************************************************/
@@ -3640,6 +4221,10 @@
     test_misc21();      /* Test that "late" allocation time is treated the same as "incremental", for chunked datasets w/a filters */
     test_misc22();     /* check szip bits per pixel */
 #endif /* H5_HAVE_FILTER_SZIP */
+    /* misc. test #23 only in 1.7/main branch */
+    test_misc24();      /* Test inappropriate API opens of objects */
+    test_misc25a();     /* Exercise null object header message merge bug */
+    test_misc25b();     /* Exercise null object header message merge bug on existing file */
 
 } /* test_misc() */
 
@@ -3688,5 +4273,7 @@
     HDremove(MISC21_FILE);
     HDremove(MISC22_FILE);
 #endif /* H5_HAVE_FILTER_SZIP */
+    HDremove(MISC24_FILE);
+    HDremove(MISC25A_FILE);
 }
 

Modified: packages/hdf5/trunk/test/trefer.c
===================================================================
--- packages/hdf5/trunk/test/trefer.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/trefer.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -81,8 +82,9 @@
     hobj_ref_t      *wbuf,      /* buffer to write to disk */
                *rbuf,       /* buffer read from disk */
                *tbuf;       /* temp. buffer read from disk */
+    hobj_ref_t  nvrbuf[3]={0,100,1000000000}; /* buffer with non-valid refs */
     unsigned      *tu32;      /* Temporary pointer to uint32 data */
-    int        i;          /* counting variables */
+    int        i, j;          /* counting variables */
     const char *write_comment="Foo!"; /* Comments for group */
     char read_comment[10];
     herr_t		ret;		/* Generic return value		*/
@@ -289,6 +291,17 @@
         VERIFY(ret, 3, "H5Tget_nmembers");
     }
 
+    /* Attempting to retrieve type of object using non-valid refs */
+    for (j=0; j<3; j++){
+#ifdef H5_WANT_H5_V1_4_COMPAT
+        ret = H5Rget_object_type(dataset,&nvrbuf[j]);
+        VERIFY(ret, H5G_UNKNOWN, "H5Rget_object_type");
+#else /* H5_WANT_H5_V1_4_COMPAT */
+        ret = H5Rget_obj_type(dataset,H5R_OBJECT,&nvrbuf[j]);
+        VERIFY(ret, H5G_UNKNOWN, "H5Rget_obj_type");
+#endif /* H5_WANT_H5_V1_4_COMPAT */
+    }
+
     /* Close datatype */
     ret = H5Tclose(tid1);
     CHECK(ret, FAIL, "H5Tclose");
@@ -333,10 +346,11 @@
     hsize_t	high[SPACE2_RANK];	/* Selection bounds */
     hdset_reg_ref_t      *wbuf,		/* buffer to write to disk */
                *rbuf;       /* buffer read from disk */
+    hdset_reg_ref_t  nvrbuf[3]={0,100,1000000000}; /* buffer with non-valid refs */
     uint8_t    *dwbuf,      /* Buffer for writing numeric data to disk */
                *drbuf;      /* Buffer for reading numeric data from disk */
     uint8_t    *tu8;        /* Temporary pointer to uint8 data */
-    int        i;           /* counting variables */
+    int        i, j;           /* counting variables */
     herr_t	ret;		/* Generic return value		*/
 
     /* Output message about test being performed */
@@ -553,6 +567,17 @@
     ret = H5Dclose(dset2);
     CHECK(ret, FAIL, "H5Dclose");
 
+    /* Attempting to retrieve type of object using non-valid refs */
+    for (j=0; j<3; j++){
+#ifdef H5_WANT_H5_V1_4_COMPAT
+        ret = H5Rget_object_type(dset1,&nvrbuf[j]);
+        VERIFY(ret, H5G_UNKNOWN, "H5Rget_object_type");
+#else /* H5_WANT_H5_V1_4_COMPAT */
+        ret = H5Rget_obj_type(dset1,H5R_DATASET_REGION,&nvrbuf[j]);
+        VERIFY(ret, H5G_UNKNOWN, "H5Rget_obj_type");
+#endif /* H5_WANT_H5_V1_4_COMPAT */
+    }
+
     /* Close Dataset */
     ret = H5Dclose(dset1);
     CHECK(ret, FAIL, "H5Dclose");

Modified: packages/hdf5/trunk/test/trefstr.c
===================================================================
--- packages/hdf5/trunk/test/trefstr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/trefstr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -299,7 +300,7 @@
     MESSAGE(5, ("Testing Transferring Ref-Counted Strings\n"));
 
     /* Initialize buffer */
-    s = H5FL_BLK_MALLOC(str_buf,HDstrlen("foo") + 1);
+    s = (char *)H5FL_BLK_MALLOC(str_buf,HDstrlen("foo") + 1);
     HDstrcpy(s, "foo");
 
     /* Transfer ownership of dynamically allocated string to ref-counted string */

Modified: packages/hdf5/trunk/test/tselect.c
===================================================================
--- packages/hdf5/trunk/test/tselect.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tselect.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -4056,13 +4057,33 @@
     /* Output message about test being performed */
     MESSAGE(5, ("Testing Selection Validity\n"));
 
+    MESSAGE(8, ( "Case 1 : sub_space is not a valid dataspace\n"));
+    dims[0] = dims[1] = H5S_UNLIMITED;
+
+    sub_space = H5Screate_simple(2,dims,NULL);
+    VERIFY(sub_space, FAIL, "H5Screate_simple"); 
+
+    valid=H5Sselect_valid(sub_space);
+    VERIFY(valid, FAIL, "H5Sselect_valid");
+
+    /* Set arrays and dataspace for the rest of the cases */
     count[0] = count[1] = 1;
     dims[0] = dims[1] = maxdims[0] = maxdims[1] = 10;
 
     main_space = H5Screate_simple(2,dims,maxdims);
     CHECK(main_space, FAIL, "H5Screate_simple");
 
-    MESSAGE(8, ( "Case 1 : in the dimensions\nTry offset (4,4) and size(6,6), the original space is of size (10,10)\n"));
+    MESSAGE(8, ( "Case 2 : sub_space is a valid but closed dataspace\n"));
+    sub_space = H5Scopy(main_space);
+    CHECK(sub_space, FAIL, "H5Scopy");
+
+    error=H5Sclose(sub_space);
+    CHECK(error, FAIL, "H5Sclose");
+
+    valid=H5Sselect_valid(sub_space);
+    VERIFY(valid, FAIL, "H5Sselect_valid");
+
+    MESSAGE(8, ( "Case 3 : in the dimensions\nTry offset (4,4) and size(6,6), the original space is of size (10,10)\n"));
     start[0] = start[1] = 4;
     size[0] = size[1] = 6;
 
@@ -4084,7 +4105,7 @@
     error=H5Sclose(sub_space);
     CHECK(error, FAIL, "H5Sclose");
 
-    MESSAGE(8, ( "Case 2 : exceed dimensions by 1\nTry offset (5,5) and size(6,6), the original space is of size (10,10)\n"));
+    MESSAGE(8, ( "Case 4 : exceed dimensions by 1\nTry offset (5,5) and size(6,6), the original space is of size (10,10)\n"));
     start[0] = start[1] = 5;
     size[0] = size[1] = 6;
 
@@ -4106,7 +4127,7 @@
     error=H5Sclose(sub_space);
     CHECK(error, FAIL, "H5Sclose");
 
-    MESSAGE(8, ( "Case 3 : exceed dimensions by 2\nTry offset (6,6) and size(6,6), the original space is of size (10,10)\n"));
+    MESSAGE(8, ( "Case 5 : exceed dimensions by 2\nTry offset (6,6) and size(6,6), the original space is of size (10,10)\n"));
     start[0] = start[1] = 6;
     size[0] = size[1] = 6;
 
@@ -4127,6 +4148,7 @@
 
     error=H5Sclose(sub_space);
     CHECK(error, FAIL, "H5Sclose");
+
     error=H5Sclose(main_space);
     CHECK(error, FAIL, "H5Sclose");
 }   /* test_select_valid() */

Modified: packages/hdf5/trunk/test/tskiplist.c
===================================================================
--- packages/hdf5/trunk/test/tskiplist.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tskiplist.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/ttime.c
===================================================================
--- packages/hdf5/trunk/test/ttime.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttime.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************

Modified: packages/hdf5/trunk/test/ttsafe.c
===================================================================
--- packages/hdf5/trunk/test/ttsafe.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttsafe.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/ttsafe.h
===================================================================
--- packages/hdf5/trunk/test/ttsafe.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttsafe.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/ttsafe_acreate.c
===================================================================
--- packages/hdf5/trunk/test/ttsafe_acreate.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttsafe_acreate.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /********************************************************************

Modified: packages/hdf5/trunk/test/ttsafe_cancel.c
===================================================================
--- packages/hdf5/trunk/test/ttsafe_cancel.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttsafe_cancel.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /********************************************************************

Modified: packages/hdf5/trunk/test/ttsafe_dcreate.c
===================================================================
--- packages/hdf5/trunk/test/ttsafe_dcreate.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttsafe_dcreate.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /********************************************************************

Modified: packages/hdf5/trunk/test/ttsafe_error.c
===================================================================
--- packages/hdf5/trunk/test/ttsafe_error.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttsafe_error.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /********************************************************************

Modified: packages/hdf5/trunk/test/ttst.c
===================================================================
--- packages/hdf5/trunk/test/ttst.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/ttst.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/test/tvlstr.c
===================================================================
--- packages/hdf5/trunk/test/tvlstr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tvlstr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -255,7 +256,7 @@
 static void
 test_vlstrings_special(void)
 {
-    const char *wdata[SPACE1_DIM1] = {"one", "two", "", "four"};
+    const char *wdata[SPACE1_DIM1] = {"", "two", "three", "\0"};
     const char *wdata2[SPACE1_DIM1] = {NULL, NULL, NULL, NULL};
     char *rdata[SPACE1_DIM1];   /* Information read in */
     char *fill;                 /* Fill value */
@@ -313,6 +314,11 @@
             TestErrPrintf("VL data length don't match!, strlen(wdata[%d])=%d, strlen(rdata[%d])=%d\n",(int)i,(int)strlen(wdata[i]),(int)i,(int)strlen(rdata[i]));
             continue;
         } /* end if */
+        if((wdata[i]==NULL && rdata[i]!=NULL) || (rdata[i]==NULL && wdata[i]!=NULL)) {
+            TestErrPrintf("VL data values don't match!\n");
+            continue;
+        } /* end if */
+
         if( HDstrcmp(wdata[i],rdata[i]) != 0 ) {
             TestErrPrintf("VL data values don't match!, wdata[%d]=%s, rdata[%d]=%s\n",(int)i,wdata[i],(int)i,rdata[i]);
             continue;

Modified: packages/hdf5/trunk/test/tvltypes.c
===================================================================
--- packages/hdf5/trunk/test/tvltypes.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/tvltypes.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /***********************************************************
@@ -23,6 +24,7 @@
 #include "testhdf5.h"
 
 #include "hdf5.h"
+#include "H5Dprivate.h"
 
 #define FILENAME   "tvltypes.h5"
 
@@ -40,7 +42,13 @@
 #define SPACE3_DIM1     128
 #define L1_INCM         16
 #define L2_INCM         8
+#define L3_INCM         3 
 
+/* 1-D dataset with fixed dimensions */
+#define SPACE4_RANK	1
+#define SPACE4_DIM_SMALL     128
+#define SPACE4_DIM_LARGE     (H5D_XFER_MAX_TEMP_BUF_DEF / 64)
+
 void *test_vltypes_alloc_custom(size_t size, void *info);
 void test_vltypes_free_custom(void *mem, void *info);
 
@@ -52,23 +60,21 @@
 **      allocated.
 **
 ****************************************************************/
-void *test_vltypes_alloc_custom(size_t size, void *info)
+void *test_vltypes_alloc_custom(size_t size, void *mem_used)
 {
-    void *ret_value=NULL;       /* Pointer to return */
-    size_t *mem_used=(size_t *)info;  /* Get the pointer to the memory used */
-    size_t extra;               /* Extra space needed */
+    void *ret_value;            /* Pointer to return */
+    const size_t extra = MAX(sizeof(void *), sizeof(size_t)); /* Extra space needed */
+                                /* (This weird contortion is required on the
+                                 *      DEC Alpha to keep the alignment correct - QAK)
+                                 */
 
-    /*
-     *  This weird contortion is required on the DEC Alpha to keep the
-     *  alignment correct - QAK
-     */
-    extra=MAX(sizeof(void *),sizeof(size_t));
+    if((ret_value = HDmalloc(extra + size)) != NULL) {
+        *(size_t *)ret_value = size;
+        *(size_t *)mem_used += size;
+    } /* end if */
 
-    if((ret_value=HDmalloc(extra+size))!=NULL) {
-        *(size_t *)ret_value=size;
-        *mem_used+=size;
-    } /* end if */
-    ret_value=((unsigned char *)ret_value)+extra;
+    ret_value = ((unsigned char *)ret_value) + extra;
+
     return(ret_value);
 }
 
@@ -80,21 +86,17 @@
 **      allocated.
 **
 ****************************************************************/
-void test_vltypes_free_custom(void *_mem, void *info)
+void test_vltypes_free_custom(void *_mem, void *mem_used)
 {
-    unsigned char *mem;
-    size_t *mem_used=(size_t *)info;  /* Get the pointer to the memory used */
-    size_t extra;               /* Extra space needed */
+    if(_mem) {
+        const size_t extra = MAX(sizeof(void *), sizeof(size_t));     /* Extra space needed */
+                                                                /* (This weird contortion is required
+                                                                 *      on the DEC Alpha to keep the
+                                                                 *      alignment correct - QAK)
+                                                                 */
+        unsigned char *mem = ((unsigned char *)_mem) - extra;   /* Pointer to actual block allocated */
 
-    /*
-     *  This weird contortion is required on the DEC Alpha to keep the
-     *  alignment correct - QAK
-     */
-    extra=MAX(sizeof(void *),sizeof(size_t));
-
-    if(_mem!=NULL) {
-        mem=((unsigned char *)_mem)-extra;
-        *mem_used-=*(size_t *)mem;
+        *(size_t *)mem_used -= *(size_t *)mem;
         HDfree(mem);
     } /* end if */
 }
@@ -1678,6 +1680,379 @@
 
 /****************************************************************
 **
+**  test_vltypes_compound_vlstr(): Test VL datatype code.
+**      Tests VL datatypes of compound datatypes with VL string.
+**      Dataset is extensible chunked, and data is rewritten with
+**      shorter VL data. 
+**
+****************************************************************/
+static void
+test_vltypes_compound_vlstr(void)
+{
+    typedef enum {
+	red,
+	blue,
+	green
+    } e1;
+    typedef struct {
+        char *string;
+	e1   color;
+    } s2;
+    typedef struct {                    /* Struct that the compound type are composed of */
+        double d;
+        hvl_t v;
+    } s1;
+    s1 wdata[SPACE1_DIM1];              /* data to write */
+    s1 wdata2[SPACE1_DIM1];             /* data to write */
+    s1 rdata[SPACE1_DIM1];              /* data to read */
+    s1 rdata2[SPACE1_DIM1];              /* data to read */
+    char	str[64] = "a\0";
+    hid_t	fid1;		        /* HDF5 File IDs		*/
+    hid_t	dataset, dset2;	        /* Dataset ID			*/
+    hid_t	sid1, sid2, filespace, filespace2;  /* Dataspace ID	*/
+    hid_t	tid1, tid2, tid3, tid4, tid5, tid6;       /* Datatype IDs     */
+    hid_t	cparms;
+    hsize_t	dims1[] = {SPACE1_DIM1};
+    hsize_t	chunk_dims[] = {SPACE1_DIM1/2};
+    hsize_t	maxdims[] = {H5S_UNLIMITED};
+    hsize_t	size[] = {SPACE1_DIM1};
+    hsize_t	offset[] = {0};
+    unsigned    i,j;                    /* counting variables */
+    s2          *t1, *t2;               /* Temporary pointer to VL information */
+    int		val;
+    herr_t	ret;		        /* Generic return value		*/
+
+    /* Output message about test being performed */
+    MESSAGE(5, ("Testing VL Datatype of Compound Datatype with VL String Functionality\n"));
+
+    /* Allocate and initialize VL data to write */
+    for(i=0; i<SPACE1_DIM1; i++) {
+        wdata[i].d = 1234.5;
+        wdata[i].v.p=(s2*)HDmalloc((i+L3_INCM)*sizeof(s2));
+        wdata[i].v.len=i+L3_INCM;
+        for(t1=(wdata[i].v).p, j=0; j<(i+L3_INCM); j++, t1++) {
+	    strcat(str, "m");
+	    t1->string = (char*)HDmalloc(strlen(str)*sizeof(char)+1);
+            strcpy(t1->string, str);
+	    t1->color = blue;
+        }
+    } /* end for */
+
+    /* Create file */
+    fid1 = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    CHECK(fid1, FAIL, "H5Fcreate");
+
+    /* Create dataspace for datasets */
+    sid1 = H5Screate_simple(SPACE1_RANK, dims1, maxdims);
+    CHECK(sid1, FAIL, "H5Screate_simple");
+
+    /* Create a VL string type*/
+    tid4 = H5Tcopy (H5T_C_S1);
+    CHECK(tid4, FAIL, "H5Tcopy");
+    ret = H5Tset_size (tid4,H5T_VARIABLE);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Create an enum type */
+    tid3 = H5Tenum_create(H5T_STD_I32LE);
+    val = 0;
+    ret = H5Tenum_insert(tid3, "RED", &val);
+    CHECK(ret, FAIL, "H5Tenum_insert");
+    val = 1;
+    ret = H5Tenum_insert(tid3, "BLUE", &val);
+    CHECK(ret, FAIL, "H5Tenum_insert");
+    val = 2;
+    ret = H5Tenum_insert(tid3, "GREEN", &val);
+    CHECK(ret, FAIL, "H5Tenum_insert");
+
+    
+    /* Create the first layer compound type */
+    tid5 = H5Tcreate(H5T_COMPOUND, sizeof(s2));
+    CHECK(tid5, FAIL, "H5Tcreate");
+    /* Insert fields */
+    ret=H5Tinsert(tid5, "string", HOFFSET(s2, string), tid4);
+    CHECK(ret, FAIL, "H5Tinsert");
+    /* Insert fields */
+    ret=H5Tinsert(tid5, "enumerate", HOFFSET(s2, color), tid3);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+
+    /* Create a VL datatype of first layer compound type */
+    tid1 = H5Tvlen_create (tid5);
+    CHECK(tid1, FAIL, "H5Tvlen_create");
+
+    /* Create the base compound type */
+    tid2 = H5Tcreate(H5T_COMPOUND, sizeof(s1));
+    CHECK(tid2, FAIL, "H5Tcreate");
+
+    /* Insert fields */
+    ret=H5Tinsert(tid2, "v", HOFFSET(s1, v), tid1);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    tid6 = H5Tcopy(H5T_IEEE_F64LE);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    /* Insert fields */
+    ret=H5Tinsert(tid2, "d", HOFFSET(s1, d), tid6);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+
+
+    /* Modify dataset creation properties, i.e. enable chunking  */
+    cparms = H5Pcreate (H5P_DATASET_CREATE);
+    ret = H5Pset_chunk ( cparms, SPACE1_RANK, chunk_dims);
+    CHECK(ret, FAIL, "H5Pset_chunk");
+
+    /* Create a dataset */
+    dataset=H5Dcreate(fid1,"Dataset1",tid2,sid1,cparms);
+    CHECK(dataset, FAIL, "H5Dcreate");
+
+    /* Extend the dataset. This call assures that dataset is 4.*/
+    ret = H5Dextend (dataset, size);
+    CHECK(ret, FAIL, "H5Dextend");
+
+    /* Select a hyperslab  */
+    filespace = H5Dget_space (dataset);
+    ret = H5Sselect_hyperslab (filespace, H5S_SELECT_SET, offset, NULL,
+                                  dims1, NULL);
+    CHECK(ret, FAIL, "H5Sselect_hyperslab");
+
+    /* Write dataset to disk */
+    ret=H5Dwrite(dataset,tid2,sid1,filespace,H5P_DEFAULT,wdata);
+    CHECK(ret, FAIL, "H5Dwrite");
+
+    ret=H5Fflush(fid1,H5F_SCOPE_GLOBAL);
+    CHECK(ret, FAIL, "H5Fflush");
+
+    /* Close Dataset */
+    ret = H5Dclose(dataset);
+    CHECK(ret, FAIL, "H5Dclose");
+
+    /* Close disk dataspace */
+    ret = H5Sclose(filespace);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid6);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid5);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid4);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid3);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid2);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid1);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close Property list */
+    ret = H5Pclose(cparms);
+    CHECK(ret, FAIL, "H5Pclose");
+
+    /* Close file */
+    ret = H5Fclose(fid1);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Open file */
+    fid1 = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid1, FAIL, "H5Fopen");
+
+    /* Open the dataset */
+    dset2=H5Dopen(fid1,"Dataset1");
+    CHECK(dset2, FAIL, "H5Dopen");
+
+    /* Get the data type */
+    tid2 = H5Dget_type(dset2);
+    CHECK(tid2, FAIL, "H5Dget_type");
+
+    /* Read dataset from disk */
+    ret=H5Dread(dset2,tid2,H5S_ALL,H5S_ALL,H5P_DEFAULT,rdata);
+    CHECK(ret, FAIL, "H5Dread");
+
+    /* Compare data read in */
+    for(i=0; i<SPACE1_DIM1; i++) {
+        if(wdata[i].v.len!=rdata[i].v.len) {
+            TestErrPrintf("%d: VL data length don't match!, wdata[%d].v.len=%d, rdata[%d].v.len=%d\n",__LINE__,(int)i,(int)wdata[i].v.len,(int)i,(int)rdata[i].v.len);
+            continue;
+        } /* end if */
+
+        for(t1=wdata[i].v.p, t2=rdata[i].v.p, j=0; j<rdata[i].v.len; j++, t1++, t2++) {
+                if( strcmp(t1->string, t2->string) ) {
+                    TestErrPrintf("VL data values don't match!, t1->string=%s, t2->string=%s\n",t1->string, t2->string);
+                    continue;
+                } /* end if */
+                if(t1->color != t2->color) {
+                    TestErrPrintf("VL data values don't match!, t1->color=%d, t2->color=%d\n",t1->color, t2->color);
+                    continue;
+                } /* end if */
+        } /* end for */
+    } /* end for */
+
+    /* Reclaim the VL data */
+    ret=H5Dvlen_reclaim(tid2,sid1,H5P_DEFAULT,rdata);
+    CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+    /* Reclaim the write VL data */
+    ret=H5Dvlen_reclaim(tid2,sid1,H5P_DEFAULT,wdata);
+    CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+    /* Use this part for new data */
+    strcpy(str, "bbbbbbbb\0");
+    for(i=0; i<SPACE1_DIM1; i++) {
+        wdata2[i].d = 2017.3;
+        wdata2[i].v.p=(s2*)HDmalloc((i+1)*sizeof(s2));
+        wdata2[i].v.len=i+1;
+        for(t1=(s2*)(wdata2[i].v).p, j=0; j<i+1; j++, t1++) {
+	    strcat(str, "pp");
+	    t1->string = (char*)HDmalloc(strlen(str)*sizeof(char)+1);
+            strcpy(t1->string, str);
+	    t1->color = green;
+        }
+    } /* end for */
+
+    /* Select a hyperslab  */
+    filespace2 = H5Dget_space (dset2);
+    ret = H5Sselect_hyperslab (filespace2, H5S_SELECT_SET, offset, NULL,
+                                  dims1, NULL);
+    CHECK(ret, FAIL, "H5Sselect_hyperslab");
+
+    /* Create dataspace for datasets */
+    sid2 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
+    CHECK(sid1, FAIL, "H5Screate_simple");
+
+    /* Write dataset to disk */
+    ret=H5Dwrite(dset2,tid2,sid2,filespace2,H5P_DEFAULT, &wdata2);
+    CHECK(ret, FAIL, "H5Dwrite");
+
+    /* Read dataset from disk */
+    ret=H5Dread(dset2,tid2,H5S_ALL,H5S_ALL,H5P_DEFAULT,rdata2);
+    CHECK(ret, FAIL, "H5Dread");
+
+    /* Compare data read in */
+    for(i=0; i<SPACE1_DIM1; i++) {
+        if(wdata2[i].v.len!=rdata2[i].v.len) {
+            TestErrPrintf("%d: VL data length don't match!, wdata2[%d].v.len=%d, rdata2[%d].v.len=%d\n",__LINE__,(int)i,(int)wdata2[i].v.len,(int)i,(int)rdata2[i].v.len);
+            continue;
+        } /* end if */
+
+        for(t1=wdata2[i].v.p, t2=rdata2[i].v.p, j=0; j<rdata2[i].v.len; j++, t1++, t2++) {
+                if( strcmp(t1->string, t2->string) ) {
+                    TestErrPrintf("VL data values don't match!, t1->string=%s, t2->string=%s\n",t1->string, t2->string);
+                    continue;
+                } /* end if */
+                if(t1->color != t2->color) {
+                    TestErrPrintf("VL data values don't match!, t1->color=%d, t2->color=%d\n",t1->color, t2->color);
+                    continue;
+                } /* end if */
+        } /* end for */
+    } /* end for */
+
+    /* Reclaim the VL data */
+    ret=H5Dvlen_reclaim(tid2,sid1,H5P_DEFAULT,rdata2);
+    CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+    ret = H5Dclose(dset2);
+    CHECK(ret, FAIL, "H5Dclose");
+
+    /* Close disk dataspace */
+    ret = H5Sclose(sid1);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close disk dataspace */
+    ret = H5Sclose(sid2);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close disk dataspace */
+    ret = H5Sclose(filespace2);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid2);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close file */
+    ret = H5Fclose(fid1);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Open file */
+    fid1 = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(fid1, FAIL, "H5Fopen");
+
+    /* Open the dataset */
+    dset2=H5Dopen(fid1,"Dataset1");
+    CHECK(dset2, FAIL, "H5Dopen");
+
+    /* Get the data type */
+    tid2 = H5Dget_type(dset2);
+    CHECK(tid2, FAIL, "H5Dget_type");
+
+    /* Select a hyperslab  */
+    filespace2 = H5Dget_space (dset2);
+    ret = H5Sselect_hyperslab (filespace2, H5S_SELECT_SET, offset, NULL,
+                                  dims1, NULL);
+    CHECK(ret, FAIL, "H5Sselect_hyperslab");
+
+    /* Read dataset from disk */
+    ret=H5Dread(dset2,tid2,H5S_ALL,H5S_ALL,H5P_DEFAULT,rdata2);
+    CHECK(ret, FAIL, "H5Dread");
+
+    /* Compare data read in */
+    for(i=0; i<SPACE1_DIM1; i++) {
+        if(wdata2[i].v.len!=rdata2[i].v.len) {
+            TestErrPrintf("%d: VL data length don't match!, wdata2[%d].v.len=%d, rdata2[%d].v.len=%d\n",__LINE__,(int)i,(int)wdata2[i].v.len,(int)i,(int)rdata2[i].v.len);
+            continue;
+        } /* end if */
+
+        for(t1=wdata2[i].v.p, t2=rdata2[i].v.p, j=0; j<rdata2[i].v.len; j++, t1++, t2++) {
+                if( strcmp(t1->string, t2->string) ) {
+                    TestErrPrintf("VL data values don't match!, t1->string=%s, t2->string=%s\n",t1->string, t2->string);
+                    continue;
+                } /* end if */
+                if(t1->color != t2->color) {
+                    TestErrPrintf("VL data values don't match!, t1->color=%d, t2->color=%d\n",t1->color, t2->color);
+                    continue;
+                } /* end if */
+        } /* end for */
+    } /* end for */
+
+    /* Reclaim the write VL data */
+    ret=H5Dvlen_reclaim(tid2,filespace2,H5P_DEFAULT,wdata2);
+    CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+    /* Reclaim the VL data */
+    ret=H5Dvlen_reclaim(tid2,filespace2,H5P_DEFAULT,rdata2);
+    CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+    ret = H5Dclose(dset2);
+    CHECK(ret, FAIL, "H5Dclose");
+
+    /* Close disk dataspace */
+    ret = H5Sclose(filespace2);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    /* Close datatype */
+    ret = H5Tclose(tid2);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Close file */
+    ret = H5Fclose(fid1);
+    CHECK(ret, FAIL, "H5Fclose");
+} /* end test_vltypes_compound_vlstr() */
+
+/****************************************************************
+**
 **  rewrite_longer_vltypes_vlen_vlen_atomic(): Test basic VL datatype code.
 **      Tests VL datatype with VL datatypes of atomic datatypes.
 **
@@ -2030,6 +2405,749 @@
 
 /****************************************************************
 **
+**  test_vltypes_fill_value(): Test fill value for VL data.  
+**  One tests data space isn't allocated; another tests data
+**  space is allocated.
+**
+****************************************************************/
+static void
+test_vltypes_fill_value(void)
+{
+    typedef struct dtype1_struct {
+        unsigned int    gui;
+        unsigned int    pgui;
+        char   *str_id;
+        char   *str_name;
+        char   *str_desc;
+        char   *str_orig;
+        char   *str_stat;
+        unsigned int    ver;
+        double val;
+        double ma;
+        double mi;
+        char   *str_form;
+        char   *str_unit;
+    } dtype1_struct;
+
+    herr_t ret;
+    hid_t file_id;
+    hid_t dtype1_id = -1;
+    hid_t str_id = -1;
+    hid_t small_dspace_id;              /* Dataspace ID for small datasets */
+    hid_t large_dspace_id;              /* Dataspace ID for large datasets */
+    hid_t small_select_dspace_id;       /* Dataspace ID for selection in small datasets */
+    hid_t large_select_dspace_id;       /* Dataspace ID for selection in large datasets */
+    hid_t dset_dspace_id;               /* Dataspace ID for a particular dataset */
+    hid_t dset_select_dspace_id;        /* Dataspace ID for selection in a particular dataset */
+    hid_t scalar_dspace_id;             /* Dataspace ID for scalar dataspace */
+    hid_t single_dspace_id;             /* Dataspace ID for single element selection */
+    hsize_t single_offset[] = {2};      /* Offset of single element selection */
+    hsize_t single_block[] = {1};       /* Block size of single element selection */
+    hsize_t select_offset[] = {0};      /* Offset of non-contiguous element selection */
+    hsize_t select_stride[] = {2};      /* Stride size of non-contiguous element selection */
+    hsize_t small_select_count[] = {SPACE4_DIM_SMALL / 2};       /* Count of small non-contiguous element selection */
+    hsize_t large_select_count[] = {SPACE4_DIM_LARGE / 2};       /* Count of large non-contiguous element selection */
+    hsize_t select_block[] = {1};       /* Block size of non-contiguous element selection */
+    hid_t dcpl_id, xfer_pid;
+    hid_t dset_id; 
+    hsize_t small_dims[] = {SPACE4_DIM_SMALL};
+    hsize_t large_dims[] = {SPACE4_DIM_LARGE};
+    size_t dset_elmts;                  /* Number of elements in a particular dataset */
+    const dtype1_struct fill1 = {1, 2, "foobar", "", NULL, "\0", "dead", 3, 4.0, 100.0, 1.0, "liquid", "meter"};
+    const dtype1_struct wdata = {3, 4, "", NULL, "\0", "foo", "two", 6, 8.0, 200.0, 2.0, "solid", "yard"};
+    dtype1_struct *rbuf = NULL;         /* Buffer for reading data */
+    size_t mem_used = 0;                /* Memory used during allocation */
+    H5D_layout_t layout;                /* Dataset storage layout */
+    char dset_name1[64], dset_name2[64];       /* Dataset names */
+    unsigned i;
+
+    /* Output message about test being performed */
+    MESSAGE(5, ("Check fill value for VL data\n"));
+
+    /* Create a string datatype */
+    str_id = H5Tcopy(H5T_C_S1);
+    CHECK(str_id, FAIL, "H5Tcopy");
+    ret = H5Tset_size(str_id,H5T_VARIABLE);
+    CHECK(ret, FAIL, "H5Tset_size");
+
+    /* Create a compound data type */
+    dtype1_id = H5Tcreate(H5T_COMPOUND, sizeof(struct dtype1_struct));
+    CHECK(dtype1_id, FAIL, "H5Tcreate");
+
+    ret = H5Tinsert(dtype1_id,"guid",HOFFSET(struct dtype1_struct,gui),H5T_NATIVE_UINT);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"pguid",HOFFSET(struct dtype1_struct,pgui),H5T_NATIVE_UINT);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_id",HOFFSET(dtype1_struct,str_id),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_name",HOFFSET(dtype1_struct,str_name),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_desc",HOFFSET(dtype1_struct,str_desc),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_orig",HOFFSET(dtype1_struct,str_orig),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_stat",HOFFSET(dtype1_struct,str_stat),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"ver",HOFFSET(struct dtype1_struct,ver),H5T_NATIVE_UINT);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"val",HOFFSET(struct dtype1_struct,val),H5T_NATIVE_DOUBLE);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"ma",HOFFSET(struct dtype1_struct,ma),H5T_NATIVE_DOUBLE);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"mi",HOFFSET(struct dtype1_struct,mi),H5T_NATIVE_DOUBLE);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_form",HOFFSET(dtype1_struct,str_form),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    ret = H5Tinsert(dtype1_id,"str_unit",HOFFSET(dtype1_struct,str_unit),str_id);
+    CHECK(ret, FAIL, "H5Tinsert");
+
+    /* Close string datatype */
+    ret = H5Tclose(str_id);
+    CHECK(ret, FAIL, "H5Tclose");
+
+
+    /* Allocate space for the buffer to read data */
+    rbuf = HDmalloc(SPACE4_DIM_LARGE * sizeof(dtype1_struct));
+    CHECK(rbuf, NULL, "HDmalloc");
+
+
+    /* Create the small & large dataspaces to use */
+    small_dspace_id = H5Screate_simple(SPACE4_RANK, small_dims, NULL);
+    CHECK(small_dspace_id, FAIL, "H5Screate_simple");
+
+    large_dspace_id = H5Screate_simple(SPACE4_RANK, large_dims, NULL);
+    CHECK(large_dspace_id, FAIL, "H5Screate_simple");
+
+    /* Create small & large dataspaces w/non-contiguous selections */
+    small_select_dspace_id = H5Scopy(small_dspace_id);
+    CHECK(small_select_dspace_id, FAIL, "H5Scopy");
+
+    ret = H5Sselect_hyperslab(small_select_dspace_id, H5S_SELECT_SET,
+            select_offset, select_stride, small_select_count, select_block);
+    CHECK(ret, FAIL, "H5Sselect_hyperslab");
+
+    large_select_dspace_id = H5Scopy(large_dspace_id);
+    CHECK(large_select_dspace_id, FAIL, "H5Scopy");
+
+    ret = H5Sselect_hyperslab(large_select_dspace_id, H5S_SELECT_SET,
+            select_offset, select_stride, large_select_count, select_block);
+    CHECK(ret, FAIL, "H5Sselect_hyperslab");
+
+    /* Create a scalar dataspace */
+    scalar_dspace_id = H5Screate(H5S_SCALAR);
+    CHECK(scalar_dspace_id, FAIL, "H5Screate");
+
+    /* Create dataset create property list and set the fill value */
+    dcpl_id = H5Pcreate(H5P_DATASET_CREATE);
+    CHECK(dcpl_id, FAIL, "H5Pcreate");
+
+    ret = H5Pset_fill_value(dcpl_id, dtype1_id, &fill1);
+    CHECK(ret, FAIL, "H5Pset_fill_value");
+
+    /* Create the file */
+    file_id = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    CHECK(file_id, FAIL, "H5Fcreate");
+
+    /* Create datasets with different storage layouts */
+    for(layout = H5D_COMPACT; layout <= H5D_CHUNKED; layout++) {
+        unsigned compress_loop;         /* # of times to run loop, for testing compressed chunked dataset */
+        unsigned test_loop;             /* Loop over datasets */
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+        if(layout == H5D_CHUNKED)
+            compress_loop = 2;
+        else
+#endif /* H5_HAVE_FILTER_DEFLATE */
+            compress_loop = 1;
+
+        /* Loop over dataset operations */
+        for(test_loop = 0; test_loop < compress_loop; test_loop++) {
+            hid_t tmp_dcpl_id;      /* Temporary copy of the dataset creation property list */
+
+            /* Make a copy of the dataset creation property list */
+            tmp_dcpl_id = H5Pcopy(dcpl_id);
+            CHECK(tmp_dcpl_id, FAIL, "H5Pcopy");
+
+            /* Layout specific actions */
+            switch(layout) {
+                case H5D_COMPACT:
+                    HDstrcpy(dset_name1, "dataset1-compact");
+                    HDstrcpy(dset_name2, "dataset2-compact");
+                    dset_dspace_id = small_dspace_id;
+                    ret = H5Pset_layout(tmp_dcpl_id, H5D_COMPACT);
+                    CHECK(ret, FAIL, "H5Pset_layout");
+                    break;
+
+                case H5D_CONTIGUOUS:
+                    HDstrcpy(dset_name1, "dataset1-contig");
+                    HDstrcpy(dset_name2, "dataset2-contig");
+                    dset_dspace_id = large_dspace_id;
+                    break;
+
+                case H5D_CHUNKED:
+                    {
+                        hsize_t chunk_dims[1] = {SPACE4_DIM_LARGE / 4};
+
+                        dset_dspace_id = large_dspace_id;
+                        ret = H5Pset_chunk(tmp_dcpl_id, 1, chunk_dims);
+                        CHECK(ret, FAIL, "H5Pset_chunk");
+#ifdef H5_HAVE_FILTER_DEFLATE
+                        if(test_loop == 1) {
+                            HDstrcpy(dset_name1, "dataset1-chunked-compressed");
+                            HDstrcpy(dset_name2, "dataset2-chunked-compressed");
+                            ret = H5Pset_deflate(tmp_dcpl_id, 3);
+                            CHECK(ret, FAIL, "H5Pset_deflate");
+                        } /* end if */
+                        else {
+#endif /* H5_HAVE_FILTER_DEFLATE */
+                            HDstrcpy(dset_name1, "dataset1-chunked");
+                            HDstrcpy(dset_name2, "dataset2-chunked");
+#ifdef H5_HAVE_FILTER_DEFLATE
+                        } /* end else */
+#endif /* H5_HAVE_FILTER_DEFLATE */
+                    }
+                    break;
+            } /* end switch */
+
+            /* Create first data set with default setting - no space is allocated */
+            dset_id = H5Dcreate(file_id, dset_name1, dtype1_id, dset_dspace_id, tmp_dcpl_id);
+            CHECK(dset_id, FAIL, "H5Dcreate");
+
+            ret = H5Dclose(dset_id);
+            CHECK(ret, FAIL, "H5Dclose");
+
+
+            /* Create a second data set with space allocated and fill value written */
+            ret = H5Pset_fill_time(tmp_dcpl_id, H5D_FILL_TIME_IFSET);
+            CHECK(ret, FAIL, "H5Pset_fill_time");
+
+            ret = H5Pset_alloc_time(tmp_dcpl_id, H5D_ALLOC_TIME_EARLY);
+            CHECK(ret, FAIL, "H5Pset_alloc_time");
+
+            dset_id = H5Dcreate(file_id, dset_name2, dtype1_id, dset_dspace_id, tmp_dcpl_id);
+            CHECK(dset_id, FAIL, "H5Dcreate");
+
+            ret = H5Dclose(dset_id);
+            CHECK(ret, FAIL, "H5Dclose");
+
+            /* Close temporary DCPL */
+            ret = H5Pclose(tmp_dcpl_id);
+            CHECK(ret, FAIL, "H5Pclose");
+        } /* end for */
+    } /* end for */
+
+    ret = H5Fclose(file_id);
+    CHECK(ret, FAIL, "H5Fclose");
+
+    ret = H5Pclose(dcpl_id);
+    CHECK(ret, FAIL, "H5Pclose");
+
+
+    /* Change to the custom memory allocation routines for reading VL data */
+    xfer_pid=H5Pcreate(H5P_DATASET_XFER);
+    CHECK(xfer_pid, FAIL, "H5Pcreate");
+
+    ret=H5Pset_vlen_mem_manager(xfer_pid,test_vltypes_alloc_custom,&mem_used,test_vltypes_free_custom,&mem_used);
+    CHECK(ret, FAIL, "H5Pset_vlen_mem_manager");
+
+    /* Open the file to check data set value */
+    file_id = H5Fopen(FILENAME, H5F_ACC_RDONLY, H5P_DEFAULT);
+    CHECK(file_id, FAIL, "H5Fopen");
+
+    /* Read empty datasets with different storage layouts */
+    for(layout = H5D_COMPACT; layout <= H5D_CHUNKED; layout++) {
+        unsigned compress_loop;         /* # of times to run loop, for testing compressed chunked dataset */
+        unsigned test_loop;             /* Loop over datasets */
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+        if(layout == H5D_CHUNKED)
+            compress_loop = 2;
+        else
+#endif /* H5_HAVE_FILTER_DEFLATE */
+            compress_loop = 1;
+
+        /* Loop over dataset operations */
+        for(test_loop = 0; test_loop < compress_loop; test_loop++) {
+
+            /* Layout specific actions */
+            switch(layout) {
+                case H5D_COMPACT:
+                    HDstrcpy(dset_name1, "dataset1-compact");
+                    HDstrcpy(dset_name2, "dataset2-compact");
+                    dset_dspace_id = small_dspace_id;
+                    dset_select_dspace_id = small_select_dspace_id;
+                    dset_elmts = SPACE4_DIM_SMALL;
+                    break;
+
+                case H5D_CONTIGUOUS:
+                    HDstrcpy(dset_name1, "dataset1-contig");
+                    HDstrcpy(dset_name2, "dataset2-contig");
+                    dset_dspace_id = large_dspace_id;
+                    dset_select_dspace_id = large_select_dspace_id;
+                    dset_elmts = SPACE4_DIM_LARGE;
+                    break;
+
+                case H5D_CHUNKED:
+#ifdef H5_HAVE_FILTER_DEFLATE
+                    if(test_loop == 1) {
+                        HDstrcpy(dset_name1, "dataset1-chunked-compressed");
+                        HDstrcpy(dset_name2, "dataset2-chunked-compressed");
+                    } /* end if */
+                    else {
+#endif /* H5_HAVE_FILTER_DEFLATE */
+                        HDstrcpy(dset_name1, "dataset1-chunked");
+                        HDstrcpy(dset_name2, "dataset2-chunked");
+#ifdef H5_HAVE_FILTER_DEFLATE
+                    } /* end else */
+#endif /* H5_HAVE_FILTER_DEFLATE */
+                    dset_dspace_id = large_dspace_id;
+                    dset_select_dspace_id = large_select_dspace_id;
+                    dset_elmts = SPACE4_DIM_LARGE;
+                    break;
+            } /* end switch */
+
+            /* Open first data set */
+            dset_id = H5Dopen(file_id, dset_name1);
+            CHECK(dset_id, FAIL, "H5Dopen");
+
+            /* Read in the entire 'empty' dataset of fill value */
+            ret = H5Dread(dset_id, dtype1_id, dset_dspace_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if(HDstrcmp(rbuf[i].str_id, "foobar")
+                        || HDstrcmp(rbuf[i].str_name, "")
+                        || rbuf[i].str_desc
+                        || HDstrcmp(rbuf[i].str_orig, "\0")
+                        || HDstrcmp(rbuf[i].str_stat, "dead")
+                        || HDstrcmp(rbuf[i].str_form, "liquid")
+                        || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                    TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                    continue;
+                } /* end if */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            /* Clear the read buffer */
+            HDmemset(rbuf, 0, dset_elmts * sizeof(dtype1_struct));
+
+            /* Read in non-contiguous selection from 'empty' dataset of fill value */
+            ret = H5Dread(dset_id, dtype1_id, dset_select_dspace_id, dset_select_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if((i % 2) == select_offset[0]) {
+                    if(HDstrcmp(rbuf[i].str_id, "foobar")
+                            || HDstrcmp(rbuf[i].str_name, "")
+                            || rbuf[i].str_desc
+                            || HDstrcmp(rbuf[i].str_orig, "\0")
+                            || HDstrcmp(rbuf[i].str_stat, "dead")
+                            || HDstrcmp(rbuf[i].str_form, "liquid")
+                            || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+                else {
+                    if(rbuf[i].str_id || rbuf[i].str_name || rbuf[i].str_desc
+                            || rbuf[i].str_orig || rbuf[i].str_stat
+                            || rbuf[i].str_form || rbuf[i].str_unit) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                        continue;
+                    } /* end if */
+                } /* end else */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            ret = H5Dclose(dset_id);
+            CHECK(ret, FAIL, "H5Dclose");
+
+
+            /* Open the second data set to check the value of data */
+            dset_id = H5Dopen(file_id, dset_name2);
+            CHECK(dset_id, FAIL, "H5Dopen");
+
+            /* Read in the entire 'empty' dataset of fill value */
+            ret = H5Dread(dset_id, dtype1_id, dset_dspace_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if(HDstrcmp(rbuf[i].str_id, "foobar")
+                        || HDstrcmp(rbuf[i].str_name, "")
+                        || rbuf[i].str_desc
+                        || HDstrcmp(rbuf[i].str_orig, "\0")
+                        || HDstrcmp(rbuf[i].str_stat, "dead")
+                        || HDstrcmp(rbuf[i].str_form, "liquid")
+                        || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                    TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                    continue;
+                } /* end if */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            /* Clear the read buffer */
+            HDmemset(rbuf, 0, dset_elmts * sizeof(dtype1_struct));
+
+            /* Read in non-contiguous selection from 'empty' dataset of fill value */
+            ret = H5Dread(dset_id, dtype1_id, dset_select_dspace_id, dset_select_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if((i % 2) == select_offset[0]) {
+                    if(HDstrcmp(rbuf[i].str_id, "foobar")
+                            || HDstrcmp(rbuf[i].str_name, "")
+                            || rbuf[i].str_desc
+                            || HDstrcmp(rbuf[i].str_orig, "\0")
+                            || HDstrcmp(rbuf[i].str_stat, "dead")
+                            || HDstrcmp(rbuf[i].str_form, "liquid")
+                            || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+                else {
+                    if(rbuf[i].str_id || rbuf[i].str_name || rbuf[i].str_desc
+                            || rbuf[i].str_orig || rbuf[i].str_stat
+                            || rbuf[i].str_form || rbuf[i].str_unit) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                        continue;
+                    } /* end if */
+                } /* end else */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            ret = H5Dclose(dset_id);
+            CHECK(ret, FAIL, "H5Dclose");
+        } /* end for */
+    } /* end for */
+
+    ret = H5Fclose(file_id);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Open the file to check data set value */
+    file_id = H5Fopen(FILENAME, H5F_ACC_RDWR, H5P_DEFAULT);
+    CHECK(file_id, FAIL, "H5Fopen");
+
+    /* Write one element & fill values to  datasets with different storage layouts */
+    for(layout = H5D_COMPACT; layout <= H5D_CHUNKED; layout++) {
+        unsigned compress_loop;         /* # of times to run loop, for testing compressed chunked dataset */
+        unsigned test_loop;             /* Loop over datasets */
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+        if(layout == H5D_CHUNKED)
+            compress_loop = 2;
+        else
+#endif /* H5_HAVE_FILTER_DEFLATE */
+            compress_loop = 1;
+
+        /* Loop over dataset operations */
+        for(test_loop = 0; test_loop < compress_loop; test_loop++) {
+
+            /* Layout specific actions */
+            switch(layout) {
+                case H5D_COMPACT:
+                    HDstrcpy(dset_name1, "dataset1-compact");
+                    HDstrcpy(dset_name2, "dataset2-compact");
+                    dset_dspace_id = small_dspace_id;
+                    dset_select_dspace_id = small_select_dspace_id;
+                    dset_elmts = SPACE4_DIM_SMALL;
+                    break;
+
+                case H5D_CONTIGUOUS:
+                    HDstrcpy(dset_name1, "dataset1-contig");
+                    HDstrcpy(dset_name2, "dataset2-contig");
+                    dset_dspace_id = large_dspace_id;
+                    dset_select_dspace_id = large_select_dspace_id;
+                    dset_elmts = SPACE4_DIM_LARGE;
+                    break;
+
+                case H5D_CHUNKED:
+#ifdef H5_HAVE_FILTER_DEFLATE
+                    if(test_loop == 1) {
+                        HDstrcpy(dset_name1, "dataset1-chunked-compressed");
+                        HDstrcpy(dset_name2, "dataset2-chunked-compressed");
+                    } /* end if */
+                    else {
+#endif /* H5_HAVE_FILTER_DEFLATE */
+                        HDstrcpy(dset_name1, "dataset1-chunked");
+                        HDstrcpy(dset_name2, "dataset2-chunked");
+#ifdef H5_HAVE_FILTER_DEFLATE
+                    } /* end else */
+#endif /* H5_HAVE_FILTER_DEFLATE */
+                    dset_dspace_id = large_dspace_id;
+                    dset_select_dspace_id = large_select_dspace_id;
+                    dset_elmts = SPACE4_DIM_LARGE;
+                    break;
+            } /* end switch */
+
+            /* Copy the dataset's dataspace */
+            single_dspace_id = H5Scopy(dset_dspace_id);
+            CHECK(single_dspace_id, FAIL, "H5Scopy");
+
+            /* Set a single element in the dataspace */
+            ret = H5Sselect_hyperslab(single_dspace_id, H5S_SELECT_SET, single_offset,
+                    NULL, single_block, NULL);
+            CHECK(ret, FAIL, "H5Sselect_hyperslab");
+
+            /* Open first data set */
+            dset_id = H5Dopen(file_id, dset_name1);
+            CHECK(dset_id, FAIL, "H5Dopen");
+
+            /* Write one element in the dataset */
+            ret = H5Dwrite(dset_id, dtype1_id, scalar_dspace_id, single_dspace_id, xfer_pid, &wdata);
+            CHECK(ret, FAIL, "H5Dwrite");
+
+            ret = H5Dread(dset_id, dtype1_id, dset_dspace_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if(i == single_offset[0]) {
+                    if(HDstrcmp(rbuf[i].str_id, wdata.str_id)
+                            || rbuf[i].str_name
+                            || HDstrcmp(rbuf[i].str_desc, wdata.str_desc)
+                            || HDstrcmp(rbuf[i].str_orig, wdata.str_orig)
+                            || HDstrcmp(rbuf[i].str_stat, wdata.str_stat)
+                            || HDstrcmp(rbuf[i].str_form, wdata.str_form)
+                            || HDstrcmp(rbuf[i].str_unit, wdata.str_unit)) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+                else {
+                    if(HDstrcmp(rbuf[i].str_id, "foobar")
+                            || HDstrcmp(rbuf[i].str_name, "")
+                            || rbuf[i].str_desc
+                            || HDstrcmp(rbuf[i].str_orig,"\0")
+                            || HDstrcmp(rbuf[i].str_stat, "dead")
+                            || HDstrcmp(rbuf[i].str_form, "liquid")
+                            || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            /* Clear the read buffer */
+            HDmemset(rbuf, 0, dset_elmts * sizeof(dtype1_struct));
+
+            /* Read in non-contiguous selection from dataset */
+            ret = H5Dread(dset_id, dtype1_id, dset_select_dspace_id, dset_select_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if(i == single_offset[0]) {
+                    if(HDstrcmp(rbuf[i].str_id, wdata.str_id)
+                            || rbuf[i].str_name
+                            || HDstrcmp(rbuf[i].str_desc, wdata.str_desc)
+                            || HDstrcmp(rbuf[i].str_orig, wdata.str_orig)
+                            || HDstrcmp(rbuf[i].str_stat, wdata.str_stat)
+                            || HDstrcmp(rbuf[i].str_form, wdata.str_form)
+                            || HDstrcmp(rbuf[i].str_unit, wdata.str_unit)) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+                else {
+                    if((i % 2) == select_offset[0]) {
+                        if(HDstrcmp(rbuf[i].str_id, "foobar")
+                                || HDstrcmp(rbuf[i].str_name, "")
+                                || rbuf[i].str_desc
+                                || HDstrcmp(rbuf[i].str_orig, "\0")
+                                || HDstrcmp(rbuf[i].str_stat, "dead")
+                                || HDstrcmp(rbuf[i].str_form, "liquid")
+                                || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                            TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                            continue;
+                        } /* end if */
+                    } /* end if */
+                    else {
+                        if(rbuf[i].str_id || rbuf[i].str_name || rbuf[i].str_desc
+                                || rbuf[i].str_orig || rbuf[i].str_stat
+                                || rbuf[i].str_form || rbuf[i].str_unit) {
+                            TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                            continue;
+                        } /* end if */
+                    } /* end else */
+                } /* end else */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            ret = H5Dclose(dset_id);
+            CHECK(ret, FAIL, "H5Dclose");
+
+
+            /* Open the second data set to check the value of data */
+            dset_id = H5Dopen(file_id, dset_name2);
+            CHECK(dset_id, FAIL, "H5Dopen");
+
+            /* Write one element in the dataset */
+            ret = H5Dwrite(dset_id, dtype1_id, scalar_dspace_id, single_dspace_id, xfer_pid, &wdata);
+            CHECK(ret, FAIL, "H5Dwrite");
+
+            ret = H5Dread(dset_id, dtype1_id, dset_dspace_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if(i == single_offset[0]) {
+                    if(HDstrcmp(rbuf[i].str_id, wdata.str_id)
+                            || rbuf[i].str_name
+                            || HDstrcmp(rbuf[i].str_desc, wdata.str_desc)
+                            || HDstrcmp(rbuf[i].str_orig, wdata.str_orig)
+                            || HDstrcmp(rbuf[i].str_stat, wdata.str_stat)
+                            || HDstrcmp(rbuf[i].str_form, wdata.str_form)
+                            || HDstrcmp(rbuf[i].str_unit, wdata.str_unit)) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+                else {
+                    if(HDstrcmp(rbuf[i].str_id, "foobar")
+                            || HDstrcmp(rbuf[i].str_name, "")
+                            || rbuf[i].str_desc
+                            || HDstrcmp(rbuf[i].str_orig,"\0")
+                            || HDstrcmp(rbuf[i].str_stat, "dead")
+                            || HDstrcmp(rbuf[i].str_form, "liquid")
+                            || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            /* Clear the read buffer */
+            HDmemset(rbuf, 0, dset_elmts * sizeof(dtype1_struct));
+
+            /* Read in non-contiguous selection from dataset */
+            ret = H5Dread(dset_id, dtype1_id, dset_select_dspace_id, dset_select_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dread");
+
+            /* Compare data read in */
+            for(i = 0; i < dset_elmts; i++) {
+                if(i == single_offset[0]) {
+                    if(HDstrcmp(rbuf[i].str_id, wdata.str_id)
+                            || rbuf[i].str_name
+                            || HDstrcmp(rbuf[i].str_desc, wdata.str_desc)
+                            || HDstrcmp(rbuf[i].str_orig, wdata.str_orig)
+                            || HDstrcmp(rbuf[i].str_stat, wdata.str_stat)
+                            || HDstrcmp(rbuf[i].str_form, wdata.str_form)
+                            || HDstrcmp(rbuf[i].str_unit, wdata.str_unit)) {
+                        TestErrPrintf("%d: VL data doesn't match!, index(i)=%d\n",__LINE__,(int)i);
+                        continue;
+                    } /* end if */
+                } /* end if */
+                else {
+                    if((i % 2) == select_offset[0]) {
+                        if(HDstrcmp(rbuf[i].str_id, "foobar")
+                                || HDstrcmp(rbuf[i].str_name, "")
+                                || rbuf[i].str_desc
+                                || HDstrcmp(rbuf[i].str_orig, "\0")
+                                || HDstrcmp(rbuf[i].str_stat, "dead")
+                                || HDstrcmp(rbuf[i].str_form, "liquid")
+                                || HDstrcmp(rbuf[i].str_unit, "meter")) {
+                            TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                            continue;
+                        } /* end if */
+                    } /* end if */
+                    else {
+                        if(rbuf[i].str_id || rbuf[i].str_name || rbuf[i].str_desc
+                                || rbuf[i].str_orig || rbuf[i].str_stat
+                                || rbuf[i].str_form || rbuf[i].str_unit) {
+                            TestErrPrintf("%d: VL data doesn't match!, index(i) = %d\n", __LINE__, (int)i);
+                            continue;
+                        } /* end if */
+                    } /* end else */
+                } /* end else */
+            } /* end for */
+
+            /* Release the space */
+            ret = H5Dvlen_reclaim(dtype1_id, dset_dspace_id, xfer_pid, rbuf);
+            CHECK(ret, FAIL, "H5Dvlen_reclaim");
+
+            ret = H5Dclose(dset_id);
+            CHECK(ret, FAIL, "H5Dclose");
+
+            /* Close the dataspace for the writes */
+            ret = H5Sclose(single_dspace_id);
+            CHECK(ret, FAIL, "H5Sclose");
+        } /* end for */
+    } /* end for */
+
+    ret = H5Fclose(file_id);
+    CHECK(ret, FAIL, "H5Fclose");
+
+
+    /* Clean up rest of IDs */
+    ret = H5Pclose(xfer_pid);
+    CHECK(ret, FAIL, "H5Pclose");
+
+    ret = H5Sclose(small_dspace_id);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    ret = H5Sclose(large_dspace_id);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    ret = H5Sclose(small_select_dspace_id);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    ret = H5Sclose(large_select_dspace_id);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    ret = H5Sclose(scalar_dspace_id);
+    CHECK(ret, FAIL, "H5Sclose");
+
+    ret = H5Tclose(dtype1_id);
+    CHECK(ret, FAIL, "H5Tclose");
+
+    /* Release buffer */
+    HDfree(rbuf);
+} /* end test_vltypes_fill_value() */
+
+
+/****************************************************************
+**
 **  test_vltypes(): Main VL datatype testing routine.
 **
 ****************************************************************/
@@ -2052,6 +3170,8 @@
     rewrite_longer_vltypes_vlen_vlen_atomic();  /*overwrite with VL data of longer sequence*/
     rewrite_shorter_vltypes_vlen_vlen_atomic();  /*overwrite with VL data of shorted sequence*/
     test_vltypes_compound_vlen_vlen(); /* Test compound datatypes with VL atomic components */
+    test_vltypes_compound_vlstr();    /* Test data rewritten of nested VL data */
+    test_vltypes_fill_value();        /* Test fill value for VL data */
 }   /* test_vltypes() */
 
 

Modified: packages/hdf5/trunk/test/unlink.c
===================================================================
--- packages/hdf5/trunk/test/unlink.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/test/unlink.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -248,8 +249,6 @@
  * Programmer:	Robb Matzke
  *              Friday, September 25, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
@@ -260,12 +259,12 @@
     TESTING("symlink removal");
 
     /* Create a test group and symlink */
-    if ((work=H5Gcreate(file, "/test_symlink", 0))<0) goto error;
-    if (H5Glink(work, H5G_LINK_SOFT, "link_value", "link")<0) goto error;
-    if (H5Gunlink(work, "link")<0) goto error;
+    if ((work=H5Gcreate(file, "/test_symlink", 0))<0) TEST_ERROR;
+    if (H5Glink(work, H5G_LINK_SOFT, "link_value", "link")<0) TEST_ERROR;
+    if (H5Gunlink(work, "link")<0) TEST_ERROR;
 
     /* Cleanup */
-    if (H5Gclose(work)<0) goto error;
+    if (H5Gclose(work)<0) TEST_ERROR;
     PASSED();
     return 0;
 
@@ -529,10 +528,10 @@
     hsize_t     dims[FILESPACE_NDIMS]= {FILESPACE_DIM0, FILESPACE_DIM1, FILESPACE_DIM2};        /* Dataset dimensions */
     hsize_t     chunk_dims[FILESPACE_NDIMS]= {FILESPACE_CHUNK0, FILESPACE_CHUNK1, FILESPACE_CHUNK2};        /* Chunk dimensions */
     hsize_t     attr_dims[FILESPACE_ATTR_NDIMS]= {FILESPACE_ATTR_DIM0, FILESPACE_ATTR_DIM1};        /* Attribute dimensions */
-    int        *data;           /* Pointer to dataset buffer */
+    int        *data = NULL;    /* Pointer to dataset buffer */
     int        *tmp_data;       /* Temporary pointer to dataset buffer */
-    off_t       empty_size;     /* Size of an empty file */
-    off_t       file_size;      /* Size of each file created */
+    h5_stat_size_t	empty_size;     /* Size of an empty file */
+    h5_stat_size_t	file_size;      /* Size of each file created */
     herr_t	status;         /* Function status return value */
     unsigned u,v,w;             /* Local index variables */
 
@@ -574,7 +573,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of an empty file */
-    if((empty_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((empty_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
 /* Create common objects for datasets */
 
@@ -631,7 +630,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -655,7 +654,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -679,7 +678,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -703,7 +702,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -727,7 +726,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -773,7 +772,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -797,7 +796,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -860,7 +859,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -887,7 +886,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -911,7 +910,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -941,7 +940,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -970,7 +969,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -1050,7 +1049,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -1083,7 +1082,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -1116,7 +1115,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -1153,7 +1152,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -1202,7 +1201,7 @@
     if(H5Fclose(file)<0) TEST_ERROR;
 
     /* Get the size of the file */
-    if((file_size=h5_get_file_size(filename))==0) TEST_ERROR;
+    if((file_size=h5_get_file_size(filename))<0) TEST_ERROR;
 
     /* Verify the file is correct size */
     if(file_size!=empty_size) TEST_ERROR;
@@ -1231,6 +1230,10 @@
     return 0;
 
 error:
+    /* Release dataset buffer */
+    if(data)
+        HDfree(data);
+
     return 1;
 } /* end test_filespace() */
 
@@ -1505,7 +1508,7 @@
         ngroups = 150;  /* Number of groups to create */
     char name[256];     /* Name of object to create */
 
-    TESTING("Deleting right-most child in non-leaf B-tree node");
+    TESTING("deleting right-most child in non-leaf B-tree node");
 
     /* Allocate space for the group IDs */
     gids = (hid_t *) HDmalloc (ngroups * sizeof(hid_t));
@@ -1530,6 +1533,9 @@
     for (n = 0; n < ngroups; n++)
         if(H5Gclose(gids[n])<0) TEST_ERROR;
 
+    /* Close root group ID */
+    if(H5Gclose(rootid)<0) TEST_ERROR;
+
     /* Free memory */
     HDfree(gids);
 
@@ -1566,7 +1572,7 @@
         ngroups = 150;  /* Number of groups to create */
     char name[256];     /* Name of object to create */
 
-    TESTING("Deleting right-most child in non-leaf B-tree node");
+    TESTING("deleting right-most child in non-leaf B-tree node");
 
     /* Allocate space for the group IDs */
     gids = (hid_t *) HDmalloc (ngroups * sizeof(hid_t));
@@ -1591,6 +1597,9 @@
     if(H5Gunlink(fid,"/ZoneB8")<0) TEST_ERROR;
     if(H5Gunlink(fid,"/ZoneB80")<0) TEST_ERROR;
 
+    /* Close root group ID */
+    if(H5Gclose(rootid)<0) TEST_ERROR;
+
     /* Free memory */
     HDfree(gids);
 
@@ -1627,7 +1636,7 @@
         ngroups = 250;  /* Number of groups to create */
     char name[256];     /* Name of object to create */
 
-    TESTING("Deleting right-most child in non-leaf B-tree node");
+    TESTING("deleting right-most child in non-leaf B-tree node");
 
     /* Allocate space for the group IDs */
     gids = (hid_t *) HDmalloc (ngroups * sizeof(hid_t));
@@ -1795,6 +1804,9 @@
     if(H5Gunlink(fid,"/ZoneC8")<0) TEST_ERROR;
     if(H5Gunlink(fid,"/ZoneC80")<0) TEST_ERROR;
 
+    /* Close root group ID */
+    if(H5Gclose(rootid)<0) TEST_ERROR;
+
     /* Free memory */
     HDfree(gids);
 
@@ -1828,7 +1840,7 @@
     hid_t       f=-1, s=-1, d=-1, fapl=-1;
     char	filename[1024];
 
-    TESTING("Resurrecting dataset after deletion");
+    TESTING("resurrecting dataset after deletion");
 
     /* Create file */
     fapl = h5_fileaccess();
@@ -1902,7 +1914,7 @@
     hid_t       file=-1, type=-1, fapl=-1;
     char        filename[1024];
 
-    TESTING("Resurrecting datatype after deletion");
+    TESTING("resurrecting datatype after deletion");
 
     /* Create file */
     fapl = h5_fileaccess();
@@ -1972,7 +1984,7 @@
     hid_t       file=-1, group=-1, fapl=-1;
     char        filename[1024];
 
-    TESTING("Resurrecting group after deletion");
+    TESTING("resurrecting group after deletion");
 
     /* Create file */
     fapl = h5_fileaccess();
@@ -2047,11 +2059,11 @@
     hsize_t chunk_dims[FILESPACE_NDIMS]={FILESPACE_CHUNK0,FILESPACE_CHUNK1,FILESPACE_CHUNK2};
     char filename[1024];
 
-    TESTING("Unlinking chunked dataset");
+    TESTING("unlinking chunked dataset");
 
     /* Create file */
     fapl_id = h5_fileaccess();
-    h5_fixname(FILENAME[7], fapl_id, filename, sizeof filename);
+    h5_fixname(FILENAME[9], fapl_id, filename, sizeof filename);
 
     /* Create the file */
     if((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id))<0) TEST_ERROR;
@@ -2084,7 +2096,7 @@
     if(H5Fclose(file_id)<0) TEST_ERROR;
 
     /* Re-open the file */
-    if((file_id = H5Fopen(filename, H5F_ACC_RDWR, H5P_DEFAULT))<0) TEST_ERROR;
+    if((file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id))<0) TEST_ERROR;
 
     /* Delete the dataset */
     if(H5Gunlink(file_id, DATASETNAME)<0) TEST_ERROR;
@@ -2196,6 +2208,7 @@
     nerrors += test_unlink_chunked_dataset();
 
     /* Close */
+    if (H5Pclose(fapl2)<0) TEST_ERROR;
     if (H5Fclose(file)<0) TEST_ERROR;
     if (nerrors) {
 	printf("***** %d FAILURE%s! *****\n", nerrors, 1==nerrors?"":"S");

Copied: packages/hdf5/trunk/testpar/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/testpar/COPYING)
===================================================================
--- packages/hdf5/trunk/testpar/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/testpar/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/testpar/Dependencies
===================================================================
--- packages/hdf5/trunk/testpar/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 t_mpi.lo: \
    $(srcdir)/t_mpi.c \

Modified: packages/hdf5/trunk/testpar/Makefile.in
===================================================================
--- packages/hdf5/trunk/testpar/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## hdf5 Parallel Library Test Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -43,7 +44,7 @@
 DISTCLEAN=go Makefile testph5.sh
 
 ## Test source files
-TEST_PHDF5_SRC=testphdf5.c t_dset.c t_file.c t_mdset.c t_ph5basic.c t_coll_chunk.c t_span_tree.c
+TEST_PHDF5_SRC=testphdf5.c t_dset.c t_file.c t_mdset.c t_ph5basic.c t_coll_chunk.c t_span_tree.c t_chunk_alloc.c t_filter_read.c
 TEST_PHDF5_OBJ=$(TEST_PHDF5_SRC:.c=.lo)
 TEST_SRC=t_mpi.c $(TEST_PHDF5_SRC)
 TEST_OBJ=$(TEST_SRC:.c=.lo)

Copied: packages/hdf5/trunk/testpar/t_chunk_alloc.c (from rev 1094, packages/hdf5/branches/upstream/current/testpar/t_chunk_alloc.c)
===================================================================
--- packages/hdf5/trunk/testpar/t_chunk_alloc.c	                        (rev 0)
+++ packages/hdf5/trunk/testpar/t_chunk_alloc.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,526 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* 
+ * This verifies if the storage space allocation methods are compatible between
+ * serial and parallel modes.
+ *
+ * Created by: Christian Chilan and Albert Cheng
+ * Date: 2006/05/25
+ */
+
+#include "testphdf5.h"
+static int	mpi_size, mpi_rank;
+
+#define DATASETNAME "ExtendibleArray" 
+#define CHUNKSIZE	1000		/* #elements per chunk */
+#define DSETCHUNKS		20000
+#define CLOSE           1
+#define NO_CLOSE        0
+
+static MPI_Offset
+get_filesize(const char *filename)
+{
+    int		mpierr;
+    MPI_File	fd;
+    MPI_Offset	filesize;
+#ifndef H5_HAVE_MPI_GET_SIZE
+    struct stat stat_buf;
+#endif
+
+#ifdef H5_HAVE_MPI_GET_SIZE
+    mpierr = MPI_File_open(MPI_COMM_SELF, (char*)filename, MPI_MODE_RDONLY,
+	MPI_INFO_NULL, &fd);
+    VRFY((mpierr == MPI_SUCCESS), "");
+
+    mpierr = MPI_File_get_size(fd, &filesize);
+    VRFY((mpierr == MPI_SUCCESS), "");
+
+    mpierr = MPI_File_close(&fd);
+    VRFY((mpierr == MPI_SUCCESS), "");
+#else
+    /* Some systems (only SGI Altix Propack 4 so far) doesn't return correct
+     * file size for MPI_File_get_size.  Use stat instead.
+     */
+    if((mpierr=stat(filename, &stat_buf))<0)
+    VRFY((mpierr == MPI_SUCCESS), "");
+
+    /* Hopefully this casting is safe */
+    filesize = (MPI_Offset)(stat_buf.st_size);
+#endif
+
+    return(filesize);
+}
+
+typedef enum write_pattern {
+    none,
+    sec_last,
+    all
+} write_type;
+
+typedef enum access_ {
+    write_all,
+    open_only,
+    extend_only
+} access_type;
+
+
+/*
+ * This creates a dataset serially with 'nchunks' chunks, each of CHUNKSIZE
+ * elements. The allocation time is set to H5D_ALLOC_TIME_EARLY. Another
+ * routine will open this in parallel for extension test.
+ */
+void
+create_chunked_dataset(const char *filename, int nchunks, write_type write_pattern)
+{
+    hid_t       file_id, dataset;                          /* handles */
+    hid_t       dataspace,memspace;  
+    hid_t       cparms;
+    hsize_t      dims[1];
+    hsize_t      maxdims[1] = {H5S_UNLIMITED};
+    
+    hsize_t      chunk_dims[1] ={CHUNKSIZE};
+    hsize_t     count[1];
+    hsize_t     stride[1];
+    hsize_t     block[1];
+    hsize_t     offset[1];            /* Selection offset within dataspace */
+    /* Variables used in reading data back */
+    char         buffer[CHUNKSIZE];
+    int           i;
+
+    herr_t       hrc;                             
+
+    MPI_Offset  filesize,	    /* actual file size */
+		est_filesize;	    /* estimated file size */
+
+    /* set up MPI parameters */
+    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
+    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
+
+    /* Only MAINPROCESS should create the file.  Others just wait. */
+    if (MAINPROCESS){
+
+	dims[0]=nchunks*CHUNKSIZE;
+	/* Create the data space with unlimited dimensions. */
+	dataspace = H5Screate_simple (1, dims, maxdims); 
+	VRFY((dataspace >= 0), "");
+
+	memspace = H5Screate_simple(1, chunk_dims, NULL);
+	VRFY((memspace >= 0), "");
+ 
+	/* Create a new file. If file exists its contents will be overwritten. */
+	file_id = H5Fcreate(h5_rmprefix(filename), H5F_ACC_TRUNC, H5P_DEFAULT,
+		    H5P_DEFAULT);
+	VRFY((file_id >= 0), "H5Fcreate");
+
+	/* Modify dataset creation properties, i.e. enable chunking  */
+	cparms = H5Pcreate (H5P_DATASET_CREATE);
+	VRFY((cparms >= 0), "");
+
+	hrc = H5Pset_alloc_time(cparms, H5D_ALLOC_TIME_EARLY);
+	VRFY((hrc >= 0), "");
+
+	hrc = H5Pset_chunk ( cparms, 1, chunk_dims);
+	VRFY((hrc >= 0), "");
+
+	/* Create a new dataset within the file using cparms creation properties. */
+	dataset = H5Dcreate (file_id, DATASETNAME, H5T_NATIVE_UCHAR, dataspace, cparms);
+	VRFY((dataset >= 0), "");
+
+	switch (write_pattern) {
+
+	    /* writes only the second to last chunk */
+	    case sec_last:
+
+		memset(buffer, 100, CHUNKSIZE);
+
+		count[0] = 1;
+		stride[0] = 1;
+		block[0] = chunk_dims[0];
+		offset[0] = (nchunks-2)*chunk_dims[0];
+
+		hrc = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, stride, count, block);
+		    VRFY((hrc >= 0), "");
+
+		/* Write sec_last chunk */
+		hrc = H5Dwrite(dataset, H5T_NATIVE_UCHAR, memspace, dataspace, H5P_DEFAULT, buffer);
+		VRFY((hrc >= 0), "H5Dwrite");
+
+		break;
+
+
+	    /* doesn't write anything */
+	    case none:
+
+		break;
+	}
+
+	/* Close resources */
+	hrc = H5Dclose (dataset);
+	VRFY((hrc >= 0), "");
+	dataset = -1;
+
+	hrc = H5Sclose (dataspace);
+	VRFY((hrc >= 0), "");
+
+	hrc = H5Sclose (memspace);
+	VRFY((hrc >= 0), "");
+
+	hrc = H5Pclose (cparms);
+	VRFY((hrc >= 0), "");
+
+	hrc = H5Fclose (file_id);
+	VRFY((hrc >= 0), "");
+	file_id = -1;
+
+	/* verify file size */
+	filesize = get_filesize(filename);
+	est_filesize = nchunks*CHUNKSIZE*sizeof(unsigned char);
+	VRFY((filesize >= est_filesize), "file size check");
+
+    }
+
+    /* Make sure all processes are done before exiting this routine.  Otherwise,
+     * other tests may start and change the test data file before some processes
+     * of this test are still accessing the file.
+     */
+
+    MPI_Barrier(MPI_COMM_WORLD);
+}     
+
+
+/*
+ * This program performs three different types of parallel access. It writes on
+ * the entire dataset, it extends the dataset to nchunks*CHUNKSIZE, and it only
+ * opens the dataset. At the end, it verifies the size of the dataset to be
+ * consistent with argument 'nchunks'.
+ */
+void
+parallel_access_dataset(const char *filename, int nchunks, access_type action, hid_t *file_id, hid_t *dataset)
+{
+    /* HDF5 gubbins */
+    hid_t    memspace, dataspace;     /* HDF5 file identifier */
+    hid_t    access_plist;         /* HDF5 ID for file access property list */
+    herr_t   hrc;                  /* HDF5 return code */
+    hsize_t  size[1];
+    hsize_t  dim_size;
+
+    hsize_t     chunk_dims[1] ={CHUNKSIZE};
+    hsize_t     count[1];
+    hsize_t     stride[1];
+    hsize_t     block[1];
+    hsize_t     offset[1];            /* Selection offset within dataspace */
+    /* Variables used in reading data back */
+    char         buffer[CHUNKSIZE];
+    int         i;
+
+    /* MPI Gubbins */
+    MPI_Offset  filesize,	    /* actual file size */
+		est_filesize;	    /* estimated file size */
+    int         mpierr;
+
+    /* Initialize MPI */
+    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
+    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
+
+    /* Set up MPIO file access property lists */
+    access_plist  = H5Pcreate(H5P_FILE_ACCESS);
+    VRFY((access_plist >= 0), "");
+
+    hrc = H5Pset_fapl_mpio(access_plist, MPI_COMM_WORLD, MPI_INFO_NULL);
+    VRFY((hrc >= 0), "");
+
+    /* Open the file */
+    if (*file_id<0){
+        *file_id = H5Fopen(filename, H5F_ACC_RDWR, access_plist);
+        VRFY((*file_id >= 0), "");
+    }
+
+    /* Open dataset*/
+    if (*dataset<0){
+        *dataset = H5Dopen(*file_id, DATASETNAME);
+        VRFY((*dataset >= 0), "");
+    }
+
+    memspace = H5Screate_simple(1, chunk_dims, NULL);
+    VRFY((memspace >= 0), "");
+
+    dataspace = H5Dget_space(*dataset);            
+    VRFY((dataspace >= 0), "");
+
+    size[0] = nchunks*CHUNKSIZE;
+
+    switch (action) {
+
+        /* all chunks are written by all the processes in an interleaved way*/
+        case write_all:
+
+	    memset(buffer, mpi_rank+1, CHUNKSIZE);
+	    count[0] = 1;
+	    stride[0] = 1;
+	    block[0] = chunk_dims[0];
+            for (i=0; i<(nchunks+mpi_size-1)/mpi_size; i++){ 
+		if (i*mpi_size+mpi_rank < nchunks){
+		    offset[0] = (i*mpi_size+mpi_rank)*chunk_dims[0];
+
+		    hrc = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, stride, count, block);
+		    VRFY((hrc >= 0), "");
+
+		    /* Write the buffer out */
+		    hrc = H5Dwrite(*dataset, H5T_NATIVE_UCHAR, memspace, dataspace, H5P_DEFAULT, buffer);
+		    VRFY((hrc >= 0), "H5Dwrite");
+		}
+
+            }
+
+            break;
+
+        /* only extends the dataset */
+        case extend_only:
+            /* Extend dataset*/
+            hrc = H5Dextend(*dataset, size);
+            VRFY((hrc >= 0), "");
+
+            break;
+
+        /* only opens the dataset */
+        case open_only:
+
+            break;
+    }
+
+    /* Close up */
+    hrc = H5Dclose(*dataset);
+    VRFY((hrc >= 0), "");
+    *dataset = -1;
+
+    hrc = H5Sclose (dataspace);
+	VRFY((hrc >= 0), "");
+
+	hrc = H5Sclose (memspace);
+	VRFY((hrc >= 0), "");
+
+    hrc = H5Fclose(*file_id);
+    VRFY((hrc >= 0), "");
+    *file_id = -1;
+
+    /* verify file size */
+    filesize = get_filesize(filename);
+    est_filesize = nchunks*CHUNKSIZE*sizeof(unsigned char);
+    VRFY((filesize >= est_filesize), "file size check");
+
+    /* Can close some plists */
+    hrc = H5Pclose(access_plist);
+    VRFY((hrc >= 0), "");
+
+    /* Make sure all processes are done before exiting this routine.  Otherwise,
+     * other tests may start and change the test data file before some processes
+     * of this test are still accessing the file.
+     */
+    MPI_Barrier(MPI_COMM_WORLD);
+}
+
+/*
+ * This routine verifies the data written in the dataset. It does one of the
+ * three cases according to the value of parameter `write_pattern'.
+ * 1. it returns correct fill values though the dataset has not been written;
+ * 2. it still returns correct fill values though only a small part is written;
+ * 3. it returns correct values when the whole dataset has been written in an
+ *    interleaved pattern.
+ */
+void verify_data(const char *filename, int nchunks, write_type write_pattern, int close, hid_t *file_id, hid_t *dataset)
+{
+    /* HDF5 gubbins */
+    hid_t    dataspace, memspace;     /* HDF5 file identifier */
+    hid_t    access_plist;         /* HDF5 ID for file access property list */
+    herr_t   hrc;                  /* HDF5 return code */
+
+    hsize_t     chunk_dims[1] ={CHUNKSIZE};
+    hsize_t     count[1];
+    hsize_t     stride[1];
+    hsize_t     block[1];
+    hsize_t     offset[1];            /* Selection offset within dataspace */
+    /* Variables used in reading data back */
+    char         buffer[CHUNKSIZE];
+    int         value, i;
+    int         index, current;
+
+    /* MPI Gubbins */
+    MPI_Offset  filesize,	    /* actual file size */
+		est_filesize;	    /* estimated file size */
+    int         mpierr;
+
+    /* Initialize MPI */
+    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
+    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
+
+    /* Set up MPIO file access property lists */
+    access_plist  = H5Pcreate(H5P_FILE_ACCESS);
+    VRFY((access_plist >= 0), "");
+
+    hrc = H5Pset_fapl_mpio(access_plist, MPI_COMM_WORLD, MPI_INFO_NULL);
+    VRFY((hrc >= 0), "");
+
+    /* Open the file */
+    if (*file_id<0){
+        *file_id = H5Fopen(filename, H5F_ACC_RDWR, access_plist);
+        VRFY((*file_id >= 0), "");
+    }
+
+    /* Open dataset*/
+    if (*dataset<0){
+        *dataset = H5Dopen(*file_id, DATASETNAME);
+        VRFY((*dataset >= 0), "");
+    }
+
+    memspace = H5Screate_simple(1, chunk_dims, NULL);
+    VRFY((memspace >= 0), "");
+
+    dataspace = H5Dget_space(*dataset);            
+    VRFY((dataspace >= 0), "");
+
+    /* all processes check all chunks. */
+    count[0] = 1;
+    stride[0] = 1;
+    block[0] = chunk_dims[0];
+    for (i=0; i<nchunks; i++){ 
+	/* reset buffer values */
+	memset(buffer, -1, CHUNKSIZE);
+
+        offset[0] = i*chunk_dims[0];
+
+        hrc = H5Sselect_hyperslab(dataspace, H5S_SELECT_SET, offset, stride, count, block);
+        VRFY((hrc >= 0), "");
+
+        /* Read the chunk */
+        hrc = H5Dread(*dataset, H5T_NATIVE_UCHAR, memspace, dataspace, H5P_DEFAULT, buffer);
+        VRFY((hrc >= 0), "H5Dread");
+
+        /* set expected value according the write pattern */
+	switch (write_pattern) {
+	    case all:
+		value = i%mpi_size + 1;
+		break;
+	    case none:
+		value = 0;
+		break;
+            case sec_last:
+		if (i==(nchunks-2))
+		    value = 100;
+		else
+		    value = 0;
+	}
+
+        /* verify content of the chunk */
+        for (index = 0; index < CHUNKSIZE; index++)
+            VRFY((buffer[index] == value), "data verification");
+        
+    }
+
+    hrc = H5Sclose (dataspace);
+	VRFY((hrc >= 0), "");
+
+	hrc = H5Sclose (memspace);
+	VRFY((hrc >= 0), "");
+
+    /* Can close some plists */
+    hrc = H5Pclose(access_plist);
+    VRFY((hrc >= 0), "");
+
+    /* Close up */
+    if (close){
+        hrc = H5Dclose(*dataset);
+        VRFY((hrc >= 0), "");
+        *dataset = -1;
+
+        hrc = H5Fclose(*file_id);
+        VRFY((hrc >= 0), "");
+        *file_id = -1;
+    }
+
+    /* Make sure all processes are done before exiting this routine.  Otherwise,
+     * other tests may start and change the test data file before some processes
+     * of this test are still accessing the file.
+     */
+    MPI_Barrier(MPI_COMM_WORLD);
+}
+
+
+
+/*
+ * Test following possible scenarios,
+ * Case 1:
+ * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY and large
+ * size, no write, close, reopen in parallel, read to verify all return
+ * the fill value.
+ * Case 2:
+ * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY but small
+ * size, no write, close, reopen in parallel, extend to large size, then close,
+ * then reopen in parallel and read to verify all return the fill value.
+ * Case 3:
+ * Sequential create a file and dataset with H5D_ALLOC_TIME_EARLY and large
+ * size, write just a small part of the dataset (second to the last), close,
+ * then reopen in parallel, read to verify all return the fill value except
+ * those small portion that has been written.  Without closing it, writes
+ * all parts of the dataset in a interleave pattern, close it, and reopen
+ * it, read to verify all data are as written.
+ */
+void
+test_chunk_alloc(void)
+{
+    const char *filename;
+    hid_t file_id, dataset;
+
+    file_id = dataset = -1;
+  
+    filename = GetTestParameters();
+    if (VERBOSE_MED)
+	printf("Extend Chunked allocation test on file %s\n", filename);
+
+    /* Case 1 */
+    /* Create chunked dataset without writing anything.*/
+    create_chunked_dataset(filename, DSETCHUNKS, none);
+    /* reopen dataset in parallel and check for file size */
+    parallel_access_dataset(filename, DSETCHUNKS, open_only, &file_id, &dataset);
+    /* reopen dataset in parallel, read and verify the data */
+    verify_data(filename, DSETCHUNKS, none, CLOSE, &file_id, &dataset); 
+
+/* Case 2 sometimes fails.  See bug 281 and 636. Skip it for now, need to fix it later. */
+if (VERBOSE_LO){
+    printf("Started Case 2\n");
+    /* Case 2 */
+    /* Create chunked dataset without writing anything */
+    create_chunked_dataset(filename, 20, none);
+    /* reopen dataset in parallel and only extend it */
+    parallel_access_dataset(filename, DSETCHUNKS, extend_only, &file_id, &dataset);
+    /* reopen dataset in parallel, read and verify the data */
+    verify_data(filename, DSETCHUNKS, none, CLOSE, &file_id, &dataset);
+    printf("Finished Case 2\n");
+} else {
+if (MAINPROCESS)
+    printf("Skipped Case 2. Use '-v l' to test it.\n");
+}
+
+    /* Case 3 */
+    /* Create chunked dataset and write in the second to last chunk */
+    create_chunked_dataset(filename, DSETCHUNKS, sec_last);
+    /* Reopen dataset in parallel, read and verify the data. The file and dataset are not closed*/
+    verify_data(filename, DSETCHUNKS, sec_last, NO_CLOSE, &file_id, &dataset); 
+    /* All processes write in all the chunks in a interleaved way */
+    parallel_access_dataset(filename, DSETCHUNKS, write_all, &file_id, &dataset);
+    /* reopen dataset in parallel, read and verify the data */
+    verify_data(filename, DSETCHUNKS, all, CLOSE, &file_id, &dataset); 
+
+}

Modified: packages/hdf5/trunk/testpar/t_coll_chunk.c
===================================================================
--- packages/hdf5/trunk/testpar/t_coll_chunk.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_coll_chunk.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "testphdf5.h"

Modified: packages/hdf5/trunk/testpar/t_dset.c
===================================================================
--- packages/hdf5/trunk/testpar/t_dset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_dset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -2130,7 +2131,7 @@
         hsize_t chunk_dim;           /* Chunk dimensions */
 
         /* Create the file */
-        fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+        fid = H5Fcreate(h5_rmprefix(filename), H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
         VRFY((fid > 0), "H5Fcreate succeeded");
 
         /* Create property list for chunking and compression */
@@ -2237,3 +2238,217 @@
 }
 #endif /* H5_HAVE_FILTER_DEFLATE */
 
+/*
+ * Part 4--Non-selection for chunked dataset
+ */
+
+/*
+ * Example of using the parallel HDF5 library to create chunked
+ * dataset in one HDF5 file with collective and independent parallel
+ * MPIO access support.  The Datasets are of sizes dim0 x dim1.
+ * Each process controls only a slab of size dim0 x dim1 within the
+ * dataset with the exception that one processor selects no element.
+ */
+
+void
+none_selection_chunk(void)
+{
+    hid_t fid;                  /* HDF5 file ID */
+    hid_t acc_tpl;		/* File access templates */
+    hid_t xfer_plist;		/* Dataset transfer properties list */
+    hid_t sid;   		/* Dataspace ID */
+    hid_t file_dataspace;	/* File dataspace ID */
+    hid_t mem_dataspace;	/* memory dataspace ID */
+    hid_t dataset1, dataset2;	/* Dataset ID */
+    hbool_t use_gpfs = FALSE;   /* Use GPFS hints */
+    const char *filename;
+    hsize_t dims[RANK];   	/* dataset dim sizes */
+    DATATYPE	*data_origin = NULL;		/* data buffer */
+    DATATYPE	*data_array = NULL;		/* data buffer */
+    hsize_t	chunk_dims[RANK];		/* chunk sizes */
+    hid_t	dataset_pl;			/* dataset create prop. list */
+
+    hsize_t	start[RANK];			/* for hyperslab setting */
+    hsize_t	count[RANK];			/* for hyperslab setting */
+    hsize_t	stride[RANK];			/* for hyperslab setting */
+    hsize_t 	block[RANK];			/* for hyperslab setting */
+    hsize_t	mstart[RANK];			/* for data buffer in memory */
+
+    herr_t ret;         	/* Generic return value */
+    int mpi_size, mpi_rank;
+
+    MPI_Comm comm = MPI_COMM_WORLD;
+    MPI_Info info = MPI_INFO_NULL;
+
+    filename = GetTestParameters();
+    if (VERBOSE_MED)
+	printf("Extend independent write test on file %s\n", filename);
+
+    /* set up MPI parameters */
+    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
+    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
+
+    /* setup chunk-size. Make sure sizes are > 0 */
+    chunk_dims[0] = chunkdim0;
+    chunk_dims[1] = chunkdim1;
+
+    /* -------------------
+     * START AN HDF5 FILE
+     * -------------------*/
+    /* setup file access template */
+    acc_tpl = create_faccess_plist(comm, info, facc_type, use_gpfs);
+    VRFY((acc_tpl >= 0), "");
+
+    /* create the file collectively */
+    fid=H5Fcreate(filename,H5F_ACC_TRUNC,H5P_DEFAULT,acc_tpl);
+    VRFY((fid >= 0), "H5Fcreate succeeded");
+
+    /* Release file-access template */
+    ret=H5Pclose(acc_tpl);
+    VRFY((ret >= 0), "");
+
+    /* --------------------------------------------------------------
+     * Define the dimensions of the overall datasets and create them.
+     * ------------------------------------------------------------- */
+
+    /* set up dataset storage chunk sizes and creation property list */
+    if (VERBOSE_MED)
+	printf("chunks[]=%lu,%lu\n", (unsigned long)chunk_dims[0], (unsigned long)chunk_dims[1]);
+    dataset_pl = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY((dataset_pl >= 0), "H5Pcreate succeeded");
+    ret = H5Pset_chunk(dataset_pl, RANK, chunk_dims);
+    VRFY((ret >= 0), "H5Pset_chunk succeeded");
+
+    /* setup dimensionality object */
+    dims[0] = dim0;
+    dims[1] = dim1;
+    sid = H5Screate_simple (RANK, dims, NULL);
+    VRFY((sid >= 0), "H5Screate_simple succeeded");
+
+    /* create an extendible dataset collectively */
+    dataset1 = H5Dcreate(fid, DATASETNAME1, H5T_NATIVE_INT, sid, dataset_pl);
+    VRFY((dataset1 >= 0), "H5Dcreate succeeded");
+
+    /* create another extendible dataset collectively */
+    dataset2 = H5Dcreate(fid, DATASETNAME2, H5T_NATIVE_INT, sid, dataset_pl);
+    VRFY((dataset2 >= 0), "H5Dcreate succeeded");
+
+    /* release resource */
+    H5Sclose(sid);
+    H5Pclose(dataset_pl);
+
+    /* -------------------------
+     * Test collective writing to dataset1
+     * -------------------------*/
+    /* set up dimensions of the slab this process accesses */
+    slab_set(mpi_rank, mpi_size, start, count, stride, block, BYROW);
+
+    /* allocate memory for data buffer. Only allocate enough buffer for
+     * each processor's data. */
+    if (mpi_rank) {
+        data_origin = (DATATYPE *)malloc(block[0]*block[1]*sizeof(DATATYPE));
+        VRFY((data_origin != NULL), "data_origin malloc succeeded");
+
+        data_array = (DATATYPE *)malloc(block[0]*block[1]*sizeof(DATATYPE));
+        VRFY((data_array != NULL), "data_array malloc succeeded");
+
+        /* put some trivial data in the data_array */
+        mstart[0] = mstart[1] = 0;
+        dataset_fill(mstart, block, data_origin);
+        MESG("data_array initialized");
+        if (VERBOSE_MED){
+	    MESG("data_array created");
+	    dataset_print(mstart, block, data_origin);
+        }
+    }
+
+    /* create a memory dataspace independently */
+    mem_dataspace = H5Screate_simple (RANK, block, NULL);
+    VRFY((mem_dataspace >= 0), "");
+
+    /* Process 0 has no selection */
+    if (!mpi_rank) {
+        ret = H5Sselect_none(mem_dataspace);
+        VRFY((ret >= 0), "H5Sselect_none succeeded");
+    }
+
+    /* create a file dataspace independently */
+    file_dataspace = H5Dget_space (dataset1);
+    VRFY((file_dataspace >= 0), "H5Dget_space succeeded");
+    ret=H5Sselect_hyperslab(file_dataspace, H5S_SELECT_SET, start, stride, count, block);
+    VRFY((ret >= 0), "H5Sset_hyperslab succeeded");
+
+    /* Process 0 has no selection */
+    if (!mpi_rank) {
+        ret = H5Sselect_none(file_dataspace);
+        VRFY((ret >= 0), "H5Sselect_none succeeded");
+    }
+
+    /* set up the collective transfer properties list */
+    xfer_plist = H5Pcreate (H5P_DATASET_XFER);
+    VRFY((xfer_plist >= 0), "H5Pcreate xfer succeeded");
+    ret=H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+    VRFY((ret >= 0), "H5Pset_dxpl_mpio succeeded");
+
+    /* write data collectively */
+    ret = H5Dwrite(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
+	    xfer_plist, data_origin);
+    VRFY((ret >= 0), "H5Dwrite succeeded");
+
+    /* read data independently */
+    ret = H5Dread(dataset1, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
+	    H5P_DEFAULT, data_array);
+    VRFY((ret >= 0), "");
+
+    /* verify the read data with original expected data */
+    if (mpi_rank) {
+        ret = dataset_vrfy(mstart, count, stride, block, data_array, data_origin);
+        if (ret) nerrors++;
+    }
+
+    /* -------------------------
+     * Test independent writing to dataset2
+     * -------------------------*/
+    ret=H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+    VRFY((ret >= 0), "H5Pset_dxpl_mpio succeeded");
+
+    /* write data collectively */
+    ret = H5Dwrite(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
+	    xfer_plist, data_origin);
+    VRFY((ret >= 0), "H5Dwrite succeeded");
+
+    /* read data independently */
+    ret = H5Dread(dataset2, H5T_NATIVE_INT, mem_dataspace, file_dataspace,
+	    H5P_DEFAULT, data_array);
+    VRFY((ret >= 0), "");
+
+    /* verify the read data with original expected data */
+    if (mpi_rank) {
+        ret = dataset_vrfy(mstart, count, stride, block, data_array, data_origin);
+        if (ret) nerrors++;
+    }
+
+    /* release resource */
+    ret=H5Sclose(file_dataspace);
+    VRFY((ret >= 0), "H5Sclose succeeded");
+    ret=H5Sclose(mem_dataspace);
+    VRFY((ret >= 0), "H5Sclose succeeded");
+    ret=H5Pclose(xfer_plist);
+    VRFY((ret >= 0), "H5Pclose succeeded");
+
+
+    /* close dataset collectively */
+    ret=H5Dclose(dataset1);
+    VRFY((ret >= 0), "H5Dclose1 succeeded");
+    ret=H5Dclose(dataset2);
+    VRFY((ret >= 0), "H5Dclose2 succeeded");
+
+    /* close the file collectively */
+    H5Fclose(fid);
+
+    /* release data buffers */
+    if (data_origin) free(data_origin);
+    if (data_array) free(data_array);
+}
+
+

Modified: packages/hdf5/trunk/testpar/t_file.c
===================================================================
--- packages/hdf5/trunk/testpar/t_file.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_file.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Copied: packages/hdf5/trunk/testpar/t_filter_read.c (from rev 1094, packages/hdf5/branches/upstream/current/testpar/t_filter_read.c)
===================================================================
--- packages/hdf5/trunk/testpar/t_filter_read.c	                        (rev 0)
+++ packages/hdf5/trunk/testpar/t_filter_read.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,465 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * This verifies the correctness of parallel reading of a dataset that has been
+ * written serially using filters. 
+ *
+ * Created by: Christian Chilan
+ * Date: 2007/05/15
+ */
+
+
+#include "testphdf5.h"
+
+#ifdef H5_HAVE_SZLIB_H
+#   include "szlib.h"
+#endif
+
+static int mpi_size, mpi_rank;
+
+/* Chunk sizes */
+#define CHUNK_DIM1       7 
+#define CHUNK_DIM2       27
+
+/* Sizes of the vertical hyperslabs. Total dataset size is
+   {HS_DIM1, HS_DIM2 * mpi_size } */  
+#define HS_DIM1       200
+#define HS_DIM2       100
+
+
+/*-------------------------------------------------------------------------
+ * Function:	filter_read_internal
+ *
+ * Purpose:     Tests parallel reading of a 2D dataset written serially using
+ *              filters. During the parallel reading phase, the dataset is 
+ *              divided evenly among the processors in vertical hyperslabs. 
+ *
+ * Programmer:  Christian Chilan 
+ *              Tuesday, May 15, 2007 
+ *
+ *-------------------------------------------------------------------------
+ */
+static void 
+filter_read_internal(const char *filename, hid_t dcpl, 
+                     hsize_t *dset_size)
+{
+    hid_t		file, dataset;        /* HDF5 IDs */
+    hid_t		access_plist;         /* Access property list ID */
+    hid_t		sid, memspace;            /* Dataspace IDs */
+    hsize_t	        size[2];           /* Dataspace dimensions */
+    hsize_t	        hs_offset[2]; /* Hyperslab offset */
+    hsize_t	        hs_size[2];   /* Hyperslab size */
+    size_t		i, j;        /* Local index variables */
+    char                name[32] = "dataset";
+    herr_t              hrc;         /* Error status */
+    int                 *points = NULL; /* Writing buffer for entire dataset */ 
+    int                 *check = NULL; /* Reading buffer for selected hyperslab */
+
+    /* set up MPI parameters */
+    MPI_Comm_size(MPI_COMM_WORLD,&mpi_size);
+    MPI_Comm_rank(MPI_COMM_WORLD,&mpi_rank);
+
+    /* set sizes for dataset and hyperslabs */ 
+    hs_size[0] = size[0] = HS_DIM1;
+    hs_size[1] = HS_DIM2;
+
+    size[1] = hs_size[1] * mpi_size;
+
+    hs_offset[0] = 0;
+    hs_offset[1] = hs_size[1] * mpi_rank;
+    
+    /* Create the data space */
+    sid = H5Screate_simple(2, size, NULL);
+    VRFY(sid>=0, "H5Screate_simple");
+
+    /* Create buffers */
+    points = (int *)HDmalloc(size[0]*size[1]*sizeof(int));
+    VRFY(points!=NULL, "HDmalloc");
+
+    check = (int *)HDmalloc(hs_size[0]*hs_size[1]*sizeof(int)); 
+    VRFY(check!=NULL, "HDmalloc");
+
+    /* Initialize writing buffer with random data */
+    for (i=0; i<size[0]; i++) {
+        for (j=0; j<size[1]; j++) {
+            points[i*size[1]+j] = (int)(i+j+7);
+        }
+    }
+
+    VRFY(H5Pall_filters_avail(dcpl), "Incorrect filter availability");
+
+    /* Serial write phase */
+    if (MAINPROCESS){
+
+        file = H5Fcreate(h5_rmprefix(filename), H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+        VRFY(file>=0, "H5Fcreate");
+
+        /* Create the dataset */
+        dataset = H5Dcreate(file, name, H5T_NATIVE_INT, sid, dcpl);
+        VRFY(dataset>=0, "H5Dcreate");
+
+        hrc = H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, points);
+        VRFY(hrc>=0, "H5Dwrite");
+
+        *dset_size=H5Dget_storage_size(dataset);
+        VRFY(*dset_size>0, "H5Dget_storage_size");
+
+        hrc = H5Dclose (dataset);
+        VRFY(hrc>=0, "H5Dclose");
+
+        hrc = H5Fclose (file);
+        VRFY(hrc>=0, "H5Fclose");
+    }
+
+    MPI_Barrier(MPI_COMM_WORLD);
+
+    /* Parallel read phase */ 
+    /* Set up MPIO file access property lists */
+    access_plist  = H5Pcreate(H5P_FILE_ACCESS);
+    VRFY((access_plist >= 0), "H5Pcreate");
+
+    hrc = H5Pset_fapl_mpio(access_plist, MPI_COMM_WORLD, MPI_INFO_NULL);
+    VRFY((hrc >= 0), "H5Pset_fapl_mpio");
+
+    /* Open the file */
+    file = H5Fopen(filename, H5F_ACC_RDWR, access_plist);
+    VRFY((file >= 0), "H5Fopen");
+
+    dataset = H5Dopen (file, name);
+    VRFY((dataset >= 0), "H5Dopen");
+
+    hrc = H5Sselect_hyperslab(sid, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL);
+    VRFY(hrc>=0, "H5Sselect_hyperslab");
+
+    memspace = H5Screate_simple(2, hs_size, NULL);
+    VRFY(memspace>=0, "H5Screate_simple");
+ 
+    hrc = H5Dread (dataset, H5T_NATIVE_INT, memspace, sid, H5P_DEFAULT, check);
+    VRFY(hrc>=0, "H5Dread");
+
+    /* Check that the values read are the same as the values written */
+    for (i=0; i<hs_size[0]; i++) {
+        for (j=0; j<hs_size[1]; j++) {
+            if (points[i*size[1]+(size_t)hs_offset[1]+j] !=
+                      check[i*hs_size[1]+j]) {
+		  fprintf(stderr,"    Read different values than written.\n");
+		  fprintf(stderr,"    At index %lu,%lu\n",
+		         (unsigned long)(i),
+		         (unsigned long)(hs_offset[1]+j));
+		  fprintf(stderr,"    At original: %d\n",
+		         (int)points[i*size[1]+(size_t)hs_offset[1]+j]);
+		  fprintf(stderr,"    At returned: %d\n",
+		         (int)check[i*hs_size[1]+j]);
+                  VRFY(FALSE, "");
+	    }
+	}
+    }
+
+    /* Get the storage size of the dataset */
+    *dset_size=H5Dget_storage_size(dataset);
+    VRFY(*dset_size!=0, "H5Dget_storage_size");
+
+    /* Clean up objects used for this test */
+    hrc = H5Dclose (dataset);
+    VRFY(hrc>=0, "H5Dclose");
+
+    hrc = H5Sclose (sid);
+    VRFY(hrc>=0, "H5Sclose");
+
+    hrc = H5Sclose (memspace);
+    VRFY(hrc>=0, "H5Sclose");
+    
+    hrc = H5Pclose (access_plist);
+    VRFY(hrc>=0, "H5Pclose");
+    
+    hrc = H5Fclose (file);
+    VRFY(hrc>=0, "H5Fclose");
+   
+    free(points);
+    free(check);
+
+    MPI_Barrier(MPI_COMM_WORLD);
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function:    test_filter_read	
+ *
+ * Purpose:	Tests parallel reading of datasets written serially using
+ *              several (combinations of) filters. 
+ *
+ * Programmer:	Christian Chilan
+ *              Tuesday, May 15, 2007
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+
+void
+test_filter_read(void)
+{
+    hid_t	dc,file;                 /* HDF5 IDs */
+    const hsize_t chunk_size[2] = {CHUNK_DIM1, CHUNK_DIM2};  /* Chunk dimensions */
+    hsize_t     null_size;          /* Size of dataset without filters */
+    herr_t      hrc;
+    const char *filename;
+#ifdef H5_HAVE_FILTER_FLETCHER32
+    hsize_t     fletcher32_size;       /* Size of dataset with Fletcher32 checksum */
+#endif /* H5_HAVE_FILTER_FLETCHER32 */
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+    hsize_t     deflate_size;       /* Size of dataset with deflate filter */
+#endif /* H5_HAVE_FILTER_DEFLATE */
+
+#ifdef H5_HAVE_FILTER_SZIP
+    hsize_t     szip_size;       /* Size of dataset with szip filter */
+    unsigned szip_options_mask=H5_SZIP_NN_OPTION_MASK;
+    unsigned szip_pixels_per_block=4;
+#endif /* H5_HAVE_FILTER_SZIP */
+
+#ifdef H5_HAVE_FILTER_SHUFFLE
+    hsize_t     shuffle_size;       /* Size of dataset with shuffle filter */
+#endif /* H5_HAVE_FILTER_SHUFFLE */
+
+#if (defined H5_HAVE_FILTER_DEFLATE | defined H5_HAVE_FILTER_SZIP) && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32
+    hsize_t     combo_size;     /* Size of dataset with shuffle+deflate filter */
+#endif /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */
+
+    filename = GetTestParameters();
+
+    if (VERBOSE_MED)
+        printf("Parallel reading of dataset written with filters %s\n", filename);
+
+    /*----------------------------------------------------------
+     * STEP 0: Test without filters.
+     *----------------------------------------------------------
+     */
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0,"H5Pcreate"); 
+
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0,"H5Pset_chunk"); 
+
+    filter_read_internal(filename,dc,&null_size);
+
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0,"H5Pclose"); 
+
+    /*----------------------------------------------------------
+     * STEP 1: Test Fletcher32 Checksum by itself.
+     *----------------------------------------------------------
+     */
+#ifdef H5_HAVE_FILTER_FLETCHER32
+
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0,"H5Pset_filter"); 
+   
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0,"H5Pset_filter"); 
+   
+    hrc = H5Pset_filter (dc,H5Z_FILTER_FLETCHER32,0,0,NULL);
+    VRFY(hrc>=0,"H5Pset_filter"); 
+
+    filter_read_internal(filename,dc,&fletcher32_size);
+    VRFY(fletcher32_size > null_size,"Size after checksumming is incorrect.");
+
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0, "H5Pclose");
+
+#endif /* H5_HAVE_FILTER_FLETCHER32 */
+
+    /*----------------------------------------------------------
+     * STEP 2: Test deflation by itself.
+     *----------------------------------------------------------
+     */
+#ifdef H5_HAVE_FILTER_DEFLATE
+
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0, "H5Pcreate");
+
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0, "H5Pset_chunk");
+
+    hrc = H5Pset_deflate (dc, 6);
+    VRFY(hrc>=0, "H5Pset_deflate");
+ 
+    filter_read_internal(filename,dc,&deflate_size);
+
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0, "H5Pclose");
+
+#endif /* H5_HAVE_FILTER_DEFLATE */
+
+    /*----------------------------------------------------------
+     * STEP 3: Test szip compression by itself.
+     *----------------------------------------------------------
+     */
+#ifdef H5_HAVE_FILTER_SZIP
+    if ( h5_szip_can_encode() == 1) {
+        dc = H5Pcreate(H5P_DATASET_CREATE);
+        VRFY(dc>=0, "H5Pcreate");
+
+        hrc = H5Pset_chunk (dc, 2, chunk_size);
+        VRFY(hrc>=0, "H5Pset_chunk");
+
+	hrc = H5Pset_szip(dc, szip_options_mask, szip_pixels_per_block);
+        VRFY(hrc>=0, "H5Pset_szip");
+
+	filter_read_internal(filename,dc,&szip_size);
+
+        /* Clean up objects used for this test */
+        hrc = H5Pclose (dc);
+        VRFY(hrc>=0, "H5Pclose");
+    }
+#endif /* H5_HAVE_FILTER_SZIP */
+
+    /*----------------------------------------------------------
+     * STEP 4: Test shuffling by itself.
+     *----------------------------------------------------------
+     */
+#ifdef H5_HAVE_FILTER_SHUFFLE
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0, "H5Pcreate");
+
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0, "H5Pset_chunk");
+
+    hrc = H5Pset_shuffle (dc);
+    VRFY(hrc>=0, "H5Pset_shuffle");
+
+    filter_read_internal(filename,dc,&shuffle_size);
+    VRFY(shuffle_size==null_size,"Shuffled size not the same as uncompressed size.");
+    
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0, "H5Pclose");
+
+#endif /* H5_HAVE_FILTER_SHUFFLE */
+
+    /*----------------------------------------------------------
+     * STEP 5: Test shuffle + deflate + checksum in any order.
+     *----------------------------------------------------------
+     */
+#if defined H5_HAVE_FILTER_DEFLATE && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32
+    /* Testing shuffle+deflate+checksum filters (checksum first) */
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0, "H5Pcreate");
+
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0, "H5Pset_chunk");
+ 
+    hrc = H5Pset_fletcher32 (dc);
+    VRFY(hrc>=0, "H5Pset_fletcher32");
+ 
+    hrc = H5Pset_shuffle (dc);
+    VRFY(hrc>=0, "H5Pset_shuffle");
+    
+    hrc = H5Pset_deflate (dc, 6);
+    VRFY(hrc>=0, "H5Pset_deflate");
+
+    filter_read_internal(filename,dc,&combo_size);
+
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0, "H5Pclose");
+
+    /* Testing shuffle+deflate+checksum filters (checksum last) */
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0, "H5Pcreate");
+    
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0, "H5Pset_chunk");
+
+    hrc = H5Pset_shuffle (dc);
+    VRFY(hrc>=0, "H5Pset_shuffle");
+
+    hrc = H5Pset_deflate (dc, 6);
+    VRFY(hrc>=0, "H5Pset_deflate");
+
+    hrc = H5Pset_fletcher32 (dc);
+    VRFY(hrc>=0, "H5Pset_fletcher32");
+
+    filter_read_internal(filename,dc,&combo_size);
+
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0, "H5Pclose");
+
+#endif /* H5_HAVE_FILTER_DEFLATE && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */
+
+    /*----------------------------------------------------------
+     * STEP 6: Test shuffle + szip + checksum in any order.
+     *----------------------------------------------------------
+     */
+#if defined H5_HAVE_FILTER_SZIP && defined H5_HAVE_FILTER_SHUFFLE && defined H5_HAVE_FILTER_FLETCHER32
+
+    /* Testing shuffle+szip(with encoder)+checksum filters(checksum first) */ 
+    dc = H5Pcreate(H5P_DATASET_CREATE);
+    VRFY(dc>=0, "H5Pcreate");
+
+    hrc = H5Pset_chunk (dc, 2, chunk_size);
+    VRFY(hrc>=0, "H5Pset_chunk");
+
+    hrc = H5Pset_fletcher32 (dc);
+    VRFY(hrc>=0, "H5Pset_fletcher32");
+
+    hrc = H5Pset_shuffle (dc);
+    VRFY(hrc>=0, "H5Pset_shuffle");
+
+    /* Make sure encoding is enabled */
+    if ( h5_szip_can_encode() == 1) {
+	hrc = H5Pset_szip(dc, szip_options_mask, szip_pixels_per_block);
+        VRFY(hrc>=0, "H5Pset_szip");
+
+	filter_read_internal(filename,dc,&combo_size);
+    }
+
+    /* Clean up objects used for this test */
+    hrc = H5Pclose (dc);
+    VRFY(hrc>=0, "H5Pclose");
+
+    /* Testing shuffle+szip(with encoder)+checksum filters(checksum last) */ 
+    /* Make sure encoding is enabled */
+    if ( h5_szip_can_encode() == 1) {
+	dc = H5Pcreate(H5P_DATASET_CREATE);
+        VRFY(dc>=0, "H5Pcreate");
+
+	hrc = H5Pset_chunk (dc, 2, chunk_size);
+        VRFY(hrc>=0, "H5Pset_chunk");
+
+	hrc = H5Pset_shuffle (dc);
+        VRFY(hrc>=0, "H5Pset_shuffle");
+
+	hrc = H5Pset_szip(dc, szip_options_mask, szip_pixels_per_block);
+        VRFY(hrc>=0, "H5Pset_szip");
+
+	hrc = H5Pset_fletcher32 (dc);
+        VRFY(hrc>=0, "H5Pset_fletcher32");
+
+	filter_read_internal(filename,dc,&combo_size);
+
+	/* Clean up objects used for this test */
+	hrc = H5Pclose (dc);
+        VRFY(hrc>=0, "H5Pclose");
+    }
+
+#endif /* H5_HAVE_FILTER_SZIP && H5_HAVE_FILTER_SHUFFLE && H5_HAVE_FILTER_FLETCHER32 */
+}
+

Modified: packages/hdf5/trunk/testpar/t_mdset.c
===================================================================
--- packages/hdf5/trunk/testpar/t_mdset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_mdset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "testphdf5.h"
@@ -334,7 +335,7 @@
     VRFY((ret >= 0), "H5Fclose succeeded");
 
     /* Check that file of the correct size was created */
-    file_size=h5_mpi_get_file_size(filename, MPI_COMM_WORLD, MPI_INFO_NULL);
+    file_size=h5_get_file_size(filename);
     VRFY((file_size == 2147485696ULL), "File is correct size");
 
     /*
@@ -363,7 +364,7 @@
     VRFY((ret >= 0), "H5Fclose succeeded");
 
     /* Check that file of the correct size was created */
-    file_size=h5_mpi_get_file_size(filename, MPI_COMM_WORLD, MPI_INFO_NULL);
+    file_size=h5_get_file_size(filename);
     VRFY((file_size == 4294969344ULL), "File is correct size");
 
     /*
@@ -392,7 +393,7 @@
     VRFY((ret >= 0), "H5Fclose succeeded");
 
     /* Check that file of the correct size was created */
-    file_size=h5_mpi_get_file_size(filename, MPI_COMM_WORLD, MPI_INFO_NULL);
+    file_size=h5_get_file_size(filename);
     VRFY((file_size == 8589936640ULL), "File is correct size");
 
     /* Close fapl */
@@ -1569,7 +1570,7 @@
 
 
     if ( verbose )
-        HDfprintf(stdout, "%0d:%s: Done.\n", mpi_rank);
+        HDfprintf(stdout, "%0d:%s: Done.\n", mpi_rank, fcn_name);
 
     return;
 

Modified: packages/hdf5/trunk/testpar/t_mpi.c
===================================================================
--- packages/hdf5/trunk/testpar/t_mpi.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_mpi.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -201,9 +202,11 @@
     int ntimes;			/* how many times */
     char  *buf = NULL;
     char  expected;
+    MPI_Offset  size;
     MPI_Offset  mpi_off;
     MPI_Offset  mpi_off_old;
     MPI_Status  mpi_stat;
+    struct stat    stat_buf;
     int is_signed, sizeof_mpi_offset;
 
     nerrs = 0;
@@ -375,6 +378,44 @@
 	 */
 	mrc = MPI_Barrier(MPI_COMM_WORLD);
 	VRFY((mrc==MPI_SUCCESS), "Sync before leaving test");
+
+        /* 
+         * Check if MPI_File_get_size works correctly.  Some systems (only SGI Altix 
+         * Propack 4 so far) return wrong file size.  It can be avoided by reconfiguring
+         * with "--disable-mpi-size".  
+         */
+#ifdef H5_HAVE_MPI_GET_SIZE
+	printf("Test if MPI_File_get_size works correctly with %s\n", filename);
+
+	mrc = MPI_File_open(MPI_COMM_WORLD, filename, MPI_MODE_RDONLY, info, &fh);
+	VRFY((mrc==MPI_SUCCESS), "");
+
+        if (MAINPROCESS){			/* only process 0 needs to check it*/
+            mrc = MPI_File_get_size(fh, &size);
+	    VRFY((mrc==MPI_SUCCESS), "");
+
+            mrc=stat(filename, &stat_buf);
+	    VRFY((mrc==0), "");
+           
+            /* Hopefully this casting is safe */
+            if(size != (MPI_Offset)(stat_buf.st_size)) {
+                printf("Warning: MPI_File_get_size doesn't return correct file size.  To avoid using it in the library, reconfigure and rebuild the library with --disable-mpi-size.\n");
+            }
+        }
+
+	/* close file and free the communicator */
+	mrc = MPI_File_close(&fh);
+	VRFY((mrc==MPI_SUCCESS), "MPI_FILE_CLOSE");
+
+	/*
+	 * one more sync to ensure all processes have done reading
+	 * before ending this test.
+	 */
+	mrc = MPI_Barrier(MPI_COMM_WORLD);
+	VRFY((mrc==MPI_SUCCESS), "Sync before leaving test");
+#else
+        printf("Skipped testing MPI_File_get_size because it's disabled\n");
+#endif
     }
 
 finish:

Modified: packages/hdf5/trunk/testpar/t_ph5basic.c
===================================================================
--- packages/hdf5/trunk/testpar/t_ph5basic.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_ph5basic.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/testpar/t_span_tree.c
===================================================================
--- packages/hdf5/trunk/testpar/t_span_tree.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/t_span_tree.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -9,8 +10,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/testpar/testph5.sh.in
===================================================================
--- packages/hdf5/trunk/testpar/testph5.sh.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/testph5.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 #! /bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 
 # Scripts for running testphdf5 program with a variety of parameters
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/testpar/testphdf5.c
===================================================================
--- packages/hdf5/trunk/testpar/testphdf5.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/testphdf5.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -308,28 +309,6 @@
     return (ret_pl);
 }
 
-/*
- * Check the size of a file using MPI routines
- */
-MPI_Offset
-h5_mpi_get_file_size(const char *filename, MPI_Comm comm, MPI_Info info)
-{
-    MPI_File	fh;             /* MPI file handle */
-    MPI_Offset	size=0;         /* File size to return */
-
-    if (MPI_SUCCESS != MPI_File_open(comm, (char*)filename, MPI_MODE_RDONLY, info, &fh))
-        goto done;
-
-    if (MPI_SUCCESS != (MPI_File_get_size(fh, &size)))
-        goto done;
-
-    if (MPI_SUCCESS != MPI_File_close(&fh))
-        size=0;
-
-done:
-    return(size);
-}
-
 int main(int argc, char **argv)
 {
     int mpi_size, mpi_rank;				/* mpi variables */
@@ -385,7 +364,14 @@
 	    "extendible dataset collective read", PARATESTFILE);
     AddTest("eidsetw2", extend_writeInd2, NULL,
 	    "extendible dataset independent write #2", PARATESTFILE);
+    AddTest("selnone", none_selection_chunk, NULL,
+	    "chunked dataset with none-selection", PARATESTFILE);
 
+    AddTest("calloc", test_chunk_alloc, NULL,
+	    "parallel extend Chunked allocation on serial file", PARATESTFILE);
+    AddTest("fltread", test_filter_read, NULL,
+	    "parallel read of dataset written serially with filters", PARATESTFILE);
+
 #ifdef H5_HAVE_FILTER_DEFLATE
     AddTest("cmpdsetr", compress_readAll, NULL,
 	    "compressed dataset collective read", PARATESTFILE);
@@ -507,12 +493,8 @@
     if (MAINPROCESS && GetTestSummary())
         TestSummary();
 
-    /* Clean up test files, if allowed */
-    if (GetTestCleanup() && !getenv("HDF5_NOCLEANUP"))
-	h5_cleanup(FILENAME, fapl);
-    else
-	/* h5_cleanup would have closed fapl.  Now must do it explicitedly */
-	H5Pclose(fapl);
+    /* Clean up test files */
+    h5_cleanup(FILENAME, fapl);
 
     nerrors += GetTestNumErrs();
 

Modified: packages/hdf5/trunk/testpar/testphdf5.h
===================================================================
--- packages/hdf5/trunk/testpar/testphdf5.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/testpar/testphdf5.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef PHDF5TEST_H
@@ -249,6 +250,9 @@
 void dataset_readAll(void);
 void extend_readInd(void);
 void extend_readAll(void);
+void none_selection_chunk(void);
+void test_chunk_alloc(void);
+void test_filter_read(void);
 void compact_dataset(void);
 void big_dataset(void);
 void dataset_fillvalue(void);
@@ -269,7 +273,6 @@
 
 /* commonly used prototypes */
 hid_t create_faccess_plist(MPI_Comm comm, MPI_Info info, int l_facc_type, hbool_t use_gpfs);
-MPI_Offset h5_mpi_get_file_size(const char *filename, MPI_Comm comm, MPI_Info info);
 int dataset_vrfy(hsize_t start[], hsize_t count[], hsize_t stride[],
                  hsize_t block[], DATATYPE *dataset, DATATYPE *original);
 

Copied: packages/hdf5/trunk/tools/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/tools/COPYING)
===================================================================
--- packages/hdf5/trunk/tools/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/tools/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/tools/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ## Tools HDF5 Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ## 
 top_srcdir=@top_srcdir@
 top_builddir=..
@@ -19,7 +20,7 @@
 
 ## All subdirectories except for the ``lib'' subdirectory.
 ##
-SUBDIRS=h5dump h5diff h5ls misc gifconv h5import h5repack h5jam
+SUBDIRS=h5dump h5diff h5ls misc h5import h5repack h5jam
 
 ## Add include directory to the C preprocessor flags, add -lh5tools and
 ## -lhdf5 to the list of libraries.

Modified: packages/hdf5/trunk/tools/h5diff/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/h5diff/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5diff_main.lo: \
    $(srcdir)/h5diff_main.c \

Modified: packages/hdf5/trunk/tools/h5diff/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/h5diff/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -26,7 +27,7 @@
 
 ## Test programs and scripts.
 ##
-TEST_PROGS=h5difftst
+TEST_PROGS=h5diffgentest
 TEST_SCRIPTS=$(srcdir)/testh5diff.sh
 
 ## These are our main targets: library and tools.
@@ -49,10 +50,10 @@
 
 ## Source and object files for programs...
 ##
-PROG_SRC= h5diff_main.c  testh5diff_attr.c testh5diff_basic.c testh5diff_dset.c testh5diff_util.c testh5diff_main.c
+PROG_SRC= h5diff_main.c  h5diffgentest.c
 PROG_OBJ=$(PROG_SRC:.c=.lo)
 OBJS= h5diff_main.lo
-TEST_OBJS=testh5diff_attr.lo testh5diff_basic.lo testh5diff_dset.lo testh5diff_util.lo testh5diff_main.lo
+TEST_OBJS=h5diffgentest.lo
 
 PRIVATE_HDR=testh5diff.h
 
@@ -73,7 +74,7 @@
 h5diff: $(OBJS)
 	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(OBJS) $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS)
 
-h5difftst: $(TEST_OBJS)
+h5diffgentest: $(TEST_OBJS)
 	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TEST_OBJS)  $(LIBTOOLS)  $(LIBHDF5) $(LDFLAGS) $(LIBS)
 
 

Modified: packages/hdf5/trunk/tools/h5diff/h5diff_main.c
===================================================================
--- packages/hdf5/trunk/tools/h5diff/h5diff_main.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/h5diff_main.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "h5diff.h"
@@ -17,35 +18,45 @@
 #include <assert.h>
 
 static void usage(void);
-static int check_n_input( const char* );
-static int check_f_input( const char* );
+static int  check_n_input( const char* );
+static int  check_f_input( const char* );
+static void print_info(diff_opt_t* options);
 
-
 /*-------------------------------------------------------------------------
  * Function: main
  *
  * Purpose: h5diff main program
  *
- * Return: An  exit status of 0 means no differences were found, 1 means some
+ * Return: An exit status of 0 means no differences were found, 1 means some
  *   differences were found.
  *
- * Programmer: Pedro Vicente Nunes, pvn at ncsa.uiuc.edu
+ * Programmer: Pedro Vicente Nunes, pvn at hdfgroup.org
  *
  * Date: May 9, 2003
  *
  * Comments:
  *
- * Modifications: July 2004
+ * Modifications: 
+ *
+ * July 2004
  *  Introduced the four modes:
  *   Normal mode: print the number of differences found and where they occured
  *   Report mode: print the above plus the differences
  *   Verbose mode: print the above plus a list of objects and warnings
  *   Quiet mode: do not print output
  *
-	* Modifications: October 2005
-	*  Introduced a new field 'not_cmp' to 'diff_opt_t' that detects
-	*  if some objects are not comparable and prints the message
-	*  "Some objects are not comparable"
+ * October 2005
+ *  Introduced a new field 'not_cmp' to 'diff_opt_t' that detects
+ *  if some objects are not comparable and prints the message
+ *  "Some objects are not comparable"
+ *
+ * February 2007
+ *  Added comparison for dataset regions. 
+ *  Added support for reading and comparing by hyperslabs for large files.
+ *  Inclusion of a relative error formula to compare floating
+ *   point numbers in order to deal with floating point uncertainty. 
+ *  Printing of dataset dimensions along with dataset name.
+ *
  *-------------------------------------------------------------------------
  */
 
@@ -73,7 +84,6 @@
 
  if ( argc<3 )
  {
-  printf("Number of arguments is only %d\n", argc );
   usage();
  }
 
@@ -203,36 +213,8 @@
 
  nfound = h5diff(fname1,fname2,objname1,objname2,&options);
 
-/*-------------------------------------------------------------------------
- * print how many differences were found
- *-------------------------------------------------------------------------
- */
- if (!options.m_quiet)
- {
-  if (options.cmn_objs==0)
-  {
-   printf("No common objects found. Files are not comparable.\n");
-   if (!options.m_verbose)
-    printf("Use -v for a list of objects.\n");
-  }
-  else
-  {
-   if (!options.err_stat)
-    print_found(nfound);
-  }
+ print_info(&options);
 
-		if (options.not_cmp==1)
-  {
-			printf("--------------------------------\n");
-   printf("Some objects are not comparable\n");
-			printf("--------------------------------\n");
-   if (!options.m_verbose)
-    printf("Use -v for a list of objects.\n");
-  }
-
-
- }
-
 /*-------------------------------------------------------------------------
  * exit code
  *   >0 if differences, 0 if no differences, <0 if error
@@ -330,7 +312,7 @@
 static
 void usage(void)
 {
- printf("Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] \n");
+ printf("usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] \n");
  printf("\n");
  printf("file1             File name of the first HDF5 file\n");
  printf("file2             File name of the second HDF5 file\n");
@@ -338,19 +320,19 @@
  printf("[obj2]            Name of an HDF5 object, in absolute path\n");
  printf("[OPTIONS] are:\n");
  printf("[-h]              Print out this information\n");
- printf("[-r]              Report mode. Print the differences\n");
- printf("[-v]              Verbose mode. Print the differences, list of objects, warnings\n");
+ printf("[-r]              Report mode. Print differences\n");
+ printf("[-v]              Verbose mode. Print differences, list of objects, warnings\n");
  printf("[-q]              Quiet mode. Do not do output\n");
  printf("[-n count]        Print difference up to count number\n");
  printf("[-d delta]        Print difference when it is greater than limit delta\n");
  printf("[-p relative]     Print difference when it is greater than a relative limit\n");
  printf("\n");
  printf("Items in [] are optional\n");
- printf("[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)\n");
+ printf("[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)\n");
  printf("The 'count' value must be a positive integer\n");
  printf("The 'delta' and 'relative' values must be positive numbers\n");
  printf("The -d compare criteria is |a - b| > delta\n");
- printf("The -p compare criteria is |1 - b/a| > relative\n");
+ printf("The -p compare criteria is |(b-a)/a| > relative\n");
  printf("\n");
  printf("h5diff has four modes of output:\n");
  printf(" Normal mode: print the number of differences found and where they occured\n");
@@ -377,8 +359,45 @@
  printf("   h5diff file1 file1 /g1/dset1 /g1/dset2\n");
  printf("\n");
  printf("   to compare '/g1/dset1' and '/g1/dset2' in the same file\n");
+ printf("\n");
+ printf("If no objects are specified, h5diff only compares objects with the same ");
+ printf("absolute path in both files. The compare criteria is: ");
+ printf("1) datasets: numerical array differences 2) groups: name string difference ");
+ printf("3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value\n");
+
  exit(0);
 }
 
 
 
+/*-------------------------------------------------------------------------
+ * Function: print_info
+ *
+ * Purpose: print several information messages
+ *
+ *-------------------------------------------------------------------------
+ */
+
+static
+void  print_info(diff_opt_t* options)
+{
+ if (options->m_quiet || options->err_stat)
+  return;
+
+ if (options->cmn_objs==0)
+ {
+  printf("No common objects found. Files are not comparable.\n");
+  if (!options->m_verbose)
+   printf("Use -v for a list of objects.\n");
+ }
+
+ if (options->not_cmp==1)
+ {
+  printf("--------------------------------\n");
+  printf("Some objects are not comparable\n");
+  printf("--------------------------------\n");
+  if (!options->m_verbose)
+   printf("Use -v for a list of objects.\n");
+ }
+
+}
\ No newline at end of file

Copied: packages/hdf5/trunk/tools/h5diff/h5diffgentest.c (from rev 1094, packages/hdf5/branches/upstream/current/tools/h5diff/h5diffgentest.c)
===================================================================
--- packages/hdf5/trunk/tools/h5diff/h5diffgentest.c	                        (rev 0)
+++ packages/hdf5/trunk/tools/h5diff/h5diffgentest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,2527 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "hdf5.h"
+#include "H5private.h"
+
+/*-------------------------------------------------------------------------
+ * Program: h5diffgentest
+ *
+ * Purpose: generate files for h5diff testing
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 12, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#define FILE1    "h5diff_basic1.h5"
+#define FILE2    "h5diff_basic2.h5"
+#define FILE3    "h5diff_types.h5"
+#define FILE4    "h5diff_dtypes.h5"
+#define FILE5    "h5diff_attr1.h5"
+#define FILE6    "h5diff_attr2.h5"
+#define FILE7    "h5diff_dset1.h5"
+#define FILE8    "h5diff_dset2.h5"
+#define FILE9    "h5diff_hyper1.h5"
+#define FILE10   "h5diff_hyper2.h5"
+#define UIMAX    4294967295u /*Maximum value for a variable of type unsigned int */
+#define STR_SIZE 3
+#define GBLL    ((unsigned long_long) 1024 * 1024 *1024 )
+
+
+
+/*-------------------------------------------------------------------------
+ * prototypes
+ *-------------------------------------------------------------------------
+ */
+
+/* tests called in main() */
+static int test_basic(const char *fname1,const char *fname2);
+static int test_types(const char *fname);
+static int test_datatypes(const char *fname);
+static int test_attributes(const char *fname,int make_diffs);
+static int test_datasets(const char *fname,int make_diffs);
+static int test_hyperslab(const char *fname,int make_diffs);
+/* called by test_attributes() and test_datasets() */
+static void write_attr_in(hid_t loc_id,const char* dset_name,hid_t fid,int make_diffs);
+static void write_dset_in(hid_t loc_id,const char* dset_name,hid_t fid,int make_diffs);
+static void gen_datareg(hid_t fid,int make_diffs);
+/* utilities */
+static int write_attr(hid_t loc_id,int rank,hsize_t *dims,const char *name,hid_t tid,void *buf);
+static int write_dset(hid_t loc_id,int rank,hsize_t *dims,const char *name,hid_t tid,void *buf);
+
+
+/*-------------------------------------------------------------------------
+ * Function: main
+ *
+ * Purpose: main program
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int main(void) 
+{
+ test_basic (FILE1,FILE2);
+ test_types (FILE3);
+ test_datatypes(FILE4);
+
+ /* generate 2 files, the second call creates a similar file with differences */
+ test_attributes(FILE5,0);
+ test_attributes(FILE6,1);
+
+ /* generate 2 files, the second call creates a similar file with differences */
+ test_datasets(FILE7,0);
+ test_datasets(FILE8,1);
+
+ /* generate 2 files, the second call creates a similar file with differences */
+ test_hyperslab(FILE9,0);
+ test_hyperslab(FILE10,1);
+ return 0;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: test_basic
+ *
+ * Purpose: basic tests
+ *
+ *-------------------------------------------------------------------------
+ */
+
+static
+int test_basic(const char *fname1,
+               const char *fname2)
+{
+
+ hid_t   fid1, fid2;
+ hid_t   gid1, gid2, gid3;
+ herr_t  status;
+ hsize_t dims[2] = { 3,2 };
+
+ /* Test */
+ double             data1[3][2] = {{1,1},  {1,1},       {0,0}};
+ double             data2[3][2] = {{0,1.1},{1.01,1.001},{0,1}};
+ double             data3[3][2] = {{100,100},{100,100},{100,100}}; 
+ double             data4[3][2] = {{105,120},{160,95},{80,40}};
+
+/*-------------------------------------------------------------------------
+ * relative error, compare divide by zero, both zero
+ *-------------------------------------------------------------------------
+ */
+
+ int                data5[3][2] = {{100,100},{100,0},{0,100}}; 
+ int                data6[3][2] = {{120,80}, {0,100},{0,50}};
+ unsigned long_long data7[3][2] = {{100,100},{100,0},{0,100}}; 
+ unsigned long_long data8[3][2] = {{120,80}, {0,100},{0,50}};
+ double             data9[3][2] = {{100,100},{100,0},{0,100}}; 
+ double             data10[3][2] ={{120,80}, {0,100},{0,50}};
+ 
+/*-------------------------------------------------------------------------
+ A   B   1-B/A   %
+ 100 120 0.2     20
+ 100 80  0.2     20
+ 100 0   1       100
+ 0   100 #DIV/0! #DIV/0!
+ 0   0   #DIV/0! #DIV/0!
+ 100 50  0.5     50
+ *-------------------------------------------------------------------------
+ */
+
+ /* floating point comparison , epsilon = 0.00001 */
+ float  data11[3][2] ={{0.00000f,0.00001f},{0.00001f, 0.00000f},{0.00001f,0.00001f}};
+ float  data12[3][2] ={{0.00000f,0.00002f},{0.000009f,0.00001f},{0.00000f,0.00001f}};
+ double data13[3][2] ={{0.000000000,0.000000001},{0.000000001, 0.000000000},{0.000000001,0.000000001}};
+ double data14[3][2] ={{0.000000000,0.000000002},{0.0000000009,0.000000001},{0.000000000,0.000000001}};
+
+/*-------------------------------------------------------------------------
+ * Create two files
+ *-------------------------------------------------------------------------
+ */
+
+ fid1 = H5Fcreate (fname1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ fid2 = H5Fcreate (fname2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+ /* Create groups */
+ gid1 = H5Gcreate(fid1, "g1", 0);
+ gid2 = H5Gcreate(fid2, "g1", 0);
+ gid3 = H5Gcreate(fid2, "g2", 0);
+
+ write_dset(gid1,2,dims,"dset1",H5T_NATIVE_DOUBLE,data1);
+ write_dset(gid2,2,dims,"dset2",H5T_NATIVE_DOUBLE,data2);
+ write_dset(gid1,2,dims,"dset3",H5T_NATIVE_DOUBLE,data3);
+ write_dset(gid2,2,dims,"dset4",H5T_NATIVE_DOUBLE,data4);
+ write_dset(gid2,2,dims,"dset1",H5T_NATIVE_DOUBLE,data2);
+
+ /* relative (int) */
+ write_dset(gid1,2,dims,"dset5",H5T_NATIVE_INT,data5);
+ write_dset(gid1,2,dims,"dset6",H5T_NATIVE_INT,data6);
+ /* relative (unsigned long_long) */
+ write_dset(gid1,2,dims,"dset7",H5T_NATIVE_ULLONG,data7);
+ write_dset(gid1,2,dims,"dset8",H5T_NATIVE_ULLONG,data8);
+ /* relative (double) */
+ write_dset(gid1,2,dims,"dset9",H5T_NATIVE_DOUBLE,data9);
+ write_dset(gid1,2,dims,"dset10",H5T_NATIVE_DOUBLE,data10);
+
+ /* test floating point comparison */
+ write_dset(gid1,2,dims,"fp1",H5T_NATIVE_FLOAT,data11);
+ write_dset(gid1,2,dims,"fp2",H5T_NATIVE_FLOAT,data12);
+ write_dset(gid1,2,dims,"d1",H5T_NATIVE_DOUBLE,data13);
+ write_dset(gid1,2,dims,"d2",H5T_NATIVE_DOUBLE,data14);
+
+/*-------------------------------------------------------------------------
+ * Close
+ *-------------------------------------------------------------------------
+ */
+ status = H5Gclose(gid1);
+ status = H5Gclose(gid2);
+ status = H5Gclose(gid3);
+ status = H5Fclose(fid1);
+ status = H5Fclose(fid2);
+ return status;
+}
+
+/*
+
+# ##############################################################################
+# # Common usage
+# ##############################################################################
+
+# 1.0
+TOOLTEST h5diff_10.txt -h
+
+# 1.1 normal mode
+TOOLTEST h5diff_11.txt  file1.h5 file2.h5 
+
+# 1.2 normal mode with objects
+TOOLTEST h5diff_12.txt  file1.h5 file2.h5  g1/dset1 g1/dset2
+
+# 1.3 report mode
+TOOLTEST h5diff_13.txt file1.h5 file2.h5 -r
+
+# 1.4 report  mode with objects
+TOOLTEST h5diff_14.txt  file1.h5 file2.h5  -r g1/dset1 g1/dset2
+
+# 1.5 with -d
+TOOLTEST h5diff_15.txt file1.h5 file2.h5 -r -d 5 g1/dset3 g1/dset4
+
+# 1.6 with -p
+TOOLTEST h5diff_16.txt file1.h5 file2.h5 -r -p 0.05 g1/dset3 g1/dset4
+
+# 1.7 verbose mode
+TOOLTEST h5diff_17.txt file1.h5 file2.h5 -v  
+
+# 1.8 quiet mode 
+TOOLTEST h5diff_18.txt file1.h5 file2.h5 -q
+
+# 1.9.1 with -p (int)
+TOOLTEST h5diff_191.txt file1.h5 file1.h5 -v -p 0.02 g1/dset5 g1/dset6
+
+# 1.9.2 with -p (unsigned long_long)
+TOOLTEST h5diff_192.txt file1.h5 file1.h5 -v -p 0.02 g1/dset7 g1/dset8
+
+*/
+
+/*-------------------------------------------------------------------------
+ * Function: test_types
+ *
+ * Purpose: Compare different HDF5 types (H5G_obj_t):
+ * H5G_DATASET, H5G_TYPE, H5G_GROUP, H5G_LINK, H5G_UDLINK
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int test_types(const char *fname)
+{
+
+ hid_t   fid1;
+ hid_t   gid1;
+ hid_t   gid2;
+ hid_t   tid1;
+ hid_t   tid2;
+ herr_t  status;
+ hsize_t dims[1]={1};
+ typedef struct s1_t
+ {
+  int    a;
+  float  b;
+ } s1_t;
+ typedef struct s2_t
+ {
+  int    a;
+ } s2_t;
+
+/*-------------------------------------------------------------------------
+ * Create one file
+ *-------------------------------------------------------------------------
+ */
+ fid1 = H5Fcreate (fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+/*-------------------------------------------------------------------------
+ * H5G_DATASET
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid1,1,dims,"dset",H5T_NATIVE_INT,0);
+
+/*-------------------------------------------------------------------------
+ * H5G_GROUP
+ *-------------------------------------------------------------------------
+ */
+ gid1 = H5Gcreate(fid1, "g1", 0);
+ status = H5Gclose(gid1);
+ gid2 = H5Gcreate(fid1, "g2", 0);
+ status = H5Gclose(gid2);
+
+/*-------------------------------------------------------------------------
+ * H5G_TYPE
+ *-------------------------------------------------------------------------
+ */
+
+ /* create and commit datatype 1 */
+ tid1 = H5Tcreate (H5T_COMPOUND, sizeof(s1_t));
+ H5Tinsert(tid1, "a", HOFFSET(s1_t, a), H5T_NATIVE_INT);
+ H5Tinsert(tid1, "b", HOFFSET(s1_t, b), H5T_NATIVE_FLOAT);
+ H5Tcommit(fid1, "t1", tid1);
+ H5Tclose(tid1);
+ /* create and commit datatype 2 */
+ tid2 = H5Tcreate (H5T_COMPOUND, sizeof(s2_t));
+ H5Tinsert(tid2, "a", HOFFSET(s2_t, a), H5T_NATIVE_INT);
+ H5Tcommit(fid1, "t2", tid2);
+ H5Tclose(tid2);
+
+/*-------------------------------------------------------------------------
+ * H5G_LINK
+ *-------------------------------------------------------------------------
+ */
+
+ status = H5Glink(fid1, H5G_LINK_SOFT, "g1", "l1");
+ status = H5Glink(fid1, H5G_LINK_SOFT, "g2", "l2");
+
+
+/*-------------------------------------------------------------------------
+ * Close
+ *-------------------------------------------------------------------------
+ */
+ status = H5Fclose(fid1);
+ return status;
+}
+
+
+/*
+
+# ##############################################################################
+# # not comparable types
+# ##############################################################################
+
+# 2.0
+TOOLTEST h5diff_20.txt file3.h5 file3.h5 -v dset g1
+
+# 2.1
+TOOLTEST h5diff_21.txt file3.h5 file3.h5 -v dset l1
+
+# 2.2
+TOOLTEST h5diff_22.txt file3.h5 file3.h5 -v dset t1
+
+# ##############################################################################
+# # compare groups, types, links (no differences and differences)
+# ##############################################################################
+
+# 2.3
+TOOLTEST h5diff_23.txt file3.h5 file3.h5 -v g1 g1
+
+# 2.4
+TOOLTEST h5diff_24.txt file3.h5 file3.h5 -v t1 t1
+
+# 2.5
+TOOLTEST h5diff_25.txt file3.h5 file3.h5 -v l1 l1 
+
+# 2.6
+TOOLTEST h5diff_26.txt file3.h5 file3.h5 -v g1 g2
+
+# 2.7
+TOOLTEST h5diff_27.txt file3.h5 file3.h5 -v t1 t2
+
+# 2.8
+TOOLTEST h5diff_28.txt file3.h5 file3.h5 -v l1 l2
+*/
+
+/*-------------------------------------------------------------------------
+ * Function: test_datatypes
+ *
+ * Purpose: test dataset datatypes
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int test_datatypes(const char *fname)
+{
+
+ hid_t   fid1;
+ hsize_t dims[2]={3,2};
+ herr_t  status;
+ char    buf1a[3][2] = {{1,1},{1,1},{1,1}};
+ char    buf1b[3][2] = {{1,1},{3,4},{5,6}};
+ short   buf2a[3][2] = {{1,1},{1,1},{1,1}};
+ short   buf2b[3][2] = {{1,1},{3,4},{5,6}};
+ int     buf3a[3][2] = {{1,1},{1,1},{1,1}};
+ int     buf3b[3][2] = {{1,1},{3,4},{5,6}};
+ long    buf4a[3][2] = {{1,1},{1,1},{1,1}};
+ long    buf4b[3][2] = {{1,1},{3,4},{5,6}};
+ float   buf5a[3][2] = {{1,1},{1,1},{1,1}};
+ float   buf5b[3][2] = {{1,1},{3,4},{5,6}};
+ double  buf6a[3][2] = {{1,1},{1,1},{1,1}};
+ double  buf6b[3][2] = {{1,1},{3,4},{5,6}};
+
+ /*unsigned/signed test
+   signed char -128 to 127
+   unsigned char 0 to 255
+  */
+ char          buf7a[3][2] = {{-1,-128},{-1,-1},{-1,-1}};
+ unsigned char buf7b[3][2] = {{1,128},{1,1},{1,1}};
+
+ /* long_long test */
+ long_long            buf8a[3][2] = {{1,1},{1,1},{1,1}};
+ long_long            buf8b[3][2] = {{1,1},{3,4},{5,6}};
+ unsigned long_long   buf9a[3][2] = {{1,1},{1,1},{1,1}};
+ unsigned long_long   buf9b[3][2] = {{1,1},{3,4},{5,6}};
+
+ unsigned int    buf10a[3][2] = {{UIMAX,1},{1,1},{1,1}};
+ unsigned int    buf10b[3][2] = {{UIMAX-1,1},{3,4},{5,6}};
+
+
+/*-------------------------------------------------------------------------
+ * Create a file
+ *-------------------------------------------------------------------------
+ */
+ fid1 = H5Fcreate (fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+/*-------------------------------------------------------------------------
+ * Check for different storage order. Give a warning if they are different
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(fid1,2,dims,"dset0a",H5T_STD_I16LE,buf2a);
+ write_dset(fid1,2,dims,"dset0b",H5T_STD_I32LE,buf3b);
+
+/*-------------------------------------------------------------------------
+ * Check H5T_NATIVE_CHAR
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid1,2,dims,"dset1a",H5T_NATIVE_CHAR,buf1a);
+ write_dset(fid1,2,dims,"dset1b",H5T_NATIVE_CHAR,buf1b);
+
+/*-------------------------------------------------------------------------
+ * Check H5T_NATIVE_SHORT
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid1,2,dims,"dset2a",H5T_NATIVE_SHORT,buf2a);
+ write_dset(fid1,2,dims,"dset2b",H5T_NATIVE_SHORT,buf2b);
+
+/*-------------------------------------------------------------------------
+ * Check H5T_NATIVE_INT
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid1,2,dims,"dset3a",H5T_NATIVE_INT,buf3a);
+ write_dset(fid1,2,dims,"dset3b",H5T_NATIVE_INT,buf3b);
+
+/*-------------------------------------------------------------------------
+ * Check H5T_NATIVE_LONG
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid1,2,dims,"dset4a",H5T_NATIVE_LONG,buf4a);
+ write_dset(fid1,2,dims,"dset4b",H5T_NATIVE_LONG,buf4b);
+
+/*-------------------------------------------------------------------------
+ * Check H5T_NATIVE_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ write_dset(fid1,2,dims,"dset5a",H5T_NATIVE_FLOAT,buf5a);
+ write_dset(fid1,2,dims,"dset5b",H5T_NATIVE_FLOAT,buf5b);
+
+/*-------------------------------------------------------------------------
+ * Check H5T_NATIVE_DOUBLE
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(fid1,2,dims,"dset6a",H5T_NATIVE_DOUBLE,buf6a);
+ write_dset(fid1,2,dims,"dset6b",H5T_NATIVE_DOUBLE,buf6b);
+
+/*-------------------------------------------------------------------------
+ * H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(fid1,2,dims,"dset7a",H5T_NATIVE_CHAR,buf7a);
+ write_dset(fid1,2,dims,"dset7b",H5T_NATIVE_UCHAR,buf7b);
+
+/*-------------------------------------------------------------------------
+ * H5T_NATIVE_LLONG
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(fid1,2,dims,"dset8a",H5T_NATIVE_LLONG,buf8a);
+ write_dset(fid1,2,dims,"dset8b",H5T_NATIVE_LLONG,buf8b);
+
+/*-------------------------------------------------------------------------
+ * H5T_NATIVE_ULLONG
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(fid1,2,dims,"dset9a",H5T_NATIVE_ULLONG,buf9a);
+ write_dset(fid1,2,dims,"dset9b",H5T_NATIVE_ULLONG,buf9b);
+
+/*-------------------------------------------------------------------------
+ * H5T_NATIVE_INT
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(fid1,2,dims,"dset10a",H5T_NATIVE_UINT,buf10a);
+ write_dset(fid1,2,dims,"dset10b",H5T_NATIVE_UINT,buf10b);
+
+
+/*-------------------------------------------------------------------------
+ * Close
+ *-------------------------------------------------------------------------
+ */
+ status = H5Fclose(fid1);
+ return status;
+}
+
+/*
+# ##############################################################################
+# # Dataset datatypes
+# ##############################################################################
+
+# 5.0
+TOOLTEST h5diff_50.txt file4.h5 file4.h5 -v dset0a dset0b
+
+# 5.1
+TOOLTEST h5diff_51.txt file4.h5 file4.h5 -v dset1a dset1b
+
+# 5.2
+TOOLTEST h5diff_52.txt file4.h5 file4.h5 -v dset2a dset2b
+
+# 5.3
+TOOLTEST h5diff_53.txt file4.h5 file4.h5 -v dset3a dset4b
+
+# 5.4
+TOOLTEST h5diff_54.txt file4.h5 file4.h5 -v dset4a dset4b
+
+# 5.5
+TOOLTEST h5diff_55.txt file4.h5 file4.h5 -v dset5a dset5b
+
+# 5.6
+TOOLTEST h5diff_56.txt file4.h5 file4.h5 -v dset6a dset6b
+
+# 5.7
+TOOLTEST h5diff_57.txt file4.h5 file4.h5 -v dset7a dset7b
+
+# 5.8 (region reference)
+TOOLTEST h5diff_58.txt file7.h5 file8.h5 -v refreg
+*/
+
+/*-------------------------------------------------------------------------
+ * Function: test_attributes
+ *
+ * Purpose: test attributes
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int test_attributes(const char *file,
+                    int make_diffs /* flag to modify data buffers */)
+{
+ hid_t   fid;
+ hid_t   did;
+ hid_t   gid;
+ hid_t   root_id;
+ hid_t   sid;
+ hsize_t dims[1]={2};
+ herr_t  status;
+
+ /* Create a file  */
+ if ((fid  = H5Fcreate(file, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0)
+  return -1;
+
+ /* Create a 1D dataset */
+ sid = H5Screate_simple(1,dims,NULL);
+ did  = H5Dcreate(fid,"dset",H5T_NATIVE_INT,sid,H5P_DEFAULT);
+ status   = H5Sclose(sid);
+ assert(status>=0);
+
+ /* Create groups */
+ gid  = H5Gcreate(fid,"g1",0);
+ root_id   = H5Gopen(fid, "/");
+
+/*-------------------------------------------------------------------------
+ * write a series of attributes on the dataset, group, and root group
+ *-------------------------------------------------------------------------
+ */
+
+ write_attr_in(did,"dset",fid,make_diffs);
+ write_attr_in(gid,NULL,0,make_diffs);
+ write_attr_in(root_id,NULL,0,make_diffs);
+
+
+ /* Close */
+ status = H5Dclose(did);
+ assert(status>=0);
+ status = H5Gclose(gid);
+ assert(status>=0);
+ status = H5Gclose(root_id);
+ assert(status>=0);
+
+ /* Close file */
+ status = H5Fclose(fid);
+ assert(status>=0);
+ return status;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: test_datasets
+ *
+ * Purpose: Check all HDF5 classes
+ * H5T_INTEGER, H5T_FLOAT
+ * H5T_TIME, H5T_STRING, H5T_BITFIELD, H5T_OPAQUE, H5T_COMPOUND, H5T_REFERENCE,
+ * H5T_ENUM, H5T_VLEN, H5T_ARRAY
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int test_datasets(const char *file,
+                  int make_diffs /* flag to modify data buffers */)
+{
+ hid_t   fid;
+ hid_t   did;
+ hid_t   gid;
+ hid_t   sid;
+ hsize_t dims[1]={2};
+ herr_t  status;
+ int     buf[2]={1,2};
+
+ if (make_diffs)
+ {
+  memset(buf,0,sizeof buf);
+ }
+
+ /* Create a file  */
+ if ((fid  = H5Fcreate(file, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0)
+  return -1;
+
+ /* Create a 1D dataset */
+ sid = H5Screate_simple(1,dims,NULL);
+ did  = H5Dcreate(fid,"dset",H5T_NATIVE_INT,sid,H5P_DEFAULT);
+ status   = H5Dwrite(did,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf);
+ status   = H5Sclose(sid);
+ assert(status>=0);
+
+ /* Create a group */
+ gid  = H5Gcreate(fid,"g1",0);
+
+/*-------------------------------------------------------------------------
+ * write a series of datasets on the group
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset_in(gid,"/dset",fid,make_diffs);
+
+ /* Close */
+ status = H5Dclose(did);
+ assert(status>=0);
+ status = H5Gclose(gid);
+ assert(status>=0);
+
+ /* Close file */
+ status = H5Fclose(fid);
+ assert(status>=0);
+ return status;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: write_attr_in
+ *
+ * Purpose: write attributes in LOC_ID (dataset, group, named datatype)
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+void write_attr_in(hid_t loc_id,
+                   const char* dset_name, /* for saving reference to dataset*/
+                   hid_t fid,
+                   int make_diffs /* flag to modify data buffers */)
+{
+ /* Compound datatype */
+ typedef struct s_t
+ {
+  char   a;
+  double b;
+ } s_t;
+
+ typedef enum
+ {
+  RED,
+  GREEN
+ } e_t;
+
+ hid_t   aid;
+ hid_t   sid;
+ hid_t   tid;
+ herr_t  status;
+ int     val, i, j, k, n;
+ float   f;
+
+ /* create 1D attributes with dimension [2], 2 elements */
+ hsize_t    dims[1]={2};
+ char       buf1[2][2]= {"ab","de"};        /* string */
+ char       buf2[2]= {1,2};                 /* bitfield, opaque */
+ s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
+ hobj_ref_t buf4[2];                        /* reference */
+ e_t        buf45[2]= {RED,RED};            /* enum */
+ hvl_t      buf5[2];                        /* vlen */
+ hsize_t    dimarray[1]={3};                /* array dimension */
+ int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
+ int        buf7[2]= {1,2};                 /* integer */
+ float      buf8[2]= {1,2};                 /* float */
+
+ /* create 2D attributes with dimension [3][2], 6 elements */
+ hsize_t    dims2[2]={3,2};
+ char       buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};         /* string */
+ char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
+ s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
+ hobj_ref_t buf42[3][2];                                          /* reference */
+ e_t        buf452[3][2];                                         /* enum */
+ hvl_t      buf52[3][2];                                          /* vlen */
+ int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
+ int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
+ float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
+
+ /* create 3D attributes with dimension [4][3][2], 24 elements */
+ hsize_t    dims3[3]={4,3,2};
+ char       buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
+ "rs","tu","vw","xz","AB","CD","EF","GH",
+ "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
+ char       buf23[4][3][2];    /* bitfield, opaque */
+ s_t        buf33[4][3][2];    /* compound */
+ hobj_ref_t buf43[4][3][2];    /* reference */
+ e_t        buf453[4][3][2];   /* enum */
+ hvl_t      buf53[4][3][2];    /* vlen */
+ int        buf63[24][3];      /* array */
+ int        buf73[4][3][2];    /* integer */
+ float      buf83[4][3][2];    /* float */
+
+
+/*-------------------------------------------------------------------------
+ * 1D attributes
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<2; j++)
+   {
+    buf1[i][j]='z';
+   }
+ }
+ /*
+ buf1[2][2]= {"ab","de"};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <string> and <string>
+ position      string of </g1>  string of </g1> difference
+ ------------------------------------------------------------
+[ 0 ]          a                z
+[ 0 ]          b                z
+[ 1 ]          d                z
+[ 1 ]          e                z
+ */
+ tid = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(tid, 2);
+ write_attr(loc_id,1,dims,"string",tid,buf1);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   buf2[i]=buf2[1]=0;
+ }
+ /*
+ buf2[2]= {1,2};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <bitfield> and <bitfield>
+ position      bitfield of </g1> bitfield of </g1> difference
+ position        opaque of </g1> opaque of </g1> difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 1 ]          2               0               2
+ */
+
+ tid = H5Tcopy(H5T_STD_B8LE);
+ write_attr(loc_id,1,dims,"bitfield",tid,buf2);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+
+ /*
+ buf2[2]= {1,2};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <opaque> and <opaque>
+ position     opaque of </g1> opaque of </g1> difference
+ position        opaque of </g1> opaque of </g1> difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 1 ]          2               0               2
+*/
+
+ tid = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */
+ write_attr(loc_id,1,dims,"opaque",tid,buf2);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf3[i].a=0; buf3[i].b=0;
+  }
+ }
+
+ /*
+ buf3[2]= {{1,2},{3,4}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <compound> and <compound>
+ position        compound of </g1> compound of </g1> difference
+ ------------------------------------------------------------
+ [ 0 ]          1               5               4
+ [ 0 ]          2               5               3
+ [ 1 ]          3               5               2
+ [ 1 ]          4               5               1
+ */
+
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_attr(loc_id,1,dims,"compound",tid,buf3);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_OBJECT object reference)
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,-1);
+  status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,-1);
+  write_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf45[i]=GREEN;
+  }
+ }
+ /*
+ buf45[2]= {RED,RED};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <enum> and <enum>
+ position     enum of </g1>   enum of </g1>   difference
+------------------------------------------------------------
+[ 0 ]          RED              GREEN
+[ 1 ]          RED              GREEN
+ */
+ tid = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(tid, "RED",   (val = 0, &val));
+ H5Tenum_insert(tid, "GREEN", (val = 1, &val));
+ write_attr(loc_id,1,dims,"enum",tid,buf45);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+
+ buf5[0].len = 1;
+ buf5[0].p = malloc( 1 * sizeof(int));
+ ((int *)buf5[0].p)[0]=1;
+ buf5[1].len = 2;
+ buf5[1].p = malloc( 2 * sizeof(int));
+ ((int *)buf5[1].p)[0]=2;
+ ((int *)buf5[1].p)[1]=3;
+
+ if (make_diffs)
+ {
+  ((int *)buf5[0].p)[0]=0;
+  ((int *)buf5[1].p)[0]=0;
+  ((int *)buf5[1].p)[1]=0;
+ }
+ /*
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ position        vlen of </g1>   vlen of </g1>   difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 1 ]          2               0               2
+[ 1 ]          3               0               3
+ */
+
+ sid = H5Screate_simple(1,dims,NULL);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ aid = H5Acreate(loc_id,"vlen",tid,sid,H5P_DEFAULT);
+ status = H5Awrite(aid,tid,buf5);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf5);
+ assert(status>=0);
+ status = H5Aclose(aid);
+ status = H5Tclose(tid);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<3; j++)
+   {
+    buf6[i][j]=0;
+   }
+ }
+ /*
+ buf6[2][3]= {{1,2,3},{4,5,6}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <array> and <array>
+position        array of </g1>  array of </g1>  difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 0 ]          2               0               2
+[ 0 ]          3               0               3
+[ 1 ]          4               0               4
+[ 1 ]          5               0               5
+[ 1 ]          6               0               6
+ */
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_attr(loc_id,1,dims,"array",tid,buf6);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf7[i]=0;
+   buf8[i]=0;
+  }
+ }
+ /*
+ buf7[2]= {1,2};
+ buf8[2]= {1,2};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ position        integer of </g1> integer of </g1> difference
+ ------------------------------------------------------------
+ [ 0 ]          1               0               1
+ [ 1 ]          2               0               2
+ position        float of </g1>  float of </g1>  difference
+ ------------------------------------------------------------
+ [ 0 ]          1               0               1
+ [ 1 ]          2               0               2
+ */
+ write_attr(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
+ write_attr(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
+
+
+/*-------------------------------------------------------------------------
+ * 2D attributes
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+ if (make_diffs)
+ {
+  memset(buf12, 'z', sizeof buf12);
+ }
+
+ /*
+ buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <string2D> and <string2D>
+ position        string2D of </g1> string2D of </g1> difference
+ ------------------------------------------------------------
+[ 0 0 ]          a                z
+[ 0 0 ]          b                z
+[ 0 1 ]          c                z
+[ 0 1 ]          d                z
+[ 1 0 ]          e                z
+[ 1 0 ]          f                z
+[ 1 1 ]          g                z
+[ 1 1 ]          h                z
+[ 2 0 ]          i                z
+[ 2 0 ]          j                z
+[ 2 1 ]          k                z
+[ 2 1 ]          l                z
+ */
+
+ tid = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(tid, 2);
+ write_attr(loc_id,2,dims2,"string2D",tid,buf12);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf22,0,sizeof buf22);
+ }
+
+ /*
+ buf22[3][2]= {{1,2},{3,4},{5,6}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <bitfield2D> and <bitfield2D>
+ position        bitfield2D of </g1> bitfield2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+ */
+
+
+ tid = H5Tcopy(H5T_STD_B8LE);
+ write_attr(loc_id,2,dims2,"bitfield2D",tid,buf22);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+
+ /*
+ buf22[3][2]= {{1,2},{3,4},{5,6}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <opaque2D> and <opaque2D>
+ position        opaque2D of </g1> opaque2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+ */
+ tid = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */
+ write_attr(loc_id,2,dims2,"opaque2D",tid,buf22);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+ if (make_diffs)
+ {
+  memset(buf32,0,sizeof buf32);
+ }
+
+ /*
+ buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <opaque2D> and <opaque2D>
+ position        opaque2D of </g1> opaque2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+ */
+
+
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_attr(loc_id,2,dims2,"compound2D",tid,buf32);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_OBJECT object reference)
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 3; i++) {
+   for (j = 0; j < 2; j++) {
+    status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1);
+   }
+  }
+  write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+ for (i=0; i<3; i++)
+  for (j=0; j<2; j++)
+  {
+   if (make_diffs) buf452[i][j]=GREEN; else buf452[i][j]=RED;
+  }
+
+/*
+Attribute:   <enum2D> and <enum2D>
+position        enum2D of </g1> enum2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          RED              GREEN
+[ 0 1 ]          RED              GREEN
+[ 1 0 ]          RED              GREEN
+[ 1 1 ]          RED              GREEN
+[ 2 0 ]          RED              GREEN
+[ 2 1 ]          RED              GREEN
+*/
+
+ tid = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(tid, "RED",   (val = 0, &val));
+ H5Tenum_insert(tid, "GREEN", (val = 1, &val));
+ write_attr(loc_id,2,dims2,"enum2D",tid,buf452);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 3; i++) {
+  for (j = 0; j < 2; j++) {
+    int l;
+    buf52[i][j].p = malloc((i + 1) * sizeof(int));
+    buf52[i][j].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
+    else ((int *)buf52[i][j].p)[l] = n++;
+  }
+ }
+
+ /*
+ position        vlen2D of </g1> vlen2D of </g1> difference
+------------------------------------------------------------
+[ 0 1 ]          1               0               1
+[ 1 0 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 1 1 ]          5               0               5
+[ 2 0 ]          6               0               6
+[ 2 0 ]          7               0               7
+[ 2 0 ]          8               0               8
+[ 2 1 ]          9               0               9
+[ 2 1 ]          10              0               10
+[ 2 1 ]          11              0               11
+*/
+
+ sid = H5Screate_simple(2,dims2,NULL);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ aid = H5Acreate(loc_id,"vlen2D",tid,sid,H5P_DEFAULT);
+ status = H5Awrite(aid,tid,buf52);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf52);
+ assert(status>=0);
+ status = H5Aclose(aid);
+ status = H5Tclose(tid);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf62,0,sizeof buf62);
+ }
+ /*
+ buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+Attribute:   <array2D> and <array2D>
+position        array2D of </g1> array2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 0 ]          2               0               2
+[ 0 0 ]          3               0               3
+[ 0 1 ]          4               0               4
+[ 0 1 ]          5               0               5
+[ 0 1 ]          6               0               6
+[ 1 0 ]          7               0               7
+[ 1 0 ]          8               0               8
+[ 1 0 ]          9               0               9
+[ 1 1 ]          10              0               10
+[ 1 1 ]          11              0               11
+[ 1 1 ]          12              0               12
+[ 2 0 ]          13              0               13
+[ 2 0 ]          14              0               14
+[ 2 0 ]          15              0               15
+[ 2 1 ]          16              0               16
+[ 2 1 ]          17              0               17
+[ 2 1 ]          18              0               18
+ */
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_attr(loc_id,2,dims2,"array2D",tid,buf62);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf72,0,sizeof buf72);
+  memset(buf82,0,sizeof buf82);
+ }
+/*
+Attribute:   <integer2D> and <integer2D>
+position        integer2D of </g1> integer2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+6 differences found
+Attribute:   <float2D> and <float2D>
+position        float2D of </g1> float2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+*/
+
+ write_attr(loc_id,2,dims2,"integer2D",H5T_NATIVE_INT,buf72);
+ write_attr(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
+
+
+/*-------------------------------------------------------------------------
+ * 3D attributes
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf13,'z',sizeof buf13);
+ }
+
+ /*
+ buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
+ "rs","tu","vw","xz","AB","CD","EF","GH",
+ "IJ","KL","MN","PQ","RS","TU","VW","XZ"};
+
+Attribute:   <string3D> and <string3D>
+position        string3D of </g1> string3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          a                z
+[ 0 0 0 ]          b                z
+[ 0 0 1 ]          c                z
+[ 0 0 1 ]          d                z
+[ 0 1 0 ]          e                z
+[ 0 1 0 ]          f                z
+[ 0 1 1 ]          g                z
+[ 0 1 1 ]          h                z
+[ 0 2 0 ]          i                z
+[ 0 2 0 ]          j                z
+[ 0 2 1 ]          k                z
+[ 0 2 1 ]          l                z
+[ 1 0 0 ]          m                z
+[ 1 0 0 ]          n                z
+[ 1 0 1 ]          p                z
+[ 1 0 1 ]          q                z
+[ 1 1 0 ]          r                z
+[ 1 1 0 ]          s                z
+[ 1 1 1 ]          t                z
+[ 1 1 1 ]          u                z
+[ 1 2 0 ]          v                z
+[ 1 2 0 ]          w                z
+[ 1 2 1 ]          x                z
+[ 2 0 0 ]          A                z
+[ 2 0 0 ]          B                z
+[ 2 0 1 ]          C                z
+[ 2 0 1 ]          D                z
+[ 2 1 0 ]          E                z
+[ 2 1 0 ]          F                z
+[ 2 1 1 ]          G                z
+[ 2 1 1 ]          H                z
+[ 2 2 0 ]          I                z
+[ 2 2 0 ]          J                z
+[ 2 2 1 ]          K                z
+[ 2 2 1 ]          L                z
+[ 3 0 0 ]          M                z
+[ 3 0 0 ]          N                z
+[ 3 0 1 ]          P                z
+[ 3 0 1 ]          Q                z
+[ 3 1 0 ]          R                z
+[ 3 1 0 ]          S                z
+[ 3 1 1 ]          T                z
+[ 3 1 1 ]          U                z
+[ 3 2 0 ]          V                z
+[ 3 2 0 ]          W                z
+[ 3 2 1 ]          X                z
+[ 3 2 1 ]          Z                z
+ */
+
+ tid = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(tid, 2);
+ write_attr(loc_id,3,dims3,"string3D",tid,buf13);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) buf23[i][j][k]=0;
+    else buf23[i][j][k]=n++;
+   }
+  }
+ }
+
+/*
+position        bitfield3D of </g1> bitfield3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 1 ]          2               0               2
+[ 0 1 0 ]          3               0               3
+[ 0 1 1 ]          4               0               4
+[ 0 2 0 ]          5               0               5
+[ 0 2 1 ]          6               0               6
+[ 1 0 0 ]          7               0               7
+[ 1 0 1 ]          8               0               8
+[ 1 1 0 ]          9               0               9
+[ 1 1 1 ]          10              0               10
+[ 1 2 0 ]          11              0               11
+[ 1 2 1 ]          12              0               12
+[ 2 0 0 ]          13              0               13
+[ 2 0 1 ]          14              0               14
+[ 2 1 0 ]          15              0               15
+[ 2 1 1 ]          16              0               16
+[ 2 2 0 ]          17              0               17
+[ 2 2 1 ]          18              0               18
+[ 3 0 0 ]          19              0               19
+[ 3 0 1 ]          20              0               20
+[ 3 1 0 ]          21              0               21
+[ 3 1 1 ]          22              0               22
+[ 3 2 0 ]          23              0               23
+[ 3 2 1 ]          24              0               24
+*/
+
+ tid = H5Tcopy(H5T_STD_B8LE);
+ write_attr(loc_id,3,dims3,"bitfield3D",tid,buf23);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */
+ write_attr(loc_id,3,dims3,"opaque3D",tid,buf23);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf33[i][j][k].a=0;
+     buf33[i][j][k].b=0;
+    }
+    else {
+     buf33[i][j][k].a=n++;
+     buf33[i][j][k].b=n++;
+    }
+   }
+  }
+ }
+/*position        compound3D of </g1> compound3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 0 ]          2               0               2
+[ 0 0 1 ]          3               0               3
+[ 0 0 1 ]          4               0               4
+[ 0 1 0 ]          5               0               5
+[ 0 1 0 ]          6               0               6
+[ 0 1 1 ]          7               0               7
+[ 0 1 1 ]          8               0               8
+[ 0 2 0 ]          9               0               9
+[ 0 2 0 ]          10              0               10
+[ 0 2 1 ]          11              0               11
+[ 0 2 1 ]          12              0               12
+[ 1 0 0 ]          13              0               13
+[ 1 0 0 ]          14              0               14
+[ 1 0 1 ]          15              0               15
+[ 1 0 1 ]          16              0               16
+[ 1 1 0 ]          17              0               17
+[ 1 1 0 ]          18              0               18
+[ 1 1 1 ]          19              0               19
+[ 1 1 1 ]          20              0               20
+[ 1 2 0 ]          21              0               21
+[ 1 2 0 ]          22              0               22
+[ 1 2 1 ]          23              0               23
+[ 1 2 1 ]          24              0               24
+[ 2 0 0 ]          25              0               25
+[ 2 0 0 ]          26              0               26
+[ 2 0 1 ]          27              0               27
+[ 2 0 1 ]          28              0               28
+[ 2 1 0 ]          29              0               29
+[ 2 1 0 ]          30              0               30
+[ 2 1 1 ]          31              0               31
+[ 2 1 1 ]          32              0               32
+[ 2 2 0 ]          33              0               33
+[ 2 2 0 ]          34              0               34
+[ 2 2 1 ]          35              0               35
+[ 2 2 1 ]          36              0               36
+[ 3 0 0 ]          37              0               37
+[ 3 0 0 ]          38              0               38
+[ 3 0 1 ]          39              0               39
+[ 3 0 1 ]          40              0               40
+[ 3 1 0 ]          41              0               41
+[ 3 1 0 ]          42              0               42
+[ 3 1 1 ]          43              0               43
+[ 3 1 1 ]          44              0               44
+[ 3 2 0 ]          45              0               45
+[ 3 2 0 ]          46              0               46
+[ 3 2 1 ]          47              0               47
+[ 3 2 1 ]          48              0               48
+*/
+
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_attr(loc_id,3,dims3,"compound3D",tid,buf33);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_OBJECT object reference)
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 4; i++) {
+   for (j = 0; j < 3; j++) {
+    for (k = 0; k < 2; k++)
+     status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1);
+   }
+  }
+ write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) buf453[i][j][k]=RED; else buf453[i][j][k]=GREEN;
+   }
+  }
+ }
+
+/*
+position        enum3D of </g1> enum3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          GREEN            RED
+[ 0 0 1 ]          GREEN            RED
+[ 0 1 0 ]          GREEN            RED
+[ 0 1 1 ]          GREEN            RED
+[ 0 2 0 ]          GREEN            RED
+[ 0 2 1 ]          GREEN            RED
+[ 1 0 0 ]          GREEN            RED
+[ 1 0 1 ]          GREEN            RED
+[ 1 1 0 ]          GREEN            RED
+[ 1 1 1 ]          GREEN            RED
+[ 1 2 0 ]          GREEN            RED
+[ 1 2 1 ]          GREEN            RED
+[ 2 0 0 ]          GREEN            RED
+[ 2 0 1 ]          GREEN            RED
+[ 2 1 0 ]          GREEN            RED
+[ 2 1 1 ]          GREEN            RED
+[ 2 2 0 ]          GREEN            RED
+[ 2 2 1 ]          GREEN            RED
+[ 3 0 0 ]          GREEN            RED
+[ 3 0 1 ]          GREEN            RED
+[ 3 1 0 ]          GREEN            RED
+[ 3 1 1 ]          GREEN            RED
+[ 3 2 0 ]          GREEN            RED
+[ 3 2 1 ]          GREEN            RED
+*/
+
+
+ tid = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(tid, "RED",   (val = 0, &val));
+ H5Tenum_insert(tid, "GREEN", (val = 1, &val));
+ write_attr(loc_id,3,dims3,"enum3D",tid,buf453);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    int l;
+    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+    buf53[i][j][k].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
+    else ((int *)buf53[i][j][k].p)[l] = n++;
+   }
+  }
+ }
+/*
+position        vlen3D of </g1> vlen3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 1 ]          1               0               1
+[ 0 1 0 ]          2               0               2
+[ 0 1 1 ]          3               0               3
+[ 0 2 0 ]          4               0               4
+[ 0 2 1 ]          5               0               5
+[ 1 0 0 ]          6               0               6
+[ 1 0 0 ]          7               0               7
+[ 1 0 1 ]          8               0               8
+[ 1 0 1 ]          9               0               9
+[ 1 1 0 ]          10              0               10
+etc
+*/
+ sid = H5Screate_simple(3,dims3,NULL);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ aid = H5Acreate(loc_id,"vlen3D",tid,sid,H5P_DEFAULT);
+ status = H5Awrite(aid,tid,buf53);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf53);
+ assert(status>=0);
+ status = H5Aclose(aid);
+ status = H5Tclose(tid);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+ n=1;
+ for (i = 0; i < 24; i++) {
+  for (j = 0; j < (int)dimarray[0]; j++) {
+    if (make_diffs) buf63[i][j]=0;
+    else buf63[i][j]=n++;
+  }
+ }
+ /*
+ position        array3D of </g1> array3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 0 ]          2               0               2
+[ 0 0 0 ]          3               0               3
+[ 0 0 1 ]          4               0               4
+[ 0 0 1 ]          5               0               5
+[ 0 0 1 ]          6               0               6
+[ 0 1 0 ]          7               0               7
+etc
+*/
+
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_attr(loc_id,3,dims3,"array3D",tid,buf63);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ n=1; f=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf73[i][j][k]=0;
+     buf83[i][j][k]=0;
+    }
+    else {
+     buf73[i][j][k]=n++;
+     buf83[i][j][k]=f++;
+    }
+   }
+  }
+ }
+
+ /*
+ position        integer3D of </g1> integer3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 1 ]          2               0               2
+[ 0 1 0 ]          3               0               3
+[ 0 1 1 ]          4               0               4
+[ 0 2 0 ]          5               0               5
+[ 0 2 1 ]          6               0               6
+[ 1 0 0 ]          7               0               7
+[ 1 0 1 ]          8               0               8
+[ 1 1 0 ]          9               0               9
+[ 1 1 1 ]          10              0               10
+etc
+*/
+ write_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
+ write_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: write_dset_in
+ *
+ * Purpose: write datasets in LOC_ID
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+void write_dset_in(hid_t loc_id,
+                   const char* dset_name, /* for saving reference to dataset*/
+                   hid_t fid,
+                   int make_diffs /* flag to modify data buffers */)
+{
+ /* Compound datatype */
+ typedef struct s_t
+ {
+  char   a;
+  double b;
+ } s_t;
+
+ typedef enum
+ {
+  RED,
+  GREEN
+ } e_t;
+
+ hid_t   did;
+ hid_t   sid;
+ hid_t   tid;
+ hid_t   dcpl;
+ herr_t  status;
+ int     val, i, j, k, n;
+ float   f;
+ int     fillvalue=2;
+
+ /* create 1D attributes with dimension [2], 2 elements */
+ hsize_t    dims[1]={2};
+ char       buf1[2][STR_SIZE]= {"ab","de"}; /* string */
+ char       buf2[2]= {1,2};                 /* bitfield, opaque */
+ s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
+ hobj_ref_t buf4[2];                        /* reference */
+ e_t        buf45[2]= {RED,GREEN};          /* enum */
+ hvl_t      buf5[2];                        /* vlen */
+ hsize_t    dimarray[1]={3};                /* array dimension */
+ int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
+ int        buf7[2]= {1,2};                 /* integer */
+ float      buf8[2]= {1,2};                 /* float */
+
+ /* create 2D attributes with dimension [3][2], 6 elements */
+ hsize_t    dims2[2]={3,2};
+ char       buf12[6][STR_SIZE]= {"ab","cd","ef","gh","ij","kl"};  /* string */
+ char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
+ s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
+ hobj_ref_t buf42[3][2];                                          /* reference */
+ hvl_t      buf52[3][2];                                          /* vlen */
+ int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
+ int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
+ float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
+
+ /* create 3D attributes with dimension [4][3][2], 24 elements */
+ hsize_t    dims3[3]={4,3,2};
+ char       buf13[24][STR_SIZE]= {"ab","cd","ef","gh","ij","kl","mn","pq",
+ "rs","tu","vw","xz","AB","CD","EF","GH",
+ "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
+ char       buf23[4][3][2];    /* bitfield, opaque */
+ s_t        buf33[4][3][2];    /* compound */
+ hobj_ref_t buf43[4][3][2];    /* reference */
+ hvl_t      buf53[4][3][2];    /* vlen */
+ int        buf63[24][3];      /* array */
+ int        buf73[4][3][2];    /* integer */
+ float      buf83[4][3][2];    /* float */
+
+
+/*-------------------------------------------------------------------------
+ * 1D
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<2; j++)
+   {
+    buf1[i][j]='z';
+   }
+ }
+
+
+ tid = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(tid,STR_SIZE);
+ write_dset(loc_id,1,dims,"string",tid,buf1);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   buf2[i]=buf2[1]=0;
+ }
+
+ tid = H5Tcopy(H5T_STD_B8LE);
+ write_dset(loc_id,1,dims,"bitfield",tid,buf2);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf3[i].a=0; buf3[i].b=0;
+  }
+ }
+
+ tid = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */
+ write_dset(loc_id,1,dims,"opaque",tid,buf2);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf45[i]=GREEN;
+  }
+ }
+
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_dset(loc_id,1,dims,"compound",tid,buf3);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_OBJECT object reference)
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,-1);
+  status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,-1);
+  write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_DATASET_REGION dataset region reference)
+ *-------------------------------------------------------------------------
+ */
+
+ gen_datareg(fid,make_diffs);
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(tid, "RED",   (val = 0, &val));
+ H5Tenum_insert(tid, "GREEN", (val = 1, &val));
+ write_dset(loc_id,1,dims,"enum",tid,buf45);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+
+ buf5[0].len = 1;
+ buf5[0].p = malloc( 1 * sizeof(int));
+ ((int *)buf5[0].p)[0]=1;
+ buf5[1].len = 2;
+ buf5[1].p = malloc( 2 * sizeof(int));
+ ((int *)buf5[1].p)[0]=2;
+ ((int *)buf5[1].p)[1]=3;
+
+ if (make_diffs)
+ {
+  ((int *)buf5[0].p)[0]=0;
+  ((int *)buf5[1].p)[0]=0;
+  ((int *)buf5[1].p)[1]=0;
+ }
+
+ sid = H5Screate_simple(1,dims,NULL);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ did = H5Dcreate(loc_id,"vlen",tid,sid,H5P_DEFAULT);
+ status = H5Dwrite(did,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf5);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf5);
+ assert(status>=0);
+ status = H5Dclose(did);
+ status = H5Tclose(tid);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<3; j++)
+   {
+    buf6[i][j]=0;
+   }
+ }
+
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_dset(loc_id,1,dims,"array",tid,buf6);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf7[i]=0;
+   buf8[i]=0;
+  }
+ }
+
+ write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
+ write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
+
+
+/*-------------------------------------------------------------------------
+ * 2D
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf12, 'z', sizeof buf12);
+ }
+
+
+ tid = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(tid,STR_SIZE);
+ write_dset(loc_id,2,dims2,"string2D",tid,buf12);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  memset(buf22,0,sizeof buf22);
+ }
+
+ tid = H5Tcopy(H5T_STD_B8LE);
+ write_dset(loc_id,2,dims2,"bitfield2D",tid,buf22);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */
+ write_dset(loc_id,2,dims2,"opaque2D",tid,buf22);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf32,0,sizeof buf32);
+ }
+
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_dset(loc_id,2,dims2,"compound2D",tid,buf32);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_OBJECT object reference)
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 3; i++) {
+   for (j = 0; j < 2; j++) {
+    status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1);
+   }
+  }
+  write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+
+ tid = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(tid, "RED",   (val = 0, &val));
+ H5Tenum_insert(tid, "GREEN", (val = 1, &val));
+ write_dset(loc_id,2,dims2,"enum2D",tid,0);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+/* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 3; i++) {
+  for (j = 0; j < 2; j++) {
+    int l;
+    buf52[i][j].p = malloc((i + 1) * sizeof(int));
+    buf52[i][j].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
+    else ((int *)buf52[i][j].p)[l] = n++;
+  }
+ }
+
+ sid = H5Screate_simple(2,dims2,NULL);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ did = H5Dcreate(loc_id,"vlen2D",tid,sid,H5P_DEFAULT);
+ status = H5Dwrite(did,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf52);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf52);
+ assert(status>=0);
+ status = H5Dclose(did);
+ status = H5Tclose(tid);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf62,0,sizeof buf62);
+ }
+
+
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_dset(loc_id,2,dims2,"array2D",tid,buf62);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER, write a fill value
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  memset(buf72,0,sizeof buf72);
+  memset(buf82,0,sizeof buf82);
+ }
+
+
+ dcpl = H5Pcreate(H5P_DATASET_CREATE);
+ status = H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillvalue);
+ sid = H5Screate_simple(2,dims2,NULL);
+ did = H5Dcreate(loc_id,"integer2D",H5T_NATIVE_INT,sid,dcpl);
+ status = H5Dwrite(did,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf72);
+ status = H5Pclose(dcpl);
+ status = H5Dclose(did);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
+
+
+/*-------------------------------------------------------------------------
+ * 3D
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf13,'z',sizeof buf13);
+ }
+
+ tid = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(tid,STR_SIZE);
+ write_dset(loc_id,3,dims3,"string3D",tid,buf13);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) buf23[i][j][k]=0;
+    else buf23[i][j][k]=n++;
+   }
+  }
+ }
+
+
+ tid = H5Tcopy(H5T_STD_B8LE);
+ write_dset(loc_id,3,dims3,"bitfield3D",tid,buf23);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(tid, "1-byte opaque type"); /* must set this */
+ write_dset(loc_id,3,dims3,"opaque3D",tid,buf23);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf33[i][j][k].a=0;
+     buf33[i][j][k].b=0;
+    }
+    else {
+     buf33[i][j][k].a=n++;
+     buf33[i][j][k].b=n++;
+    }
+   }
+  }
+ }
+
+
+ tid = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(tid, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(tid, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_dset(loc_id,3,dims3,"compound3D",tid,buf33);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE (H5R_OBJECT object reference)
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 4; i++) {
+   for (j = 0; j < 3; j++) {
+    for (k = 0; k < 2; k++)
+     status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1);
+   }
+  }
+ write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+
+ tid = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(tid, "RED",   (val = 0, &val));
+ H5Tenum_insert(tid, "GREEN", (val = 1, &val));
+ write_dset(loc_id,3,dims3,"enum3D",tid,0);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    int l;
+    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+    buf53[i][j][k].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
+    else ((int *)buf53[i][j][k].p)[l] = n++;
+   }
+  }
+ }
+
+ sid = H5Screate_simple(3,dims3,NULL);
+ tid = H5Tvlen_create(H5T_NATIVE_INT);
+ did = H5Dcreate(loc_id,"vlen3D",tid,sid,H5P_DEFAULT);
+ status = H5Dwrite(did,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf53);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(tid,sid,H5P_DEFAULT,buf53);
+ assert(status>=0);
+ status = H5Dclose(did);
+ status = H5Tclose(tid);
+ status = H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+
+ n=1;
+ for (i = 0; i < 24; i++) {
+  for (j = 0; j < (int)dimarray[0]; j++) {
+    if (make_diffs) buf63[i][j]=0;
+    else buf63[i][j]=n++;
+  }
+ }
+
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_dset(loc_id,3,dims3,"array3D",tid,buf63);
+ status = H5Tclose(tid);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ n=1; f=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf73[i][j][k]=0;
+     buf83[i][j][k]=0;
+    }
+    else {
+     buf73[i][j][k]=n++;
+     buf83[i][j][k]=f++;
+    }
+   }
+  }
+ }
+ write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
+ write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
+}
+
+/*-------------------------------------------------------------------------
+ * Function: gen_datareg
+ *
+ * Purpose: generate a dataset region and its reference
+ *
+ * Date: April 19, 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+
+static
+void gen_datareg(hid_t fid,
+                 int make_diffs /* flag to modify data buffers */)
+{
+ /* data dataset */
+ hid_t           did1;              /* dataset ID   */
+ hid_t           sid1;              /* dataspace ID  */
+ hsize_t         dims1[2] = {10,10};/* dimensions */
+ int             *buf;              /* dataset buffer */
+ /* reference dataset */
+ hid_t           did2;              /* dataset ID   */
+ hid_t           sid2;              /* dataspace ID  */
+ hsize_t         dims2[] = {2};     /* 2 references */
+ hdset_reg_ref_t *rbuf;             /* buffer for write the references  */
+ hsize_t         start[10];         /* starting location of hyperslab */
+ hsize_t         count[10];         /* element count of hyperslab */
+ hsize_t         coord[5][2];       /* coordinates for point selection */
+ herr_t          status;
+ int             i;
+
+ /* allocate the buffer for write the references */
+ rbuf=calloc(2,sizeof(hdset_reg_ref_t));
+
+ /* allocate the buffer for write the data dataset */
+ buf=malloc(10*10*sizeof(int));
+
+ for (i=0; i<10*10; i++)
+ {
+  buf[i]=i;
+ }
+
+ /* create the data dataset */
+ sid1   = H5Screate_simple(2,dims1,NULL);
+ did1   = H5Dcreate(fid,"dsetref",H5T_NATIVE_INT,sid1,H5P_DEFAULT);
+ status = H5Dwrite(did1,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf);
+
+ /* create the reference dataset */
+ sid2   = H5Screate_simple(1,dims2,NULL);
+ did2   = H5Dcreate(fid,"refreg",H5T_STD_REF_DSETREG,sid2,H5P_DEFAULT);
+
+ /* create the references */
+ /* select hyperslab for first reference */
+
+ start[0]=2; start[1]=2;
+ count[0]=6; count[1]=6;
+ if (make_diffs)
+ {
+  start[0]=0; start[1]=0;
+  count[0]=3; count[1]=3;
+ }
+
+ status = H5Sselect_hyperslab(sid1,H5S_SELECT_SET,start,NULL,count,NULL);
+ H5Sget_select_npoints(sid1);
+
+ /* store first dataset region */
+ status = H5Rcreate(&rbuf[0],fid,"dsetref",H5R_DATASET_REGION,sid1);
+
+ /* select sequence of five points for second reference */
+ coord[0][0]=6; coord[0][1]=9;
+ coord[1][0]=2; coord[1][1]=2;
+ coord[2][0]=8; coord[2][1]=4;
+ coord[3][0]=1; coord[3][1]=6;
+ coord[4][0]=2; coord[4][1]=8;
+ if (make_diffs)
+ {
+  coord[1][0]=3; coord[1][1]=3;
+  coord[3][0]=2; coord[3][1]=5;
+  coord[4][0]=1; coord[4][1]=7;
+ }
+ H5Sselect_elements(sid1,H5S_SELECT_SET,5,(const hsize_t **)coord);
+ H5Sget_select_npoints(sid1);
+
+ /* store second dataset region */
+ H5Rcreate(&rbuf[1],fid,"dsetref",H5R_DATASET_REGION,sid1);
+
+ /* write */
+ status = H5Dwrite(did2,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,rbuf);
+
+ /* close, free memory buffers */
+ status = H5Dclose(did1);
+ status = H5Sclose(sid1);
+ status = H5Dclose(did2);
+ status = H5Sclose(sid2);
+ free(rbuf);
+ free(buf);
+
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: test_hyperslab
+ *
+ * Purpose: test diff by hyperslabs. create a dataset with 1GB dimensions
+ *  by iterating trough 1KB hyperslabs 
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int test_hyperslab(const char *fname, 
+                   int make_diffs /* flag to modify data buffers */)
+{
+ hid_t   did=-1;
+ hid_t   fid=-1;
+ hid_t   f_sid=-1;
+ hid_t   m_sid=-1;
+ hid_t   tid=-1;
+ hid_t   dcpl=-1;
+ hsize_t dims[1]={GBLL};                  /* dataset dimensions */
+ hsize_t hs_size[1]={GBLL/(1024*1024)};   /* hyperslab dimensions */
+ hsize_t chunk_dims[1]={GBLL/1024};       /* chunk dimensions */
+ hsize_t hs_start[1];
+ size_t  size;
+ size_t  nelmts=(size_t)GBLL/(1024*1024); /* elements in each hyperslab */
+ char    fillvalue=-1;
+ char    *buf=NULL;
+ int     i, j, s;
+ char    c;
+
+ /* create */ 
+ fid = H5Fcreate (fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ if (H5Pset_fill_value(dcpl, H5T_NATIVE_CHAR, &fillvalue)<0)
+  goto out;
+ if(H5Pset_chunk(dcpl, 1, chunk_dims)<0)
+  goto out;
+ if ((f_sid = H5Screate_simple(1,dims,NULL))<0)
+  goto out;
+ if ((did = H5Dcreate(fid,"big",H5T_NATIVE_CHAR,f_sid,dcpl))<0)
+  goto out;
+ if ((m_sid = H5Screate_simple(1, hs_size, hs_size))<0) 
+  goto out;
+ if ((tid = H5Dget_type(did))<0) 
+  goto out;
+ if ((size = H5Tget_size(tid))<=0)
+  goto out;
+ 
+ /* create a evenly divided buffer from 0 to 127  */
+ buf=(char *) HDmalloc((unsigned)(nelmts*size));
+ s = 1024*1024 / 127;
+ for (i=0, j=0, c=0; i<1024*1024; j++, i++) 
+ {
+  if ( j==s)
+  {
+   c++;
+   j=0;
+  };
+
+  /* set the hyperslab values */
+  HDmemset(buf, c, nelmts);
+
+  /* make a different hyperslab at this position */
+  if (make_diffs && i==512*512)
+  {
+   HDmemset(buf, 0, nelmts);
+  }
+  
+  hs_start[0] = i * GBLL/(1024*1024);
+  if (H5Sselect_hyperslab (f_sid,H5S_SELECT_SET,hs_start,NULL,hs_size, NULL)<0) 
+   goto out;
+
+  /* write only one hyperslab */
+  if ( i==512*512)
+  {
+   if (H5Dwrite (did,H5T_NATIVE_CHAR,m_sid,f_sid,H5P_DEFAULT,buf)<0) 
+    goto out;
+  }
+
+ }
+ free(buf);
+ buf=NULL;
+
+ /* close */
+ if(H5Sclose(f_sid)<0)
+  goto out;
+ if(H5Sclose(m_sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+ if(H5Dclose(did)<0)
+  goto out;
+ H5Fclose(fid);
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(f_sid);
+  H5Sclose(m_sid);
+  H5Dclose(did);
+  H5Fclose(fid);
+ } H5E_END_TRY;
+ return -1;
+
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: write_attr
+ *
+ * Purpose: utility function to write an attribute in LOC_ID
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int write_attr(hid_t loc_id,
+               int rank,
+               hsize_t *dims,
+               const char *name,
+               hid_t tid,
+               void *buf)
+{
+ hid_t   aid;
+ hid_t   sid;
+ herr_t  status;
+
+ /* Create a buf space  */
+ sid = H5Screate_simple(rank,dims,NULL);
+
+ /* Create the attribute */
+ aid = H5Acreate(loc_id,name,tid,sid,H5P_DEFAULT);
+
+ /* Write the buf */
+ if ( buf )
+  status = H5Awrite(aid,tid,buf);
+
+ /* Close */
+ status = H5Aclose(aid);
+ status = H5Sclose(sid);
+ return status;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: write_dset
+ *
+ * Purpose: utility function to create and write a dataset in LOC_ID
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int write_dset( hid_t loc_id,
+                int rank,
+                hsize_t *dims,
+                const char *name,
+                hid_t tid,
+                void *buf )
+{
+ hid_t   did;
+ hid_t   sid;
+ herr_t  status;
+
+ /* Create a buf space  */
+ sid = H5Screate_simple(rank,dims,NULL);
+
+ /* Create a dataset */
+ did = H5Dcreate(loc_id,name,tid,sid,H5P_DEFAULT);
+
+ /* Write the buf */
+ if ( buf )
+  status = H5Dwrite(did,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf);
+
+ /* Close */
+ status = H5Dclose(did);
+ status = H5Sclose(sid);
+
+ return status;
+}
+

Deleted: packages/hdf5/trunk/tools/h5diff/testh5diff.h
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,53 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "hdf5.h"
-#include "H5private.h"
-
-
-int test_basic(const char *file1,
-               const char *file2);
-
-int test_types(const char *file1,
-               const char *file2);
-
-int test_native(const char *file1,
-                const char *file2);
-
-
-int test_dsetall(const char *file,
-                 int make_diffs /* flag to modify data buffers */);
-
-int test_attr(const char *file,
-              int make_diffs /* flag to modify data buffers */);
-
-
-int write_attr(hid_t loc_id,
-               int rank,
-               hsize_t *dims,
-               const char *attr_name,
-               hid_t type_id,
-               void *buf);
-
-
-int write_dset( hid_t loc_id,
-                int rank,
-                hsize_t *dims,
-                const char *dset_name,
-                hid_t type_id,
-                void *buf );
-
-

Modified: packages/hdf5/trunk/tools/h5diff/testh5diff.sh
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,11 +10,37 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Tests for the h5diff tool
+#
+# Modification:
+#   Albert Cheng, 2005/08/17
+#   Added the SKIP feature.
+#   Albert Cheng, 2005/2/3
+#   Added -p option for parallel h5diff tests.
+#   Pedro Vicente Nunes:
+#    10/25/2005: Added test #9
+#    11/27/2006: Added test #10, #11
 
+
+###############################################################################
+## test file names 
+###############################################################################
+
+FILE1=h5diff_basic1.h5
+FILE2=h5diff_basic2.h5
+FILE3=h5diff_types.h5
+FILE4=h5diff_dtypes.h5
+FILE5=h5diff_attr1.h5
+FILE6=h5diff_attr2.h5
+FILE7=h5diff_dset1.h5
+FILE8=h5diff_dset2.h5
+FILE9=h5diff_hyper1.h5
+FILE10=h5diff_hyper2.h5
+
+
 H5DIFF=h5diff               # The tool name
 H5DIFF_BIN=`pwd`/$H5DIFF    # The path of the tool binary
 
@@ -22,6 +49,7 @@
 
 nerrors=0
 verbose=yes
+pmode=			    # default to run h5diff tests
 
 # The build (current) directory might be different than the source directory.
 if test -z "$srcdir"; then
@@ -30,6 +58,30 @@
 
 test -d ../testfiles || mkdir ../testfiles
 
+# Parse option
+#   -p   run ph5diff tests
+#   -h   print help page
+while [ $# -gt 0 ]; do
+    case "$1" in
+    -p)	# run ph5diff tests
+	H5DIFF_BIN=`pwd`/ph5diff
+	pmode=yes
+	shift
+	;;
+    -h) # print help page
+	echo "$0 [-p] [-h]"
+	echo "    -p   run ph5diff tests"
+	echo "    -h   print help page"
+	shift
+	exit 0
+	;;
+    *)  # unknown option
+        echo "$0: Unknown option ($1)"
+	exit 1
+	;;
+    esac
+done
+
 # Print a line-line message left justified in a field of 70 characters
 # beginning with the word "Testing".
 #
@@ -38,6 +90,73 @@
    echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
 }
 
+# Some systems will dump some messages to stdout for various reasons.
+# Remove them from the stdout result file.
+# $1 is the file name of the file to be filtered.
+# Cases of filter needed:
+# 1. Sandia Red-Storm
+#    yod always prints these two lines at the beginning.
+#    LibLustre: NAL NID: 0004a605 (5)
+#    Lustre: OBD class driver Build Version: 1, info at clusterfs.com
+# 2. LANL Lambda
+#    mpijob mirun -np always add an extra line at the end like:
+#    P4 procgroup file is /users/acheng/.lsbatch/host10524.l82
+STDOUT_FILTER() {
+    result_file=$1
+    tmp_file=/tmp/h5test_tmp_$$
+    # Filter Sandia Red-Storm yod messages.
+    cp $result_file $tmp_file
+    sed -e '/^LibLustre:/d' -e '/^Lustre:/d' \
+	< $tmp_file > $result_file
+    # Filter LANL Lambda mpirun message.
+    cp $result_file $tmp_file
+    sed -e '/^P4 procgroup file is/d' \
+	< $tmp_file > $result_file
+    # cleanup
+    rm -f $tmp_file
+}
+
+# Some systems will dump some messages to stderr for various reasons.
+# Remove them from the stderr result file.
+# $1 is the file name of the file to be filtered.
+# Cases of filter needed:
+# 1. MPE:
+# In parallel mode and if MPE library is used, it prints the following
+# two message lines whether the MPE tracing is used or not.
+#    Writing logfile.
+#    Finished writing logfile.
+# 2. LANL MPI:
+# The LANL MPI will print some messages like the following,
+#    LA-MPI: *** mpirun (1.5.10)
+#    LA-MPI: *** 3 process(es) on 2 host(s): 2*fln21 1*fln22
+#    LA-MPI: *** libmpi (1.5.10)
+#    LA-MPI: *** Copyright 2001-2004, ACL, Los Alamos National Laboratory
+# 3. h5diff debug output:
+#    Debug output all have prefix "h5diff debug: ".
+STDERR_FILTER() {
+    result_file=$1
+    tmp_file=/tmp/h5test_tmp_$$
+    # Filter MPE messages
+    if test -n "$pmode"; then
+	cp $result_file $tmp_file
+	sed -e '/^Writing logfile./d' -e '/^Finished writing logfile./d' \
+	    < $tmp_file > $result_file
+    fi
+    # Filter LANL MPI messages
+    # and LLNL srun messages
+    if test -n "$pmode"; then
+	cp $result_file $tmp_file
+	sed -e '/^LA-MPI:/d' -e '/^srun:/d' \
+	    < $tmp_file > $result_file
+    fi
+    # Filter h5diff debug output
+	cp $result_file $tmp_file
+	sed -e '/^h5diff debug: /d' \
+	    < $tmp_file > $result_file
+    # clean up temporary files.
+    rm -f $tmp_file
+}
+
 # Run a test and print PASS or *FAIL*.  If a test fails then increment
 # the `nerrors' global variable and (if $verbose is set) display the
 # difference between the actual output and the expected output. The
@@ -46,139 +165,209 @@
 # `.out'.  The actual output is not removed if $HDF5_NOCLEANUP has a
 # non-zero value.
 #
+# Need eval before the RUNCMD command because some machines like
+# AIX, has RUNPARALLEL in the style as
+#   MP_PROCS=3 MP_TASKS_PER_NODE=3 poe ./a.out
+# that throws the shell script off.
+#
 TOOLTEST() {
-   expect="$srcdir/../testfiles/$1"
-   actual="../testfiles/`basename $1 .txt`.out"
-   actual_err="../testfiles/`basename $1 .txt`.err"
-   shift
+    expect="$srcdir/../testfiles/$1"
+    actual="../testfiles/`basename $1 .txt`.out"
+    actual_err="../testfiles/`basename $1 .txt`.err"
+    actual_sav=${actual}-sav
+    actual_err_sav=${actual_err}-sav
+    shift
+    if test -n "$pmode"; then
+	RUNCMD=$RUNPARALLEL
+    else
+	RUNCMD=$RUNSERIAL
+    fi
 
-   # Run test.
-   # Tflops interprets "$@" as "" when no parameter is given (e.g., the
-   # case of missing file name).  Changed it to use $@ till Tflops fixes it.
-   TESTING $H5DIFF $@
-   (
-      echo "#############################"
-      echo "Expected output for '$H5DIFF $@'" 
-      echo "#############################"
-      cd $srcdir/../testfiles
-      if [ "`uname -s`" = "TFLOPS O/S" ]; then
-        $RUNSERIAL $H5DIFF_BIN $@
-      else
-        $RUNSERIAL $H5DIFF_BIN "$@"
-      fi
-   ) >$actual 2>$actual_err
-   cat $actual_err >> $actual
+    # Run test.
+    # Tflops interprets "$@" as "" when no parameter is given (e.g., the
+    # case of missing file name).  Changed it to use $@ till Tflops fixes it.
+    TESTING $H5DIFF $@
+    (
+	echo "#############################"
+	echo "Expected output for '$H5DIFF $@'" 
+	echo "#############################"
+	cd $srcdir/../testfiles
+	if [ "`uname -s`" = "TFLOPS O/S" ]; then
+	    eval $RUNCMD $H5DIFF_BIN $@
+	else
+	    eval $RUNCMD $H5DIFF_BIN "$@"
+	fi
+    ) >$actual 2>$actual_err
+    # save actual and actual_err in case they are needed later.
+    cp $actual $actual_sav
+    STDOUT_FILTER $actual
+    cp $actual_err $actual_err_sav
+    STDERR_FILTER $actual_err
+    cat $actual_err >> $actual
 
-   if [ ! -f $expect ]; then
-   # Create the expect file if it doesn't yet exist.
-      echo " CREATED"
-      cp $actual $expect
-   elif $CMP $expect $actual; then
-      echo " PASSED"
-   else
-      echo "*FAILED*"
-      echo "    Expected result (*.txt) differs from actual result (*.out)"
-      nerrors="`expr $nerrors + 1`"
-      test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/    /'
-   fi
+    if [ ! -f $expect ]; then
+    # Create the expect file if it doesn't yet exist.
+        echo " CREATED"
+	cp $actual $expect
+    elif $CMP $expect $actual; then
+	echo " PASSED"
+    elif test -z "$pmode"; then
+	echo "*FAILED*"
+	echo "    Expected result ($expect) differs from actual result ($actual)"
+	nerrors="`expr $nerrors + 1`"
+	test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/    /'
+    else
+	# parallel mode output are often of different ordering from serial
+	# output.  If the sorted expected and actual files compare the same,
+	# it is safe to assume the actual output match the expected file.
+	expect_sorted=expect_sorted
+	actual_sorted=actual_sorted
+	sort $expect -o $expect_sorted
+	sort $actual -o $actual_sorted
+	if $CMP $expect_sorted $actual_sorted; then
+	    echo " PASSED"
+	else
+	    echo "*FAILED*"
+	    nerrors="`expr $nerrors + 1`"
+	    if test yes = "$verbose"; then
+		echo "====Expected result ($expect_sorted) differs from actual result ($actual_sorted)"
+		$DIFF $expect_sorted $actual_sorted |sed 's/^/    /'
+		echo "====The actual output ($actual_sav)"
+		sed 's/^/    /' < $actual_sav 
+		echo "====The actual stderr ($actual_err_sav)"
+		sed 's/^/    /' < $actual_err_sav 
+		echo "====End of actual stderr ($actual_err_sav)"
+		echo ""
+	    fi
+	fi
+    fi
 
-   # Clean up output file
-     if test -z "$HDF5_NOCLEANUP"; then
-     rm -f $actual $actual_err
-     fi
+    # Clean up output file
+    if test -z "$HDF5_NOCLEANUP"; then
+	rm -f $actual $actual_err $actual_sav $actual_err_sav
+	rm -f $actual_sorted $expect_sorted
+    fi
 }
 
+
+# Print a "SKIP" message
+SKIP() {
+	 TESTING $H5DIFF $@
+	  echo  " -SKIP-"
+}
+
+
 ##############################################################################
 ##############################################################################
 ###			  T H E   T E S T S                                            ###
 ##############################################################################
 ##############################################################################
 
-# ##############################################################################
+# ############################################################################
 # # Common usage
-# ##############################################################################
+# ############################################################################
 
 
 # 1.0
 TOOLTEST h5diff_10.txt -h
 
 # 1.1 normal mode
-TOOLTEST h5diff_11.txt  file1.h5 file2.h5 
+TOOLTEST h5diff_11.txt  $FILE1 $FILE2 
 
 # 1.2 normal mode with objects
-TOOLTEST h5diff_12.txt  file1.h5 file2.h5  g1/dset1 g1/dset2
+TOOLTEST h5diff_12.txt  $FILE1 $FILE2  g1/dset1 g1/dset2
 
 # 1.3 report mode
-TOOLTEST h5diff_13.txt file1.h5 file2.h5 -r
+TOOLTEST h5diff_13.txt $FILE1 $FILE2 -r
 
 # 1.4 report  mode with objects
-TOOLTEST h5diff_14.txt  file1.h5 file2.h5  -r g1/dset1 g1/dset2
+TOOLTEST h5diff_14.txt  $FILE1 $FILE2  -r g1/dset1 g1/dset2
 
 # 1.5 with -d
-TOOLTEST h5diff_15.txt file1.h5 file2.h5 -r -d 5 g1/dset3 g1/dset4
+TOOLTEST h5diff_15.txt $FILE1 $FILE2 -r -d 5 g1/dset3 g1/dset4
 
-# 1.6 with -p
-TOOLTEST h5diff_16.txt file1.h5 file2.h5 -r -p 0.05 g1/dset3 g1/dset4
+# 1.6.1 with -p (int)
+TOOLTEST h5diff_16_1.txt $FILE1 $FILE1 -v -p 0.02 g1/dset5 g1/dset6
 
+# 1.6.2 with -p (unsigned long_long)
+#TOOLTEST h5diff_16_2.txt $FILE1 $FILE1 -v -p 0.02 g1/dset7 g1/dset8
+
+# 1.6.3 with -p (double)
+TOOLTEST h5diff_16_3.txt $FILE1 $FILE1 -v -p 0.02 g1/dset9 g1/dset10
+
 # 1.7 verbose mode
-TOOLTEST h5diff_17.txt file1.h5 file2.h5 -v  
+TOOLTEST h5diff_17.txt $FILE1 $FILE2 -v  
 
 # 1.8 quiet mode 
-TOOLTEST h5diff_18.txt file1.h5 file2.h5 -q
+TOOLTEST h5diff_18.txt $FILE1 $FILE2 -q
 
 # ##############################################################################
 # # not comparable types
 # ##############################################################################
 
 # 2.0
-TOOLTEST h5diff_20.txt file3.h5 file3.h5 -v dset group
+TOOLTEST h5diff_20.txt $FILE3 $FILE3 -v dset g1
 
 # 2.1
-TOOLTEST h5diff_21.txt file3.h5 file3.h5 -v dset link
+TOOLTEST h5diff_21.txt $FILE3 $FILE3 -v dset l1
 
 # 2.2
-TOOLTEST h5diff_22.txt file3.h5 file3.h5 -v dset type
+TOOLTEST h5diff_22.txt $FILE3 $FILE3 -v dset t1
 
+# ##############################################################################
+# # compare groups, types, links (no differences and differences)
+# ##############################################################################
+
 # 2.3
-TOOLTEST h5diff_23.txt file3.h5 file3.h5 -v group group
+TOOLTEST h5diff_23.txt $FILE3 $FILE3 -v g1 g1
 
 # 2.4
-TOOLTEST h5diff_24.txt file3.h5 file3.h5 -v type type
+TOOLTEST h5diff_24.txt $FILE3 $FILE3 -v t1 t1
 
 # 2.5
-TOOLTEST h5diff_25.txt file3.h5 file3.h5 -v link link
+TOOLTEST h5diff_25.txt $FILE3 $FILE3 -v l1 l1 
 
+# 2.6
+TOOLTEST h5diff_26.txt $FILE3 $FILE3 -v g1 g2
 
+# 2.7
+TOOLTEST h5diff_27.txt $FILE3 $FILE3 -v t1 t2
+
+# 2.8
+TOOLTEST h5diff_28.txt $FILE3 $FILE3 -v l1 l2
+
+
+
 # ##############################################################################
-# # Dataset types
+# # Dataset datatypes
 # ##############################################################################
 
 # 5.0
-TOOLTEST h5diff_50.txt file4.h5 file4.h5 -v dset0a dset0b
+TOOLTEST h5diff_50.txt $FILE4 $FILE4 -v dset0a dset0b
 
 # 5.1
-TOOLTEST h5diff_51.txt file4.h5 file4.h5 -v dset1a dset1b
+TOOLTEST h5diff_51.txt $FILE4 $FILE4 -v dset1a dset1b
 
 # 5.2
-TOOLTEST h5diff_52.txt file4.h5 file4.h5 -v dset2a dset2b
+TOOLTEST h5diff_52.txt $FILE4 $FILE4 -v dset2a dset2b
 
 # 5.3
-TOOLTEST h5diff_53.txt file4.h5 file4.h5 -v dset3a dset4b
+TOOLTEST h5diff_53.txt $FILE4 $FILE4 -v dset3a dset4b
 
 # 5.4
-TOOLTEST h5diff_54.txt file4.h5 file4.h5 -v dset4a dset4b
+TOOLTEST h5diff_54.txt $FILE4 $FILE4 -v dset4a dset4b
 
 # 5.5
-TOOLTEST h5diff_55.txt file4.h5 file4.h5 -v dset5a dset5b
+TOOLTEST h5diff_55.txt $FILE4 $FILE4 -v dset5a dset5b
 
 # 5.6
-TOOLTEST h5diff_56.txt file4.h5 file4.h5 -v dset6a dset6b
+TOOLTEST h5diff_56.txt $FILE4 $FILE4 -v dset6a dset6b
 
 # 5.7
-TOOLTEST h5diff_57.txt file4.h5 file4.h5 -v dset7a dset7b
+TOOLTEST h5diff_57.txt $FILE4 $FILE4 -v dset7a dset7b
 
-# 5.8 long_long test; different format of long_long print  in Linux and IRIX
-#TOOLTEST h5diff_58.txt file4.h5 file4.h5 dset8a dset8b
+# 5.8 (region reference)
+TOOLTEST h5diff_58.txt $FILE7 $FILE8 -v refreg
 
 # ##############################################################################
 # # Error messages
@@ -186,41 +375,41 @@
 
 
 # 6.0: Check if the command line number of arguments is less than 3
-TOOLTEST h5diff_600.txt file1.h5 
+TOOLTEST h5diff_600.txt $FILE1 
 
 # 6.1: Check for invalid options
-TOOLTEST h5diff_601.txt file1.h5 file2.h5 -x 
+TOOLTEST h5diff_601.txt $FILE1 $FILE2 -x 
 
 # ##############################################################################
 # # -d 
 # ##############################################################################
 
 # 6.2: no value
-TOOLTEST h5diff_602.txt file1.h5 file2.h5  -d g1/dset3 g1/dset4
+TOOLTEST h5diff_602.txt $FILE1 $FILE2  -d g1/dset3 g1/dset4
 
 # 6.3: negative value
-TOOLTEST h5diff_603.txt file1.h5 file2.h5  -d -4 g1/dset3 g1/dset4
+TOOLTEST h5diff_603.txt $FILE1 $FILE2  -d -4 g1/dset3 g1/dset4
 
 # 6.4: zero
-TOOLTEST h5diff_604.txt file1.h5 file2.h5  -d 0 g1/dset3 g1/dset4
+TOOLTEST h5diff_604.txt $FILE1 $FILE2  -d 0 g1/dset3 g1/dset4
 
 # 6.5: non number
-TOOLTEST h5diff_605.txt file1.h5 file2.h5  -d u g1/dset3 g1/dset4
+TOOLTEST h5diff_605.txt $FILE1 $FILE2  -d u g1/dset3 g1/dset4
 
 # 6.6: hexadecimal
-TOOLTEST h5diff_606.txt file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4
+TOOLTEST h5diff_606.txt $FILE1 $FILE2 -d 0x1 g1/dset3 g1/dset4
 
 # 6.7: string
-TOOLTEST h5diff_607.txt file1.h5 file2.h5  -d "1" g1/dset3 g1/dset4
+TOOLTEST h5diff_607.txt $FILE1 $FILE2  -d "1" g1/dset3 g1/dset4
 
 # 6.8: repeated option
-TOOLTEST h5diff_608.txt file1.h5 file2.h5  -d 1 -d 2 g1/dset3 g1/dset4
+TOOLTEST h5diff_608.txt $FILE1 $FILE2  -d 1 -d 2 g1/dset3 g1/dset4
 
 # 6.9: number larger than biggest difference
-TOOLTEST h5diff_609.txt file1.h5 file2.h5  -d 200 g1/dset3 g1/dset4
+TOOLTEST h5diff_609.txt $FILE1 $FILE2  -d 200 g1/dset3 g1/dset4
 
 # 6.10: number smaller than smallest difference
-TOOLTEST h5diff_610.txt file1.h5 file2.h5  -d 1 g1/dset3 g1/dset4
+TOOLTEST h5diff_610.txt $FILE1 $FILE2  -d 1 g1/dset3 g1/dset4
 
 
 # ##############################################################################
@@ -229,31 +418,31 @@
 
 
 # 6.11: no value
-TOOLTEST h5diff_611.txt file1.h5 file2.h5 -r -p g1/dset3 g1/dset4
+TOOLTEST h5diff_611.txt $FILE1 $FILE2 -r -p g1/dset3 g1/dset4
 
 # 6.12: negative value
-TOOLTEST h5diff_612.txt file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4
+TOOLTEST h5diff_612.txt $FILE1 $FILE2 -p -4 g1/dset3 g1/dset4
 
 # 6.13: zero
-TOOLTEST h5diff_613.txt file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4
+TOOLTEST h5diff_613.txt $FILE1 $FILE2 -p 0 g1/dset3 g1/dset4
 
 # 6.14: non number
-TOOLTEST h5diff_614.txt file1.h5 file2.h5 -p u g1/dset3 g1/dset4
+TOOLTEST h5diff_614.txt $FILE1 $FILE2 -p u g1/dset3 g1/dset4
 
 # 6.15: hexadecimal
-TOOLTEST h5diff_615.txt file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4
+TOOLTEST h5diff_615.txt $FILE1 $FILE2 -p 0x1 g1/dset3 g1/dset4
 
 # 6.16: string
-TOOLTEST h5diff_616.txt file1.h5 file2.h5 -p "0.21" g1/dset3 g1/dset4
+TOOLTEST h5diff_616.txt $FILE1 $FILE2 -p "0.21" g1/dset3 g1/dset4
 
 # 6.17: repeated option
-TOOLTEST h5diff_617.txt file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4
+TOOLTEST h5diff_617.txt $FILE1 $FILE2 -p 0.21 -p 0.22 g1/dset3 g1/dset4
 
 # 6.18: number larger than biggest difference
-TOOLTEST h5diff_618.txt file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4
+TOOLTEST h5diff_618.txt $FILE1 $FILE2 -p 2 g1/dset3 g1/dset4
 
 # 6.19: number smaller than smallest difference
-TOOLTEST h5diff_619.txt file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4
+TOOLTEST h5diff_619.txt $FILE1 $FILE2 -p 0.005 g1/dset3 g1/dset4
 
 
 
@@ -263,50 +452,55 @@
 
 
 # 6.20: no value
-TOOLTEST h5diff_620.txt file1.h5 file2.h5 -n g1/dset3 g1/dset4
+TOOLTEST h5diff_620.txt $FILE1 $FILE2 -n g1/dset3 g1/dset4
 
 # 6.21: negative value
-TOOLTEST h5diff_621.txt file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4
+TOOLTEST h5diff_621.txt $FILE1 $FILE2 -n -4 g1/dset3 g1/dset4
 
 # 6.22: zero
-TOOLTEST h5diff_622.txt file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4
+TOOLTEST h5diff_622.txt $FILE1 $FILE2 -n 0 g1/dset3 g1/dset4
 
 # 6.23: non number
-TOOLTEST h5diff_623.txt file1.h5 file2.h5 -n u g1/dset3 g1/dset4
+TOOLTEST h5diff_623.txt $FILE1 $FILE2 -n u g1/dset3 g1/dset4
 
 # 6.24: hexadecimal
-TOOLTEST h5diff_624.txt file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4
+TOOLTEST h5diff_624.txt $FILE1 $FILE2 -n 0x1 g1/dset3 g1/dset4
 
 # 6.25: string
-TOOLTEST h5diff_625.txt file1.h5 file2.h5 -n "2" g1/dset3 g1/dset4
+TOOLTEST h5diff_625.txt $FILE1 $FILE2 -n "2" g1/dset3 g1/dset4
 
 # 6.26: repeated option
-TOOLTEST h5diff_626.txt file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4
+TOOLTEST h5diff_626.txt $FILE1 $FILE2 -n 2 -n 3 g1/dset3 g1/dset4
 
 # 6.27: number larger than biggest difference
-TOOLTEST h5diff_627.txt file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4
+TOOLTEST h5diff_627.txt $FILE1 $FILE2 -n 200 g1/dset3 g1/dset4
 
 # 6.28: number smaller than smallest difference
-TOOLTEST h5diff_628.txt file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4
+TOOLTEST h5diff_628.txt $FILE1 $FILE2 -n 1 g1/dset3 g1/dset4
 
-# ##############################################################################
-# # non valid files
-# ##############################################################################
-
+# 6.29  non valid files
 TOOLTEST h5diff_629.txt file1.h6 file2.h6
 
 # ##############################################################################
-# # attributes
+# 7.  attributes
 # ##############################################################################
+TOOLTEST h5diff_70.txt $FILE5 $FILE6 -v
 
-TOOLTEST h5diff_70.txt file5.h5 file6.h5 -v
-
 # ##############################################################################
-# # all dataset datatypes
+# 8.  all dataset datatypes
 # ##############################################################################
+TOOLTEST h5diff_80.txt $FILE7 $FILE8 -v
 
-TOOLTEST h5diff_80.txt file7.h5 file8.h5 -v
+# 9. compare a file with itself
+TOOLTEST h5diff_90.txt $FILE1 $FILE1
 
+# 10. read by hyperslab, print indexes
+TOOLTEST h5diff_100.txt $FILE9 $FILE10 -v
+
+# 11. floating point comparison
+TOOLTEST h5diff_101.txt $FILE1 $FILE1 /g1/d1  g1/d2  -v
+TOOLTEST h5diff_102.txt $FILE1 $FILE1 /g1/fp1 g1/fp2 -v
+
 # ##############################################################################
 # # END
 # ##############################################################################

Deleted: packages/hdf5/trunk/tools/h5diff/testh5diff_attr.c
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff_attr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff_attr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,1088 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "testh5diff.h"
-
-
-
-/*-------------------------------------------------------------------------
- * Function: write_attr_in
- *
- * Purpose: write attributes in LOC_ID (dataset, group, named datatype)
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-
-static void write_attr_in(hid_t loc_id,
-                   const char* dset_name, /* for saving reference to dataset*/
-                   hid_t file_id,
-                   int make_diffs /* flag to modify data buffers */)
-{
- /* Compound datatype */
- typedef struct s_t
- {
-  char   a;
-  double b;
- } s_t;
-
- typedef enum
- {
-  RED,
-  GREEN
- } e_t;
-
- hid_t   attr_id;
- hid_t   space_id;
- hid_t   type_id;
- herr_t  status;
- int     val, i, j, k, n;
- float   f;
-
- /* create 1D attributes with dimension [2], 2 elements */
- hsize_t    dims[1]={2};
- char       buf1[2][2]= {"ab","de"};        /* string */
- char       buf2[2]= {1,2};                 /* bitfield, opaque */
- s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
- hobj_ref_t buf4[2];                        /* reference */
- e_t        buf45[2]= {RED,RED};            /* enum */
- hvl_t      buf5[2];                        /* vlen */
- hsize_t    dimarray[1]={3};                /* array dimension */
- int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
- int        buf7[2]= {1,2};                 /* integer */
- float      buf8[2]= {1,2};                 /* float */
-
- /* create 2D attributes with dimension [3][2], 6 elements */
- hsize_t    dims2[2]={3,2};
- char       buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};         /* string */
- char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
- s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
- hobj_ref_t buf42[3][2];                                          /* reference */
- e_t        buf452[3][2];                                         /* enum */
- hvl_t      buf52[3][2];                                          /* vlen */
- int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
- int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
- float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
-
- /* create 3D attributes with dimension [4][3][2], 24 elements */
- hsize_t    dims3[3]={4,3,2};
- char       buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
- "rs","tu","vw","xz","AB","CD","EF","GH",
- "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
- char       buf23[4][3][2];    /* bitfield, opaque */
- s_t        buf33[4][3][2];    /* compound */
- hobj_ref_t buf43[4][3][2];    /* reference */
- e_t        buf453[4][3][2];   /* enum */
- hvl_t      buf53[4][3][2];    /* vlen */
- int        buf63[24][3];      /* array */
- int        buf73[4][3][2];    /* integer */
- float      buf83[4][3][2];    /* float */
-
-
-/*-------------------------------------------------------------------------
- * 1D attributes
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<2; j++)
-   {
-    buf1[i][j]='z';
-   }
- }
- /*
- buf1[2][2]= {"ab","de"};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <string> and <string>
- position      string of </g1>  string of </g1> difference
- ------------------------------------------------------------
-[ 0 ]          a                z
-[ 0 ]          b                z
-[ 1 ]          d                z
-[ 1 ]          e                z
- */
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- write_attr(loc_id,1,dims,"string",type_id,buf1);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   buf2[i]=buf2[1]=0;
- }
- /*
- buf2[2]= {1,2};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <bitfield> and <bitfield>
- position      bitfield of </g1> bitfield of </g1> difference
- position        opaque of </g1> opaque of </g1> difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 1 ]          2               0               2
- */
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_attr(loc_id,1,dims,"bitfield",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
-
- /*
- buf2[2]= {1,2};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <opaque> and <opaque>
- position     opaque of </g1> opaque of </g1> difference
- position        opaque of </g1> opaque of </g1> difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 1 ]          2               0               2
-*/
-
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_attr(loc_id,1,dims,"opaque",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf3[i].a=0; buf3[i].b=0;
-  }
- }
-
- /*
- buf3[2]= {{1,2},{3,4}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <compound> and <compound>
- position        compound of </g1> compound of </g1> difference
- ------------------------------------------------------------
- [ 0 ]          1               5               4
- [ 0 ]          2               5               3
- [ 1 ]          3               5               2
- [ 1 ]          4               5               1
- */
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_attr(loc_id,1,dims,"compound",type_id,buf3);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  status=H5Rcreate(&buf4[0],file_id,dset_name,H5R_OBJECT,-1);
-  status=H5Rcreate(&buf4[1],file_id,dset_name,H5R_OBJECT,-1);
-  write_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf45[i]=GREEN;
-  }
- }
- /*
- buf45[2]= {RED,RED};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <enum> and <enum>
- position     enum of </g1>   enum of </g1>   difference
-------------------------------------------------------------
-[ 0 ]          RED              GREEN
-[ 1 ]          RED              GREEN
- */
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_attr(loc_id,1,dims,"enum",type_id,buf45);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
-
- buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
- ((int *)buf5[0].p)[0]=1;
- buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
- ((int *)buf5[1].p)[0]=2;
- ((int *)buf5[1].p)[1]=3;
-
- if (make_diffs)
- {
-  ((int *)buf5[0].p)[0]=0;
-  ((int *)buf5[1].p)[0]=0;
-  ((int *)buf5[1].p)[1]=0;
- }
- /*
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- position        vlen of </g1>   vlen of </g1>   difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 1 ]          2               0               2
-[ 1 ]          3               0               3
- */
-
- space_id = H5Screate_simple(1,dims,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- attr_id = H5Acreate(loc_id,"vlen",type_id,space_id,H5P_DEFAULT);
- status = H5Awrite(attr_id,type_id,buf5);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf5);
- assert(status>=0);
- status = H5Aclose(attr_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<3; j++)
-   {
-    buf6[i][j]=0;
-   }
- }
- /*
- buf6[2][3]= {{1,2,3},{4,5,6}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <array> and <array>
-position        array of </g1>  array of </g1>  difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 0 ]          2               0               2
-[ 0 ]          3               0               3
-[ 1 ]          4               0               4
-[ 1 ]          5               0               5
-[ 1 ]          6               0               6
- */
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_attr(loc_id,1,dims,"array",type_id,buf6);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf7[i]=0;
-   buf8[i]=0;
-  }
- }
- /*
- buf7[2]= {1,2};
- buf8[2]= {1,2};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- position        integer of </g1> integer of </g1> difference
- ------------------------------------------------------------
- [ 0 ]          1               0               1
- [ 1 ]          2               0               2
- position        float of </g1>  float of </g1>  difference
- ------------------------------------------------------------
- [ 0 ]          1               0               1
- [ 1 ]          2               0               2
- */
- write_attr(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
- write_attr(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
-
-
-/*-------------------------------------------------------------------------
- * 2D attributes
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
- if (make_diffs)
- {
-  memset(buf12, 'z', sizeof buf12);
- }
-
- /*
- buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <string2D> and <string2D>
- position        string2D of </g1> string2D of </g1> difference
- ------------------------------------------------------------
-[ 0 0 ]          a                z
-[ 0 0 ]          b                z
-[ 0 1 ]          c                z
-[ 0 1 ]          d                z
-[ 1 0 ]          e                z
-[ 1 0 ]          f                z
-[ 1 1 ]          g                z
-[ 1 1 ]          h                z
-[ 2 0 ]          i                z
-[ 2 0 ]          j                z
-[ 2 1 ]          k                z
-[ 2 1 ]          l                z
- */
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- write_attr(loc_id,2,dims2,"string2D",type_id,buf12);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf22,0,sizeof buf22);
- }
-
- /*
- buf22[3][2]= {{1,2},{3,4},{5,6}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <bitfield2D> and <bitfield2D>
- position        bitfield2D of </g1> bitfield2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
- */
-
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_attr(loc_id,2,dims2,"bitfield2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
-
- /*
- buf22[3][2]= {{1,2},{3,4},{5,6}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <opaque2D> and <opaque2D>
- position        opaque2D of </g1> opaque2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_attr(loc_id,2,dims2,"opaque2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
- if (make_diffs)
- {
-  memset(buf32,0,sizeof buf32);
- }
-
- /*
- buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <opaque2D> and <opaque2D>
- position        opaque2D of </g1> opaque2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
- */
-
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_attr(loc_id,2,dims2,"compound2D",type_id,buf32);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 3; i++) {
-   for (j = 0; j < 2; j++) {
-    status=H5Rcreate(&buf42[i][j],file_id,dset_name,H5R_OBJECT,-1);
-   }
-  }
-  write_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- for (i=0; i<3; i++)
-  for (j=0; j<2; j++)
-  {
-   if (make_diffs) buf452[i][j]=GREEN; else buf452[i][j]=RED;
-  }
-
-/*
-Attribute:   <enum2D> and <enum2D>
-position        enum2D of </g1> enum2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          RED              GREEN
-[ 0 1 ]          RED              GREEN
-[ 1 0 ]          RED              GREEN
-[ 1 1 ]          RED              GREEN
-[ 2 0 ]          RED              GREEN
-[ 2 1 ]          RED              GREEN
-*/
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_attr(loc_id,2,dims2,"enum2D",type_id,buf452);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 3; i++) {
-  for (j = 0; j < 2; j++) {
-    int l;
-    buf52[i][j].p = malloc((i + 1) * sizeof(int));
-    buf52[i][j].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
-    else ((int *)buf52[i][j].p)[l] = n++;
-  }
- }
-
- /*
- position        vlen2D of </g1> vlen2D of </g1> difference
-------------------------------------------------------------
-[ 0 1 ]          1               0               1
-[ 1 0 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 1 1 ]          5               0               5
-[ 2 0 ]          6               0               6
-[ 2 0 ]          7               0               7
-[ 2 0 ]          8               0               8
-[ 2 1 ]          9               0               9
-[ 2 1 ]          10              0               10
-[ 2 1 ]          11              0               11
-*/
-
- space_id = H5Screate_simple(2,dims2,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- attr_id = H5Acreate(loc_id,"vlen2D",type_id,space_id,H5P_DEFAULT);
- status = H5Awrite(attr_id,type_id,buf52);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf52);
- assert(status>=0);
- status = H5Aclose(attr_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf62,0,sizeof buf62);
- }
- /*
- buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
-Attribute:   <array2D> and <array2D>
-position        array2D of </g1> array2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 0 ]          2               0               2
-[ 0 0 ]          3               0               3
-[ 0 1 ]          4               0               4
-[ 0 1 ]          5               0               5
-[ 0 1 ]          6               0               6
-[ 1 0 ]          7               0               7
-[ 1 0 ]          8               0               8
-[ 1 0 ]          9               0               9
-[ 1 1 ]          10              0               10
-[ 1 1 ]          11              0               11
-[ 1 1 ]          12              0               12
-[ 2 0 ]          13              0               13
-[ 2 0 ]          14              0               14
-[ 2 0 ]          15              0               15
-[ 2 1 ]          16              0               16
-[ 2 1 ]          17              0               17
-[ 2 1 ]          18              0               18
- */
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_attr(loc_id,2,dims2,"array2D",type_id,buf62);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf72,0,sizeof buf72);
-  memset(buf82,0,sizeof buf82);
- }
-/*
-Attribute:   <integer2D> and <integer2D>
-position        integer2D of </g1> integer2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
-6 differences found
-Attribute:   <float2D> and <float2D>
-position        float2D of </g1> float2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
-*/
-
- write_attr(loc_id,2,dims2,"integer2D",H5T_NATIVE_INT,buf72);
- write_attr(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
-
-
-/*-------------------------------------------------------------------------
- * 3D attributes
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf13,'z',sizeof buf13);
- }
-
- /*
- buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
- "rs","tu","vw","xz","AB","CD","EF","GH",
- "IJ","KL","MN","PQ","RS","TU","VW","XZ"};
-
-Attribute:   <string3D> and <string3D>
-position        string3D of </g1> string3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          a                z
-[ 0 0 0 ]          b                z
-[ 0 0 1 ]          c                z
-[ 0 0 1 ]          d                z
-[ 0 1 0 ]          e                z
-[ 0 1 0 ]          f                z
-[ 0 1 1 ]          g                z
-[ 0 1 1 ]          h                z
-[ 0 2 0 ]          i                z
-[ 0 2 0 ]          j                z
-[ 0 2 1 ]          k                z
-[ 0 2 1 ]          l                z
-[ 1 0 0 ]          m                z
-[ 1 0 0 ]          n                z
-[ 1 0 1 ]          p                z
-[ 1 0 1 ]          q                z
-[ 1 1 0 ]          r                z
-[ 1 1 0 ]          s                z
-[ 1 1 1 ]          t                z
-[ 1 1 1 ]          u                z
-[ 1 2 0 ]          v                z
-[ 1 2 0 ]          w                z
-[ 1 2 1 ]          x                z
-[ 2 0 0 ]          A                z
-[ 2 0 0 ]          B                z
-[ 2 0 1 ]          C                z
-[ 2 0 1 ]          D                z
-[ 2 1 0 ]          E                z
-[ 2 1 0 ]          F                z
-[ 2 1 1 ]          G                z
-[ 2 1 1 ]          H                z
-[ 2 2 0 ]          I                z
-[ 2 2 0 ]          J                z
-[ 2 2 1 ]          K                z
-[ 2 2 1 ]          L                z
-[ 3 0 0 ]          M                z
-[ 3 0 0 ]          N                z
-[ 3 0 1 ]          P                z
-[ 3 0 1 ]          Q                z
-[ 3 1 0 ]          R                z
-[ 3 1 0 ]          S                z
-[ 3 1 1 ]          T                z
-[ 3 1 1 ]          U                z
-[ 3 2 0 ]          V                z
-[ 3 2 0 ]          W                z
-[ 3 2 1 ]          X                z
-[ 3 2 1 ]          Z                z
- */
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- write_attr(loc_id,3,dims3,"string3D",type_id,buf13);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) buf23[i][j][k]=0;
-    else buf23[i][j][k]=n++;
-   }
-  }
- }
-
-/*
-position        bitfield3D of </g1> bitfield3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 1 ]          2               0               2
-[ 0 1 0 ]          3               0               3
-[ 0 1 1 ]          4               0               4
-[ 0 2 0 ]          5               0               5
-[ 0 2 1 ]          6               0               6
-[ 1 0 0 ]          7               0               7
-[ 1 0 1 ]          8               0               8
-[ 1 1 0 ]          9               0               9
-[ 1 1 1 ]          10              0               10
-[ 1 2 0 ]          11              0               11
-[ 1 2 1 ]          12              0               12
-[ 2 0 0 ]          13              0               13
-[ 2 0 1 ]          14              0               14
-[ 2 1 0 ]          15              0               15
-[ 2 1 1 ]          16              0               16
-[ 2 2 0 ]          17              0               17
-[ 2 2 1 ]          18              0               18
-[ 3 0 0 ]          19              0               19
-[ 3 0 1 ]          20              0               20
-[ 3 1 0 ]          21              0               21
-[ 3 1 1 ]          22              0               22
-[ 3 2 0 ]          23              0               23
-[ 3 2 1 ]          24              0               24
-*/
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_attr(loc_id,3,dims3,"bitfield3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_attr(loc_id,3,dims3,"opaque3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf33[i][j][k].a=0;
-     buf33[i][j][k].b=0;
-    }
-    else {
-     buf33[i][j][k].a=n++;
-     buf33[i][j][k].b=n++;
-    }
-   }
-  }
- }
-/*position        compound3D of </g1> compound3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 0 ]          2               0               2
-[ 0 0 1 ]          3               0               3
-[ 0 0 1 ]          4               0               4
-[ 0 1 0 ]          5               0               5
-[ 0 1 0 ]          6               0               6
-[ 0 1 1 ]          7               0               7
-[ 0 1 1 ]          8               0               8
-[ 0 2 0 ]          9               0               9
-[ 0 2 0 ]          10              0               10
-[ 0 2 1 ]          11              0               11
-[ 0 2 1 ]          12              0               12
-[ 1 0 0 ]          13              0               13
-[ 1 0 0 ]          14              0               14
-[ 1 0 1 ]          15              0               15
-[ 1 0 1 ]          16              0               16
-[ 1 1 0 ]          17              0               17
-[ 1 1 0 ]          18              0               18
-[ 1 1 1 ]          19              0               19
-[ 1 1 1 ]          20              0               20
-[ 1 2 0 ]          21              0               21
-[ 1 2 0 ]          22              0               22
-[ 1 2 1 ]          23              0               23
-[ 1 2 1 ]          24              0               24
-[ 2 0 0 ]          25              0               25
-[ 2 0 0 ]          26              0               26
-[ 2 0 1 ]          27              0               27
-[ 2 0 1 ]          28              0               28
-[ 2 1 0 ]          29              0               29
-[ 2 1 0 ]          30              0               30
-[ 2 1 1 ]          31              0               31
-[ 2 1 1 ]          32              0               32
-[ 2 2 0 ]          33              0               33
-[ 2 2 0 ]          34              0               34
-[ 2 2 1 ]          35              0               35
-[ 2 2 1 ]          36              0               36
-[ 3 0 0 ]          37              0               37
-[ 3 0 0 ]          38              0               38
-[ 3 0 1 ]          39              0               39
-[ 3 0 1 ]          40              0               40
-[ 3 1 0 ]          41              0               41
-[ 3 1 0 ]          42              0               42
-[ 3 1 1 ]          43              0               43
-[ 3 1 1 ]          44              0               44
-[ 3 2 0 ]          45              0               45
-[ 3 2 0 ]          46              0               46
-[ 3 2 1 ]          47              0               47
-[ 3 2 1 ]          48              0               48
-*/
-
-
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_attr(loc_id,3,dims3,"compound3D",type_id,buf33);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 4; i++) {
-   for (j = 0; j < 3; j++) {
-    for (k = 0; k < 2; k++)
-     status=H5Rcreate(&buf43[i][j][k],file_id,dset_name,H5R_OBJECT,-1);
-   }
-  }
- write_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
-
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) buf453[i][j][k]=RED; else buf453[i][j][k]=GREEN;
-   }
-  }
- }
-
-/*
-position        enum3D of </g1> enum3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          GREEN            RED
-[ 0 0 1 ]          GREEN            RED
-[ 0 1 0 ]          GREEN            RED
-[ 0 1 1 ]          GREEN            RED
-[ 0 2 0 ]          GREEN            RED
-[ 0 2 1 ]          GREEN            RED
-[ 1 0 0 ]          GREEN            RED
-[ 1 0 1 ]          GREEN            RED
-[ 1 1 0 ]          GREEN            RED
-[ 1 1 1 ]          GREEN            RED
-[ 1 2 0 ]          GREEN            RED
-[ 1 2 1 ]          GREEN            RED
-[ 2 0 0 ]          GREEN            RED
-[ 2 0 1 ]          GREEN            RED
-[ 2 1 0 ]          GREEN            RED
-[ 2 1 1 ]          GREEN            RED
-[ 2 2 0 ]          GREEN            RED
-[ 2 2 1 ]          GREEN            RED
-[ 3 0 0 ]          GREEN            RED
-[ 3 0 1 ]          GREEN            RED
-[ 3 1 0 ]          GREEN            RED
-[ 3 1 1 ]          GREEN            RED
-[ 3 2 0 ]          GREEN            RED
-[ 3 2 1 ]          GREEN            RED
-*/
-
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_attr(loc_id,3,dims3,"enum3D",type_id,buf453);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    int l;
-    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
-    buf53[i][j][k].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
-    else ((int *)buf53[i][j][k].p)[l] = n++;
-   }
-  }
- }
-/*
-position        vlen3D of </g1> vlen3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 1 ]          1               0               1
-[ 0 1 0 ]          2               0               2
-[ 0 1 1 ]          3               0               3
-[ 0 2 0 ]          4               0               4
-[ 0 2 1 ]          5               0               5
-[ 1 0 0 ]          6               0               6
-[ 1 0 0 ]          7               0               7
-[ 1 0 1 ]          8               0               8
-[ 1 0 1 ]          9               0               9
-[ 1 1 0 ]          10              0               10
-etc
-*/
- space_id = H5Screate_simple(3,dims3,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- attr_id = H5Acreate(loc_id,"vlen3D",type_id,space_id,H5P_DEFAULT);
- status = H5Awrite(attr_id,type_id,buf53);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf53);
- assert(status>=0);
- status = H5Aclose(attr_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
- n=1;
- for (i = 0; i < 24; i++) {
-  for (j = 0; j < (int)dimarray[0]; j++) {
-    if (make_diffs) buf63[i][j]=0;
-    else buf63[i][j]=n++;
-  }
- }
- /*
- position        array3D of </g1> array3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 0 ]          2               0               2
-[ 0 0 0 ]          3               0               3
-[ 0 0 1 ]          4               0               4
-[ 0 0 1 ]          5               0               5
-[ 0 0 1 ]          6               0               6
-[ 0 1 0 ]          7               0               7
-etc
-*/
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_attr(loc_id,3,dims3,"array3D",type_id,buf63);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
- n=1; f=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf73[i][j][k]=0;
-     buf83[i][j][k]=0;
-    }
-    else {
-     buf73[i][j][k]=n++;
-     buf83[i][j][k]=f++;
-    }
-   }
-  }
- }
-
- /*
- position        integer3D of </g1> integer3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 1 ]          2               0               2
-[ 0 1 0 ]          3               0               3
-[ 0 1 1 ]          4               0               4
-[ 0 2 0 ]          5               0               5
-[ 0 2 1 ]          6               0               6
-[ 1 0 0 ]          7               0               7
-[ 1 0 1 ]          8               0               8
-[ 1 1 0 ]          9               0               9
-[ 1 1 1 ]          10              0               10
-etc
-*/
- write_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
- write_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Check all HDF5 classes
- * H5T_INTEGER, H5T_FLOAT
- * H5T_TIME, H5T_STRING, H5T_BITFIELD, H5T_OPAQUE, H5T_COMPOUND, H5T_REFERENCE,
- * H5T_ENUM, H5T_VLEN, H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
-
-int test_attr(const char *file,
-              int make_diffs /* flag to modify data buffers */)
-{
- hid_t   file_id;
- hid_t   dset_id;
- hid_t   group_id;
- hid_t   root_id;
- hid_t   space_id;
- hsize_t dims[1]={2};
- herr_t  status;
-
- /* Create a file  */
- if ((file_id  = H5Fcreate(file, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0)
-  return -1;
-
- /* Create a 1D dataset */
- space_id = H5Screate_simple(1,dims,NULL);
- dset_id  = H5Dcreate(file_id,"dset",H5T_NATIVE_INT,space_id,H5P_DEFAULT);
- status   = H5Sclose(space_id);
- assert(status>=0);
-
- /* Create groups */
- group_id  = H5Gcreate(file_id,"g1",0);
- root_id   = H5Gopen(file_id, "/");
-
-/*-------------------------------------------------------------------------
- * write a series of attributes on the dataset, group, and root group
- *-------------------------------------------------------------------------
- */
-
- write_attr_in(dset_id,"dset",file_id,make_diffs);
- write_attr_in(group_id,NULL,0,make_diffs);
- write_attr_in(root_id,NULL,0,make_diffs);
-
-
- /* Close */
- status = H5Dclose(dset_id);
- assert(status>=0);
- status = H5Gclose(group_id);
- assert(status>=0);
- status = H5Gclose(root_id);
- assert(status>=0);
-
- /* Close file */
- status = H5Fclose(file_id);
- assert(status>=0);
- return status;
-}

Deleted: packages/hdf5/trunk/tools/h5diff/testh5diff_basic.c
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff_basic.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff_basic.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,498 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "testh5diff.h"
-
-
-/*UINT_MAX Maximum value for a variable of type unsigned int. 4294967295 */
-#define UIMAX 4294967295u
-
-
-
-/*
-
-# ##############################################################################
-# # Common usage
-# ##############################################################################
-
-
-# 1.0
- -h
-
-# 1.1
- file1.h5 file2.h5 g1/dset1 g1/dset2
-
-# 1.2
- file1.h5 file2.h5 -n 2 g1/dset1 g1/dset2
-
-# 1.3
- file1.h5 file2.h5 -d 5 g1/dset3 g1/dset4
-
-# 1.4
- file1.h5 file2.h5 -p 0.05 g1/dset3 g1/dset4
-
-# 1.5
- file1.h5 file2.h5 -r g1/dset1 g1/dset2
-
-# 1.6
- file1.h5 file2.h5
-
-# ##############################################################################
-# # basic types
-# ##############################################################################
-
-# 2.0
- file3.h5 file3.h5 dset group
-
-# 2.1
- file3.h5 file3.h5 dset link
-
-# 2.2
- file3.h5 file3.h5 dset type
-
-# 2.3
- file3.h5 file3.h5 group group
-
-# 2.4
- file3.h5 file3.h5 type type
-
-# 2.5
- file3.h5 file3.h5 link link
-
-
-# ##############################################################################
-# # Dimensions
-# ##############################################################################
-
-# 4.0
- file5.h5 file5.h5 dset1 dset2
-
-# 4.1
- file5.h5 file5.h5 dset3 dset4
-
-# 4.2
- file5.h5 file5.h5 dset5 dset6
-
-
-# ##############################################################################
-# # Dataset types
-# ##############################################################################
-
-# 5.0
- file6.h5 file6.h5 dset0a dset0b
-
-# 5.1
- file6.h5 file6.h5 dset1a dset1b
-
-# 5.2
- file6.h5 file6.h5 dset2a dset2b
-
-# 5.3
- file6.h5 file6.h5 dset3a dset4b
-
-# 5.4
- file6.h5 file6.h5 dset4a dset4b
-
-# 5.5
- file6.h5 file6.h5 dset5a dset5b
-
-# 5.6
- file6.h5 file6.h5 dset6a dset6b
-
-# 5.7
- file6.h5 file6.h5 dset7a dset7b
-
-# 5.8
- file6.h5 file6.h5 dset8a dset8b
-
-# ##############################################################################
-# # Error messages
-# ##############################################################################
-
-
-# 6.0: Check if the command line number of arguments is less than 3
- h5diff_test1.h5
-
-# 6.1: Check for invalid options
- h5diff_test1.h5 h5diff_test2.h5 -x
-
-# ##############################################################################
-# # -d
-# ##############################################################################
-
-# 6.2: no value
- file1.h5 file2.h5 -d g1/dset3 g1/dset4
-
-# 6.3: negative value
- file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4
-
-# 6.4: zero
- file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4
-
-# 6.5: non number
- file1.h5 file2.h5 -d u g1/dset3 g1/dset4
-
-# 6.6: hexadecimal
- file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4
-
-# 6.7: string
- file1.h5 file2.h5 -d "1" g1/dset3 g1/dset4
-
-# 6.8: repeated option
- file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4
-
-# 6.9: number larger than biggest difference
- file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4
-
-# 6.10: number smaller than smallest difference
- file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4
-
-
-# ##############################################################################
-# # -p
-# ##############################################################################
-
-
-# 6.11: no value
- file1.h5 file2.h5 -p g1/dset3 g1/dset4
-
-# 6.12: negative value
- file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4
-
-# 6.13: zero
- file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4
-
-# 6.14: non number
- file1.h5 file2.h5 -p u g1/dset3 g1/dset4
-
-# 6.15: hexadecimal
- file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4
-
-# 6.16: string
- file1.h5 file2.h5 -p "0.21" g1/dset3 g1/dset4
-
-# 6.17: repeated option
- file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4
-
-# 6.18: number larger than biggest difference
- file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4
-
-# 6.19: number smaller than smallest difference
- file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4
-
-
-
-# ##############################################################################
-# # -n
-# ##############################################################################
-
-
-# 6.20: no value
- file1.h5 file2.h5 -n g1/dset3 g1/dset4
-
-# 6.21: negative value
- file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4
-
-# 6.22: zero
- file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4
-
-# 6.23: non number
- file1.h5 file2.h5 -n u g1/dset3 g1/dset4
-
-# 6.24: hexadecimal
- file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4
-
-# 6.25: string
- file1.h5 file2.h5 -n "2" g1/dset3 g1/dset4
-
-# 6.26: repeated option
- file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4
-
-# 6.27: number larger than biggest difference
- file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4
-
-# 6.28: number smaller than smallest difference
- file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4
-
-# ##############################################################################
-# # non valid files
-# ##############################################################################
-
- file1.h6 file2.h6
-
-*/
-
-
-/*-------------------------------------------------------------------------
- * Basic review tests
- *-------------------------------------------------------------------------
- */
-
-int test_basic(const char *file1, const char *file2)
-{
-
- hid_t   file1_id, file2_id;
- hid_t   group1_id, group2_id, group3_id;
- herr_t  status;
- hsize_t dims[2] = { 3,2 };
-
- /* Test */
- double  data1[3][2] = {{1,1},{1,1},{1,1}};
- double  data2[3][2] = {{1,1.1},{1.01,1.001},{1.0001,1}};
- double  data3[3][2] = {{100,110},{100,100},{100,100}};
- double  data4[3][2] = {{110,100},{90,80},{140,200}};
-
-/*-------------------------------------------------------------------------
- * Create two files
- *-------------------------------------------------------------------------
- */
-
- file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
- file2_id = H5Fcreate (file2, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
-
- /* Create groups */
- group1_id = H5Gcreate(file1_id, "g1", 0);
- group2_id = H5Gcreate(file2_id, "g1", 0);
- group3_id = H5Gcreate(file2_id, "g2", 0);
-
- write_dset(group1_id,2,dims,"dset1",H5T_NATIVE_DOUBLE,data1);
- write_dset(group2_id,2,dims,"dset2",H5T_NATIVE_DOUBLE,data2);
- write_dset(group1_id,2,dims,"dset3",H5T_NATIVE_DOUBLE,data3);
- write_dset(group2_id,2,dims,"dset4",H5T_NATIVE_DOUBLE,data4);
- write_dset(group2_id,2,dims,"dset1",H5T_NATIVE_DOUBLE,data2);
-
-/*-------------------------------------------------------------------------
- * Close
- *-------------------------------------------------------------------------
- */
- status = H5Gclose(group1_id);
- status = H5Gclose(group2_id);
- status = H5Gclose(group3_id);
- status = H5Fclose(file1_id);
- status = H5Fclose(file2_id);
- return status;
-}
-
-/*-------------------------------------------------------------------------
- * Compare different types: H5G_DATASET, H5G_TYPE, H5G_GROUP, H5G_LINK
- *-------------------------------------------------------------------------
- */
-
-int test_types(const char *file1, const char UNUSED *file2)
-{
-
- hid_t   file1_id;
- hid_t   group_id;
- hid_t   type_id;
- herr_t  status;
- hsize_t dims[1]={1};
- /* Compound datatype */
- typedef struct s_t
- {
-  int    a;
-  float  b;
- } s_t;
-
-
-/*-------------------------------------------------------------------------
- * Create one file
- *-------------------------------------------------------------------------
- */
- file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
-
-/*-------------------------------------------------------------------------
- * H5G_DATASET
- *-------------------------------------------------------------------------
- */
- write_dset(file1_id,1,dims,"dset",H5T_NATIVE_INT,0);
-
-/*-------------------------------------------------------------------------
- * H5G_GROUP
- *-------------------------------------------------------------------------
- */
- group_id = H5Gcreate(file1_id, "group", 0);
- status = H5Gclose(group_id);
-
-/*-------------------------------------------------------------------------
- * H5G_TYPE
- *-------------------------------------------------------------------------
- */
-
- /* Create a memory compound datatype */
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_INT);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_FLOAT);
- /* Commit compound datatype and close it */
- H5Tcommit(file1_id, "type", type_id);
- H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5G_LINK
- *-------------------------------------------------------------------------
- */
-
- status = H5Glink(file1_id, H5G_LINK_SOFT, "dset", "link");
-
-/*-------------------------------------------------------------------------
- * Close
- *-------------------------------------------------------------------------
- */
- status = H5Fclose(file1_id);
- return status;
-}
-
-
-
-
-
-/*-------------------------------------------------------------------------
- * Datasets datatypes
- *-------------------------------------------------------------------------
- */
-
-int test_native(const char *file1, const char UNUSED *file2)
-{
-
- hid_t   file1_id;
- hsize_t dims[2]={3,2};
- herr_t  status;
- char    buf1a[3][2] = {{1,1},{1,1},{1,1}};
- char    buf1b[3][2] = {{1,1},{3,4},{5,6}};
- short   buf2a[3][2] = {{1,1},{1,1},{1,1}};
- short   buf2b[3][2] = {{1,1},{3,4},{5,6}};
- int     buf3a[3][2] = {{1,1},{1,1},{1,1}};
- int     buf3b[3][2] = {{1,1},{3,4},{5,6}};
- long    buf4a[3][2] = {{1,1},{1,1},{1,1}};
- long    buf4b[3][2] = {{1,1},{3,4},{5,6}};
- float   buf5a[3][2] = {{1,1},{1,1},{1,1}};
- float   buf5b[3][2] = {{1,1},{3,4},{5,6}};
- double  buf6a[3][2] = {{1,1},{1,1},{1,1}};
- double  buf6b[3][2] = {{1,1},{3,4},{5,6}};
-
- /*unsigned/signed test
-   signed char -128 to 127
-   unsigned char 0 to 255
-  */
- char          buf7a[3][2] = {{-1,-128},{-1,-1},{-1,-1}};
- unsigned char buf7b[3][2] = {{1,128},{1,1},{1,1}};
-
- /* long_long test */
- long_long            buf8a[3][2] = {{1,1},{1,1},{1,1}};
- long_long            buf8b[3][2] = {{1,1},{3,4},{5,6}};
- unsigned long_long   buf9a[3][2] = {{1,1},{1,1},{1,1}};
- unsigned long_long   buf9b[3][2] = {{1,1},{3,4},{5,6}};
-
- unsigned int    buf10a[3][2] = {{UIMAX,1},{1,1},{1,1}};
- unsigned int    buf10b[3][2] = {{UIMAX-1,1},{3,4},{5,6}};
-
-
-/*-------------------------------------------------------------------------
- * Create a file
- *-------------------------------------------------------------------------
- */
- file1_id = H5Fcreate (file1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
-
-/*-------------------------------------------------------------------------
- * Check for different storage order. Give a warning if they are different
- *-------------------------------------------------------------------------
- */
-
- write_dset(file1_id,2,dims,"dset0a",H5T_STD_I16LE,buf2a);
- write_dset(file1_id,2,dims,"dset0b",H5T_STD_I32LE,buf3b);
-
-/*-------------------------------------------------------------------------
- * Check H5T_NATIVE_CHAR
- *-------------------------------------------------------------------------
- */
- write_dset(file1_id,2,dims,"dset1a",H5T_NATIVE_CHAR,buf1a);
- write_dset(file1_id,2,dims,"dset1b",H5T_NATIVE_CHAR,buf1b);
-
-/*-------------------------------------------------------------------------
- * Check H5T_NATIVE_SHORT
- *-------------------------------------------------------------------------
- */
- write_dset(file1_id,2,dims,"dset2a",H5T_NATIVE_SHORT,buf2a);
- write_dset(file1_id,2,dims,"dset2b",H5T_NATIVE_SHORT,buf2b);
-
-/*-------------------------------------------------------------------------
- * Check H5T_NATIVE_INT
- *-------------------------------------------------------------------------
- */
- write_dset(file1_id,2,dims,"dset3a",H5T_NATIVE_INT,buf3a);
- write_dset(file1_id,2,dims,"dset3b",H5T_NATIVE_INT,buf3b);
-
-/*-------------------------------------------------------------------------
- * Check H5T_NATIVE_LONG
- *-------------------------------------------------------------------------
- */
- write_dset(file1_id,2,dims,"dset4a",H5T_NATIVE_LONG,buf4a);
- write_dset(file1_id,2,dims,"dset4b",H5T_NATIVE_LONG,buf4b);
-
-/*-------------------------------------------------------------------------
- * Check H5T_NATIVE_FLOAT
- *-------------------------------------------------------------------------
- */
- write_dset(file1_id,2,dims,"dset5a",H5T_NATIVE_FLOAT,buf5a);
- write_dset(file1_id,2,dims,"dset5b",H5T_NATIVE_FLOAT,buf5b);
-
-/*-------------------------------------------------------------------------
- * Check H5T_NATIVE_DOUBLE
- *-------------------------------------------------------------------------
- */
-
- write_dset(file1_id,2,dims,"dset6a",H5T_NATIVE_DOUBLE,buf6a);
- write_dset(file1_id,2,dims,"dset6b",H5T_NATIVE_DOUBLE,buf6b);
-
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_CHAR and H5T_NATIVE_UCHAR
- *-------------------------------------------------------------------------
- */
-
- write_dset(file1_id,2,dims,"dset7a",H5T_NATIVE_CHAR,buf7a);
- write_dset(file1_id,2,dims,"dset7b",H5T_NATIVE_UCHAR,buf7b);
-
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_LLONG
- *-------------------------------------------------------------------------
- */
-
- write_dset(file1_id,2,dims,"dset8a",H5T_NATIVE_LLONG,buf8a);
- write_dset(file1_id,2,dims,"dset8b",H5T_NATIVE_LLONG,buf8b);
-
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_ULLONG
- *-------------------------------------------------------------------------
- */
-
- write_dset(file1_id,2,dims,"dset9a",H5T_NATIVE_ULLONG,buf9a);
- write_dset(file1_id,2,dims,"dset9b",H5T_NATIVE_ULLONG,buf9b);
-
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_INT
- *-------------------------------------------------------------------------
- */
-
- write_dset(file1_id,2,dims,"dset10a",H5T_NATIVE_UINT,buf10a);
- write_dset(file1_id,2,dims,"dset10b",H5T_NATIVE_UINT,buf10b);
-
-
-/*-------------------------------------------------------------------------
- * Close
- *-------------------------------------------------------------------------
- */
- status = H5Fclose(file1_id);
- return status;
-}
-
-

Deleted: packages/hdf5/trunk/tools/h5diff/testh5diff_dset.c
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff_dset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff_dset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,665 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "testh5diff.h"
-
-#define STR_SIZE 3
-
-/*-------------------------------------------------------------------------
- * Function: write_dset_in
- *
- * Purpose: write datasets in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-
-static void write_dset_in(hid_t loc_id,
-                   const char* dset_name, /* for saving reference to dataset*/
-                   hid_t file_id,
-                   int make_diffs /* flag to modify data buffers */)
-{
- /* Compound datatype */
- typedef struct s_t
- {
-  char   a;
-  double b;
- } s_t;
-
- typedef enum
- {
-  RED,
-  GREEN
- } e_t;
-
- hid_t   dset_id;
- hid_t   space_id;
- hid_t   type_id;
- hid_t   plist_id;
- herr_t  status;
- int     val, i, j, k, n;
- float   f;
- int     fillvalue=2;
-
- /* create 1D attributes with dimension [2], 2 elements */
- hsize_t    dims[1]={2};
- char       buf1[2][STR_SIZE]= {"ab","de"}; /* string */
- char       buf2[2]= {1,2};                 /* bitfield, opaque */
- s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
- hobj_ref_t buf4[2];                        /* reference */
- e_t        buf45[2]= {RED,GREEN};          /* enum */
- hvl_t      buf5[2];                        /* vlen */
- hsize_t    dimarray[1]={3};                /* array dimension */
- int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
- int        buf7[2]= {1,2};                 /* integer */
- float      buf8[2]= {1,2};                 /* float */
-
- /* create 2D attributes with dimension [3][2], 6 elements */
- hsize_t    dims2[2]={3,2};
- char       buf12[6][STR_SIZE]= {"ab","cd","ef","gh","ij","kl"};  /* string */
- char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
- s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
- hobj_ref_t buf42[3][2];                                          /* reference */
- hvl_t      buf52[3][2];                                          /* vlen */
- int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
- int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
- float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
-
- /* create 3D attributes with dimension [4][3][2], 24 elements */
- hsize_t    dims3[3]={4,3,2};
- char       buf13[24][STR_SIZE]= {"ab","cd","ef","gh","ij","kl","mn","pq",
- "rs","tu","vw","xz","AB","CD","EF","GH",
- "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
- char       buf23[4][3][2];    /* bitfield, opaque */
- s_t        buf33[4][3][2];    /* compound */
- hobj_ref_t buf43[4][3][2];    /* reference */
- hvl_t      buf53[4][3][2];    /* vlen */
- int        buf63[24][3];      /* array */
- int        buf73[4][3][2];    /* integer */
- float      buf83[4][3][2];    /* float */
-
-
-/*-------------------------------------------------------------------------
- * 1D
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<2; j++)
-   {
-    buf1[i][j]='z';
-   }
- }
-
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id,STR_SIZE);
- write_dset(loc_id,1,dims,"string",type_id,buf1);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   buf2[i]=buf2[1]=0;
- }
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_dset(loc_id,1,dims,"bitfield",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf3[i].a=0; buf3[i].b=0;
-  }
- }
-
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_dset(loc_id,1,dims,"opaque",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf45[i]=GREEN;
-  }
- }
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_dset(loc_id,1,dims,"compound",type_id,buf3);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  status=H5Rcreate(&buf4[0],file_id,dset_name,H5R_OBJECT,-1);
-  status=H5Rcreate(&buf4[1],file_id,dset_name,H5R_OBJECT,-1);
-  write_dset(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_dset(loc_id,1,dims,"enum",type_id,buf45);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
-
- buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
- ((int *)buf5[0].p)[0]=1;
- buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
- ((int *)buf5[1].p)[0]=2;
- ((int *)buf5[1].p)[1]=3;
-
- if (make_diffs)
- {
-  ((int *)buf5[0].p)[0]=0;
-  ((int *)buf5[1].p)[0]=0;
-  ((int *)buf5[1].p)[1]=0;
- }
-
- space_id = H5Screate_simple(1,dims,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- dset_id = H5Dcreate(loc_id,"vlen",type_id,space_id,H5P_DEFAULT);
- status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf5);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf5);
- assert(status>=0);
- status = H5Dclose(dset_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<3; j++)
-   {
-    buf6[i][j]=0;
-   }
- }
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_dset(loc_id,1,dims,"array",type_id,buf6);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf7[i]=0;
-   buf8[i]=0;
-  }
- }
-
- write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
- write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
-
-
-/*-------------------------------------------------------------------------
- * 2D
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf12, 'z', sizeof buf12);
- }
-
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id,STR_SIZE);
- write_dset(loc_id,2,dims2,"string2D",type_id,buf12);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  memset(buf22,0,sizeof buf22);
- }
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_dset(loc_id,2,dims2,"bitfield2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_dset(loc_id,2,dims2,"opaque2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf32,0,sizeof buf32);
- }
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_dset(loc_id,2,dims2,"compound2D",type_id,buf32);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 3; i++) {
-   for (j = 0; j < 2; j++) {
-    status=H5Rcreate(&buf42[i][j],file_id,dset_name,H5R_OBJECT,-1);
-   }
-  }
-  write_dset(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_dset(loc_id,2,dims2,"enum2D",type_id,0);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
-/* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 3; i++) {
-  for (j = 0; j < 2; j++) {
-    int l;
-    buf52[i][j].p = malloc((i + 1) * sizeof(int));
-    buf52[i][j].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
-    else ((int *)buf52[i][j].p)[l] = n++;
-  }
- }
-
- space_id = H5Screate_simple(2,dims2,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- dset_id = H5Dcreate(loc_id,"vlen2D",type_id,space_id,H5P_DEFAULT);
- status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf52);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf52);
- assert(status>=0);
- status = H5Dclose(dset_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf62,0,sizeof buf62);
- }
-
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_dset(loc_id,2,dims2,"array2D",type_id,buf62);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER, write a fill value
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  memset(buf72,0,sizeof buf72);
-  memset(buf82,0,sizeof buf82);
- }
-
-
- plist_id = H5Pcreate(H5P_DATASET_CREATE);
- status = H5Pset_fill_value(plist_id, H5T_NATIVE_INT, &fillvalue);
- space_id = H5Screate_simple(2,dims2,NULL);
- dset_id = H5Dcreate(loc_id,"integer2D",H5T_NATIVE_INT,space_id,plist_id);
- status = H5Dwrite(dset_id,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf72);
- status = H5Pclose(plist_id);
- status = H5Dclose(dset_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- write_dset(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
-
-
-/*-------------------------------------------------------------------------
- * 3D
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf13,'z',sizeof buf13);
- }
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id,STR_SIZE);
- write_dset(loc_id,3,dims3,"string3D",type_id,buf13);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) buf23[i][j][k]=0;
-    else buf23[i][j][k]=n++;
-   }
-  }
- }
-
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_dset(loc_id,3,dims3,"bitfield3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_dset(loc_id,3,dims3,"opaque3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf33[i][j][k].a=0;
-     buf33[i][j][k].b=0;
-    }
-    else {
-     buf33[i][j][k].a=n++;
-     buf33[i][j][k].b=n++;
-    }
-   }
-  }
- }
-
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_dset(loc_id,3,dims3,"compound3D",type_id,buf33);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 4; i++) {
-   for (j = 0; j < 3; j++) {
-    for (k = 0; k < 2; k++)
-     status=H5Rcreate(&buf43[i][j][k],file_id,dset_name,H5R_OBJECT,-1);
-   }
-  }
- write_dset(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_dset(loc_id,3,dims3,"enum3D",type_id,0);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    int l;
-    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
-    buf53[i][j][k].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
-    else ((int *)buf53[i][j][k].p)[l] = n++;
-   }
-  }
- }
-
- space_id = H5Screate_simple(3,dims3,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- dset_id = H5Dcreate(loc_id,"vlen3D",type_id,space_id,H5P_DEFAULT);
- status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf53);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf53);
- assert(status>=0);
- status = H5Dclose(dset_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
-
- n=1;
- for (i = 0; i < 24; i++) {
-  for (j = 0; j < (int)dimarray[0]; j++) {
-    if (make_diffs) buf63[i][j]=0;
-    else buf63[i][j]=n++;
-  }
- }
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_dset(loc_id,3,dims3,"array3D",type_id,buf63);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
- n=1; f=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf73[i][j][k]=0;
-     buf83[i][j][k]=0;
-    }
-    else {
-     buf73[i][j][k]=n++;
-     buf83[i][j][k]=f++;
-    }
-   }
-  }
- }
- write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
- write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
-}
-
-
-/*-------------------------------------------------------------------------
- * Check all HDF5 classes
- * H5T_INTEGER, H5T_FLOAT
- * H5T_TIME, H5T_STRING, H5T_BITFIELD, H5T_OPAQUE, H5T_COMPOUND, H5T_REFERENCE,
- * H5T_ENUM, H5T_VLEN, H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
-
-int test_dsetall(const char *file,
-                 int make_diffs /* flag to modify data buffers */)
-{
- hid_t   file_id;
- hid_t   dset_id;
- hid_t   group_id;
- hid_t   space_id;
- hsize_t dims[1]={2};
- herr_t  status;
- int     buf[2]={1,2};
-
- if (make_diffs)
- {
-  memset(buf,0,sizeof buf);
- }
-
- /* Create a file  */
- if ((file_id  = H5Fcreate(file, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0)
-  return -1;
-
- /* Create a 1D dataset */
- space_id = H5Screate_simple(1,dims,NULL);
- dset_id  = H5Dcreate(file_id,"dset",H5T_NATIVE_INT,space_id,H5P_DEFAULT);
- status   = H5Dwrite(dset_id,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf);
- status   = H5Sclose(space_id);
- assert(status>=0);
-
- /* Create a group */
- group_id  = H5Gcreate(file_id,"g1",0);
-
-/*-------------------------------------------------------------------------
- * write a series of datasets on the group
- *-------------------------------------------------------------------------
- */
-
- write_dset_in(group_id,"/dset",file_id,make_diffs);
-
- /* Close */
- status = H5Dclose(dset_id);
- assert(status>=0);
- status = H5Gclose(group_id);
- assert(status>=0);
-
- /* Close file */
- status = H5Fclose(file_id);
- assert(status>=0);
- return status;
-}
-
-
-

Deleted: packages/hdf5/trunk/tools/h5diff/testh5diff_main.c
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff_main.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff_main.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,36 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "testh5diff.h"
-
-
-
-
-int main(int UNUSED argc, const UNUSED char *argv[])
-{
-
- test_basic ("file1.h5","file2.h5");
- test_types ("file3.h5",NULL);
- test_native("file4.h5",NULL);
-
- /* generate 2 files with attribute differences */
- test_attr("file5.h5",0);
- test_attr("file6.h5",1);
-
- /* generate 2 files with all datatype differences */
- test_dsetall("file7.h5",0);
- test_dsetall("file8.h5",1);
- return 0;
-}
-

Deleted: packages/hdf5/trunk/tools/h5diff/testh5diff_util.c
===================================================================
--- packages/hdf5/trunk/tools/h5diff/testh5diff_util.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5diff/testh5diff_util.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,99 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "testh5diff.h"
-
-
-/*-------------------------------------------------------------------------
- * Function: write_attr
- *
- * Purpose: utility function to write an attribute in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-
-int write_attr(hid_t loc_id,
-               int rank,
-               hsize_t *dims,
-               const char *attr_name,
-               hid_t type_id,
-               void *buf)
-{
- hid_t   attr_id;
- hid_t   space_id;
- herr_t  status;
-
- /* Create a buf space  */
- space_id = H5Screate_simple(rank,dims,NULL);
-
- /* Create the attribute */
- attr_id = H5Acreate(loc_id,attr_name,type_id,space_id,H5P_DEFAULT);
-
- /* Write the buf */
- if ( buf )
-  status = H5Awrite(attr_id,type_id,buf);
-
- /* Close */
- status = H5Aclose(attr_id);
- status = H5Sclose(space_id);
- return status;
-}
-
-/*-------------------------------------------------------------------------
- * Function: write_dset
- *
- * Purpose: utility function to create and write a dataset in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-
-int write_dset( hid_t loc_id,
-                int rank,
-                hsize_t *dims,
-                const char *dset_name,
-                hid_t type_id,
-                void *buf )
-{
- hid_t   dset_id;
- hid_t   space_id;
- herr_t  status;
-
- /* Create a buf space  */
- space_id = H5Screate_simple(rank,dims,NULL);
-
- /* Create a dataset */
- dset_id = H5Dcreate(loc_id,dset_name,type_id,space_id,H5P_DEFAULT);
-
- /* Write the buf */
- if ( buf )
-  status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf);
-
- /* Close */
- status = H5Dclose(dset_id);
- status = H5Sclose(space_id);
-
- return status;
-
-}
-

Modified: packages/hdf5/trunk/tools/h5dump/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/h5dump/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5dump.lo: \
    $(srcdir)/h5dump.c \

Modified: packages/hdf5/trunk/tools/h5dump/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/h5dump/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -36,7 +37,7 @@
 LIBHDF5=$(top_builddir)/src/libhdf5.la
 
 PUB_PROGS=h5dump
-PROGS=$(PUB_PROGS) $(TEST_PROGS)
+PROGS=$(PUB_PROGS) $(TEST_PROGS) binread
 
 ## Source and object files for the library; do not install
 ##
@@ -52,7 +53,7 @@
 
 ## Source and object files for programs...
 ##
-PROG_SRC=h5dump.c h5dumpgentest.c
+PROG_SRC=h5dump.c h5dumpgentest.c binread.c
 PROG_OBJ=$(PROG_SRC:.c=.lo)
 
 PRIVATE_HDR=h5dump.h
@@ -83,4 +84,7 @@
 h5dumpgentest: h5dumpgentest.lo
 	@$(LT_LINK_EXE) $(CFLAGS) -o $@ h5dumpgentest.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS)
 
+binread: binread.lo
+	@$(LT_LINK_EXE) $(CFLAGS) -o $@ binread.lo $(LDFLAGS) $(LIBS)
+
 @CONCLUDE@

Copied: packages/hdf5/trunk/tools/h5dump/binread.c (from rev 1094, packages/hdf5/branches/upstream/current/tools/h5dump/binread.c)
===================================================================
--- packages/hdf5/trunk/tools/h5dump/binread.c	                        (rev 0)
+++ packages/hdf5/trunk/tools/h5dump/binread.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,101 @@
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* 
+ This program reads binary output from h5dump (-b option).
+ To use change the following 3 symbols accordingly.
+ For example, to read 2 elements of a float type , define
+
+  #define NELMTS     2
+  #define TYPE       float
+  #define FORMAT     "%f "
+
+*/
+
+#define NELMTS     6
+#define TYPE       int
+#define FORMAT     "%d "
+
+/*-------------------------------------------------------------------------
+ * Function: usage
+ *
+ * Purpose: Prints a usage message on stderr and then returns.
+ *
+ * Return: void
+ *
+ * Programmer:  Pedro Vicente Nunes
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static void
+usage (void)
+{
+ fprintf(stderr, "\
+ usage: binread FILE_NAME\n");
+}
+
+/*-------------------------------------------------------------------------
+ * Function: main
+ *
+ * Purpose: main program.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int
+main (int argc, const char *argv[])
+{
+ FILE  *stream;
+ int    numread;
+ TYPE   buf[NELMTS];
+ size_t i, nelmts = NELMTS;
+ char  *fname=NULL;
+
+ if (argc != 2)
+ {
+  usage();
+  exit(1);
+ }
+
+ fname = strdup(argv[1]);
+
+ if( (stream = fopen(fname, "rb" )) != NULL )
+ {
+  numread = fread( buf, sizeof( TYPE ), nelmts, stream );
+  printf( "Number of items read = %d\n", numread );
+  
+  for (i = 0; i < nelmts; i++)
+  {
+   printf(FORMAT,buf[i]);
+  }
+  printf("\n");
+
+  fclose( stream );
+ }
+ else
+  printf( "File %s could not be opened\n",fname );
+
+ free(fname);
+
+ return 0;
+}
+

Modified: packages/hdf5/trunk/tools/h5dump/h5dump.c
===================================================================
--- packages/hdf5/trunk/tools/h5dump/h5dump.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/h5dump.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 #include <stdio.h>
 #include <stdlib.h>
@@ -59,7 +60,7 @@
 
 static const char  *driver = NULL;      /* The driver to open the file with. */
 
-static const dump_header *dump_header_format;
+static const h5dump_header_t *dump_header_format;
 
 /* things to display or which are set via command line parameters */
 static int          display_all       = TRUE;
@@ -79,92 +80,91 @@
  **/
 
 /* module-scoped variables for XML option */
-#define DEFAULT_XSD     "http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd"
-#define DEFAULT_DTD     "http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd"
+#define DEFAULT_XSD     "http://hdfgroup.org/DTDs/HDF5-File.xsd"
+#define DEFAULT_DTD     "http://hdfgroup.org/DTDs/HDF5-File.dtd"
 
 static int              doxml = 0;
 static int              useschema = 1;
 static const char       *xml_dtd_uri = NULL;
 static const char       *xmlnsprefix="hdf5:";
+static int              indent;              /*how far in to indent the line         */
 
 /** end XML **/
 
 /* internal functions */
-static hid_t     h5_fileaccess(void);
-static void      dump_oid(hid_t oid);
-static void      print_enum(hid_t type);
-static herr_t    dump_all(hid_t group, const char *name, void *op_data);
-#ifdef LATER
-static void      check_compression(hid_t);
-#endif /* LATER */
-static int       xml_name_to_XID(const char *, char *, int , int );
-static void      init_prefix(char **prfx, size_t prfx_len);
+static hid_t    h5_fileaccess(void);
+static void     dump_oid(hid_t oid);
+static void     print_enum(hid_t type);
+static herr_t   dump_all(hid_t group, const char *name, void *op_data);
+static int      xml_name_to_XID(const char *, char *, int , int );
+static void     init_prefix(char **prfx, size_t prfx_len);
+static void     add_prefix(char **prfx, size_t *prfx_len, const char *name);
 
-static h5dump_t         dataformat = {
-    0,				/*raw */
+static h5tool_format_t         dataformat = {
+    0,              /*raw */
 
-    "",				/*fmt_raw */
-    "%d",			/*fmt_int */
-    "%u",			/*fmt_uint */
-    "%d",			/*fmt_schar */
-    "%u",			/*fmt_uchar */
-    "%d",			/*fmt_short */
-    "%u",			/*fmt_ushort */
-    "%ld",			/*fmt_long */
-    "%lu",			/*fmt_ulong */
-    NULL,			/*fmt_llong */
-    NULL,			/*fmt_ullong */
-    "%g",			/*fmt_double */
-    "%g",			/*fmt_float */
+    "",             /*fmt_raw */
+    "%d",           /*fmt_int */
+    "%u",           /*fmt_uint */
+    "%d",           /*fmt_schar */
+    "%u",           /*fmt_uchar */
+    "%d",           /*fmt_short */
+    "%u",           /*fmt_ushort */
+    "%ld",          /*fmt_long */
+    "%lu",          /*fmt_ulong */
+    NULL,           /*fmt_llong */
+    NULL,           /*fmt_ullong */
+    "%g",           /*fmt_double */
+    "%g",           /*fmt_float */
 
-    0,				/*ascii */
-    0,				/*str_locale */
-    0,				/*str_repeat */
+    0,              /*ascii */
+    0,              /*str_locale */
+    0,              /*str_repeat */
 
-    "[ ",			/*arr_pre */
-    ",",			/*arr_sep */
-    " ]",			/*arr_suf */
-    1,				/*arr_linebreak */
+    "[ ",           /*arr_pre */
+    ",",            /*arr_sep */
+    " ]",           /*arr_suf */
+    1,              /*arr_linebreak */
 
-    "",				/*cmpd_name */
-    ",\n",			/*cmpd_sep */
-    "{\n",			/*cmpd_pre */
-    "}",			/*cmpd_suf */
-    "\n",			/*cmpd_end */
+    "",             /*cmpd_name */
+    ",\n",          /*cmpd_sep */
+    "{\n",          /*cmpd_pre */
+    "}",            /*cmpd_suf */
+    "\n",           /*cmpd_end */
 
-    ", ",			/*vlen_sep */
-    "(",			/*vlen_pre */
-    ")",			/*vlen_suf */
-    "",				/*vlen_end */
+    ", ",           /*vlen_sep */
+    "(",            /*vlen_pre */
+    ")",            /*vlen_suf */
+    "",             /*vlen_end */
 
-    "%s",			/*elmt_fmt */
-    ",",			/*elmt_suf1 */
-    " ",			/*elmt_suf2 */
+    "%s",           /*elmt_fmt */
+    ",",            /*elmt_suf1 */
+    " ",            /*elmt_suf2 */
 
-    "",				/*idx_n_fmt */
-    "",				/*idx_sep */
-    "",				/*idx_fmt */
+    "",             /*idx_n_fmt */
+    "",             /*idx_sep */
+    "",             /*idx_fmt */
 
-    80,				/*line_ncols *//*standard default columns */
-    0,				/*line_per_line */
-    "",				/*line_pre */
-    "%s",			/*line_1st */
-    "%s",			/*line_cont */
-    "",				/*line_suf */
-    "",				/*line_sep */
-    1,				/*line_multi_new */
-    "   ",			/*line_indent */
+    80,             /*line_ncols *//*standard default columns */
+    0,              /*line_per_line */
+    "",             /*line_pre */
+    "%s",           /*line_1st */
+    "%s",           /*line_cont */
+    "",             /*line_suf */
+    "",             /*line_sep */
+    1,              /*line_multi_new */
+    "   ",          /*line_indent */
 
-    1,				/*skip_first */
+    1,              /*skip_first */
 
-    1,				/*obj_hidefileno */
-    " %lu:%lu",			/*obj_format */
+    1,              /*obj_hidefileno */
+    " %lu:%lu",         /*obj_format */
 
-    1,				/*dset_hidefileno */
-    "DATASET %lu:%lu ",		/*dset_format */
-    "%s",			/*dset_blockformat_pre */
-    "%s",			/*dset_ptformat_pre */
-    "%s",			/*dset_ptformat */
+    1,              /*dset_hidefileno */
+    "DATASET %lu:%lu ",     /*dset_format */
+    "%s",           /*dset_blockformat_pre */
+    "%s",           /*dset_ptformat_pre */
+    "%s",           /*dset_ptformat */
     1,                          /*array indices */
     1                           /*escape non printable characters */
 };
@@ -184,134 +184,134 @@
  *
  *  This table only affects XML output.
  */
-static h5dump_t         xml_dataformat = {
-    0,				/*raw */
+static h5tool_format_t         xml_dataformat = {
+    0,              /*raw */
 
-    "",				/*fmt_raw */
-    "%d",			/*fmt_int */
-    "%u",			/*fmt_uint */
-    "%d",			/*fmt_schar */
-    "%u",			/*fmt_uchar */
-    "%d",			/*fmt_short */
-    "%u",			/*fmt_ushort */
-    "%ld",			/*fmt_long */
-    "%lu",			/*fmt_ulong */
-    NULL,			/*fmt_llong */
-    NULL,			/*fmt_ullong */
-    "%g",			/*fmt_double */
-    "%g",			/*fmt_float */
+    "",             /*fmt_raw */
+    "%d",           /*fmt_int */
+    "%u",           /*fmt_uint */
+    "%d",           /*fmt_schar */
+    "%u",           /*fmt_uchar */
+    "%d",           /*fmt_short */
+    "%u",           /*fmt_ushort */
+    "%ld",          /*fmt_long */
+    "%lu",          /*fmt_ulong */
+    NULL,           /*fmt_llong */
+    NULL,           /*fmt_ullong */
+    "%g",           /*fmt_double */
+    "%g",           /*fmt_float */
 
-    0,				/*ascii */
-    0,				/*str_locale */
-    0,				/*str_repeat */
+    0,              /*ascii */
+    0,              /*str_locale */
+    0,              /*str_repeat */
 
-    " ",			/*arr_pre */
-    "",				/*arr_sep */
-    "",				/*arr_suf */
-    1,				/*arr_linebreak */
+    " ",            /*arr_pre */
+    "",             /*arr_sep */
+    "",             /*arr_suf */
+    1,              /*arr_linebreak */
 
-    "",				/*cmpd_name */
-    " ",			/*cmpd_sep */
-    "",				/*cmpd_pre */
-    "",				/*cmpd_suf */
-    "",				/*cmpd_end */
+    "",             /*cmpd_name */
+    " ",            /*cmpd_sep */
+    "",             /*cmpd_pre */
+    "",             /*cmpd_suf */
+    "",             /*cmpd_end */
 
-    " ",			/*vlen_sep */
-    " ",			/*vlen_pre */
-    "",				/*vlen_suf */
-    "",				/*vlen_end */
+    " ",            /*vlen_sep */
+    " ",            /*vlen_pre */
+    "",             /*vlen_suf */
+    "",             /*vlen_end */
 
-    "%s",			/*elmt_fmt */
-    "",				/*elmt_suf1 */
-    " ",			/*elmt_suf2 */
+    "%s",           /*elmt_fmt */
+    "",             /*elmt_suf1 */
+    " ",            /*elmt_suf2 */
 
-    "",				/*idx_n_fmt */
-    "",				/*idx_sep */
-    "",				/*idx_fmt */
+    "",             /*idx_n_fmt */
+    "",             /*idx_sep */
+    "",             /*idx_fmt */
 
-    80,				/*line_ncols *//*standard default columns */
-    0,				/*line_per_line */
-    "",				/*line_pre */
-    "%s",			/*line_1st */
-    "%s",			/*line_cont */
-    "",				/*line_suf */
-    "",				/*line_sep */
-    1,				/*line_multi_new */
-    "   ",			/*line_indent */
+    80,             /*line_ncols *//*standard default columns */
+    0,              /*line_per_line */
+    "",             /*line_pre */
+    "%s",           /*line_1st */
+    "%s",           /*line_cont */
+    "",             /*line_suf */
+    "",             /*line_sep */
+    1,              /*line_multi_new */
+    "   ",          /*line_indent */
 
-    1,				/*skip_first */
+    1,              /*skip_first */
 
-    1,				/*obj_hidefileno */
-    " %lu:%lu",			/*obj_format */
+    1,              /*obj_hidefileno */
+    " %lu:%lu",         /*obj_format */
 
-    1,				/*dset_hidefileno */
-    "DATASET %lu:%lu ",		/*dset_format */
-    "%s",			/*dset_blockformat_pre */
-    "%s",			/*dset_ptformat_pre */
-    "%s",			/*dset_ptformat */
+    1,              /*dset_hidefileno */
+    "DATASET %lu:%lu ",     /*dset_format */
+    "%s",           /*dset_blockformat_pre */
+    "%s",           /*dset_ptformat_pre */
+    "%s",           /*dset_ptformat */
      0,                         /*array indices */
      0                          /*escape non printable characters */
 };
 
 /** XML **/
 
-static const dump_header standardformat = {
-    "standardformat",		/*name */
-    "HDF5",			/*fileebgin */
-    "",				/*fileend */
-    SUPER_BLOCK,			/*bootblockbegin */
-    "",				/*bootblockend */
-    GROUPNAME,			/*groupbegin */
-    "",				/*groupend */
-    DATASET,			/*datasetbegin */
-    "",				/*datasetend */
-    ATTRIBUTE,			/*attributebegin */
-    "",				/*attributeend */
-    DATATYPE,			/*datatypebegin */
-    "",				/*datatypeend */
-    DATASPACE,			/*dataspacebegin */
-    "",				/*dataspaceend */
-    DATA,			/*databegin */
-    "",				/*dataend */
-    SOFTLINK,			/*softlinkbegin */
-    "",				/*softlinkend */
-    SUBSET,			/*subsettingbegin */
-    "",				/*subsettingend */
-    START,			/*startbegin */
-    "",				/*startend */
-    STRIDE,			/*stridebegin */
-    "",				/*strideend */
-    COUNT,			/*countbegin */
-    "",				/*countend */
-    BLOCK,			/*blockbegin */
-    "",				/*blockend */
+static const h5dump_header_t standardformat = {
+    "standardformat",       /*name */
+    "HDF5",         /*fileebgin */
+    "",             /*fileend */
+    SUPER_BLOCK,            /*bootblockbegin */
+    "",             /*bootblockend */
+    H5_TOOLS_GROUP,          /*groupbegin */
+    "",             /*groupend */
+    H5_TOOLS_DATASET,            /*datasetbegin */
+    "",             /*datasetend */
+    ATTRIBUTE,          /*attributebegin */
+    "",             /*attributeend */
+    H5_TOOLS_DATATYPE,           /*datatypebegin */
+    "",             /*datatypeend */
+    DATASPACE,          /*dataspacebegin */
+    "",             /*dataspaceend */
+    DATA,           /*databegin */
+    "",             /*dataend */
+    SOFTLINK,           /*softlinkbegin */
+    "",             /*softlinkend */
+    SUBSET,         /*subsettingbegin */
+    "",             /*subsettingend */
+    START,          /*startbegin */
+    "",             /*startend */
+    STRIDE,         /*stridebegin */
+    "",             /*strideend */
+    COUNT,          /*countbegin */
+    "",             /*countend */
+    BLOCK,          /*blockbegin */
+    "",             /*blockend */
 
-    "{",			/*fileblockbegin */
-    "}",			/*fileblockend */
-    "{",			/*bootblockblockbegin */
-    "}",			/*bootblockblockend */
-    "{",			/*groupblockbegin */
-    "}",			/*groupblockend */
-    "{",			/*datasetblockbegin */
-    "}",			/*datasetblockend */
-    "{",			/*attributeblockbegin */
-    "}",			/*attributeblockend */
-    "",				/*datatypeblockbegin */
-    "",				/*datatypeblockend */
-    "",				/*dataspaceblockbegin */
-    "",				/*dataspaceblockend */
-    "{",			/*datablockbegin */
-    "}",			/*datablockend */
-    "{",			/*softlinkblockbegin */
-    "}",			/*softlinkblockend */
-    "{",			/*strblockbegin */
-    "}",			/*strblockend */
-    "{",			/*enumblockbegin */
-    "}",			/*enumblockend */
-    "{",			/*structblockbegin */
-    "}",			/*structblockend */
-    "{",			/*vlenblockbegin */
-    "}",			/*vlenblockend */
+    "{",            /*fileblockbegin */
+    "}",            /*fileblockend */
+    "{",            /*bootblockblockbegin */
+    "}",            /*bootblockblockend */
+    "{",            /*groupblockbegin */
+    "}",            /*groupblockend */
+    "{",            /*datasetblockbegin */
+    "}",            /*datasetblockend */
+    "{",            /*attributeblockbegin */
+    "}",            /*attributeblockend */
+    "",             /*datatypeblockbegin */
+    "",             /*datatypeblockend */
+    "",             /*dataspaceblockbegin */
+    "",             /*dataspaceblockend */
+    "{",            /*datablockbegin */
+    "}",            /*datablockend */
+    "{",            /*softlinkblockbegin */
+    "}",            /*softlinkblockend */
+    "{",            /*strblockbegin */
+    "}",            /*strblockend */
+    "{",            /*enumblockbegin */
+    "}",            /*enumblockend */
+    "{",            /*structblockbegin */
+    "}",            /*structblockend */
+    "{",            /*vlenblockbegin */
+    "}",            /*vlenblockend */
     "{",                        /*subsettingblockbegin */
     "}",                        /*subsettingblockend */
     "(",                        /*startblockbegin */
@@ -323,10 +323,10 @@
     "(",                        /*blockblockbegin */
     ");",                       /*blockblockend */
 
-    "",				/*dataspacedescriptionbegin */
-    "",				/*dataspacedescriptionend */
-    "(",			/*dataspacedimbegin */
-    ")",			/*dataspacedimend */
+    "",             /*dataspacedescriptionbegin */
+    "",             /*dataspacedescriptionend */
+    "(",            /*dataspacedimbegin */
+    ")",            /*dataspacedimend */
 };
 
 /**
@@ -352,7 +352,7 @@
  * parameters. The long-named ones can be partially spelled. When
  * adding more, make sure that they don't clash with each other.
  */
-static const char *s_opts = "hnpeyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o:s:S:A";
+static const char *s_opts = "hnpeyBHirVa:c:d:f:g:k:l:t:w:xD:uX:o:b:F:s:S:A";
 static struct long_options l_opts[] = {
     { "help", no_arg, 'h' },
     { "hel", no_arg, 'h' },
@@ -457,6 +457,11 @@
     { "xml-n", require_arg, 'X' },
     { "xml", no_arg, 'x' },
     { "xm", no_arg, 'x' },
+    { "onlyattr", no_arg, 'A' },
+    { "escape", no_arg, 'e' },
+    { "noindex", no_arg, 'y' },
+    { "binary", require_arg, 'b' },
+    { "form", require_arg, 'F' },
     { NULL, 0, '\0' }
 };
 
@@ -588,19 +593,24 @@
     fprintf(stdout, "     -n, --contents       Print a list of the file contents and exit\n");
     fprintf(stdout, "     -B, --bootblock      Print the content of the boot block\n");
     fprintf(stdout, "     -H, --header         Print the header only; no data is displayed\n");
-    fprintf(stdout, "     -A                   Print the header and value of attributes; data of datasets is not displayed\n");
+    fprintf(stdout, "     -A, --onlyattr       Print the header and value of attributes; data \n");
+    fprintf(stdout, "                          of datasets is not displayed\n");
     fprintf(stdout, "     -i, --object-ids     Print the object ids\n");
     fprintf(stdout, "     -r, --string         Print 1-byte integer datasets as ASCII\n");
-    fprintf(stdout, "     -e,                  Escape non printing characters\n");
+    fprintf(stdout, "     -e, --escape         Escape non printing characters\n");
     fprintf(stdout, "     -V, --version        Print version number and exit\n");
     fprintf(stdout, "     -a P, --attribute=P  Print the specified attribute\n");
     fprintf(stdout, "     -d P, --dataset=P    Print the specified dataset\n");
-    fprintf(stdout, "     -y                   Do not print array indices with the data\n");
+    fprintf(stdout, "     -y, --noindex        Do not print array indices with the data\n");
     fprintf(stdout, "     -p,   --properties   Print dataset filters, storage layout and fill value\n");
     fprintf(stdout, "     -f D, --filedriver=D Specify which driver to open the file with\n");
     fprintf(stdout, "     -g P, --group=P      Print the specified group and all members\n");
     fprintf(stdout, "     -l P, --soft-link=P  Print the value(s) of the specified soft link\n");
     fprintf(stdout, "     -o F, --output=F     Output raw data into file F\n");
+    fprintf(stdout, "     -b B, --binary=B     Binary file output, of form B. Recommended usage is\n");
+    fprintf(stdout, "                          with -o (output file) and -d (dataset). B can be:\n");
+    fprintf(stdout, "                          MEMORY for a memory type, FILE for the file type,\n");
+    fprintf(stdout, "                          LE or BE for pre-existing little or big endian types\n");
     fprintf(stdout, "     -t P, --datatype=P   Print the specified named data type\n");
     fprintf(stdout, "     -w N, --width=N      Set the number of columns of output\n");
     fprintf(stdout, "     -x, --xml            Output in XML using Schema\n");
@@ -645,6 +655,10 @@
     fprintf(stdout, "\n");
     fprintf(stdout, "      h5dump -d /foo -s \"0,1\" -S \"1,1\" -c \"2,3\" -k \"2,2\" quux.h5\n");
     fprintf(stdout, "\n");
+    fprintf(stdout, "  3) Saving dataset 'dset' in file quux.h5 to binary file 'out.bin' using a little-endian type \n");
+    fprintf(stdout, "\n");
+    fprintf(stdout, "      h5dump -d /dset -b LE -o out.bin quux.h5\n");
+    fprintf(stdout, "\n");
 }
 
 /*-------------------------------------------------------------------------
@@ -656,38 +670,43 @@
  *
  * Programmer:  Ruey-Hsia Li
  *
- * Modifications:
+ * Modifications: pvn, March 28, 2006
+ *  print information about type when a native match is not possible
  *
  *-------------------------------------------------------------------------
  */
+
 static void
 print_datatype(hid_t type,unsigned in_group)
 {
-    char       *fname;
+    char       *mname;
     hid_t       mtype, str_type;
     unsigned    nmembers;
-    int         perm[H5DUMP_MAX_RANK];
     unsigned    ndims;
     unsigned    i;
     size_t      size=0;
     hsize_t     dims[H5DUMP_MAX_RANK];
     H5T_str_t   str_pad;
     H5T_cset_t  cset;
-    H5G_stat_t  statbuf;
     H5T_order_t order;
     hid_t       super;
     hid_t       tmp_type;
     htri_t      is_vlstr=FALSE;
+    const char  *order_s=NULL;  /* byte order string */
+    H5T_sign_t  sign;           /* sign scheme value */
+    const char  *sign_s=NULL;   /* sign scheme string */
 
+
     if (!in_group && H5Tcommitted(type) > 0) {
         obj_t  *obj;    /* Found object */
+        H5G_stat_t  statbuf;
 
         H5Gget_objinfo(type, ".", TRUE, &statbuf);
         obj = search_obj(type_table, statbuf.objno);
 
         if (obj) {
             if (!obj->recorded) {
-                unsigned long 	objno[2];	/*object number			*/
+                unsigned long   objno[2];   /*object number         */
 
                 objno[0] = (unsigned long)(obj->objno);
 #if H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG
@@ -706,82 +725,137 @@
     } else {
         switch (H5Tget_class(type)) {
         case H5T_INTEGER:
-            if (H5Tequal(type, H5T_STD_I8BE)) {
+            if (H5Tequal(type, H5T_STD_I8BE)==TRUE) {
                 printf("H5T_STD_I8BE");
-            } else if (H5Tequal(type, H5T_STD_I8LE)) {
+            } else if (H5Tequal(type, H5T_STD_I8LE)==TRUE) {
                 printf("H5T_STD_I8LE");
-            } else if (H5Tequal(type, H5T_STD_I16BE)) {
+            } else if (H5Tequal(type, H5T_STD_I16BE)==TRUE) {
                 printf("H5T_STD_I16BE");
-            } else if (H5Tequal(type, H5T_STD_I16LE)) {
+            } else if (H5Tequal(type, H5T_STD_I16LE)==TRUE) {
                 printf("H5T_STD_I16LE");
-            } else if (H5Tequal(type, H5T_STD_I32BE)) {
+            } else if (H5Tequal(type, H5T_STD_I32BE)==TRUE) {
                 printf("H5T_STD_I32BE");
-            } else if (H5Tequal(type, H5T_STD_I32LE)) {
+            } else if (H5Tequal(type, H5T_STD_I32LE)==TRUE) {
                 printf("H5T_STD_I32LE");
-            } else if (H5Tequal(type, H5T_STD_I64BE)) {
+            } else if (H5Tequal(type, H5T_STD_I64BE)==TRUE) {
                 printf("H5T_STD_I64BE");
-            } else if (H5Tequal(type, H5T_STD_I64LE)) {
+            } else if (H5Tequal(type, H5T_STD_I64LE)==TRUE) {
                 printf("H5T_STD_I64LE");
-            } else if (H5Tequal(type, H5T_STD_U8BE)) {
+            } else if (H5Tequal(type, H5T_STD_U8BE)==TRUE) {
                 printf("H5T_STD_U8BE");
-            } else if (H5Tequal(type, H5T_STD_U8LE)) {
+            } else if (H5Tequal(type, H5T_STD_U8LE)==TRUE) {
                 printf("H5T_STD_U8LE");
-            } else if (H5Tequal(type, H5T_STD_U16BE)) {
+            } else if (H5Tequal(type, H5T_STD_U16BE)==TRUE) {
                 printf("H5T_STD_U16BE");
-            } else if (H5Tequal(type, H5T_STD_U16LE)) {
+            } else if (H5Tequal(type, H5T_STD_U16LE)==TRUE) {
                 printf("H5T_STD_U16LE");
-            } else if (H5Tequal(type, H5T_STD_U32BE)) {
+            } else if (H5Tequal(type, H5T_STD_U32BE)==TRUE) {
                 printf("H5T_STD_U32BE");
-            } else if (H5Tequal(type, H5T_STD_U32LE)) {
+            } else if (H5Tequal(type, H5T_STD_U32LE)==TRUE) {
                 printf("H5T_STD_U32LE");
-            } else if (H5Tequal(type, H5T_STD_U64BE)) {
+            } else if (H5Tequal(type, H5T_STD_U64BE)==TRUE) {
                 printf("H5T_STD_U64BE");
-            } else if (H5Tequal(type, H5T_STD_U64LE)) {
+            } else if (H5Tequal(type, H5T_STD_U64LE)==TRUE) {
                 printf("H5T_STD_U64LE");
-            } else if (H5Tequal(type, H5T_NATIVE_SCHAR)) {
+            } else if (H5Tequal(type, H5T_NATIVE_SCHAR)==TRUE) {
                 printf("H5T_NATIVE_SCHAR");
-            } else if (H5Tequal(type, H5T_NATIVE_UCHAR)) {
+            } else if (H5Tequal(type, H5T_NATIVE_UCHAR)==TRUE) {
                 printf("H5T_NATIVE_UCHAR");
-            } else if (H5Tequal(type, H5T_NATIVE_SHORT)) {
+            } else if (H5Tequal(type, H5T_NATIVE_SHORT)==TRUE) {
                 printf("H5T_NATIVE_SHORT");
-            } else if (H5Tequal(type, H5T_NATIVE_USHORT)) {
+            } else if (H5Tequal(type, H5T_NATIVE_USHORT)==TRUE) {
                 printf("H5T_NATIVE_USHORT");
-            } else if (H5Tequal(type, H5T_NATIVE_INT)) {
+            } else if (H5Tequal(type, H5T_NATIVE_INT)==TRUE) {
                 printf("H5T_NATIVE_INT");
-            } else if (H5Tequal(type, H5T_NATIVE_UINT)) {
+            } else if (H5Tequal(type, H5T_NATIVE_UINT)==TRUE) {
                 printf("H5T_NATIVE_UINT");
-            } else if (H5Tequal(type, H5T_NATIVE_LONG)) {
+            } else if (H5Tequal(type, H5T_NATIVE_LONG)==TRUE) {
                 printf("H5T_NATIVE_LONG");
-            } else if (H5Tequal(type, H5T_NATIVE_ULONG)) {
+            } else if (H5Tequal(type, H5T_NATIVE_ULONG)==TRUE) {
                 printf("H5T_NATIVE_ULONG");
-            } else if (H5Tequal(type, H5T_NATIVE_LLONG)) {
+            } else if (H5Tequal(type, H5T_NATIVE_LLONG)==TRUE) {
                 printf("H5T_NATIVE_LLONG");
-            } else if (H5Tequal(type, H5T_NATIVE_ULLONG)) {
+            } else if (H5Tequal(type, H5T_NATIVE_ULLONG)==TRUE) {
                 printf("H5T_NATIVE_ULLONG");
             } else {
-                printf("undefined integer");
-                d_status = EXIT_FAILURE;
+
+             /* byte order */
+             if (H5Tget_size(type)>1)
+             {
+              order = H5Tget_order(type);
+              if (H5T_ORDER_LE==order) {
+               order_s = " little-endian";
+              } else if (H5T_ORDER_BE==order) {
+               order_s = " big-endian";
+              } else if (H5T_ORDER_VAX==order) {
+               order_s = " mixed-endian";
+              } else {
+               order_s = " unknown-byte-order";
+              }
+             } else {
+              order_s = "";
+             }
+
+             /* sign */
+             if ((sign=H5Tget_sign(type))>=0)
+             {
+              if (H5T_SGN_NONE==sign) {
+               sign_s = " unsigned";
+              } else if (H5T_SGN_2==sign) {
+               sign_s = "";
+              } else {
+               sign_s = " unknown-sign";
+              }
+             } else {
+              sign_s = " unknown-sign";
+             }
+
+             /* print size, order, and sign  */
+             printf("%lu-bit%s%s integer",
+              (unsigned long)(8*H5Tget_size(type)), order_s, sign_s);
             }
             break;
 
         case H5T_FLOAT:
-            if (H5Tequal(type, H5T_IEEE_F32BE)) {
+            if (H5Tequal(type, H5T_IEEE_F32BE)==TRUE) {
                 printf("H5T_IEEE_F32BE");
-            } else if (H5Tequal(type, H5T_IEEE_F32LE)) {
+            } else if (H5Tequal(type, H5T_IEEE_F32LE)==TRUE) {
                 printf("H5T_IEEE_F32LE");
-            } else if (H5Tequal(type, H5T_IEEE_F64BE)) {
+            } else if (H5Tequal(type, H5T_IEEE_F64BE)==TRUE) {
                 printf("H5T_IEEE_F64BE");
-            } else if (H5Tequal(type, H5T_IEEE_F64LE)) {
+            } else if (H5Tequal(type, H5T_IEEE_F64LE)==TRUE) {
                 printf("H5T_IEEE_F64LE");
-            } else if (H5Tequal(type, H5T_NATIVE_FLOAT)) {
+            } else if (H5Tequal(type, H5T_NATIVE_FLOAT)==TRUE) {
                 printf("H5T_NATIVE_FLOAT");
-            } else if (H5Tequal(type, H5T_NATIVE_DOUBLE)) {
+            } else if (H5Tequal(type, H5T_NATIVE_DOUBLE)==TRUE) {
                 printf("H5T_NATIVE_DOUBLE");
-            } else if (H5Tequal(type, H5T_NATIVE_LDOUBLE)) {
+#if H5_SIZEOF_LONG_DOUBLE !=0
+            } else if (H5Tequal(type, H5T_NATIVE_LDOUBLE)==TRUE) {
                 printf("H5T_NATIVE_LDOUBLE");
+#endif
             } else {
-                printf("undefined float");
-                d_status = EXIT_FAILURE;
+
+             /* byte order */
+             if (H5Tget_size(type)>1)
+             {
+              order = H5Tget_order(type);
+              if (H5T_ORDER_LE==order) {
+               order_s = " little-endian";
+              } else if (H5T_ORDER_BE==order) {
+               order_s = " big-endian";
+              } else if (H5T_ORDER_VAX==order) {
+               order_s = " mixed-endian";
+              } else {
+               order_s = " unknown-byte-order";
+              }
+             } else {
+              order_s = "";
+             }
+
+             /* print size and byte order */
+             printf("%lu-bit%s floating-point",
+              (unsigned long)(8*H5Tget_size(type)), order_s);
+
             }
             break;
 
@@ -895,21 +969,21 @@
             break;
 
         case H5T_BITFIELD:
-            if (H5Tequal(type, H5T_STD_B8BE)) {
+            if (H5Tequal(type, H5T_STD_B8BE)==TRUE) {
                 printf("H5T_STD_B8BE");
-            } else if (H5Tequal(type, H5T_STD_B8LE)) {
+            } else if (H5Tequal(type, H5T_STD_B8LE)==TRUE) {
                 printf("H5T_STD_B8LE");
-            } else if (H5Tequal(type, H5T_STD_B16BE)) {
+            } else if (H5Tequal(type, H5T_STD_B16BE)==TRUE) {
                 printf("H5T_STD_B16BE");
-            } else if (H5Tequal(type, H5T_STD_B16LE)) {
+            } else if (H5Tequal(type, H5T_STD_B16LE)==TRUE) {
                 printf("H5T_STD_B16LE");
-            } else if (H5Tequal(type, H5T_STD_B32BE)) {
+            } else if (H5Tequal(type, H5T_STD_B32BE)==TRUE) {
                 printf("H5T_STD_B32BE");
-            } else if (H5Tequal(type, H5T_STD_B32LE)) {
+            } else if (H5Tequal(type, H5T_STD_B32LE)==TRUE) {
                 printf("H5T_STD_B32LE");
-            } else if (H5Tequal(type, H5T_STD_B64BE)) {
+            } else if (H5Tequal(type, H5T_STD_B64BE)==TRUE) {
                 printf("H5T_STD_B64BE");
-            } else if (H5Tequal(type, H5T_STD_B64LE)) {
+            } else if (H5Tequal(type, H5T_STD_B64LE)==TRUE) {
                 printf("H5T_STD_B64LE");
             } else {
                 printf("undefined bitfield");
@@ -931,7 +1005,7 @@
             printf("H5T_COMPOUND %s\n", dump_header_format->structblockbegin);
 
             for (i = 0; i < nmembers; i++) {
-                fname = H5Tget_member_name(type, i);
+                mname = H5Tget_member_name(type, i);
                 mtype = H5Tget_member_type(type, i);
                 indentation(indent + COL);
 
@@ -943,8 +1017,8 @@
                 if (H5Tget_class(mtype) == H5T_COMPOUND)
                     indent -= COL;
 
-                printf(" \"%s\";\n", fname);
-                free(fname);
+                printf(" \"%s\";\n", mname);
+                free(mname);
             }
 
             indentation(indent);
@@ -987,7 +1061,7 @@
 
             /* Get array information */
             ndims = H5Tget_array_ndims(type);
-            H5Tget_array_dims(type, dims, perm);
+            H5Tget_array_dims(type, dims, NULL);
 
             /* Print array dimensions */
             for (i = 0; i < ndims; i++)
@@ -1041,7 +1115,7 @@
     print_datatype(type,0);
 
     end_obj(dump_header_format->datatypeend,
-	    dump_header_format->datatypeblockend);
+        dump_header_format->datatypeblockend);
     indent -= COL;
 }
 
@@ -1073,48 +1147,48 @@
 
     switch (space_type) {
         case H5S_SCALAR:
-	    /* scalar dataspace */
-	    HDfprintf(stdout, "%s %s",
-		      dump_header_format->dataspacedescriptionbegin, S_SCALAR);
+        /* scalar dataspace */
+        HDfprintf(stdout, "%s %s",
+              dump_header_format->dataspacedescriptionbegin, S_SCALAR);
             break;
         case H5S_SIMPLE:
-	    /* simple dataspace */
-	    HDfprintf(stdout, "%s %s { %s %Hu",
-		      dump_header_format->dataspacedescriptionbegin, S_SIMPLE,
-		      dump_header_format->dataspacedimbegin, size[0]);
+        /* simple dataspace */
+        HDfprintf(stdout, "%s %s { %s %Hu",
+              dump_header_format->dataspacedescriptionbegin, S_SIMPLE,
+              dump_header_format->dataspacedimbegin, size[0]);
 
-	    for (i = 1; i < ndims; i++)
-		HDfprintf(stdout, ", %Hu", size[i]);
+        for (i = 1; i < ndims; i++)
+        HDfprintf(stdout, ", %Hu", size[i]);
 
-	    printf(" %s / ", dump_header_format->dataspacedimend);
+        printf(" %s / ", dump_header_format->dataspacedimend);
 
-	    if (maxsize[0] == H5S_UNLIMITED)
-		HDfprintf(stdout, "%s %s",
-			  dump_header_format->dataspacedimbegin,
-			  "H5S_UNLIMITED");
-	    else
-		HDfprintf(stdout, "%s %Hu",
+        if (maxsize[0] == H5S_UNLIMITED)
+        HDfprintf(stdout, "%s %s",
+              dump_header_format->dataspacedimbegin,
+              "H5S_UNLIMITED");
+        else
+        HDfprintf(stdout, "%s %Hu",
                           dump_header_format->dataspacedimbegin, maxsize[0]);
 
-	    for (i = 1; i < ndims; i++)
-		if (maxsize[i] == H5S_UNLIMITED)
-		    HDfprintf(stdout, ", %s", "H5S_UNLIMITED");
-		else
-		    HDfprintf(stdout, ", %Hu", maxsize[i]);
+        for (i = 1; i < ndims; i++)
+        if (maxsize[i] == H5S_UNLIMITED)
+            HDfprintf(stdout, ", %s", "H5S_UNLIMITED");
+        else
+            HDfprintf(stdout, ", %Hu", maxsize[i]);
 
-	    printf(" %s }", dump_header_format->dataspacedimend);
+        printf(" %s }", dump_header_format->dataspacedimend);
 
-	    break;
+        break;
         case H5S_COMPLEX:
-	    printf("%s not yet implemented %s\n", BEGIN, END);
+        printf("%s not yet implemented %s\n", BEGIN, END);
             break;
         case H5S_NO_CLASS:
         default:
-	    printf("%s unknown dataspace %s\n", BEGIN, END);
+        printf("%s unknown dataspace %s\n", BEGIN, END);
     }
 
     end_obj(dump_header_format->dataspaceend,
-	    dump_header_format->dataspaceblockend);
+        dump_header_format->dataspaceblockend);
 }
 
 /*-------------------------------------------------------------------------
@@ -1140,34 +1214,34 @@
 
     indentation(indent);
     begin_obj(dump_header_format->attributebegin, attr_name,
-	      dump_header_format->attributeblockbegin);
+          dump_header_format->attributeblockbegin);
 
     if ((attr_id = H5Aopen_name(attr, attr_name)) < 0) {
-	indentation(indent + COL);
+    indentation(indent + COL);
         error_msg(progname, "unable to open attribute \"%s\"\n", attr_name);
-	indentation(indent);
-	end_obj(dump_header_format->attributeend,
-		dump_header_format->attributeblockend);
-	d_status = EXIT_FAILURE;
-	ret = FAIL;
+    indentation(indent);
+    end_obj(dump_header_format->attributeend,
+        dump_header_format->attributeblockend);
+    d_status = EXIT_FAILURE;
+    ret = FAIL;
     } else {
-	type = H5Aget_type(attr_id);
-	space = H5Aget_space(attr_id);
-	dump_datatype(type);
-	dump_dataspace(space);
+    type = H5Aget_type(attr_id);
+    space = H5Aget_space(attr_id);
+    dump_datatype(type);
+    dump_dataspace(space);
 
-	if (display_oid)
-	    dump_oid(attr_id);
+    if (display_oid)
+        dump_oid(attr_id);
 
-	if (display_data || display_attr_data)
-	    dump_data(attr_id, ATTRIBUTE_DATA, NULL, display_ai);
+    if (display_data || display_attr_data)
+        dump_data(attr_id, ATTRIBUTE_DATA, NULL, display_ai);
 
-	H5Tclose(type);
-	H5Sclose(space);
-	H5Aclose(attr_id);
-	indentation(indent);
-	end_obj(dump_header_format->attributeend,
-		dump_header_format->attributeblockend);
+    H5Tclose(type);
+    H5Sclose(space);
+    H5Aclose(attr_id);
+    indentation(indent);
+    end_obj(dump_header_format->attributeend,
+        dump_header_format->attributeblockend);
     }
 
     return ret;
@@ -1202,11 +1276,11 @@
 
     /* find the last / */
     while (name[j] != '/' && j >= 0)
-	j--;
+    j--;
 
     /* object name */
     if (j == -1) {
-	strcpy(obj_name, "/");
+    strcpy(obj_name, "/");
     } else {
         strncpy(obj_name, name, (size_t)j + 1);
         obj_name[j + 1] = '\0';
@@ -1214,101 +1288,101 @@
 
     attr_name = name + j + 1;
     begin_obj(dump_header_format->attributebegin, name,
-	      dump_header_format->attributeblockbegin);
+          dump_header_format->attributeblockbegin);
     H5Gget_objinfo(loc_id, obj_name, FALSE, &statbuf);
 
     switch (statbuf.type) {
     case H5G_GROUP:
-	if ((oid = H5Gopen(loc_id, obj_name)) < 0) {
-	    indentation(COL);
+    if ((oid = H5Gopen(loc_id, obj_name)) < 0) {
+        indentation(COL);
             error_msg(progname, "unable to open group \"%s\"\n", obj_name);
-	    end_obj(dump_header_format->attributeend,
-		    dump_header_format->attributeblockend);
-	    d_status = EXIT_FAILURE;
-	    return FAIL;
-	}
-	break;
+        end_obj(dump_header_format->attributeend,
+            dump_header_format->attributeblockend);
+        d_status = EXIT_FAILURE;
+        return FAIL;
+    }
+    break;
 
     case H5G_DATASET:
-	if ((oid = H5Dopen(loc_id, obj_name)) < 0) {
-	    indentation(COL);
+    if ((oid = H5Dopen(loc_id, obj_name)) < 0) {
+        indentation(COL);
             error_msg(progname, "unable to open dataset \"%s\"\n", obj_name);
-	    end_obj(dump_header_format->attributeend,
-		    dump_header_format->attributeblockend);
-	    d_status = EXIT_FAILURE;
-	    return FAIL;
-	}
-	break;
+        end_obj(dump_header_format->attributeend,
+            dump_header_format->attributeblockend);
+        d_status = EXIT_FAILURE;
+        return FAIL;
+    }
+    break;
 
     case H5G_TYPE:
-	if ((oid = H5Topen(loc_id, obj_name)) < 0) {
-	    indentation(COL);
+    if ((oid = H5Topen(loc_id, obj_name)) < 0) {
+        indentation(COL);
             error_msg(progname, "unable to open datatype \"%s\"\n", obj_name);
-	    end_obj(dump_header_format->attributeend,
-		    dump_header_format->attributeblockend);
-	    d_status = EXIT_FAILURE;
-	    return FAIL;
-	}
-	break;
+        end_obj(dump_header_format->attributeend,
+            dump_header_format->attributeblockend);
+        d_status = EXIT_FAILURE;
+        return FAIL;
+    }
+    break;
 
     default:
-	indentation(COL);
+    indentation(COL);
         error_msg(progname, "unable to open unknown \"%s\"\n", obj_name);
-	end_obj(dump_header_format->attributeend,
-		dump_header_format->attributeblockend);
-	d_status = EXIT_FAILURE;
-	return FAIL;
+    end_obj(dump_header_format->attributeend,
+        dump_header_format->attributeblockend);
+    d_status = EXIT_FAILURE;
+    return FAIL;
     }
 
     if ((attr_id = H5Aopen_name(oid, attr_name)) >= 0) {
-	type = H5Aget_type(attr_id);
-	space = H5Aget_space(attr_id);
-	dump_datatype(type);
-	dump_dataspace(space);
+    type = H5Aget_type(attr_id);
+    space = H5Aget_space(attr_id);
+    dump_datatype(type);
+    dump_dataspace(space);
 
-	if (display_oid)
-	    dump_oid(attr_id);
+    if (display_oid)
+        dump_oid(attr_id);
 
-	if (display_data || display_attr_data)
-	    dump_data(attr_id, ATTRIBUTE_DATA, NULL, display_ai);
+    if (display_data || display_attr_data)
+        dump_data(attr_id, ATTRIBUTE_DATA, NULL, display_ai);
 
-	H5Tclose(type);
-	H5Sclose(space);
-	H5Aclose(attr_id);
-	end_obj(dump_header_format->attributeend,
-		dump_header_format->attributeblockend);
+    H5Tclose(type);
+    H5Sclose(space);
+    H5Aclose(attr_id);
+    end_obj(dump_header_format->attributeend,
+        dump_header_format->attributeblockend);
     } else {
-	indentation(COL);
+    indentation(COL);
         error_msg(progname, "unable to open attribute \"%s\"\n", obj_name);
-	end_obj(dump_header_format->attributeend,
-		dump_header_format->attributeblockend);
-	d_status = EXIT_FAILURE;
+    end_obj(dump_header_format->attributeend,
+        dump_header_format->attributeblockend);
+    d_status = EXIT_FAILURE;
     }
 
     switch (statbuf.type) {
     case H5G_GROUP:
-	if (H5Gclose(oid) < 0) {
-	    d_status = EXIT_FAILURE;
-	    return FAIL;
-	}
-	break;
+    if (H5Gclose(oid) < 0) {
+        d_status = EXIT_FAILURE;
+        return FAIL;
+    }
+    break;
 
     case H5G_DATASET:
-	if (H5Dclose(oid) < 0) {
-	    d_status = EXIT_FAILURE;
-	    return FAIL;
-	}
-	break;
+    if (H5Dclose(oid) < 0) {
+        d_status = EXIT_FAILURE;
+        return FAIL;
+    }
+    break;
 
     case H5G_TYPE:
-	if (H5Tclose(oid) < 0) {
-	    d_status = EXIT_FAILURE;
-	    return FAIL;
-	}
-	break;
+    if (H5Tclose(oid) < 0) {
+        d_status = EXIT_FAILURE;
+        return FAIL;
+    }
+    break;
     default:
-	d_status = EXIT_FAILURE;
-	return FAIL;
+    d_status = EXIT_FAILURE;
+    return FAIL;
     }
 
     free(obj_name);
@@ -1337,244 +1411,263 @@
 dump_all(hid_t group, const char *name, void * op_data)
 {
     hid_t       obj;
-    char       *targbuf, *tmp = NULL;
+    char       *obj_path = NULL;        /* Full path of object */
     H5G_stat_t  statbuf;
     herr_t      ret = SUCCEED;
 
-    H5Gget_objinfo(group, name, FALSE, &statbuf);
+    /* Stat the object */
+    if(H5Gget_objinfo(group, name, FALSE, &statbuf) < 0) {
+        error_msg(progname, "unable to get object information for \"%s\"\n", name);
+        d_status = EXIT_FAILURE;
+        ret = FAIL;
+        goto done;
+    } /* end if */
 
     if (*(int *)op_data != H5G_UNKNOWN && statbuf.type != *(int *) op_data)
         goto done;
 
-    tmp = malloc(strlen(prefix) + strlen(name) + 2);
-    strcpy(tmp, prefix);
+    /* Build the object's path name */
+    obj_path = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
+    HDassert(obj_path);
+    HDstrcpy(obj_path, prefix);
+    HDstrcat(obj_path, "/");
+    HDstrcat(obj_path, name);
 
     switch (statbuf.type) {
-    case H5G_LINK:
-	indentation(indent);
-	targbuf = malloc(statbuf.linklen);
+        case H5G_LINK:
+        {
+            char       *targbuf;
 
-	if (!doxml) {
-	    begin_obj(dump_header_format->softlinkbegin, name,
-		      dump_header_format->softlinkblockbegin);
-	    indentation(indent + COL);
-	}
+            indentation(indent);
+            targbuf = HDmalloc(statbuf.linklen);
+            HDassert(targbuf);
 
-	if (H5Gget_linkval(group, name, statbuf.linklen, targbuf) < 0) {
-            error_msg(progname, "unable to get link value\n");
-	    d_status = EXIT_FAILURE;
-            ret = FAIL;
-	} else {
-	    /* print the value of a soft link */
-	    if (!doxml) {
-		/* Standard DDL: no modification */
-		printf("LINKTARGET \"%s\"\n", targbuf);
-	    } else {
-		/* XML */
-		char *linkxid = malloc(100);
-		char *parentxid = malloc(100);
-		char *targetxid = malloc(100);
-                char *t_prefix = xml_escape_the_name(strcmp(prefix,"") ? prefix : "/");
-                char *t_name = xml_escape_the_name(name);
-                char *t_targbuf = xml_escape_the_name(targbuf);
-                char *tmp2, *t_tmp;
-		int res;
+            if (!doxml) {
+                begin_obj(dump_header_format->softlinkbegin, name,
+                          dump_header_format->softlinkblockbegin);
+                indentation(indent + COL);
+            }
 
-                tmp2 = malloc(strlen(prefix) + statbuf.linklen + 1);
-                strcpy(tmp2, prefix);
+            if (H5Gget_linkval(group, name, statbuf.linklen, targbuf) < 0) {
+                error_msg(progname, "unable to get link value\n");
+                d_status = EXIT_FAILURE;
+                ret = FAIL;
+            } else {
+                /* print the value of a soft link */
+                if (!doxml) {
+                    /* Standard DDL: no modification */
+                    printf("LINKTARGET \"%s\"\n", targbuf);
+                } else {
+                    /* XML */
+                    char linkxid[100];
+                    char parentxid[100];
+                    char targetxid[100];
+                    char *t_prefix = xml_escape_the_name(HDstrcmp(prefix,"") ? prefix : "/");
+                    char *t_name = xml_escape_the_name(name);
+                    char *t_targbuf = xml_escape_the_name(targbuf);
+                    char *t_obj_path = xml_escape_the_name(obj_path);
+                    char *t_link_path;
+                    int res;
 
-                if (targbuf && targbuf[0] == '/')
-                    strcpy(tmp2, targbuf);
-                else
-                    strcat(strcat(tmp2, "/"), targbuf);
+                    t_link_path = HDmalloc(HDstrlen(prefix) + statbuf.linklen + 1);
+                    if(targbuf[0] == '/')
+                        HDstrcpy(t_link_path, targbuf);
+                    else {
+                        HDstrcpy(t_link_path, prefix);
+                        HDstrcat(HDstrcat(t_link_path, "/"), targbuf);
+                    } /* end else */
 
-                t_tmp = xml_escape_the_name(strcat(strcat(tmp, "/"), name));
-		xml_name_to_XID(t_tmp,linkxid,100,1);
-		xml_name_to_XID(prefix,parentxid,100,1);
+                    /* Create OBJ-XIDs for the parent and object */
+                    xml_name_to_XID(t_obj_path, linkxid, sizeof(linkxid), 1);
+                    xml_name_to_XID(prefix, parentxid, sizeof(parentxid), 1);
 
-		res = xml_name_to_XID(tmp2,targetxid,100,0);
-
-		if (res == 0) {
-			/* target obj found */
-			printf("<%sSoftLink LinkName=\"%s\" "
-			       "OBJ-XID=\"%s\" "
-			       "H5SourcePath=\"%s\" "
+                    /* Try to create an OBJ-XID for the object pointed to */
+                    res = xml_name_to_XID(t_link_path, targetxid, sizeof(targetxid), 0);
+                    if (res == 0) {
+                        /* target obj found */
+                        printf("<%sSoftLink LinkName=\"%s\" "
+                               "OBJ-XID=\"%s\" "
+                               "H5SourcePath=\"%s\" "
                                "TargetPath=\"%s\" TargetObj=\"%s\" "
-			       "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
-				xmlnsprefix,
-				t_name,
-				linkxid,
-				t_tmp,
-				t_targbuf, targetxid,
-				parentxid, t_prefix);
-			free(targetxid);
-		} else {
-			/* dangling link -- omit from xml attributes */
-			printf("<%sSoftLink LinkName=\"%s\" "
-			       "OBJ-XID=\"%s\" "
-			       "H5SourcePath=\"%s\" "
+                               "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
+                                xmlnsprefix,
+                                t_name,         /* LinkName */
+                                linkxid,        /* OBJ-XID */
+                                t_obj_path,     /* H5SourcePath */
+                                t_targbuf,      /* TargetPath */
+                                targetxid,      /* TargetObj */
+                                parentxid,      /* Parents */
+                                t_prefix);      /* H5ParentPaths */
+                    } else {
+                        /* dangling link -- omit from xml attributes */
+                        printf("<%sSoftLink LinkName=\"%s\" "
+                               "OBJ-XID=\"%s\" "
+                               "H5SourcePath=\"%s\" "
                                "TargetPath=\"%s\"  "
-			       "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
-				xmlnsprefix,
-				t_name,
-				linkxid,
-				t_tmp,
-				t_targbuf,
-				parentxid, t_prefix);
-		}
+                               "Parents=\"%s\" H5ParentPaths=\"%s\" />\n",
+                                xmlnsprefix,
+                                t_name,         /* LinkName */
+                                linkxid,        /* OBJ-XID */
+                                t_obj_path,     /* H5SourcePath */
+                                t_targbuf,      /* TargetPath */
+                                parentxid,      /* Parents */
+                                t_prefix);      /* H5ParentPaths */
+                    }
 
-                free(t_name);
-                free(t_targbuf);
-                free(t_tmp);
-                free(tmp2);
-                free(linkxid);
-                free(parentxid);
-	    }
-	}
+                    HDfree(t_prefix);
+                    HDfree(t_name);
+                    HDfree(t_targbuf);
+                    HDfree(t_obj_path);
+                    HDfree(t_link_path);
+                }
+            }
 
-	if (!doxml) {
-	    indentation(indent);
-	    end_obj(dump_header_format->softlinkend,
-		    dump_header_format->softlinkblockend);
-	}
+            if (!doxml) {
+                indentation(indent);
+                end_obj(dump_header_format->softlinkend,
+                        dump_header_format->softlinkblockend);
+            }
 
-	free(targbuf);
-	break;
+            HDfree(targbuf);
+            break;
+        }
 
-    case H5G_GROUP:
-	if ((obj = H5Gopen(group, name)) < 0) {
-            error_msg(progname, "unable to dump group \"%s\"\n", name);
-	    d_status = EXIT_FAILURE;
-            ret = FAIL;
-	} else {
-            size_t new_len = strlen(prefix) + strlen(name) + 2;
+        case H5G_GROUP:
+            if ((obj = H5Gopen(group, name)) < 0) {
+                error_msg(progname, "unable to dump group \"%s\"\n", name);
+                d_status = EXIT_FAILURE;
+                ret = FAIL;
+            } else {
+                char *old_prefix;                /* Pointer to previous prefix */
 
-            if (prefix_len <= new_len) {
-                prefix_len = new_len + 1;
-                prefix = realloc(prefix, prefix_len);
+                /* Keep copy of prefix before iterating into group */
+                old_prefix = HDstrdup(prefix);
+                HDassert(old_prefix);
+
+                /* Append group name to prefix */
+                add_prefix(&prefix, &prefix_len, name);
+
+                /* Iterate into group */
+                dump_function_table->dump_group_function(obj, name);
+
+                /* Restore old prefix name */
+                HDstrcpy(prefix, old_prefix);
+                HDfree(old_prefix);
+
+                /* Close group */
+                H5Gclose(obj);
             }
 
-	    strcat(strcat(prefix, "/"), name);
-	    dump_function_table->dump_group_function(obj, name);
-	    strcpy(prefix, tmp);
-	    H5Gclose(obj);
-	}
+            break;
 
-	break;
+        case H5G_DATASET:
+            if ((obj = H5Dopen(group, name)) >= 0) {
+                /* hard link */
+                H5Gget_objinfo(obj, ".", TRUE, &statbuf);
 
-    case H5G_DATASET:
-	if ((obj = H5Dopen(group, name)) >= 0) {
-	    /* hard link */
-	    H5Gget_objinfo(obj, ".", TRUE, &statbuf);
+                if (statbuf.nlink > 1) {
+                    obj_t  *found_obj;    /* Found object */
 
-	    if (statbuf.nlink > 1) {
-                obj_t  *found_obj;    /* Found object */
+                    found_obj = search_obj(dset_table, statbuf.objno);
 
-		found_obj = search_obj(dset_table, statbuf.objno);
+                    if (found_obj == NULL) {
+                        indentation(indent);
+                        begin_obj(dump_header_format->datasetbegin, name,
+                                  dump_header_format->datasetblockbegin);
+                        indentation(indent + COL);
+                        error_msg(progname,
+                                  "internal error (file %s:line %d)\n",
+                                  __FILE__, __LINE__);
+                        indentation(indent);
+                        end_obj(dump_header_format->datasetend,
+                                dump_header_format->datasetblockend);
+                        d_status = EXIT_FAILURE;
+                        ret = FAIL;
+                        H5Dclose(obj);
+                        goto done;
+                    } else if (found_obj->displayed) {
+                        indentation(indent);
 
-		if (found_obj == NULL) {
-		    indentation(indent);
-		    begin_obj(dump_header_format->datasetbegin, name,
-			      dump_header_format->datasetblockbegin);
-		    indentation(indent + COL);
-                    error_msg(progname,
-                              "internal error (file %s:line %d)\n",
-                              __FILE__, __LINE__);
-		    indentation(indent);
-		    end_obj(dump_header_format->datasetend,
-			    dump_header_format->datasetblockend);
-		    d_status = EXIT_FAILURE;
-                    ret = FAIL;
-		    H5Dclose(obj);
-		    goto done;
-		} else if (found_obj->displayed) {
-		    indentation(indent);
+                        if (!doxml) {
+                            begin_obj(dump_header_format->datasetbegin, name,
+                                      dump_header_format->datasetblockbegin);
+                            indentation(indent + COL);
+                            printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
+                            indentation(indent);
+                            end_obj(dump_header_format->datasetend,
+                                    dump_header_format->datasetblockend);
+                        } else {
+                            /* the XML version */
+                            char *t_obj_path = xml_escape_the_name(obj_path);
+                            char *t_prefix = xml_escape_the_name(HDstrcmp(prefix,"") ? prefix : "/");
+                            char *t_name = xml_escape_the_name(name);
+                            char dsetxid[100];
+                            char parentxid[100];
+                            char pointerxid[100];
 
-		    if (!doxml) {
-			begin_obj(dump_header_format->datasetbegin, name,
-				  dump_header_format->datasetblockbegin);
-			indentation(indent + COL);
-			printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
-			indentation(indent);
-			end_obj(dump_header_format->datasetend,
-				dump_header_format->datasetblockend);
-		    } else {
-			/* the XML version */
-                        char *t_tmp;
-                        char *t_prefix;
-                        char *t_name;
-			char *dsetxid = malloc(100);
-			char *parentxid = malloc(100);
-			char *pointerxid = malloc(100);
-                        char *tx_tmp = malloc(strlen(tmp)+strlen(name)+1);
-				strcpy(tx_tmp,tmp);
-                        t_tmp = xml_escape_the_name(strcat(strcat(tx_tmp, "/"), name));
-                        t_prefix = xml_escape_the_name(prefix);
-                        t_name = xml_escape_the_name(name);
-			xml_name_to_XID( strcat(strcat(tmp,"/"),name), dsetxid,100,1);
-			xml_name_to_XID( prefix ,parentxid,100,1);
+                            /* Create OBJ-XIDs for the parent and object */
+                            xml_name_to_XID(obj_path, dsetxid, sizeof(dsetxid), 1);
+                            xml_name_to_XID(prefix, parentxid, sizeof(parentxid), 1);
 
-			printf("<%sDataset Name=\"%s\" OBJ-XID=\"%s-%d\" "
-                               "H5Path=\"%s\" Parents=\"%s\" "
-                               "H5ParentPaths=\"%s\">\n",
-				xmlnsprefix,
-			       t_name, dsetxid, get_next_xid(),
-				t_tmp, parentxid,
-			       (strcmp(prefix, "") ? t_prefix : "/"));
+                            printf("<%sDataset Name=\"%s\" OBJ-XID=\"%s-%d\" "
+                                   "H5Path=\"%s\" Parents=\"%s\" "
+                                   "H5ParentPaths=\"%s\">\n",
+                                    xmlnsprefix,
+                                    t_name,                     /* Dataset Name */
+                                    dsetxid, get_next_xid(),    /* OBJ-XID */
+                                    t_obj_path,                 /* H5Path */
+                                    parentxid,                  /* Parents */
+                                    t_prefix);                  /* H5ParentPaths */
 
-			indentation(indent + COL);
-			xml_name_to_XID(found_obj->objname,pointerxid,100,1);
-			printf("<%sDatasetPtr OBJ-XID=\"%s\" H5Path=\"%s\"/>\n",
-				xmlnsprefix,
-				pointerxid,t_tmp);
-			indentation(indent);
-			printf("</%sDataset>\n", xmlnsprefix);
+                            indentation(indent + COL);
+                            xml_name_to_XID(found_obj->objname, pointerxid, sizeof(pointerxid), 1);
+                            printf("<%sDatasetPtr OBJ-XID=\"%s\" H5Path=\"%s\"/>\n",
+                                    xmlnsprefix,
+                                    pointerxid,t_obj_path);
+                            indentation(indent);
+                            printf("</%sDataset>\n", xmlnsprefix);
 
-                        free(t_name);
-                        free(dsetxid);
-                        free(parentxid);
-                        free(pointerxid);
-                        free(t_tmp);
-                        free(tx_tmp);
-                        free(t_prefix);
-		    }
+                            HDfree(t_name);
+                            HDfree(t_obj_path);
+                            HDfree(t_prefix);
+                        }
 
-		    H5Dclose(obj);
-		    goto done;
-		} else {
-		    found_obj->displayed = TRUE;
+                        H5Dclose(obj);
+                        goto done;
+                    } else {
+                        found_obj->displayed = TRUE;
+                    }
+                } /* end if */
 
-		}
-	    }
+                dump_function_table->dump_dataset_function(obj, name, NULL);
+                H5Dclose(obj);
+            } else {
+                error_msg(progname, "unable to dump dataset \"%s\"\n", name);
+                d_status = EXIT_FAILURE;
+                ret = FAIL;
+            }
+            break;
 
-	    dump_function_table->dump_dataset_function(obj, name, NULL);
-	    H5Dclose(obj);
-	} else {
-            error_msg(progname, "unable to dump dataset \"%s\"\n", name);
-	    d_status = EXIT_FAILURE;
-            ret = FAIL;
-	}
-	break;
+        case H5G_TYPE:
+            if ((obj = H5Topen(group, name)) < 0) {
+                error_msg(progname, "unable to dump data type \"%s\"\n", name);
+                d_status = EXIT_FAILURE;
+                ret = FAIL;
+            } else {
+                dump_function_table->dump_named_datatype_function(obj, name);
+                H5Tclose(obj);
+            }
+            break;
 
-    case H5G_TYPE:
-	if ((obj = H5Topen(group, name)) < 0) {
-            error_msg(progname, "unable to dump data type \"%s\"\n", name);
-	    d_status = EXIT_FAILURE;
+        default:
+            error_msg(progname, "unknown object \"%s\"\n", name);
+            d_status = EXIT_FAILURE;
             ret = FAIL;
-	} else {
-	    dump_function_table->dump_named_datatype_function(obj, name);
-	    H5Tclose(obj);
-	}
-	break;
-
-    default:
-        error_msg(progname, "unknown object \"%s\"\n", name);
-	d_status = EXIT_FAILURE;
-	ret = FAIL;
     }
 
 done:
-    free(tmp);
+    if(obj_path)
+        HDfree(obj_path);
     return ret;
 }
 
@@ -1587,26 +1680,33 @@
  *
  * Programmer:  Ruey-Hsia Li
  *
- * Modifications: Comments: not yet implemented.
+ * Modifications: pvn March 27, 2006
+ *  add printing of attributes
  *
  *-------------------------------------------------------------------------
  */
 static void
 dump_named_datatype(hid_t type, const char *name)
 {
-    indentation(indent);
-    printf("%s \"%s\" %s", dump_header_format->datatypebegin, name,
-	   dump_header_format->datatypeblockbegin);
+ indentation(indent);
+ printf("%s \"%s\" %s", dump_header_format->datatypebegin, name,
+  dump_header_format->datatypeblockbegin);
 
-    if (H5Tget_class(type) == H5T_COMPOUND) {
-	print_datatype(type,1);
-    } else {
-	indentation(indent + COL);
-	print_datatype(type,1);
-	printf(";\n");
-    }
-    end_obj(dump_header_format->datatypeend,
-	    dump_header_format->datatypeblockend);
+ if (H5Tget_class(type) == H5T_COMPOUND) {
+  print_datatype(type,1);
+ } else {
+  indentation(indent + COL);
+  print_datatype(type,1);
+  printf(";\n");
+ }
+
+ /* print attributes */
+ indent += COL;
+ H5Aiterate(type, NULL, dump_attr, NULL);
+ indent -= COL;
+
+ end_obj(dump_header_format->datatypeend,
+  dump_header_format->datatypeblockend);
 }
 
 /*-------------------------------------------------------------------------
@@ -1632,28 +1732,28 @@
     char        type_name[1024], *tmp;
     int         xtype = H5G_UNKNOWN; /* dump all */
 
-    tmp = malloc(strlen(prefix) + strlen(name) + 2);
-    strcpy(tmp, prefix);
+    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
+    HDstrcpy(tmp, prefix);
     indentation(indent);
     begin_obj(dump_header_format->groupbegin, name,
-	      dump_header_format->groupblockbegin);
+          dump_header_format->groupblockbegin);
     indent += COL;
 
     if (display_oid)
-	    dump_oid(gid);
+        dump_oid(gid);
 
     dump_comment(gid);
 
-    if (!strcmp(name, "/") && unamedtype) {
+    if (!HDstrcmp(name, "/") && unamedtype) {
         unsigned u;             /* Local index variable */
 
-	/* dump unamed type in root group */
-	for (u = 0; u < type_table->nobjs; u++)
-	    if (!type_table->objs[u].recorded) {
-                unsigned long 	objno[2];	/*object number			*/
+    /* dump unamed type in root group */
+    for (u = 0; u < type_table->nobjs; u++)
+        if (!type_table->objs[u].recorded) {
+                unsigned long   objno[2];   /*object number         */
 
-		dset = H5Dopen(gid, type_table->objs[u].objname);
-		type = H5Dget_type(dset);
+        dset = H5Dopen(gid, type_table->objs[u].objname);
+        type = H5Dget_type(dset);
 
                 objno[0] = (unsigned long)(type_table->objs[u].objno);
 #if H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG
@@ -1661,12 +1761,12 @@
 #else /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
                 objno[1] = 0;
 #endif /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
-		sprintf(type_name, "#%lu:%lu", objno[0], objno[1]);
+        sprintf(type_name, "#%lu:%lu", objno[0], objno[1]);
                 dump_function_table->dump_named_datatype_function(type, type_name);
 
-		H5Tclose(type);
-		H5Dclose(dset);
-	    }
+        H5Tclose(type);
+        H5Dclose(dset);
+        }
     } /* end if */
 
     H5Gget_objinfo(gid, ".", TRUE, &statbuf);
@@ -1676,23 +1776,23 @@
 
         found_obj = search_obj(group_table, statbuf.objno);
 
-	if (found_obj == NULL) {
-	    indentation(indent);
+    if (found_obj == NULL) {
+        indentation(indent);
             error_msg(progname, "internal error (file %s:line %d)\n",
                       __FILE__, __LINE__);
-	    d_status = EXIT_FAILURE;
-	} else if (found_obj->displayed) {
-	    indentation(indent);
-	    printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
-	} else {
-	    found_obj->displayed = TRUE;
-	    H5Aiterate(gid, NULL, dump_attr, NULL);
-	    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
-	}
+        d_status = EXIT_FAILURE;
+    } else if (found_obj->displayed) {
+        indentation(indent);
+        printf("%s \"%s\"\n", HARDLINK, found_obj->objname);
     } else {
-	H5Aiterate(gid, NULL, dump_attr, NULL);
-	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
+        found_obj->displayed = TRUE;
+        H5Aiterate(gid, NULL, dump_attr, NULL);
+        H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
     }
+    } else {
+    H5Aiterate(gid, NULL, dump_attr, NULL);
+    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
+    }
 
     indent -= COL;
     indentation(indent);
@@ -1720,7 +1820,7 @@
 
     indentation(indent);
     begin_obj(dump_header_format->datasetbegin, name,
-	      dump_header_format->datasetblockbegin);
+          dump_header_format->datasetblockbegin);
     type = H5Dget_type(did);
     space = H5Dget_space(did);
     dcpl_id = H5Dget_create_plist(did);
@@ -1730,34 +1830,34 @@
     dump_dataspace(space);
 
     if (display_oid)
-     dump_oid(did);
+        dump_oid(did);
 
     if (display_dcpl)
-     dump_dcpl(dcpl_id, type, did);
+        dump_dcpl(dcpl_id, type, did);
 
     if (display_data)
-	switch (H5Tget_class(type)) {
-	case H5T_TIME:
-	    indentation(indent + COL);
-	    printf("DATA{ not yet implemented.}\n");
-	    break;
+    switch (H5Tget_class(type)) {
+            case H5T_TIME:
+                indentation(indent + COL);
+                printf("DATA{ not yet implemented.}\n");
+                break;
 
-	case H5T_INTEGER:
-	case H5T_FLOAT:
-	case H5T_STRING:
-	case H5T_BITFIELD:
-	case H5T_OPAQUE:
-	case H5T_COMPOUND:
-	case H5T_REFERENCE:
-	case H5T_ENUM:
-	case H5T_VLEN:
-	case H5T_ARRAY:
-	    dump_data(did, DATASET_DATA, sset, display_ai);
-	    break;
+            case H5T_INTEGER:
+            case H5T_FLOAT:
+            case H5T_STRING:
+            case H5T_BITFIELD:
+            case H5T_OPAQUE:
+            case H5T_COMPOUND:
+            case H5T_REFERENCE:
+            case H5T_ENUM:
+            case H5T_VLEN:
+            case H5T_ARRAY:
+                dump_data(did, DATASET_DATA, sset, display_ai);
+                break;
 
-	default:
-	    break;
-	}
+            default:
+                break;
+    }
 
     indent += COL;
     H5Aiterate(did, NULL, dump_attr, NULL);
@@ -1767,7 +1867,7 @@
     H5Pclose(dcpl_id);
     indentation(indent);
     end_obj(dump_header_format->datasetend,
-	    dump_header_format->datasetblockend);
+        dump_header_format->datasetblockend);
 }
 
 /*-------------------------------------------------------------------------
@@ -1787,16 +1887,17 @@
 static void
 dump_dims(hsize_t *s, int dims)
 {
-    register int i;
+    int i;
 
     for (i = 0; i < dims; i++) {
-        printf("%u", (unsigned int)s[i]);
+        printf(HSIZE_T_FORMAT, s[i]);
 
         if (i + 1 != dims)
             printf(", ");
     }
 }
 
+
 /*-------------------------------------------------------------------------
  * Function:    dump_subsetting_header
  *
@@ -1868,15 +1969,15 @@
  * Programmer:  Ruey-Hsia Li
  *
  * Modifications: pvn, print the matrix indices
- *	Albert Cheng, 2004/11/18
- *	Add --string printing for attributes too.
+ *  Albert Cheng, 2004/11/18
+ *  Add --string printing for attributes too.
  *
  *-------------------------------------------------------------------------
  */
 static void
-dump_data(hid_t obj_id, int obj_data, struct subset_t *sset, int pindex)
+dump_data(hid_t obj_id, int obj_data, struct subset_t *sset, int display_index)
 {
-    h5dump_t   *outputformat = &dataformat;
+    h5tool_format_t   *outputformat = &dataformat;
     int         status = -1;
     void       *buf;
     hid_t       space, type, p_type;
@@ -1884,18 +1985,17 @@
     int         ndims, i;
     hsize_t     size[64], nelmts = 1, alloc_size;
     int         depth;
-    int         stdindent = COL;	/* should be 3 */
+    int         stdindent = COL;    /* should be 3 */
 
     outputformat->line_ncols = nCols;
     outputformat->do_escape=display_escape;
     /* print the matrix indices */
-    outputformat->pindex=pindex;
-    if (outputformat->pindex)
-    {
-     outputformat->idx_fmt   = "(%s): ";
-     outputformat->idx_n_fmt = "%lu";
-     outputformat->idx_sep   = ",";
-     outputformat->line_pre  = "%s";
+    outputformat->pindex=display_index;
+    if (outputformat->pindex) {
+        outputformat->idx_fmt   = "(%s): ";
+        outputformat->idx_n_fmt = HSIZE_T_FORMAT;
+        outputformat->idx_sep   = ",";
+        outputformat->line_pre  = "%s";
     }
 
     indent += COL;
@@ -1920,13 +2020,13 @@
 
     indentation(indent);
     begin_obj(dump_header_format->databegin, (const char *)NULL,
-	      dump_header_format->datablockbegin);
+          dump_header_format->datablockbegin);
 
     /* Print all the values. */
     if (obj_data == DATASET_DATA) {
         hid_t       f_type = H5Dget_type(obj_id);
         char        string_prefix[64];
-        h5dump_t    string_dataformat;
+        h5tool_format_t    string_dataformat;
 
         if (display_char && H5Tget_size(f_type) == 1 && H5Tget_class(f_type) == H5T_INTEGER) {
             /*
@@ -1955,8 +2055,8 @@
             outputformat = &string_dataformat;
         }
 
+        status = h5tools_dump_dset(stdout, outputformat, obj_id, -1, sset, depth);
 
-	status = h5tools_dump_dset(stdout, outputformat, obj_id, -1, sset, depth);
         H5Tclose(f_type);
     } else {
         /* need to call h5tools_dump_mem for the attribute data */
@@ -1965,8 +2065,8 @@
         if(space_type == H5S_NO_CLASS || space_type == H5S_COMPLEX) {
             status = SUCCEED;
         } else {
-	    char        string_prefix[64];
-	    h5dump_t    string_dataformat;
+            char        string_prefix[64];
+            h5tool_format_t    string_dataformat;
 
             type = H5Aget_type(obj_id);
             p_type = h5tools_get_native_type(type);
@@ -1983,35 +2083,35 @@
             assert(buf);
 
             if (H5Aread(obj_id, p_type, buf) >= 0)
-		if (display_char && H5Tget_size(type) == 1 && H5Tget_class(type) == H5T_INTEGER) {
-		    /*
-		     * Print 1-byte integer data as an ASCII character string
-		     * instead of integers if the `-r' or `--string' command-line
-		     * option was given.
-		     *
-		     * We don't want to modify the global dataformat, so make a
-		     * copy of it instead.
-		     */
-		    string_dataformat = *outputformat;
-		    string_dataformat.idx_fmt = " ";
-		    string_dataformat.line_multi_new = 1;
-		    string_dataformat.line_1st = "        %s\"";
-		    string_dataformat.line_pre = "        %s";
-		    string_dataformat.line_cont = "        %s";
-		    string_dataformat.str_repeat = 8;
-		    string_dataformat.ascii = TRUE;
-		    string_dataformat.elmt_suf1 = "";
-		    string_dataformat.elmt_suf2 = "";
-		    string_dataformat.line_indent = "";
-		    strcpy(string_prefix, string_dataformat.line_pre);
-		    strcat(string_prefix, "\"");
-		    string_dataformat.line_pre = string_prefix;
-		    string_dataformat.line_suf = "\"";
-		    outputformat = &string_dataformat;
-		}
+                if (display_char && H5Tget_size(type) == 1 && H5Tget_class(type) == H5T_INTEGER) {
+                    /*
+                     * Print 1-byte integer data as an ASCII character string
+                     * instead of integers if the `-r' or `--string' command-line
+                     * option was given.
+                     *
+                     * We don't want to modify the global dataformat, so make a
+                     * copy of it instead.
+                     */
+                    string_dataformat = *outputformat;
+                    string_dataformat.idx_fmt = " ";
+                    string_dataformat.line_multi_new = 1;
+                    string_dataformat.line_1st = "        %s\"";
+                    string_dataformat.line_pre = "        %s";
+                    string_dataformat.line_cont = "        %s";
+                    string_dataformat.str_repeat = 8;
+                    string_dataformat.ascii = TRUE;
+                    string_dataformat.elmt_suf1 = "";
+                    string_dataformat.elmt_suf2 = "";
+                    string_dataformat.line_indent = "";
+                    strcpy(string_prefix, string_dataformat.line_pre);
+                    strcat(string_prefix, "\"");
+                    string_dataformat.line_pre = string_prefix;
+                    string_dataformat.line_suf = "\"";
+                    outputformat = &string_dataformat;
+                }
 
-                status = h5tools_dump_mem(stdout, outputformat, obj_id, p_type,
-                                        space, buf, depth);
+            status = h5tools_dump_mem(stdout, outputformat, obj_id, p_type,
+                                    space, buf, depth);
 
             free(buf);
             H5Tclose(p_type);
@@ -2074,15 +2174,15 @@
 
 static void dump_comment(hid_t obj_id)
 {
- char comment[50];
+    char comment[50];
 
- comment[0] = '\0';
- H5Gget_comment(obj_id, ".", sizeof(comment), comment);
+    comment[0] = '\0';
+    H5Gget_comment(obj_id, ".", sizeof(comment), comment);
 
- if (comment[0]) {
-  indentation(indent);
-  printf("COMMENT \"%s\"\n", comment);
- }
+    if (comment[0]) {
+        indentation(indent);
+        printf("COMMENT \"%s\"\n", comment);
+    }
 }
 
 
@@ -2102,11 +2202,11 @@
 
 static void dump_fill_value(hid_t dcpl,hid_t type_id, hid_t obj_id)
 {
-    h5tools_context_t	ctx;			/*print context		*/
+    h5tools_context_t   ctx;            /*print context     */
     size_t            size;
     void              *buf=NULL;
     hsize_t           nelmts=1;
-    h5dump_t          *outputformat = &dataformat;
+    h5tool_format_t          *outputformat = &dataformat;
     hid_t             n_type;
 
     memset(&ctx, 0, sizeof(ctx));
@@ -2143,302 +2243,290 @@
 static void
 dump_dcpl(hid_t dcpl_id,hid_t type_id, hid_t obj_id)
 {
- int              nfilters;       /* number of filters */
- unsigned         filt_flags;     /* filter flags */
- H5Z_filter_t     filtn;          /* filter identification number */
- unsigned         cd_values[20];  /* filter client data values */
- size_t           cd_nelmts;      /* filter client number of values */
- char             f_name[256];    /* filter name */
- unsigned         szip_options_mask;
- unsigned         szip_pixels_per_block;
- hsize_t          chsize[64];     /* chunk size in elements */
- int              rank;           /* rank */
- char	            name[256];		    /* external file name		*/
- off_t            offset;         /* offset of external file 	*/
- hsize_t          size;           /* size of external file 	*/
- H5D_fill_value_t fvstatus;
- H5D_alloc_time_t at;
- H5D_fill_time_t  ft;
- hsize_t          storage_size;
- haddr_t          ioffset;
- int              i, next;
- unsigned         j;
+    int              nfilters;       /* number of filters */
+    unsigned         filt_flags;     /* filter flags */
+    H5Z_filter_t     filtn;          /* filter identification number */
+    unsigned         cd_values[20];  /* filter client data values */
+    size_t           cd_nelmts;      /* filter client number of values */
+    char             f_name[256];    /* filter name */
+    unsigned         szip_options_mask;
+    unsigned         szip_pixels_per_block;
+    hsize_t          chsize[64];     /* chunk size in elements */
+    int              rank;           /* rank */
+    char                name[256];          /* external file name       */
+    off_t            offset;         /* offset of external file     */
+    hsize_t          size;           /* size of external file   */
+    H5D_fill_value_t fvstatus;
+    H5D_alloc_time_t at;
+    H5D_fill_time_t  ft;
+    hsize_t          storage_size;
+    haddr_t          ioffset;
+    int              i, next;
+    unsigned         j;
 
- storage_size=H5Dget_storage_size(obj_id);
- ioffset=H5Dget_offset(obj_id);
- next=H5Pget_external_count(dcpl_id);
- strcpy(f_name,"\0");
+    storage_size=H5Dget_storage_size(obj_id);
+    ioffset=H5Dget_offset(obj_id);
+    next=H5Pget_external_count(dcpl_id);
+    strcpy(f_name,"\0");
 
-/*-------------------------------------------------------------------------
- * STORAGE_LAYOUT
- *-------------------------------------------------------------------------
- */
- indentation(indent + COL);
- printf("%s %s\n", STORAGE_LAYOUT, BEGIN);
-
- if (H5D_CHUNKED == H5Pget_layout(dcpl_id))
- {
-   /*start indent */
-  indent += COL;
-  indentation(indent + COL);
-  printf("%s ", CHUNKED);
-  rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize);
-  HDfprintf(stdout,"%s %Hu", dump_header_format->dataspacedimbegin, chsize[0]);
-  for ( i=1; i<rank; i++)
-   HDfprintf(stdout, ", %Hu", chsize[i]);
-	 printf(" %s\n", dump_header_format->dataspacedimend);
-  indentation(indent + COL);
-  HDfprintf(stdout, "SIZE %Hu\n ", storage_size);
-  /*end indent */
-  indent -= COL;
-  indentation(indent + COL);
-  printf("%s\n",END);
- }
- else if (H5D_COMPACT == H5Pget_layout(dcpl_id))
- {
-  /*start indent */
-  indent += COL;
-  indentation(indent + COL);
-  printf("%s\n", COMPACT);
-  indentation(indent + COL);
-  HDfprintf(stdout, "SIZE %Hu\n", storage_size);
-  /*end indent */
-  indent -= COL;
-  indentation(indent + COL);
-  printf("%s\n",END);
- }
- else if (H5D_CONTIGUOUS == H5Pget_layout(dcpl_id))
- {
- /*-------------------------------------------------------------------------
-  * EXTERNAL_FILE
-  *-------------------------------------------------------------------------
-  */
-  if (next)
-  {
-   /*start indent */
-   indent += COL;
-   indentation(indent + COL);
-   printf("%s\n", CONTIGUOUS);
-   indentation(indent + COL);
-   printf("%s %s\n", EXTERNAL, BEGIN);
-   /*start indent */
-   indent += COL;
-   for ( j=0; j<(unsigned)next; j++) {
-    H5Pget_external(dcpl_id,j,sizeof(name),name,&offset,&size);
+    /*-------------------------------------------------------------------------
+    * STORAGE_LAYOUT
+    *-------------------------------------------------------------------------
+    */
     indentation(indent + COL);
-    HDfprintf(stdout,"FILENAME %s SIZE %Hu OFFSET %ld\n",name,size,offset);
-   }
-   /*end indent */
-   indent -= COL;
-   indentation(indent + COL);
-   printf("%s\n",END);
-   /*end indent */
-   indent -= COL;
-   indentation(indent + COL);
-   printf("%s\n",END);
-  }
-  else
-  {
-   /*start indent */
-   indent += COL;
-   indentation(indent + COL);
-   printf("%s\n", CONTIGUOUS);
-   indentation(indent + COL);
-   HDfprintf(stdout,"SIZE %Hu\n", storage_size);
-   indentation(indent + COL);
-   HDfprintf(stdout,"OFFSET %Hu\n", ioffset);
-   /*end indent */
-   indent -= COL;
-   indentation(indent + COL);
-   printf("%s\n",END);
-  }
- }
-/*-------------------------------------------------------------------------
- * FILTERS
- *-------------------------------------------------------------------------
- */
- nfilters = H5Pget_nfilters(dcpl_id);
+    printf("%s %s\n", STORAGE_LAYOUT, BEGIN);
 
- indentation(indent + COL);
- printf("%s %s\n", FILTERS, BEGIN);
- indent += COL;
+    if (H5D_CHUNKED == H5Pget_layout(dcpl_id)) {
+        /*start indent */
+        indent += COL;
+        indentation(indent + COL);
+        printf("%s ", CHUNKED);
 
- if (nfilters)
- {
-  for (i=0; i<nfilters; i++)
-  {
-   cd_nelmts = NELMTS(cd_values);
-   filtn = H5Pget_filter(dcpl_id,
-    (unsigned)i,
-    &filt_flags,
-    &cd_nelmts,
-    cd_values,
-    sizeof(f_name),
-    f_name);
+        rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize);
+        HDfprintf(stdout,"%s %Hu", dump_header_format->dataspacedimbegin, chsize[0]);
+        for ( i=1; i<rank; i++)
+            HDfprintf(stdout, ", %Hu", chsize[i]);
+        printf(" %s\n", dump_header_format->dataspacedimend);
+        indentation(indent + COL);
+        HDfprintf(stdout, "SIZE %Hu\n ", storage_size);
 
-   switch (filtn)
-   {
-   case H5Z_FILTER_DEFLATE:
+        /*end indent */
+        indent -= COL;
+        indentation(indent + COL);
+        printf("%s\n",END);
+    }
+    else if (H5D_COMPACT == H5Pget_layout(dcpl_id)) {
+        /*start indent */
+        indent += COL;
+        indentation(indent + COL);
+        printf("%s\n", COMPACT);
+
+        indentation(indent + COL);
+        HDfprintf(stdout, "SIZE %Hu\n", storage_size);
+
+        /*end indent */
+        indent -= COL;
+        indentation(indent + COL);
+        printf("%s\n",END);
+    }
+    else if (H5D_CONTIGUOUS == H5Pget_layout(dcpl_id)) {
+        /*-------------------------------------------------------------------------
+        * EXTERNAL_FILE
+        *-------------------------------------------------------------------------
+        */
+        if (next) {
+            /*start indent */
+            indent += COL;
+            indentation(indent + COL);
+            printf("%s\n", CONTIGUOUS);
+
+            indentation(indent + COL);
+            printf("%s %s\n", EXTERNAL, BEGIN);
+
+            /*start indent */
+            indent += COL;
+            for ( j=0; j<(unsigned)next; j++) {
+                H5Pget_external(dcpl_id,j,sizeof(name),name,&offset,&size);
+                indentation(indent + COL);
+                HDfprintf(stdout,"FILENAME %s SIZE %Hu OFFSET %ld\n",name,size,offset);
+            }
+            /*end indent */
+            indent -= COL;
+            indentation(indent + COL);
+            printf("%s\n",END);
+
+            /*end indent */
+            indent -= COL;
+            indentation(indent + COL);
+            printf("%s\n",END);
+        }
+        else {
+            /*start indent */
+            indent += COL;
+            indentation(indent + COL);
+            printf("%s\n", CONTIGUOUS);
+
+            indentation(indent + COL);
+            HDfprintf(stdout,"SIZE %Hu\n", storage_size);
+            indentation(indent + COL);
+            HDfprintf(stdout,"OFFSET %Hu\n", ioffset);
+
+            /*end indent */
+            indent -= COL;
+            indentation(indent + COL);
+            printf("%s\n",END);
+        }
+    }
+    /*-------------------------------------------------------------------------
+    * FILTERS
+    *-------------------------------------------------------------------------
+    */
+    nfilters = H5Pget_nfilters(dcpl_id);
+
     indentation(indent + COL);
-    printf("%s %s %s %d %s\n", DEFLATE, BEGIN, DEFLATE_LEVEL, cd_values[0], END);
-    break;
-   case H5Z_FILTER_SHUFFLE:
-    indentation(indent + COL);
-    printf("%s\n", SHUFFLE);
-    break;
-   case H5Z_FILTER_FLETCHER32:
-    indentation(indent + COL);
-    printf("%s\n", FLETCHER32);
-    break;
-   case H5Z_FILTER_SZIP:
-    {
-     szip_options_mask=cd_values[0];;
-     szip_pixels_per_block=cd_values[1];
+    printf("%s %s\n", FILTERS, BEGIN);
+    indent += COL;
 
-     indentation(indent + COL);
-     printf("%s %s\n",SZIP, BEGIN);
+    if (nfilters) {
+        for (i=0; i<nfilters; i++) {
+            cd_nelmts = NELMTS(cd_values);
+            filtn = H5Pget_filter(dcpl_id, (unsigned)i, &filt_flags, &cd_nelmts,
+                cd_values, sizeof(f_name), f_name);
 
-     /*start indent */
-     indent += COL;
-     indentation(indent + COL);
-     printf("PIXELS_PER_BLOCK %d\n", szip_pixels_per_block);
+            switch (filtn) {
+                case H5Z_FILTER_DEFLATE:
+                    indentation(indent + COL);
+                    printf("%s %s %s %d %s\n", DEFLATE, BEGIN, DEFLATE_LEVEL, cd_values[0], END);
+                    break;
+                case H5Z_FILTER_SHUFFLE:
+                    indentation(indent + COL);
+                    printf("%s\n", SHUFFLE);
+                    break;
+                case H5Z_FILTER_FLETCHER32:
+                    indentation(indent + COL);
+                    printf("%s\n", FLETCHER32);
+                    break;
+                case H5Z_FILTER_SZIP:
+                    {
+                        szip_options_mask=cd_values[0];;
+                        szip_pixels_per_block=cd_values[1];
 
-     indentation(indent + COL);
-     if (szip_options_mask & H5_SZIP_CHIP_OPTION_MASK)
-      printf("MODE %s\n", "HARDWARE");
-     else if (szip_options_mask & H5_SZIP_ALLOW_K13_OPTION_MASK)
-      printf("MODE %s\n", "K13");
+                        indentation(indent + COL);
+                        printf("%s %s\n",SZIP, BEGIN);
 
-     indentation(indent + COL);
-     if (szip_options_mask & H5_SZIP_EC_OPTION_MASK)
-      printf("CODING %s\n", "ENTROPY");
-     else if (szip_options_mask & H5_SZIP_NN_OPTION_MASK)
-      printf("CODING %s\n", "NEAREST NEIGHBOUR");
+                        /*start indent */
+                        indent += COL;
+                        indentation(indent + COL);
+                        printf("PIXELS_PER_BLOCK %d\n", szip_pixels_per_block);
 
-     indentation(indent + COL);
-     if (szip_options_mask & H5_SZIP_LSB_OPTION_MASK)
-      printf("BYTE_ORDER %s\n", "LSB");
-     else if (szip_options_mask & H5_SZIP_MSB_OPTION_MASK)
-      printf("BYTE_ORDER %s\n", "MSB");
+                        indentation(indent + COL);
+                        if (szip_options_mask & H5_SZIP_CHIP_OPTION_MASK)
+                            printf("MODE %s\n", "HARDWARE");
+                        else if (szip_options_mask & H5_SZIP_ALLOW_K13_OPTION_MASK)
+                            printf("MODE %s\n", "K13");
 
-     indentation(indent + COL);
-     if (szip_options_mask & H5_SZIP_RAW_OPTION_MASK)
-      printf("HEADER %s\n", "RAW");
+                        indentation(indent + COL);
+                        if (szip_options_mask & H5_SZIP_EC_OPTION_MASK)
+                            printf("CODING %s\n", "ENTROPY");
+                        else if (szip_options_mask & H5_SZIP_NN_OPTION_MASK)
+                            printf("CODING %s\n", "NEAREST NEIGHBOUR");
 
-     /*end indent */
-     indent -= COL;
-     indentation(indent + COL);
-     printf("%s\n",END);
+                        indentation(indent + COL);
+                        if (szip_options_mask & H5_SZIP_LSB_OPTION_MASK)
+                            printf("BYTE_ORDER %s\n", "LSB");
+                        else if (szip_options_mask & H5_SZIP_MSB_OPTION_MASK)
+                            printf("BYTE_ORDER %s\n", "MSB");
+
+                        indentation(indent + COL);
+                        if (szip_options_mask & H5_SZIP_RAW_OPTION_MASK)
+                            printf("HEADER %s\n", "RAW");
+
+                        /*end indent */
+                        indent -= COL;
+                        indentation(indent + COL);
+                        printf("%s\n",END);
+                    }
+                    break;
+                default:
+                    indentation(indent + COL);
+                    if (H5Zfilter_avail(filtn))
+                        printf("%s %s\n", "USER_REGISTERED_FILTER", BEGIN);
+                    else
+                        printf("%s %s\n", "UNKNOWN_FILTER", BEGIN);
+                    /*start indent */
+                    indent += COL;
+                    indentation(indent + COL);
+                    printf("FILTER_ID %d\n", filtn);
+                    if (f_name[0]!='\0') {
+                        indentation(indent + COL);
+                        printf("COMMENT %s\n", f_name);
+                    }
+                    if (cd_nelmts) {
+                        indentation(indent + COL);
+                        printf("%s %s ","PARAMS", BEGIN);
+                        for (j=0; j<cd_nelmts; j++)
+                            printf("%d ", cd_values[j]);
+                        printf("%s\n", END);
+                    }
+                    break;
+            }/*switch*/
+        } /*i*/
+    }/*nfilters*/
+    else {
+        indentation(indent + COL);
+        printf("NONE\n");
     }
-    break;
-   default:
+    indent -= COL;
     indentation(indent + COL);
-    if (H5Zfilter_avail(filtn))
-     printf("%s %s\n", "USER_REGISTERED_FILTER", BEGIN);
+    printf("%s\n",END);
+
+    /*-------------------------------------------------------------------------
+    * FILLVALUE
+    *-------------------------------------------------------------------------
+    */
+    indentation(indent + COL);
+    printf("%s %s\n", FILLVALUE, BEGIN);
+    /*start indent */
+    indent += COL;
+    indentation(indent + COL);
+    printf("FILL_TIME ");
+    H5Pget_fill_time(dcpl_id, &ft);
+    switch ( ft ) {
+        case H5D_FILL_TIME_ALLOC:
+            printf("%s", "H5D_FILL_TIME_ALLOC\n");
+            break;
+        case H5D_FILL_TIME_NEVER:
+            printf("%s", "H5D_FILL_TIME_NEVER\n");
+            break;
+        case H5D_FILL_TIME_IFSET:
+            printf("%s", "H5D_FILL_TIME_IFSET\n");
+            break;
+        default:
+            assert(0);
+            break;
+    }
+    indentation(indent + COL);
+    printf("%s ", "VALUE ");
+    H5Pfill_value_defined(dcpl_id, &fvstatus);
+    if (fvstatus == H5D_FILL_VALUE_UNDEFINED)
+        printf("%s\n", "H5D_FILL_VALUE_UNDEFINED");
     else
-     printf("%s %s\n", "UNKNOWN_FILTER", BEGIN);
+        dump_fill_value(dcpl_id,type_id,obj_id);
+    /* end indent */
+    indent -= COL;
+    indentation(indent + COL);
+    printf("\n");
+    indentation(indent + COL);
+    printf("%s\n",END);
+
+    /*-------------------------------------------------------------------------
+    * ALLOCATION_TIME
+    *-------------------------------------------------------------------------
+    */
+    indentation(indent + COL);
+    printf("ALLOCATION_TIME %s\n",BEGIN);
     /*start indent */
     indent += COL;
     indentation(indent + COL);
-    printf("FILTER_ID %d\n", filtn);
-    if (f_name[0]!='\0') {
-     indentation(indent + COL);
-     printf("COMMENT %s\n", f_name);
+    H5Pget_alloc_time(dcpl_id, &at);
+    switch (at) {
+        case H5D_ALLOC_TIME_EARLY:
+            printf("%s", "H5D_ALLOC_TIME_EARLY\n");
+            break;
+        case H5D_ALLOC_TIME_INCR:
+            printf("%s", "H5D_ALLOC_TIME_INCR\n");
+            break;
+        case H5D_ALLOC_TIME_LATE:
+            printf("%s", "H5D_ALLOC_TIME_LATE\n");
+            break;
+        default:
+            assert(0);
+            break;
     }
-    if (cd_nelmts) {
-     indentation(indent + COL);
-     printf("%s %s ","PARAMS", BEGIN);
-     for (j=0; j<cd_nelmts; j++) {
-      printf("%d ", cd_values[j]);
-     }
-     printf("%s\n", END);
-    }
-    break;
-   }/*switch*/
-  } /*i*/
- }/*nfilters*/
- else
- {
-  indentation(indent + COL);
-  printf("NONE\n");
- }
- indent -= COL;
- indentation(indent + COL);
- printf("%s\n",END);
-
-/*-------------------------------------------------------------------------
- * FILLVALUE
- *-------------------------------------------------------------------------
- */
- indentation(indent + COL);
- printf("%s %s\n", FILLVALUE, BEGIN);
- /*start indent */
- indent += COL;
- indentation(indent + COL);
- printf("FILL_TIME ");
- H5Pget_fill_time(dcpl_id, &ft);
- switch ( ft )
- {
-    case H5D_FILL_TIME_ALLOC:
-        printf("%s", "H5D_FILL_TIME_ALLOC\n");
-        break;
-    case H5D_FILL_TIME_NEVER:
-        printf("%s", "H5D_FILL_TIME_NEVER\n");
-        break;
-    case H5D_FILL_TIME_IFSET:
-        printf("%s", "H5D_FILL_TIME_IFSET\n");
-        break;
-    default:
-        assert(0);
-        break;
- }
- indentation(indent + COL);
- printf("%s ", "VALUE ");
- H5Pfill_value_defined(dcpl_id, &fvstatus);
- if (fvstatus == H5D_FILL_VALUE_UNDEFINED)
- {
-  printf("%s\n", "H5D_FILL_VALUE_UNDEFINED");
- }
- else
- {
-  dump_fill_value(dcpl_id,type_id,obj_id);
- }
- /* end indent */
- indent -= COL;
- indentation(indent + COL);
- printf("\n");
- indentation(indent + COL);
- printf("%s\n",END);
-
-/*-------------------------------------------------------------------------
- * ALLOCATION_TIME
- *-------------------------------------------------------------------------
- */
- indentation(indent + COL);
- printf("ALLOCATION_TIME %s\n",BEGIN);
- /*start indent */
- indent += COL;
- indentation(indent + COL);
- H5Pget_alloc_time(dcpl_id, &at);
- switch (at)
- {
-    case H5D_ALLOC_TIME_EARLY:
-        printf("%s", "H5D_ALLOC_TIME_EARLY\n");
-        break;
-    case H5D_ALLOC_TIME_INCR:
-        printf("%s", "H5D_ALLOC_TIME_INCR\n");
-        break;
-    case H5D_ALLOC_TIME_LATE:
-        printf("%s", "H5D_ALLOC_TIME_LATE\n");
-        break;
-    default:
-        assert(0);
-        break;
- }
- /* end indent */
- indent -= COL;
- indentation(indent + COL);
- printf("%s\n",END);
+    /* end indent */
+    indent -= COL;
+    indentation(indent + COL);
+    printf("%s\n",END);
 }
 
 /*-------------------------------------------------------------------------
@@ -2457,112 +2545,94 @@
 static void
 dump_fcpl(hid_t fid)
 {
- hid_t    fcpl;      /* file creation property list ID */
- hid_t		  fapl;      /* file access property list ID */
- hsize_t  userblock; /* userblock size retrieved from FCPL */
- size_t   off_size;  /* size of offsets in the file */
- size_t   len_size;  /* size of lengths in the file */
- unsigned super;     /* superblock version # */
- unsigned freelist;  /* free list version # */
- unsigned stab;      /* symbol table entry version # */
- unsigned shhdr;     /* shared object header version # */
- hid_t    fdriver;    /* file driver */
- char     dname[15]; /* buffer to store driver name */
+    hid_t    fcpl;      /* file creation property list ID */
+    hid_t         fapl;      /* file access property list ID */
+    hsize_t  userblock; /* userblock size retrieved from FCPL */
+    size_t   off_size;  /* size of offsets in the file */
+    size_t   len_size;  /* size of lengths in the file */
+    unsigned super;     /* superblock version # */
+    unsigned freelist;  /* free list version # */
+    unsigned stab;      /* symbol table entry version # */
+    unsigned shhdr;     /* shared object header version # */
+    hid_t    fdriver;    /* file driver */
+    char     dname[15]; /* buffer to store driver name */
 #ifdef H5_WANT_H5_V1_4_COMPAT
- int      sym_lk;
- int      sym_ik;    /* symbol table B-tree internal 'K' value */
+     int      sym_lk;
+     int      sym_ik;    /* symbol table B-tree internal 'K' value */
 #else
- unsigned sym_lk;    /* symbol table B-tree leaf 'K' value */
- unsigned sym_ik;    /* symbol table B-tree internal 'K' value */
+    unsigned sym_lk;    /* symbol table B-tree leaf 'K' value */
+    unsigned sym_ik;    /* symbol table B-tree internal 'K' value */
 #endif
- unsigned istore_ik; /* indexed storage B-tree internal 'K' value */
+    unsigned istore_ik; /* indexed storage B-tree internal 'K' value */
 
- fcpl=H5Fget_create_plist(fid);
- H5Pget_version(fcpl, &super, &freelist, &stab, &shhdr);
- H5Pget_userblock(fcpl,&userblock);
- H5Pget_sizes(fcpl,&off_size,&len_size);
- H5Pget_sym_k(fcpl,&sym_ik,&sym_lk);
- H5Pget_istore_k(fcpl,&istore_ik);
- H5Pclose(fcpl);
- fapl=h5_fileaccess();
- fdriver=H5Pget_driver(fapl);
- H5Pclose(fapl);
+    fcpl=H5Fget_create_plist(fid);
+    H5Pget_version(fcpl, &super, &freelist, &stab, &shhdr);
+    H5Pget_userblock(fcpl,&userblock);
+    H5Pget_sizes(fcpl,&off_size,&len_size);
+    H5Pget_sym_k(fcpl,&sym_ik,&sym_lk);
+    H5Pget_istore_k(fcpl,&istore_ik);
+    H5Pclose(fcpl);
+    fapl=h5_fileaccess();
+    fdriver=H5Pget_driver(fapl);
+    H5Pclose(fapl);
 
-/*-------------------------------------------------------------------------
- * SUPER_BLOCK
- *-------------------------------------------------------------------------
- */
- printf("%s %s\n",SUPER_BLOCK, BEGIN);
- indentation(indent + COL);
- printf("%s %u\n","SUPERBLOCK_VERSION", super);
- indentation(indent + COL);
- printf("%s %u\n","FREELIST_VERSION", freelist);
- indentation(indent + COL);
- printf("%s %u\n","SYMBOLTABLE_VERSION", stab);
- indentation(indent + COL);
- printf("%s %u\n","OBJECTHEADER_VERSION", shhdr);
- indentation(indent + COL);
- HDfprintf(stdout,"%s %Hd\n","OFFSET_SIZE", (long_long)off_size);
- indentation(indent + COL);
- HDfprintf(stdout,"%s %Hd\n","LENGTH_SIZE", (long_long)len_size);
- indentation(indent + COL);
- printf("%s %u\n","BTREE_RANK", sym_ik);
- indentation(indent + COL);
- printf("%s %d\n","BTREE_LEAF", sym_lk);
+    /*-------------------------------------------------------------------------
+    * SUPER_BLOCK
+    *-------------------------------------------------------------------------
+    */
+    printf("%s %s\n",SUPER_BLOCK, BEGIN);
+    indentation(indent + COL);
+    printf("%s %u\n","SUPERBLOCK_VERSION", super);
+    indentation(indent + COL);
+    printf("%s %u\n","FREELIST_VERSION", freelist);
+    indentation(indent + COL);
+    printf("%s %u\n","SYMBOLTABLE_VERSION", stab);
+    indentation(indent + COL);
+    printf("%s %u\n","OBJECTHEADER_VERSION", shhdr);
+    indentation(indent + COL);
+    HDfprintf(stdout,"%s %Hd\n","OFFSET_SIZE", (long_long)off_size);
+    indentation(indent + COL);
+    HDfprintf(stdout,"%s %Hd\n","LENGTH_SIZE", (long_long)len_size);
+    indentation(indent + COL);
+    printf("%s %u\n","BTREE_RANK", sym_ik);
+    indentation(indent + COL);
+    printf("%s %d\n","BTREE_LEAF", sym_lk);
 
- if (H5FD_CORE==fdriver)
- {
-  strcpy(dname,"H5FD_CORE");
- }
- else if (H5FD_FAMILY==fdriver)
- {
-  strcpy(dname,"H5FD_FAMILY");
- }
- else if (H5FD_GASS==fdriver)
- {
-  strcpy(dname,"H5FD_GASS");
- }
- else if (H5FD_LOG==fdriver)
- {
-  strcpy(dname,"H5FD_LOG");
- }
- else if (H5FD_MPIO==fdriver)
- {
-  strcpy(dname,"H5FD_MPIO");
- }
- else if (H5FD_MULTI==fdriver)
- {
-  strcpy(dname,"H5FD_MULTI");
- }
- else if (H5FD_SEC2==fdriver)
- {
-  strcpy(dname,"H5FD_SEC2");
- }
- else if (H5FD_STDIO==fdriver)
- {
-  strcpy(dname,"H5FD_STDIO");
- }
+    if (H5FD_CORE==fdriver)
+        HDstrcpy(dname,"H5FD_CORE");
+    else if (H5FD_FAMILY==fdriver)
+        HDstrcpy(dname,"H5FD_FAMILY");
+     else if (H5FD_GASS==fdriver)
+        HDstrcpy(dname,"H5FD_GASS");
+     else if (H5FD_LOG==fdriver)
+        HDstrcpy(dname,"H5FD_LOG");
+    else if (H5FD_MPIO==fdriver)
+        HDstrcpy(dname,"H5FD_MPIO");
+    else if (H5FD_MULTI==fdriver)
+        HDstrcpy(dname,"H5FD_MULTI");
+    else if (H5FD_SEC2==fdriver)
+        HDstrcpy(dname,"H5FD_SEC2");
+    else if (H5FD_STDIO==fdriver)
+        HDstrcpy(dname,"H5FD_STDIO");
 #ifdef H5_HAVE_STREAM
- else if (H5FD_STREAM==fdriver)
- {
-  strcpy(dname,"H5FD_STREAM");
- }
+    else if (H5FD_STREAM==fdriver)
+        HDstrcpy(dname,"H5FD_STREAM");
 #endif
 
- indentation(indent + COL);
- printf("%s %s\n","FILE_DRIVER", dname);
- indentation(indent + COL);
- printf("%s %u\n","ISTORE_K", istore_ik);
- printf("%s\n",END);
+    indentation(indent + COL);
+    printf("%s %s\n","FILE_DRIVER", dname);
+    indentation(indent + COL);
+    printf("%s %u\n","ISTORE_K", istore_ik);
+    printf("%s\n",END);
 
-/*-------------------------------------------------------------------------
- * USER_BLOCK
- *-------------------------------------------------------------------------
- */
- printf("USER_BLOCK %s\n",BEGIN);
- indentation(indent + COL);
- HDfprintf(stdout,"%s %Hu\n","USERBLOCK_SIZE", userblock);
- printf("%s\n",END);
+    /*-------------------------------------------------------------------------
+    * USER_BLOCK
+    *-------------------------------------------------------------------------
+    */
+    printf("USER_BLOCK %s\n",BEGIN);
+    indentation(indent + COL);
+    HDfprintf(stdout,"%s %Hu\n","USERBLOCK_SIZE", userblock);
+    printf("%s\n",END);
 }
 
 /*-------------------------------------------------------------------------
@@ -2589,7 +2659,7 @@
 
         for (u = 0; u < type_table->nobjs; u++) {
             if (!type_table->objs[u].recorded) {
-                unsigned long 	objno[2];	/*object number			*/
+                unsigned long   objno[2];   /*object number         */
 
                 objno[0] = (unsigned long)(type_table->objs[u].objno);
 #if H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG
@@ -2613,32 +2683,83 @@
  * Function:    set_output_file
  *
  * Purpose:     Open fname as the output file for dataset raw data.
- *		Set rawdatastream as its file stream.
+ *      Set rawdatastream as its file stream.
  *
  * Return:      0 -- succeeded
- *		negative -- failed
+ *      negative -- failed
  *
  * Programmer:  Albert Cheng, 2000/09/30
  *
  * Modifications:
+ *  pvn June, 1, 2006. Add a switch for binary output
  *
  *-------------------------------------------------------------------------
  */
 static int
-set_output_file(const char *fname)
+set_output_file(const char *fname, int is_bin)
 {
-    FILE    *f;	/* temporary holding place for the stream pointer
-                 * so that rawdatastream is changed only when succeeded */
+ FILE    *f;    /* temporary holding place for the stream pointer
+* so that rawdatastream is changed only when succeeded */
 
-    if ((f = fopen(fname, "w")) != NULL) {
-	rawdatastream = f;
-	return 0;
-    }
+ if (rawdatastream && rawdatastream != stdout) {
+  if (fclose(rawdatastream))
+   perror("closing rawdatastream");
+  else
+   rawdatastream = NULL;
+ }
 
-    return -1;
+ /* binary output */
+ if (is_bin)
+ {
+  if ((f = fopen(fname, "wb")) != NULL) {
+   rawdatastream = f;
+   return 0;
+  }
+ }
+ else
+ {
+  if ((f = fopen(fname, "w")) != NULL) {
+   rawdatastream = f;
+   return 0;
+  }
+ }
+
+ return -1;
 }
 
 /*-------------------------------------------------------------------------
+ * Function:    set_binary_form
+ *
+ * Purpose: set the binary form of output by translating from a string input
+ *          parameter to a integer return value
+ *
+ * Return: integer form of binary output or -1 if none found
+ *
+ * Programmer:  Pedro Vicente Nunes
+ *             June 28, 2006
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+set_binary_form(const char *form)
+{
+ int bform=-1;
+
+ if (strcmp(form,"MEMORY")==0) /* native form */
+  bform = 0;
+ else if (strcmp(form,"FILE")==0) /* file type form */
+  bform = 1;
+ else if (strcmp(form,"LE")==0) /* convert to little endian */
+  bform = 2;
+ else if (strcmp(form,"BE")==0) /* convert to big endian */
+  bform = 3;
+
+ return bform;
+}
+
+/*-------------------------------------------------------------------------
  * Function:    handle_attributes
  *
  * Purpose:     Handle the attributes from the command.
@@ -2712,7 +2833,7 @@
     for (ptr = h_list; i < size_count && ptr && *ptr && *ptr != ';' && *ptr != ']'; ptr++)
         if (isdigit(*ptr)) {
             /* we should have an integer now */
-            p_list[i++] = (hsize_t)atoi(ptr);
+            p_list[i++] = (hsize_t)atof(ptr);
 
             while (isdigit(*ptr))
                 /* scroll to end of integer */
@@ -2926,15 +3047,15 @@
                 dump_header_format->groupblockend);
         d_status = EXIT_FAILURE;
     } else {
-        size_t new_len = strlen(group) + 1;
+        size_t new_len = HDstrlen(group) + 1;
 
         if (prefix_len <= new_len) {
             prefix_len = new_len;
-            prefix = realloc(prefix, prefix_len);
+            prefix = HDrealloc(prefix, prefix_len);
         }
 
         H5Gget_objinfo(gid, ".", TRUE, &statbuf);
-        strcpy(prefix, group);
+        HDstrcpy(prefix, group);
         dump_group(gid, group);
 
         if (H5Gclose(gid) < 0)
@@ -2962,15 +3083,10 @@
     H5G_stat_t  statbuf;
 
     if (H5Gget_objinfo(fid, links, FALSE, &statbuf) < 0) {
-        begin_obj(dump_header_format->softlinkbegin, links,
-                  dump_header_format->softlinkblockbegin);
-        indentation(COL);
         error_msg(progname, "unable to get obj info from \"%s\"\n", links);
-        end_obj(dump_header_format->softlinkend,
-                dump_header_format->softlinkblockend);
         d_status = EXIT_FAILURE;
     } else if (statbuf.type == H5G_LINK) {
-        char *buf = malloc(statbuf.linklen);
+        char *buf = HDmalloc(statbuf.linklen);
 
         begin_obj(dump_header_format->softlinkbegin, links,
                   dump_header_format->softlinkblockbegin);
@@ -2986,14 +3102,9 @@
 
         end_obj(dump_header_format->softlinkend,
                 dump_header_format->softlinkblockend);
-        free(buf);
+        HDfree(buf);
     } else {
-        begin_obj(dump_header_format->softlinkbegin, links,
-                  dump_header_format->softlinkblockbegin);
-        indentation(COL);
         error_msg(progname, "\"%s\" is not a link\n", links);
-        end_obj(dump_header_format->softlinkend,
-                dump_header_format->softlinkblockend);
         d_status = EXIT_FAILURE;
     }
 }
@@ -3025,7 +3136,7 @@
             char name[128];
 
             if (!type_table->objs[idx].recorded) {
-                unsigned long 	objno[2];	/*object number			*/
+                unsigned long   objno[2];   /*object number         */
 
                 /* unamed data type */
                 objno[0] = (unsigned long)(type_table->objs[idx].objno);
@@ -3083,6 +3194,7 @@
  *              Tuesday, 20. February 2001
  *
  * Modifications:
+ *  pvn June, 1, 2006. Add a switch for binary output
  *
  *-------------------------------------------------------------------------
  */
@@ -3092,6 +3204,17 @@
     struct handler_t   *hand, *last_dset = NULL;
     int                 i, opt, last_was_dset = FALSE;
 
+    /* some logic to handle both -o and -b order */
+    const char          *outfname=NULL;
+    bin_form = -1;
+
+
+    /* no arguments */
+    if (argc == 1) {
+        usage(progname);
+        leave(EXIT_FAILURE);
+    }
+
     /* this will be plenty big enough to hold the info */
     hand = calloc((size_t)argc, sizeof(struct handler_t));
 
@@ -3206,16 +3329,49 @@
 
             last_was_dset = FALSE;
             break;
+
         case 'o':
-            if (set_output_file(opt_arg) < 0){
-                /* failed to set output file */
-                usage(progname);
-                leave(EXIT_FAILURE);
-            }
+         
+         if (bin_form > 0 )
+         {
+          if (set_output_file(opt_arg, 1) < 0){
+           usage(progname);
+           leave(EXIT_FAILURE);
+          }
+         }
+         else
+         {
+          if (set_output_file(opt_arg, 0) < 0){
+           usage(progname);
+           leave(EXIT_FAILURE);
+          }
+         }
+      
+         usingdasho = TRUE;
+         last_was_dset = FALSE;
+         outfname = opt_arg;
+         break;
 
-            usingdasho = TRUE;
-            last_was_dset = FALSE;
-            break;
+       case 'b':
+            
+        if ( ( bin_form = set_binary_form(opt_arg)) < 0){
+         /* failed to set binary form */
+         usage(progname);
+         leave(EXIT_FAILURE);
+        }
+        bin_output = TRUE;
+        if (outfname!=NULL) {
+         if (set_output_file(outfname, 1) < 0){
+          /* failed to set output file */
+          usage(progname);
+          leave(EXIT_FAILURE);
+         }
+         
+         
+         last_was_dset = FALSE;
+        }
+        
+        break;
 
         /** begin XML parameters **/
         case 'x':
@@ -3240,15 +3396,15 @@
         case 'X':
             /* specify XML namespace (default="hdf5:"), or none */
             /* To Do: check format of this value?  */
-	    if (!useschema) {
+        if (!useschema) {
                 usage(progname);
                 leave(EXIT_FAILURE);
-	    }
-	    if (strcmp(opt_arg,":") == 0) {
+        }
+        if (strcmp(opt_arg,":") == 0) {
                 xmlnsprefix = "";
-	    } else {
+        } else {
                 xmlnsprefix = opt_arg;
-	    }
+        }
             break;
         /** end XML parameters **/
 
@@ -3424,27 +3580,27 @@
 
     /* Check for conflicting options */
     if (doxml) {
-	if (!display_all) {
+    if (!display_all) {
             error_msg(progname, "option \"%s\" not available for XML\n",
-		      "to display selected objects");
-	    leave(EXIT_FAILURE);
-	} else if (display_bb) {
+              "to display selected objects");
+        leave(EXIT_FAILURE);
+    } else if (display_bb) {
             error_msg(progname, "option \"%s\" not available for XML\n",
-		      "--boot-block");
-	    leave(EXIT_FAILURE);
-	} else if (display_oid == 1) {
+              "--boot-block");
+        leave(EXIT_FAILURE);
+    } else if (display_oid == 1) {
             error_msg(progname, "option \"%s\" not available for XML\n",
-		      "--object-ids");
-	    leave(EXIT_FAILURE);
+              "--object-ids");
+        leave(EXIT_FAILURE);
         } else if (display_char == TRUE) {
             error_msg(progname, "option \"%s\" not available for XML\n",
-		      "--string");
-	    leave(EXIT_FAILURE);
-	} else if (usingdasho) {
+              "--string");
+        leave(EXIT_FAILURE);
+    } else if (usingdasho) {
             error_msg(progname, "option \"%s\" not available for XML\n",
-		      "--output");
-	    leave(EXIT_FAILURE);
-	}
+              "--output");
+        leave(EXIT_FAILURE);
+    }
     } else {
         if (xml_dtd_uri) {
             warn_msg(progname, "option \"%s\" only applies with XML: %s\n",
@@ -3459,7 +3615,7 @@
     }
     fname = argv[opt_ind];
 
-    fid = h5tools_fopen(fname, driver, NULL, 0, argc, argv);
+    fid = h5tools_fopen(fname, driver, NULL, 0);
 
     if (fid < 0) {
         error_msg(progname, "unable to open file \"%s\"\n", fname);
@@ -3471,29 +3627,29 @@
 
     /* find all objects that might be targets of a refernce */
     init_ref_path_table(fid);      /* Insert the root group into the ref. path table */
-    H5Giterate(fid, "/", NULL, fill_ref_path_table, (void *)"");
+    H5Giterate(fid, (const char *)"/", NULL, fill_ref_path_table, (void *)"");
 
     if (doxml) {
-	/* initialize XML */
+    /* initialize XML */
 
-	/* reset prefix! */
-	strcpy(prefix, "");
+    /* reset prefix! */
+    HDstrcpy(prefix, "");
 
-	/* make sure the URI is initialized to something */
-	if (xml_dtd_uri == NULL) {
-	    if (useschema) {
-		    xml_dtd_uri = DEFAULT_XSD;
-	    } else {
-		    xml_dtd_uri = DEFAULT_DTD;
-		    xmlnsprefix = "";
-	    }
-	} else {
-		if (useschema && strcmp(xmlnsprefix,"")) {
+    /* make sure the URI is initialized to something */
+    if (xml_dtd_uri == NULL) {
+        if (useschema) {
+            xml_dtd_uri = DEFAULT_XSD;
+        } else {
+            xml_dtd_uri = DEFAULT_DTD;
+            xmlnsprefix = "";
+        }
+    } else {
+        if (useschema && strcmp(xmlnsprefix,"")) {
         error_msg(progname, "Cannot set Schema URL for a qualified namespace--use -X or -U option with -D \n");
-			leave(EXIT_FAILURE);
-		}
-	}
+            leave(EXIT_FAILURE);
+        }
     }
+    }
 
     /* find all shared objects */
     if(init_objs(fid, &info, &group_table, &dset_table, &type_table) < 0) {
@@ -3516,11 +3672,11 @@
 
     /* start to dump - display file header information */
     if (!doxml) {
-	begin_obj(dump_header_format->filebegin, fname,
-		  dump_header_format->fileblockbegin);
+    begin_obj(dump_header_format->filebegin, fname,
+          dump_header_format->fileblockbegin);
     } else {
-	printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
-	/* alternative first element, depending on schema or DTD. */
+    printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+    /* alternative first element, depending on schema or DTD. */
         if (useschema) {
             if (strcmp(xmlnsprefix,"") == 0) {
                 printf("<HDF5-File xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"%s\">\n",
@@ -3534,17 +3690,17 @@
                 indx = strrchr(ns,(int)':');
                 if (indx) *indx = '\0';
 
-                printf("<%sHDF5-File xmlns:%s=\"http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File\" "
+                printf("<%sHDF5-File xmlns:%s=\"http://hdfgroup.org/DTDs/HDF5-File\" "
                     "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
-                    "xsi:schemaLocation=\"http://hdf.ncsa.uiuc.edu/DTDs/HDF5File "
-                    "http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd\">\n",xmlnsprefix,ns);
+                    "xsi:schemaLocation=\"http://hdfgroup.org/DTDs/HDF5File "
+                    "http://hdfgroup.org/DTDs/HDF5-File.xsd\">\n",xmlnsprefix,ns);
             }
-	} else {
+    } else {
             printf("<!DOCTYPE HDF5-File PUBLIC \"HDF5-File.dtd\" \"%s\">\n",
                    xml_dtd_uri);
             printf("<HDF5-File>\n");
-	}
     }
+    }
 
     if (!doxml) {
         if (display_fi) {
@@ -3563,7 +3719,7 @@
             error_msg(progname, "unable to open root group\n");
             d_status = EXIT_FAILURE;
         } else {
-	    dump_function_table->dump_group_function(gid, "/");
+        dump_function_table->dump_group_function(gid, "/");
         }
 
         if (H5Gclose(gid) < 0) {
@@ -3571,13 +3727,13 @@
             d_status = EXIT_FAILURE;
         }
     } else {
-	if (doxml) {
-	    /* Note: this option is not supported for XML */
+    if (doxml) {
+        /* Note: this option is not supported for XML */
             error_msg(progname, "internal error (file %s:line %d)\n",
                       __FILE__, __LINE__);
             d_status = EXIT_FAILURE;
-	    goto done;
-	}
+        goto done;
+    }
 
         for (i = 0; i < argc; i++)
             if (hand[i].func)
@@ -3585,15 +3741,15 @@
     }
 
     if (!doxml) {
-	end_obj(dump_header_format->fileend,
-		dump_header_format->fileblockend);
+    end_obj(dump_header_format->fileend,
+        dump_header_format->fileblockend);
     } else {
-	printf("</%sHDF5-File>\n", xmlnsprefix);
+    printf("</%sHDF5-File>\n", xmlnsprefix);
     }
 
 done:
     if (H5Fclose(fid) < 0)
-	d_status = EXIT_FAILURE;
+    d_status = EXIT_FAILURE;
 
     free_handler(hand, argc);
 
@@ -3602,7 +3758,7 @@
     free_table(dset_table);
     free_table(type_table);
 
-    free(prefix);
+    HDfree(prefix);
 
     /* To Do:  clean up XML table */
 
@@ -3650,24 +3806,24 @@
      *    3. raw format
      */
     if (H5Tget_size(type) <= sizeof(long_long)) {
-	dst_size = sizeof(long_long);
+    dst_size = sizeof(long_long);
 
-	if (H5T_SGN_NONE == H5Tget_sign(type)) {
-	    native = H5T_NATIVE_ULLONG;
-	} else {
-	    native = H5T_NATIVE_LLONG;
-	}
+    if (H5T_SGN_NONE == H5Tget_sign(type)) {
+        native = H5T_NATIVE_ULLONG;
     } else {
-	dst_size = H5Tget_size(type);
+        native = H5T_NATIVE_LLONG;
     }
+    } else {
+    dst_size = H5Tget_size(type);
+    }
 
     /* Get the names and raw values of all members */
     name = calloc(nmembs, sizeof(char *));
     value = calloc(nmembs, MAX(H5Tget_size(type), dst_size));
 
     for (i = 0; i < nmembs; i++) {
-	name[i] = H5Tget_member_name(type, i);
-	H5Tget_member_value(type, i, value + i * H5Tget_size(type));
+    name[i] = H5Tget_member_name(type, i);
+    H5Tget_member_value(type, i, value + i * H5Tget_size(type));
     }
 
     /* Convert values to native data type */
@@ -3681,44 +3837,44 @@
 
     /* Print members */
     for (i = 0; i < nmembs; i++) {
-	indentation(indent + COL);
-	nchars = printf("\"%s\"", name[i]);
-	printf("%*s   ", MAX(0, 16 - nchars), "");
+    indentation(indent + COL);
+    nchars = printf("\"%s\"", name[i]);
+    printf("%*s   ", MAX(0, 16 - nchars), "");
 
-	if (native < 0) {
+    if (native < 0) {
             size_t j;
 
-	    printf("0x");
+        printf("0x");
 
-	    for (j = 0; j < dst_size; j++)
-		printf("%02x", value[i * dst_size + j]);
-	} else if (H5T_SGN_NONE == H5Tget_sign(native)) {
-	    /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
-	     *strangely, unless use another pointer "copy".*/
-	    copy = value+i*dst_size;
-	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "u", *((unsigned long_long *)
-					      ((void *)copy)));
-	} else {
-	    /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
-	     *strangely, unless use another pointer "copy".*/
-	    copy = value+i*dst_size;
-	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "d",
-		   *((long_long *) ((void *)copy)));
-	}
+        for (j = 0; j < dst_size; j++)
+        printf("%02x", value[i * dst_size + j]);
+    } else if (H5T_SGN_NONE == H5Tget_sign(native)) {
+        /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
+         *strangely, unless use another pointer "copy".*/
+        copy = value+i*dst_size;
+        HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "u", *((unsigned long_long *)
+                          ((void *)copy)));
+    } else {
+        /*On SGI Altix(cobalt), wrong values were printed out with "value+i*dst_size"
+         *strangely, unless use another pointer "copy".*/
+        copy = value+i*dst_size;
+        HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "d",
+           *((long_long *) ((void *)copy)));
+    }
 
-	printf(";\n");
+    printf(";\n");
     }
 
     /* Release resources */
     for (i = 0; i < nmembs; i++)
-	free(name[i]);
+    free(name[i]);
 
     free(name);
     free(value);
     H5Tclose(super);
 
     if (0 == nmembs)
-	printf("\n%*s <empty>", indent + 4, "");
+    printf("\n%*s <empty>", indent + 4, "");
 }
 
 
@@ -3734,7 +3890,7 @@
 xml_name_to_XID(const char *str , char *outstr, int outlen, int gen)
 {
     haddr_t objno;      /* Object ID for object at path */
-    unsigned long 	_objno[2];	/*object number			*/
+    unsigned long   _objno[2];  /*object number         */
 
     if (outlen < 22) return 1;
 
@@ -3751,7 +3907,7 @@
 #else /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
                     _objno[1] = 0;
 #endif /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
-		    sprintf(outstr,"xid_%lu-%lu", _objno[0], _objno[1]);
+            sprintf(outstr,"xid_%lu-%lu", _objno[0], _objno[1]);
                     return 0;
                 } else {
                     return 1;
@@ -3816,30 +3972,30 @@
     char                   *rcp;
 
     if (!str)
-	return NULL;
+    return NULL;
 
     cp = str;
     len = strlen(str);
     extra = 0;
 
     for (i = 0; i < len; i++) {
-	if (*cp == '\"') {
-	    extra += (strlen(quote) - 1);
-	} else if (*cp == '\'') {
-	    extra += (strlen(apos) - 1);
-	} else if (*cp == '<') {
-	    extra += (strlen(lt) - 1);
-	} else if (*cp == '>') {
-	    extra += (strlen(gt) - 1);
-	} else if (*cp == '&') {
-	    extra += (strlen(amp) - 1);
-	}
+    if (*cp == '\"') {
+        extra += (strlen(quote) - 1);
+    } else if (*cp == '\'') {
+        extra += (strlen(apos) - 1);
+    } else if (*cp == '<') {
+        extra += (strlen(lt) - 1);
+    } else if (*cp == '>') {
+        extra += (strlen(gt) - 1);
+    } else if (*cp == '&') {
+        extra += (strlen(amp) - 1);
+    }
 
-	cp++;
+    cp++;
     }
 
     if (extra == 0)
-	return HDstrdup(str);
+    return HDstrdup(str);
 
     cp = str;
     rcp = ncp = HDmalloc(len + extra + 1);
@@ -3902,67 +4058,67 @@
     char                   *rcp;
 
     if (!str)
-	return NULL;
+    return NULL;
 
     cp = str;
 
     if (slen < 0)
-	len = strlen(str);
+    len = strlen(str);
     else
-	len = slen;
+    len = slen;
 
     extra = 0;
 
     for (i = 0; i < len; i++) {
-	if (*cp == '\\') {
-	    extra++;
-	} else if (*cp == '\"') {
-	    extra++;
-	} else if (*cp == '\'') {
-	    extra += (strlen(apos) - 1);
-	} else if (*cp == '<') {
-	    extra += (strlen(lt) - 1);
-	} else if (*cp == '>') {
-	    extra += (strlen(gt) - 1);
-	} else if (*cp == '&') {
-	    extra += (strlen(amp) - 1);
-	}
-	cp++;
+    if (*cp == '\\') {
+        extra++;
+    } else if (*cp == '\"') {
+        extra++;
+    } else if (*cp == '\'') {
+        extra += (strlen(apos) - 1);
+    } else if (*cp == '<') {
+        extra += (strlen(lt) - 1);
+    } else if (*cp == '>') {
+        extra += (strlen(gt) - 1);
+    } else if (*cp == '&') {
+        extra += (strlen(amp) - 1);
     }
+    cp++;
+    }
 
     cp = str;
     rcp = ncp = calloc((len + extra + 1), sizeof(char));
 
     if (ncp == NULL)
-	return NULL;		/* ?? */
+    return NULL;        /* ?? */
 
     for (i = 0; i < len; i++) {
-	if (*cp == '\\') {
-	    *ncp++ = '\\';
-	    *ncp++ = *cp++;
-	} else if (*cp == '\"') {
-	    *ncp++ = '\\';
-	    *ncp++ = *cp++;
-	} else if (*cp == '\'') {
-	    strncpy(ncp, apos, strlen(apos));
-	    ncp += strlen(apos);
-	    cp++;
-	} else if (*cp == '<') {
-	    strncpy(ncp, lt, strlen(lt));
-	    ncp += strlen(lt);
-	    cp++;
-	} else if (*cp == '>') {
-	    strncpy(ncp, gt, strlen(gt));
-	    ncp += strlen(gt);
-	    cp++;
-	} else if (*cp == '&') {
-	    strncpy(ncp, amp, strlen(amp));
-	    ncp += strlen(amp);
-	    cp++;
-	} else {
-	    *ncp++ = *cp++;
-	}
+    if (*cp == '\\') {
+        *ncp++ = '\\';
+        *ncp++ = *cp++;
+    } else if (*cp == '\"') {
+        *ncp++ = '\\';
+        *ncp++ = *cp++;
+    } else if (*cp == '\'') {
+        strncpy(ncp, apos, strlen(apos));
+        ncp += strlen(apos);
+        cp++;
+    } else if (*cp == '<') {
+        strncpy(ncp, lt, strlen(lt));
+        ncp += strlen(lt);
+        cp++;
+    } else if (*cp == '>') {
+        strncpy(ncp, gt, strlen(gt));
+        ncp += strlen(gt);
+        cp++;
+    } else if (*cp == '&') {
+        strncpy(ncp, amp, strlen(amp));
+        ncp += strlen(amp);
+        cp++;
+    } else {
+        *ncp++ = *cp++;
     }
+    }
 
     *ncp = '\0';
     return rcp;
@@ -4383,38 +4539,38 @@
     if (H5Tcommitted(type) > 0) {
         obj_t  *found_obj;    /* Found object */
 
-	/* Data type is a shared or named data type */
-	H5Gget_objinfo(type, ".", TRUE, &statbuf);
-	found_obj = search_obj(type_table, statbuf.objno);
+    /* Data type is a shared or named data type */
+    H5Gget_objinfo(type, ".", TRUE, &statbuf);
+    found_obj = search_obj(type_table, statbuf.objno);
 
-	if (found_obj) {
-	    /* Shared data type, must be entered as an object  */
-		/* These 2 cases are the same now, but may change */
-	    char * dtxid = malloc(100);
-	    xml_name_to_XID(found_obj->objname,dtxid,100,1);
-	    if (!found_obj->recorded) {
-		/* anonymous stored data type:
-		   following the dumper's current
-		   practice:
-		   use it's object ref as its name
-		 */
-		printf("<%sNamedDataTypePtr OBJ-XID=\"%s\"/>\n",
-			xmlnsprefix, dtxid);
+    if (found_obj) {
+        /* Shared data type, must be entered as an object  */
+        /* These 2 cases are the same now, but may change */
+        char * dtxid = malloc(100);
+        xml_name_to_XID(found_obj->objname,dtxid,100,1);
+        if (!found_obj->recorded) {
+        /* anonymous stored data type:
+           following the dumper's current
+           practice:
+           use it's object ref as its name
+         */
+        printf("<%sNamedDataTypePtr OBJ-XID=\"%s\"/>\n",
+            xmlnsprefix, dtxid);
 
-	    } else {
-		/* pointer to a named data type already in XML */
+        } else {
+        /* pointer to a named data type already in XML */
                 char *t_objname = xml_escape_the_name(found_obj->objname);
-		printf("<%sNamedDataTypePtr OBJ-XID=\"%s\" H5Path=\"%s\" />\n",
-			xmlnsprefix, dtxid,t_objname);
-		free(t_objname);
-	    }
-	    free(dtxid);
-	} else {
-	    printf("<!-- h5dump error: unknown committed type. -->\n");
-	}
-	indent -= COL;
-	return;
+        printf("<%sNamedDataTypePtr OBJ-XID=\"%s\" H5Path=\"%s\" />\n",
+            xmlnsprefix, dtxid,t_objname);
+        free(t_objname);
+        }
+        free(dtxid);
+    } else {
+        printf("<!-- h5dump error: unknown committed type. -->\n");
     }
+    indent -= COL;
+    return;
+    }
     printf("<%sDataType>\n",xmlnsprefix);
     indent += COL;
     xml_print_datatype(type,0);
@@ -4443,7 +4599,7 @@
     hsize_t                 size[H5DUMP_MAX_RANK];
     hsize_t                 maxsize[H5DUMP_MAX_RANK];
     int                     ndims =
-	H5Sget_simple_extent_dims(space, size, maxsize);
+    H5Sget_simple_extent_dims(space, size, maxsize);
     H5S_class_t             space_type = H5Sget_simple_extent_type(space);
     int                     i;
 
@@ -4453,43 +4609,43 @@
 
     switch (space_type) {
         case H5S_SCALAR:
-	    /* scalar dataspace (just a tag, no XML attrs. defined */
-	    printf("<%sScalarDataspace />\n",xmlnsprefix);
+        /* scalar dataspace (just a tag, no XML attrs. defined */
+        printf("<%sScalarDataspace />\n",xmlnsprefix);
 
             break;
         case H5S_SIMPLE:
-	    /* simple dataspace */
-	    /* <hdf5:SimpleDataspace Ndims="nd"> */
-	    printf("<%sSimpleDataspace Ndims=\"%d\">\n",xmlnsprefix, ndims);
+        /* simple dataspace */
+        /* <hdf5:SimpleDataspace Ndims="nd"> */
+        printf("<%sSimpleDataspace Ndims=\"%d\">\n",xmlnsprefix, ndims);
 
-	    /* print the <hdf5:Dimension> elements */
-	    for (i = 0; i < ndims; i++) {
-		indentation(indent + COL + COL + COL);
-		if (maxsize[i] == H5S_UNLIMITED) {
-		    HDfprintf(stdout,
-			      "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"UNLIMITED\"/>\n",
-			      xmlnsprefix,size[i]);
-		} else if (maxsize[i] == (hsize_t) 0) {
-		    HDfprintf(stdout,
-			      "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"%Hu\"/>\n",
-			      xmlnsprefix,size[i], size[i]);
-		} else {
-		    HDfprintf(stdout,
-			      "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"%Hu\"/>\n",
-			      xmlnsprefix, size[i], maxsize[i]);
-		}
-	    }
-	    indentation(indent + COL + COL);
-	    printf("</%sSimpleDataspace>\n", xmlnsprefix );
+        /* print the <hdf5:Dimension> elements */
+        for (i = 0; i < ndims; i++) {
+        indentation(indent + COL + COL + COL);
+        if (maxsize[i] == H5S_UNLIMITED) {
+            HDfprintf(stdout,
+                  "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"UNLIMITED\"/>\n",
+                  xmlnsprefix,size[i]);
+        } else if (maxsize[i] == (hsize_t) 0) {
+            HDfprintf(stdout,
+                  "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"%Hu\"/>\n",
+                  xmlnsprefix,size[i], size[i]);
+        } else {
+            HDfprintf(stdout,
+                  "<%sDimension  DimSize=\"%Hu\" MaxDimSize=\"%Hu\"/>\n",
+                  xmlnsprefix, size[i], maxsize[i]);
+        }
+        }
+        indentation(indent + COL + COL);
+        printf("</%sSimpleDataspace>\n", xmlnsprefix );
 
             break;
         case H5S_COMPLEX:
-	    printf("<!-- not yet implemented -->\n");
+        printf("<!-- not yet implemented -->\n");
 
             break;
         case H5S_NO_CLASS:
         default:
-	    printf("<!-- unknown dataspace -->\n");
+        printf("<!-- unknown dataspace -->\n");
     }
 
     indentation(indent + COL);
@@ -4514,14 +4670,14 @@
 static void
 xml_dump_data(hid_t obj_id, int obj_data, struct subset_t UNUSED * sset, int UNUSED pindex)
 {
-    h5dump_t               *outputformat = &xml_dataformat;
+    h5tool_format_t               *outputformat = &xml_dataformat;
     int                     status = -1;
     void                   *buf;
     hid_t                   space, type, p_type;
     int                     ndims, i;
     hsize_t                 size[64], nelmts = 1;
     int                     depth;
-    int                     stdindent = COL;	/* should be 3 */
+    int                     stdindent = COL;    /* should be 3 */
 
     outputformat->line_ncols = nCols;
     indent += COL;
@@ -4540,60 +4696,60 @@
     indentation(indent + COL);
     printf("<%sDataFromFile>\n",xmlnsprefix);
     if (obj_data == DATASET_DATA) {
-	type = H5Dget_type(obj_id);
-	if (H5Tget_class(type) == H5T_REFERENCE) {
-	    status = xml_print_refs(obj_id, DATASET_DATA);
-	} else if (H5Tget_class(type) == H5T_STRING) {
-	    status = xml_print_strs(obj_id, DATASET_DATA);
-	} else {
-	    status = h5tools_dump_dset(stdout, outputformat, obj_id, -1, NULL, depth);
-	}
+    type = H5Dget_type(obj_id);
+    if (H5Tget_class(type) == H5T_REFERENCE) {
+        status = xml_print_refs(obj_id, DATASET_DATA);
+    } else if (H5Tget_class(type) == H5T_STRING) {
+        status = xml_print_strs(obj_id, DATASET_DATA);
     } else {
-	/* Attribute data */
-	type = H5Aget_type(obj_id);
+        status = h5tools_dump_dset(stdout, outputformat, obj_id, -1, NULL, depth);
+    }
+    } else {
+    /* Attribute data */
+    type = H5Aget_type(obj_id);
 
-	if (H5Tget_class(type) == H5T_REFERENCE) {
-	    /* references are done differently than
-	       the standard output:
-	       XML dumps a path to the object
-	       referenced.
-	     */
-	    status = xml_print_refs(obj_id, ATTRIBUTE_DATA);
-	    H5Tclose(type);
-	} else if (H5Tget_class(type) == H5T_STRING) {
-	    status = xml_print_strs(obj_id, ATTRIBUTE_DATA);
-	} else {
-	    /* all other data */
+    if (H5Tget_class(type) == H5T_REFERENCE) {
+        /* references are done differently than
+           the standard output:
+           XML dumps a path to the object
+           referenced.
+         */
+        status = xml_print_refs(obj_id, ATTRIBUTE_DATA);
+        H5Tclose(type);
+    } else if (H5Tget_class(type) == H5T_STRING) {
+        status = xml_print_strs(obj_id, ATTRIBUTE_DATA);
+    } else {
+        /* all other data */
             p_type = h5tools_get_native_type(type);
 
-	    H5Tclose(type);
+        H5Tclose(type);
 
-	    space = H5Aget_space(obj_id);
+        space = H5Aget_space(obj_id);
 
-	    ndims = H5Sget_simple_extent_dims(space, size, NULL);
+        ndims = H5Sget_simple_extent_dims(space, size, NULL);
 
-	    for (i = 0; i < ndims; i++)
-		nelmts *= size[i];
+        for (i = 0; i < ndims; i++)
+        nelmts *= size[i];
 
-	    buf =
-		malloc((size_t)(nelmts * MAX(H5Tget_size(type), H5Tget_size(p_type))));
-	    assert(buf);
+        buf =
+        malloc((size_t)(nelmts * MAX(H5Tget_size(type), H5Tget_size(p_type))));
+        assert(buf);
 
-	    if (H5Aread(obj_id, p_type, buf) >= 0)
+        if (H5Aread(obj_id, p_type, buf) >= 0)
                 status = h5tools_dump_mem(stdout, outputformat, obj_id,
                                           p_type, space, buf, depth);
 
-	    free(buf);
-	    H5Tclose(p_type);
-	    H5Sclose(space);
-	    H5Tclose(type);
-	}
+        free(buf);
+        H5Tclose(p_type);
+        H5Sclose(space);
+        H5Tclose(type);
     }
+    }
 
     if (status == FAIL) {
-	indentation(indent + COL);
-	printf("Unable to print data.\n");
-	status = 1;
+    indentation(indent + COL);
+    printf("Unable to print data.\n");
+    status = 1;
     }
 
     indentation(indent + COL);
@@ -4627,102 +4783,102 @@
     free(t_aname);
 
     if ((attr_id = H5Aopen_name(attr, attr_name)) >= 0) {
-	type = H5Aget_type(attr_id);
-	space = H5Aget_space(attr_id);
+    type = H5Aget_type(attr_id);
+    space = H5Aget_space(attr_id);
 
-	dump_function_table->dump_dataspace_function(space);
-	dump_function_table->dump_datatype_function(type);
+    dump_function_table->dump_dataspace_function(space);
+    dump_function_table->dump_datatype_function(type);
 
-	if (display_attr_data) {
-	    switch (H5Tget_class(type)) {
-	    case H5T_INTEGER:
-	    case H5T_FLOAT:
-	    case H5T_STRING:
-	    case H5T_BITFIELD:
-	    case H5T_OPAQUE:
-	    case H5T_ENUM:
-	    case H5T_ARRAY:
-		dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
-		break;
+    if (display_attr_data) {
+        switch (H5Tget_class(type)) {
+        case H5T_INTEGER:
+        case H5T_FLOAT:
+        case H5T_STRING:
+        case H5T_BITFIELD:
+        case H5T_OPAQUE:
+        case H5T_ENUM:
+        case H5T_ARRAY:
+        dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
+        break;
 
-	    case H5T_TIME:
-		indent += COL;
-		indentation(indent);
-		printf("<%sData>\n",xmlnsprefix);
-		indentation(indent);
-		printf("<!-- Time data not yet implemented. -->\n");
-		indentation(indent);
-		printf("<%sNoData/>\n",xmlnsprefix);
-		indentation(indent);
-		printf("<hdf5:Data>\n");
-		printf("</%sData>\n",xmlnsprefix);
-		indent -= COL;
-		break;
+        case H5T_TIME:
+        indent += COL;
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent);
+        printf("<!-- Time data not yet implemented. -->\n");
+        indentation(indent);
+        printf("<%sNoData/>\n",xmlnsprefix);
+        indentation(indent);
+        printf("<hdf5:Data>\n");
+        printf("</%sData>\n",xmlnsprefix);
+        indent -= COL;
+        break;
 
-	    case H5T_COMPOUND:
-		indentation(indent);
-		printf("<!-- Note: format of compound data not specified -->\n");
-		dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
-		break;
+        case H5T_COMPOUND:
+        indentation(indent);
+        printf("<!-- Note: format of compound data not specified -->\n");
+        dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
+        break;
 
-	    case H5T_REFERENCE:
-		indentation(indent);
-		printf("<%sData>\n",xmlnsprefix);
-		indentation(indent);
+        case H5T_REFERENCE:
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent);
                 if (!H5Tequal(type, H5T_STD_REF_OBJ)) {
                    printf("<!-- Note: Region references not supported -->\n");
                    indentation(indent);
                    printf("<%sNoData />\n",xmlnsprefix);
                 } else {
-		    printf("<%sDataFromFile>\n",xmlnsprefix);
-		    xml_print_refs(attr_id, ATTRIBUTE_DATA);
-		    indentation(indent);
-		    printf("</%sDataFromFile>\n",xmlnsprefix);
+            printf("<%sDataFromFile>\n",xmlnsprefix);
+            xml_print_refs(attr_id, ATTRIBUTE_DATA);
+            indentation(indent);
+            printf("</%sDataFromFile>\n",xmlnsprefix);
                 }
-		indentation(indent);
-		printf("</%sData>\n",xmlnsprefix);
-		break;
+        indentation(indent);
+        printf("</%sData>\n",xmlnsprefix);
+        break;
 
-	    case H5T_VLEN:
-		printf("<!-- Note: format of VL data not specified -->\n");
-		dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
-		break;
-	    default:
-		indentation(indent);
-		printf("<%sData>\n",xmlnsprefix);
-		indentation(indent);
-		printf("<!-- Unknown datatype: %d -->\n", H5Tget_class(type));
-		indentation(indent);
-		printf("<%sNoData/>\n",xmlnsprefix);
-		indentation(indent);
-		printf("</%sData>\n",xmlnsprefix);
-		break;
-	    }
-	} else {
-	    /* The case of an attribute never yet written ?? */
-	    indentation(indent + COL);
-	    printf("<%sData>\n",xmlnsprefix);
-	    indentation(indent + COL + COL);
-	    printf("<%sNoData/>\n",xmlnsprefix);
-	    indentation(indent + COL);
-	    printf("</%sData>\n",xmlnsprefix);
-	}
+        case H5T_VLEN:
+        printf("<!-- Note: format of VL data not specified -->\n");
+        dump_function_table->dump_data_function(attr_id, ATTRIBUTE_DATA, NULL, 0);
+        break;
+        default:
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent);
+        printf("<!-- Unknown datatype: %d -->\n", H5Tget_class(type));
+        indentation(indent);
+        printf("<%sNoData/>\n",xmlnsprefix);
+        indentation(indent);
+        printf("</%sData>\n",xmlnsprefix);
+        break;
+        }
+    } else {
+        /* The case of an attribute never yet written ?? */
+        indentation(indent + COL);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent + COL + COL);
+        printf("<%sNoData/>\n",xmlnsprefix);
+        indentation(indent + COL);
+        printf("</%sData>\n",xmlnsprefix);
+    }
 
-	H5Tclose(type);
-	H5Sclose(space);
-	H5Aclose(attr_id);
-	indentation(indent);
-	printf("</%sAttribute>\n", xmlnsprefix );
-	return SUCCEED;
+    H5Tclose(type);
+    H5Sclose(space);
+    H5Aclose(attr_id);
+    indentation(indent);
+    printf("</%sAttribute>\n", xmlnsprefix );
+    return SUCCEED;
 
     } else {
-	/* ?? failed */
-	indentation(indent + COL);
-	printf("<!-- h5dump error: unable to open attribute. -->\n");
-	indentation(indent);
-	printf("</%sAttribute>\n", xmlnsprefix );
-	d_status = EXIT_FAILURE;
-	return FAIL;
+    /* ?? failed */
+    indentation(indent + COL);
+    printf("<!-- h5dump error: unable to open attribute. -->\n");
+    indentation(indent);
+    printf("</%sAttribute>\n", xmlnsprefix );
+    d_status = EXIT_FAILURE;
+    return FAIL;
     }
 }
 
@@ -4749,46 +4905,46 @@
     char *t_prefix;
     char   *t_name;
 
-    tmp = malloc(strlen(prefix) + strlen(name) + 2);
-    strcpy(tmp, prefix);
-    strcat(tmp, "/");
-    strcat(tmp, name);
+    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
+    HDstrcpy(tmp, prefix);
+    HDstrcat(tmp, "/");
+    HDstrcat(tmp, name);
 
     indentation(indent);
-    /*char **/ dtxid = malloc(100);
-    /*char **/ parentxid = malloc(100);
+    /*char **/ dtxid = HDmalloc(100);
+    /*char **/ parentxid = HDmalloc(100);
     /*char **/t_tmp = xml_escape_the_name(tmp);
     /*char **/t_prefix = xml_escape_the_name(prefix);
     /*char   **/t_name = xml_escape_the_name(name);
     xml_name_to_XID(tmp,dtxid,100,1);
     xml_name_to_XID(prefix,parentxid,100,1);
     if (strncmp(name, "#", 1) == 0) {
-	/*  Special:  this is an 'anonymous' NDT, deleted but
-	   still in use.
-	   We follow the dumper's undocumented practice, and
-	   use its object id as its name.
-	   Exactly the same as normal, but a separate case
-	   in the event we want to do something else in
-	   the future.
-	 */
-	printf("<%sNamedDataType Name=\"%s\" OBJ-XID=\"%s\" "
-		"Parents=\"%s\" H5ParentPaths=\"%s\">\n",
-		xmlnsprefix,
-		name, dtxid,
-		parentxid,(strcmp(prefix, "") ? t_prefix : "/"));
+    /*  Special:  this is an 'anonymous' NDT, deleted but
+       still in use.
+       We follow the dumper's undocumented practice, and
+       use its object id as its name.
+       Exactly the same as normal, but a separate case
+       in the event we want to do something else in
+       the future.
+     */
+    printf("<%sNamedDataType Name=\"%s\" OBJ-XID=\"%s\" "
+        "Parents=\"%s\" H5ParentPaths=\"%s\">\n",
+        xmlnsprefix,
+        name, dtxid,
+        parentxid,(HDstrcmp(prefix, "") ? t_prefix : "/"));
     } else {
-	printf("<%sNamedDataType Name=\"%s\" OBJ-XID=\"%s\" "
-		"H5Path=\"%s\" Parents=\"%s\" H5ParentPaths=\"%s\">\n",
-		xmlnsprefix,
-		t_name, dtxid,
-		t_tmp, parentxid, (strcmp(prefix, "") ? t_prefix : "/"));
+    printf("<%sNamedDataType Name=\"%s\" OBJ-XID=\"%s\" "
+        "H5Path=\"%s\" Parents=\"%s\" H5ParentPaths=\"%s\">\n",
+        xmlnsprefix,
+        t_name, dtxid,
+        t_tmp, parentxid, (HDstrcmp(prefix, "") ? t_prefix : "/"));
     }
-    free(dtxid);
-    free(parentxid);
-    free(t_tmp);
-    free(t_prefix);
-    free(t_name);
-    free(tmp);
+    HDfree(dtxid);
+    HDfree(parentxid);
+    HDfree(t_tmp);
+    HDfree(t_prefix);
+    HDfree(t_name);
+    HDfree(tmp);
 
     indent += COL;
     indentation(indent);
@@ -4833,23 +4989,23 @@
     char *t_objname;
     char *par_name;
 
-    if (strcmp(name, "/") == 0) {
-	isRoot = 1;
-	tmp = malloc(2);
-	strcpy(tmp, "/");
+    if (HDstrcmp(name, "/") == 0) {
+    isRoot = 1;
+    tmp = HDmalloc(2);
+    HDstrcpy(tmp, "/");
     } else {
-	tmp = malloc(strlen(prefix) + strlen(name) + 2);
-	strcpy(tmp, prefix);
-	par = HDstrdup(tmp);
-	cp = strrchr(par, '/');
-	if (cp != NULL) {
-	    if ((cp == par) && strlen(par) > 1) {
-		*(cp + 1) = '\0';
-	    } else {
-		*cp = '\0';
-	    }
-	}
+    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
+    HDstrcpy(tmp, prefix);
+    par = HDstrdup(tmp);
+    cp = HDstrrchr(par, '/');
+    if (cp != NULL) {
+        if ((cp == par) && HDstrlen(par) > 1) {
+        *(cp + 1) = '\0';
+        } else {
+        *cp = '\0';
+        }
     }
+    }
 
     indentation(indent);
 
@@ -4859,15 +5015,15 @@
     if (statbuf.nlink > 1) {
         obj_t  *found_obj;    /* Found object */
 
-	/* Group with more than one link to it... */
-	found_obj = search_obj(group_table, statbuf.objno);
+    /* Group with more than one link to it... */
+    found_obj = search_obj(group_table, statbuf.objno);
 
-	if (found_obj == NULL) {
-	    indentation(indent);
+    if (found_obj == NULL) {
+        indentation(indent);
             error_msg(progname, "internal error (file %s:line %d)\n",
                       __FILE__, __LINE__);
-	    d_status = EXIT_FAILURE;
-	} else {
+        d_status = EXIT_FAILURE;
+    } else {
             char *t_name = xml_escape_the_name(name);
             char *grpxid = malloc(100);
             char *parentxid = malloc(100);
@@ -4935,7 +5091,7 @@
                     /* Very special case: dump unamed type in root group */
                     for (u = 0; u < type_table->nobjs; u++) {
                         if (!type_table->objs[u].recorded) {
-                            unsigned long 	objno[2];	/*object number			*/
+                            unsigned long   objno[2];   /*object number         */
 
                             dset = H5Dopen(gid, type_table->objs[u].objname);
                             type = H5Dget_type(dset);
@@ -4972,42 +5128,42 @@
         }
     } else {
 
-	/* only link -- must be first time! */
+    /* only link -- must be first time! */
         char *t_name = xml_escape_the_name(name);
-	char *grpxid = malloc(100);
-	char *parentxid = malloc(100);
-	if (isRoot) {
-		xml_name_to_XID("/",grpxid,100,1);
-		printf("<%sRootGroup OBJ-XID=\"%s\" H5Path=\"%s\">\n",
-			xmlnsprefix,grpxid,"/");
-	} else {
-		char *t_tmp = xml_escape_the_name(tmp);
-		par_name = xml_escape_the_name(par);
-		xml_name_to_XID(tmp,grpxid,100,1);
-		xml_name_to_XID(par,parentxid,100,1);
-		printf("<%sGroup Name=\"%s\" OBJ-XID=\"%s\" H5Path=\"%s\" "
-			"Parents=\"%s\" H5ParentPaths=\"%s\" >\n",
-		        xmlnsprefix,t_name, grpxid, t_tmp,
-			parentxid, par_name);
-		free(t_tmp);
-		free(par_name);
-	}
+    char *grpxid = malloc(100);
+    char *parentxid = malloc(100);
+    if (isRoot) {
+        xml_name_to_XID("/",grpxid,100,1);
+        printf("<%sRootGroup OBJ-XID=\"%s\" H5Path=\"%s\">\n",
+            xmlnsprefix,grpxid,"/");
+    } else {
+        char *t_tmp = xml_escape_the_name(tmp);
+        par_name = xml_escape_the_name(par);
+        xml_name_to_XID(tmp,grpxid,100,1);
+        xml_name_to_XID(par,parentxid,100,1);
+        printf("<%sGroup Name=\"%s\" OBJ-XID=\"%s\" H5Path=\"%s\" "
+            "Parents=\"%s\" H5ParentPaths=\"%s\" >\n",
+                xmlnsprefix,t_name, grpxid, t_tmp,
+            parentxid, par_name);
+        free(t_tmp);
+        free(par_name);
+    }
         free(t_name);
-	free(grpxid);
-	free(parentxid);
-	/* 1.  do all the attributes of the group */
-	H5Aiterate(gid, NULL, dump_function_table->dump_attribute_function, NULL);
+    free(grpxid);
+    free(parentxid);
+    /* 1.  do all the attributes of the group */
+    H5Aiterate(gid, NULL, dump_function_table->dump_attribute_function, NULL);
 
-	if (!strcmp(name, "/") && unamedtype) {
+    if (!strcmp(name, "/") && unamedtype) {
             unsigned u;
 
-	    /* Very special case: dump unamed type in root group */
-	    for (u = 0; u < type_table->nobjs; u++) {
-		if (!type_table->objs[u].recorded) {
-                    unsigned long 	objno[2];	/*object number			*/
+        /* Very special case: dump unamed type in root group */
+        for (u = 0; u < type_table->nobjs; u++) {
+        if (!type_table->objs[u].recorded) {
+                    unsigned long   objno[2];   /*object number         */
 
-		    dset = H5Dopen(gid, type_table->objs[u].objname);
-		    type = H5Dget_type(dset);
+            dset = H5Dopen(gid, type_table->objs[u].objname);
+            type = H5Dget_type(dset);
 
                     objno[0] = (unsigned long)(type_table->objs[u].objno);
 #if H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG
@@ -5015,33 +5171,33 @@
 #else /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
                     objno[1] = 0;
 #endif /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
-		    sprintf(type_name, "#%lu:%lu", objno[0], objno[1]);
-		    dump_function_table->dump_named_datatype_function(type, type_name);
+            sprintf(type_name, "#%lu:%lu", objno[0], objno[1]);
+            dump_function_table->dump_named_datatype_function(type, type_name);
 
-		    H5Tclose(type);
-		    H5Dclose(dset);
-		}
-	    }
-	}
+            H5Tclose(type);
+            H5Dclose(dset);
+        }
+        }
+    }
 
-  	/* iterate through all the members */
-	xtype = H5G_TYPE;
-	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
-  	xtype = H5G_DATASET;
-  	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
-  	xtype = H5G_GROUP;
-  	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
-	xtype = H5G_LINK;
-	H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
+    /* iterate through all the members */
+    xtype = H5G_TYPE;
+    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
+    xtype = H5G_DATASET;
+    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
+    xtype = H5G_GROUP;
+    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
+    xtype = H5G_LINK;
+    H5Giterate(gid, ".", NULL, dump_all, (void *) &xtype);
 
     }
 
     indent -= COL;
     indentation(indent);
     if (isRoot) {
-	printf("</%sRootGroup>\n",xmlnsprefix);
+    printf("</%sRootGroup>\n",xmlnsprefix);
     } else {
-	printf("</%sGroup>\n" ,xmlnsprefix);
+    printf("</%sGroup>\n" ,xmlnsprefix);
     }
     free(tmp);
 }
@@ -5070,53 +5226,53 @@
     hsize_t                 i;
 
     if (source == DATASET_DATA) {
-	type = H5Dget_type(did);
+    type = H5Dget_type(did);
     } else if (source == ATTRIBUTE_DATA) {
-	type = H5Aget_type(did);
+    type = H5Aget_type(did);
     } else {
-	/* return an error */
-	return FAIL;
+    /* return an error */
+    return FAIL;
     }
     if (H5Tget_class(type) != H5T_REFERENCE) {
-	/* return an error */
-	return FAIL;
+    /* return an error */
+    return FAIL;
     }
     if (!H5Tequal(type, H5T_STD_REF_OBJ)) {
-	/* region ref not supported yet... */
-	/* return an error */
-	return FAIL;
+    /* region ref not supported yet... */
+    /* return an error */
+    return FAIL;
     }
     if (source == DATASET_DATA) {
-	space = H5Dget_space(did);
-	ssiz = H5Sget_simple_extent_npoints(space);
-	ssiz *= H5Tget_size(type);
+    space = H5Dget_space(did);
+    ssiz = H5Sget_simple_extent_npoints(space);
+    ssiz *= H5Tget_size(type);
 
-	buf = calloc((size_t)ssiz, sizeof(char));
-	if (buf == NULL) {
-	    return FAIL;
-	}
-	e = H5Dread(did, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);
-	/* need to check result here */
-	if (e < 0) {
-	    free(buf);
-	    return FAIL;
-	}
+    buf = calloc((size_t)ssiz, sizeof(char));
+    if (buf == NULL) {
+        return FAIL;
+    }
+    e = H5Dread(did, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);
+    /* need to check result here */
+    if (e < 0) {
+        free(buf);
+        return FAIL;
+    }
 
     } else if (source == ATTRIBUTE_DATA) {
-	space = H5Aget_space(did);
-	ssiz = H5Sget_simple_extent_npoints(space);
-	ssiz *= H5Tget_size(type);
+    space = H5Aget_space(did);
+    ssiz = H5Sget_simple_extent_npoints(space);
+    ssiz *= H5Tget_size(type);
 
-	buf = calloc((size_t)ssiz, sizeof(char));
-	if (buf == NULL) {
-	    free(buf);
-	    return FAIL;
-	}
-	e = H5Aread(did, H5T_STD_REF_OBJ, buf);
-	/* need to check the result here */
+    buf = calloc((size_t)ssiz, sizeof(char));
+    if (buf == NULL) {
+        free(buf);
+        return FAIL;
+    }
+    e = H5Aread(did, H5T_STD_REF_OBJ, buf);
+    /* need to check the result here */
     } else {
-	/* error */
-	return FAIL;
+    /* error */
+    return FAIL;
     }
 
     refbuf = (hobj_ref_t *) buf;
@@ -5125,19 +5281,19 @@
     for (i = 0; i < ssiz; i++) {
         const char *path;
 
-	path = lookup_ref_path(*refbuf);
-	indentation(indent + COL);
+    path = lookup_ref_path(*refbuf);
+    indentation(indent + COL);
 
-	if (!path) {
-	    printf("\"%s\"\n", "NULL");
-	} else {
+    if (!path) {
+        printf("\"%s\"\n", "NULL");
+    } else {
             char *t_path = xml_escape_the_string(path, -1);
 
-	    printf("\"%s\"\n", t_path);
+        printf("\"%s\"\n", t_path);
             free(t_path);
-	}
+    }
 
-	refbuf++;
+    refbuf++;
     }
 
     free(buf);
@@ -5172,54 +5328,54 @@
     htri_t                  is_vlstr;
 
     if (source == DATASET_DATA) {
-	type = H5Dget_type(did);
+    type = H5Dget_type(did);
     } else if (source == ATTRIBUTE_DATA) {
-	type = H5Aget_type(did);
+    type = H5Aget_type(did);
     } else {
-	/* return an error */
-	return FAIL;
+    /* return an error */
+    return FAIL;
     }
     if (H5Tget_class(type) != H5T_STRING) {
-	/* return an error */
-	return FAIL;
+    /* return an error */
+    return FAIL;
     }
     is_vlstr = H5Tis_variable_str(type);
 
     if (source == DATASET_DATA) {
-	space = H5Dget_space(did);
-	ssiz = H5Sget_simple_extent_npoints(space);
-	ssiz *= H5Tget_size(type);
+    space = H5Dget_space(did);
+    ssiz = H5Sget_simple_extent_npoints(space);
+    ssiz *= H5Tget_size(type);
 
-	buf = malloc((size_t)ssiz);
+    buf = malloc((size_t)ssiz);
 
-	if (buf == NULL) {
-	    return FAIL;
-	}
+    if (buf == NULL) {
+        return FAIL;
+    }
 
-	e = H5Dread(did, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);
+    e = H5Dread(did, type, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf);
 
-	if (e < 0) {
-	    free(buf);
-	    return FAIL;
-	}
+    if (e < 0) {
+        free(buf);
+        return FAIL;
+    }
     } else if (source == ATTRIBUTE_DATA) {
-	space = H5Aget_space(did);
-	ssiz = H5Sget_simple_extent_npoints(space);
-	ssiz *= H5Tget_size(type);
+    space = H5Aget_space(did);
+    ssiz = H5Sget_simple_extent_npoints(space);
+    ssiz *= H5Tget_size(type);
 
-	buf = malloc((size_t)ssiz);
-	if (buf == NULL) {
-	    return FAIL;
-	}
+    buf = malloc((size_t)ssiz);
+    if (buf == NULL) {
+        return FAIL;
+    }
 
-	e = H5Aread(did, type, buf);
-	if (e < 0) {
-	    free(buf);
-	    return FAIL;
-	}
+    e = H5Aread(did, type, buf);
+    if (e < 0) {
+        free(buf);
+        return FAIL;
+    }
     } else {
-	/* error */
-	return FAIL;
+    /* error */
+    return FAIL;
     }
 
     /* pull out each string... */
@@ -5236,19 +5392,19 @@
             if(onestring)
                 str_size = (size_t)HDstrlen(onestring);
         } else {
-    	    HDstrncpy(onestring, bp, tsiz);
+            HDstrncpy(onestring, bp, tsiz);
             str_size = tsiz;
         }
-	indentation(indent + COL);
+    indentation(indent + COL);
 
-	if (!onestring) {
-	    printf("NULL\n");
-	} else {
+    if (!onestring) {
+        printf("NULL\n");
+    } else {
             char *t_onestring = xml_escape_the_string(onestring, (int)str_size);
 
-	    printf("\"%s\"\n", t_onestring);
+        printf("\"%s\"\n", t_onestring);
             free(t_onestring);
-	}
+    }
 
        bp += tsiz;
     }
@@ -5257,53 +5413,6 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:    check_compression
- *
- * Purpose:     private function to check for compression and
- *              put a comment in the XML.  (Not fully implemented.)
- *
- * Return:      void
- *
- * Programmer:  REMcG
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-#ifdef LATER
-static void
-check_compression(hid_t dcpl)
-{
-    int                     nfilt;
-    int                     i;
-    H5Z_filter_t            filter;
-    char                    namebuf[20];
-    size_t                  cd_nelmts = 1;
-    unsigned int            cd_values;
-    unsigned int            flags;
-/*  not used yet:  will need to do somehting more elaborate to handle future
- * compression methods.
-    char                   *t1 = "H5Z_FILTER_DEFLATE";
-*/
-
-    nfilt = H5Pget_nfilters(dcpl);
-    if (nfilt <= 0)
-	return;
-    for (i = 0; i < nfilt; i++) {
-	filter = H5Pget_filter(dcpl, i, &flags,
-			       (size_t *) &cd_nelmts,
-			       &cd_values, 20, namebuf);
-	if (filter == H5Z_FILTER_DEFLATE) {
-	    indentation(indent + COL);
-	    printf("<%sCompression />\n",xmlnsprefix);
-	    indentation(indent + COL);
-	    printf("<!-- Compression parameter %d -->\n", cd_values);
-	}
-    }
-}
-#endif /* LATER */
-
-/*-------------------------------------------------------------------------
  * Function:    check_filters
  *
  * Purpose:     private function to check for the filters and
@@ -5330,45 +5439,45 @@
 
     nfilt = H5Pget_nfilters(dcpl);
     if (nfilt <= 0)
-	return;
+    return;
     for (i = 0; i < nfilt; i++) {
-	filter = H5Pget_filter(dcpl, (unsigned)i, &flags,
-			       (size_t *) &cd_nelmts,
-			       cd_values, 120, namebuf);
-	if (filter == H5Z_FILTER_DEFLATE) {
-	    indentation(indent + COL);
-	    printf("<%sDeflate Level=\"",xmlnsprefix);
+    filter = H5Pget_filter(dcpl, (unsigned)i, &flags,
+                   (size_t *) &cd_nelmts,
+                   cd_values, 120, namebuf);
+    if (filter == H5Z_FILTER_DEFLATE) {
+        indentation(indent + COL);
+        printf("<%sDeflate Level=\"",xmlnsprefix);
             if (cd_nelmts < 1) {
-		/* not sure what this means? */
-	        printf("6");
+        /* not sure what this means? */
+            printf("6");
             } else {
-	        printf("%d",cd_values[0]);
+            printf("%d",cd_values[0]);
             }
-	    printf("\"/>\n");
-	} else if (filter == H5Z_FILTER_FLETCHER32) {
-	    indentation(indent + COL);
-	    printf("<%sFletcher32 />",xmlnsprefix);
-	} else if (filter == H5Z_FILTER_SHUFFLE) {
-	    indentation(indent + COL);
-	    printf("<%sShuffle />",xmlnsprefix);
-	} else if (filter == H5Z_FILTER_SZIP) {
+        printf("\"/>\n");
+    } else if (filter == H5Z_FILTER_FLETCHER32) {
+        indentation(indent + COL);
+        printf("<%sFletcher32 />",xmlnsprefix);
+    } else if (filter == H5Z_FILTER_SHUFFLE) {
+        indentation(indent + COL);
+        printf("<%sShuffle />",xmlnsprefix);
+    } else if (filter == H5Z_FILTER_SZIP) {
 
-	    indentation(indent + COL);
-	    printf("<%sSZIP ",xmlnsprefix);
+        indentation(indent + COL);
+        printf("<%sSZIP ",xmlnsprefix);
             if (cd_nelmts < 2) {
-		/* no pixels ? */
-	        printf("Pixels_per_block=\"-1\" ");
+        /* no pixels ? */
+            printf("Pixels_per_block=\"-1\" ");
             } else {
-	        printf("Pixels_per_block=\"%d\" ",cd_values[1]);
+            printf("Pixels_per_block=\"%d\" ",cd_values[1]);
             }
-		/* analyse the options mask */
-		if (cd_values[0] & H5_SZIP_CHIP_OPTION_MASK) {
+        /* analyse the options mask */
+        if (cd_values[0] & H5_SZIP_CHIP_OPTION_MASK) {
                     printf("Mode =\"Hardware\" ");
                 } else if (cd_values[0] & H5_SZIP_ALLOW_K13_OPTION_MASK) {
                     printf("Mode =\"K13\" ");
                 }
                 printf("Coding=\"");
-		if (cd_values[0] & H5_SZIP_EC_OPTION_MASK) {
+        if (cd_values[0] & H5_SZIP_EC_OPTION_MASK) {
                     printf("Entropy");
                 } else if (cd_values[0] & H5_SZIP_NN_OPTION_MASK) {
                     printf("NN");
@@ -5376,21 +5485,21 @@
                 printf("\" ");
 
                 printf("ByteOrder=\"");
-		if (cd_values[0] & H5_SZIP_LSB_OPTION_MASK) {
+        if (cd_values[0] & H5_SZIP_LSB_OPTION_MASK) {
                     printf("LSB");
                 } else if (cd_values[0] & H5_SZIP_MSB_OPTION_MASK) {
                     printf("MSB");
                 }
                 printf("\" ");
 
-		if (cd_values[0] & H5_SZIP_RAW_OPTION_MASK) {
+        if (cd_values[0] & H5_SZIP_RAW_OPTION_MASK) {
                     printf("Header=\"Raw\"");
                 }
-	        printf("/>\n");
-	} else {
-		/* unknown option */
-	}
+            printf("/>\n");
+    } else {
+        /* unknown option */
     }
+    }
 }
 
 static void
@@ -5516,6 +5625,7 @@
     printf("</%sData>\n",xmlnsprefix);
     indent -= COL;
 }
+
 /*-------------------------------------------------------------------------
  * Function:    xml_dump_group
  *
@@ -5544,13 +5654,13 @@
     hsize_t                 tempi;
     char                   *tmp;
     char                   *t_name, *t_tmp, *t_prefix;
-    char *rstr = malloc(100);
-    char *pstr = malloc(100);
+    char *rstr = HDmalloc(100);
+    char *pstr = HDmalloc(100);
 
-    tmp = malloc(strlen(prefix) + strlen(name) + 2);
-    strcpy(tmp, prefix);
-    strcat(tmp, "/");
-    strcat(tmp, name);
+    tmp = HDmalloc(HDstrlen(prefix) + HDstrlen(name) + 2);
+    HDstrcpy(tmp, prefix);
+    HDstrcat(tmp, "/");
+    HDstrcat(tmp, name);
     indentation(indent);
 
     t_name = xml_escape_the_name(name);
@@ -5560,14 +5670,14 @@
     xml_name_to_XID(tmp, rstr, 100, 1);
     xml_name_to_XID(prefix, pstr, 100, 1);
     printf("<%sDataset Name=\"%s\" OBJ-XID=\"%s\" H5Path= \"%s\" Parents=\"%s\" H5ParentPaths=\"%s\">\n",xmlnsprefix,
-	   t_name, rstr, t_tmp, pstr, strcmp(prefix, "") ? t_prefix : "/");
+       t_name, rstr, t_tmp, pstr, strcmp(prefix, "") ? t_prefix : "/");
 
-    free(t_name);
-    free(t_tmp);
-    free(t_prefix);
-    free(rstr);
-    free(pstr);
-    free(tmp);
+    HDfree(t_name);
+    HDfree(t_tmp);
+    HDfree(t_prefix);
+    HDfree(rstr);
+    HDfree(pstr);
+    HDfree(tmp);
 
     dcpl = H5Dget_create_plist(did);
     type = H5Dget_type(did);
@@ -5575,66 +5685,66 @@
 
     /* Print information about storage layout */
     if (H5D_CHUNKED == H5Pget_layout(dcpl)) {
-	maxdims = H5Sget_simple_extent_ndims(space);
-	chsize = (hsize_t *) malloc(maxdims * sizeof(hsize_t));
-	indent += COL;
-	indentation(indent);
-	printf("<%sStorageLayout>\n",xmlnsprefix);
-	indent += COL;
-	indentation(indent);
-	printf("<%sChunkedLayout ",xmlnsprefix);
-	ndims = H5Pget_chunk(dcpl, maxdims, chsize);
-	printf("Ndims=\"%d\">\n", ndims);
+    maxdims = H5Sget_simple_extent_ndims(space);
+    chsize = (hsize_t *) malloc(maxdims * sizeof(hsize_t));
+    indent += COL;
+    indentation(indent);
+    printf("<%sStorageLayout>\n",xmlnsprefix);
+    indent += COL;
+    indentation(indent);
+    printf("<%sChunkedLayout ",xmlnsprefix);
+    ndims = H5Pget_chunk(dcpl, maxdims, chsize);
+    printf("Ndims=\"%d\">\n", ndims);
 
-	indent += COL;
+    indent += COL;
 
-	for (i = 0; i < ndims; i++) {
-	    indentation(indent);
-	    HDfprintf(stdout, "<%sChunkDimension DimSize=\"%Hu\" />\n",
+    for (i = 0; i < ndims; i++) {
+        indentation(indent);
+        HDfprintf(stdout, "<%sChunkDimension DimSize=\"%Hu\" />\n",
                xmlnsprefix, chsize[i]);
-	}
+    }
 
-	indentation(indent);
-	printf("<%sRequiredFilter>\n",xmlnsprefix);
-	indent += COL;
-	check_filters(dcpl);
-	indent -= COL;
-	indentation(indent);
-	printf("</%sRequiredFilter>\n",xmlnsprefix);
+    indentation(indent);
+    printf("<%sRequiredFilter>\n",xmlnsprefix);
+    indent += COL;
+    check_filters(dcpl);
+    indent -= COL;
+    indentation(indent);
+    printf("</%sRequiredFilter>\n",xmlnsprefix);
 
-	indent -= COL;
+    indent -= COL;
 
-	indentation(indent);
-	printf("</%sChunkedLayout>\n",xmlnsprefix);
-	indent -= COL;
-	indentation(indent);
-	printf("</%sStorageLayout>\n",xmlnsprefix);
-	indent -= COL;
-	free(chsize);
+    indentation(indent);
+    printf("</%sChunkedLayout>\n",xmlnsprefix);
+    indent -= COL;
+    indentation(indent);
+    printf("</%sStorageLayout>\n",xmlnsprefix);
+    indent -= COL;
+    free(chsize);
     } else if (H5D_CONTIGUOUS == H5Pget_layout(dcpl)) {
-	indent += COL;
-	indentation(indent);
-	printf("<%sStorageLayout>\n",xmlnsprefix);
-	indent += COL;
-	indentation(indent);
-	printf("<%sContiguousLayout/>\n",xmlnsprefix);
-	indent -= COL;
-	indentation(indent);
-	printf("</%sStorageLayout>\n",xmlnsprefix);
-	indent -= COL;
-	indentation(indent);
+    indent += COL;
+    indentation(indent);
+    printf("<%sStorageLayout>\n",xmlnsprefix);
+    indent += COL;
+    indentation(indent);
+    printf("<%sContiguousLayout/>\n",xmlnsprefix);
+    indent -= COL;
+    indentation(indent);
+    printf("</%sStorageLayout>\n",xmlnsprefix);
+    indent -= COL;
+    indentation(indent);
     } else if (H5D_COMPACT == H5Pget_layout(dcpl)) {
-	indent += COL;
-	indentation(indent);
-	printf("<%sStorageLayout>\n",xmlnsprefix);
-	indent += COL;
-	indentation(indent);
-	printf("<%sCompactLayout/>\n",xmlnsprefix);
-	indent -= COL;
-	indentation(indent);
-	printf("</%sStorageLayout>\n",xmlnsprefix);
-	indent -= COL;
-	indentation(indent);
+    indent += COL;
+    indentation(indent);
+    printf("<%sStorageLayout>\n",xmlnsprefix);
+    indent += COL;
+    indentation(indent);
+    printf("<%sCompactLayout/>\n",xmlnsprefix);
+    indent -= COL;
+    indentation(indent);
+    printf("</%sStorageLayout>\n",xmlnsprefix);
+    indent -= COL;
+    indentation(indent);
     }
     /* and check for external.... ?? */
 
@@ -5646,36 +5756,36 @@
     H5Pget_fill_time(dcpl, &ft);
     printf("FillTime=\"");
     switch ( ft ) {
-	case H5D_FILL_TIME_ALLOC:
+    case H5D_FILL_TIME_ALLOC:
                 printf("FillOnAlloc");
-		break;
-	case H5D_FILL_TIME_NEVER:
+        break;
+    case H5D_FILL_TIME_NEVER:
                 printf("FillNever");
-		break;
-	case H5D_FILL_TIME_IFSET:
+        break;
+    case H5D_FILL_TIME_IFSET:
                 printf("FillIfSet");
-		break;
-	default:
+        break;
+    default:
                 printf("?");
-		break;
+        break;
     }
     printf("\" ");
     H5Pget_alloc_time(dcpl, &at);
     printf("AllocationTime=\"");
     switch ( at ) {
-	case H5D_ALLOC_TIME_EARLY:
+    case H5D_ALLOC_TIME_EARLY:
                 printf("Early");
-		break;
-	case H5D_ALLOC_TIME_INCR:
+        break;
+    case H5D_ALLOC_TIME_INCR:
                 printf("Incremental");
-		break;
-	case H5D_ALLOC_TIME_LATE:
+        break;
+    case H5D_ALLOC_TIME_LATE:
                 printf("Late");
-		break;
-	case H5D_ALLOC_TIME_DEFAULT:
-	default:
+        break;
+    case H5D_ALLOC_TIME_DEFAULT:
+    default:
                 printf("?");
-		break;
+        break;
     }
     printf("\"");
     printf(">\n");
@@ -5711,77 +5821,77 @@
     tempi = H5Dget_storage_size(did);
 
     if (display_data && (tempi > 0)) {
-	switch (H5Tget_class(type)) {
-	case H5T_INTEGER:
-	case H5T_FLOAT:
-	case H5T_STRING:
-	case H5T_BITFIELD:
-	case H5T_OPAQUE:
-	case H5T_ENUM:
-	case H5T_ARRAY:
-	    dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
-	    break;
+    switch (H5Tget_class(type)) {
+    case H5T_INTEGER:
+    case H5T_FLOAT:
+    case H5T_STRING:
+    case H5T_BITFIELD:
+    case H5T_OPAQUE:
+    case H5T_ENUM:
+    case H5T_ARRAY:
+        dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
+        break;
 
-	case H5T_TIME:
-	    indent += COL;
-	    indentation(indent);
-	    printf("<%sData>\n",xmlnsprefix);
-	    indentation(indent);
-	    printf("<!-- Time data not yet implemented. -->\n");
-	    indentation(indent);
-	    printf("<%sNoData />\n",xmlnsprefix);
-	    indentation(indent);
-	    printf("<%sData>\n",xmlnsprefix);
-	    indent -= COL;
-	    break;
+    case H5T_TIME:
+        indent += COL;
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent);
+        printf("<!-- Time data not yet implemented. -->\n");
+        indentation(indent);
+        printf("<%sNoData />\n",xmlnsprefix);
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indent -= COL;
+        break;
 
-	case H5T_COMPOUND:
-	    indentation(indent);
-	    printf("<!-- Note: format of compound data not specified -->\n");
-	    dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
-	    break;
+    case H5T_COMPOUND:
+        indentation(indent);
+        printf("<!-- Note: format of compound data not specified -->\n");
+        dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
+        break;
 
-	case H5T_REFERENCE:
-	    indentation(indent);
-	    printf("<%sData>\n",xmlnsprefix);
-	    indentation(indent);
+    case H5T_REFERENCE:
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent);
             if (!H5Tequal(type, H5T_STD_REF_OBJ)) {
                 printf("<!-- Note: Region references not supported -->\n");
                 indentation(indent);
                 printf("<%sNoData />\n",xmlnsprefix);
             } else {
-	        printf("<%sDataFromFile>\n",xmlnsprefix);
-	        xml_print_refs(did, DATASET_DATA);
-	        indentation(indent);
-	        printf("</%sDataFromFile>\n",xmlnsprefix);
+            printf("<%sDataFromFile>\n",xmlnsprefix);
+            xml_print_refs(did, DATASET_DATA);
+            indentation(indent);
+            printf("</%sDataFromFile>\n",xmlnsprefix);
             }
-	    indentation(indent);
-	    printf("</%sData>\n",xmlnsprefix);
-	    break;
+        indentation(indent);
+        printf("</%sData>\n",xmlnsprefix);
+        break;
 
-	case H5T_VLEN:
-	    printf("<!-- Note: format of VL data not specified -->\n");
-	    dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
-	    break;
-	default:
-	    indentation(indent);
-	    printf("<%sData>\n",xmlnsprefix);
-	    indentation(indent);
-	    printf("<!-- Unknown datatype: %d -->\n", H5Tget_class(type));
-	    indentation(indent);
-	    printf("<%sNoData/>\n",xmlnsprefix);
-	    indentation(indent);
-	    printf("</%sData>\n",xmlnsprefix);
-	    break;
-	}
+    case H5T_VLEN:
+        printf("<!-- Note: format of VL data not specified -->\n");
+        dump_function_table->dump_data_function(did, DATASET_DATA, NULL, 0);
+        break;
+    default:
+        indentation(indent);
+        printf("<%sData>\n",xmlnsprefix);
+        indentation(indent);
+        printf("<!-- Unknown datatype: %d -->\n", H5Tget_class(type));
+        indentation(indent);
+        printf("<%sNoData/>\n",xmlnsprefix);
+        indentation(indent);
+        printf("</%sData>\n",xmlnsprefix);
+        break;
+    }
     } else {
-	/* no data written */
-	indentation(indent + COL);
-	printf("<%sData>\n",xmlnsprefix);
-	indentation(indent + COL + COL);
-	printf("<%sNoData/>\n",xmlnsprefix);
-	indentation(indent + COL);
-	printf("</%sData>\n",xmlnsprefix);
+    /* no data written */
+    indentation(indent + COL);
+    printf("<%sData>\n",xmlnsprefix);
+    indentation(indent + COL + COL);
+    printf("<%sNoData/>\n",xmlnsprefix);
+    indentation(indent + COL);
+    printf("</%sData>\n",xmlnsprefix);
     }
 
     H5Tclose(type);
@@ -5808,13 +5918,13 @@
 static void
 xml_print_enum(hid_t type)
 {
-    char                  **name = NULL;	/*member names                    */
-    unsigned char          *value = NULL;	/*value array                    */
-    unsigned                nmembs;	/*number of members                */
-    hid_t                   super;	/*enum base integer type        */
-    hid_t                   native = -1;	/*native integer data type        */
-    size_t                  dst_size;	/*destination value type size    */
-    unsigned                i;	/*miscellaneous counters        */
+    char                  **name = NULL;    /*member names                    */
+    unsigned char          *value = NULL;   /*value array                    */
+    unsigned                nmembs; /*number of members                */
+    hid_t                   super;  /*enum base integer type        */
+    hid_t                   native = -1;    /*native integer data type        */
+    size_t                  dst_size;   /*destination value type size    */
+    unsigned                i;  /*miscellaneous counters        */
     size_t                  j;
 
     nmembs = H5Tget_nmembers(type);
@@ -5834,29 +5944,29 @@
      *    3. raw format
      */
     if (H5Tget_size(type) <= sizeof(long_long)) {
-	dst_size = sizeof(long_long);
+    dst_size = sizeof(long_long);
 
-	if (H5T_SGN_NONE == H5Tget_sign(type)) {
-	    native = H5T_NATIVE_ULLONG;
-	} else {
-	    native = H5T_NATIVE_LLONG;
-	}
+    if (H5T_SGN_NONE == H5Tget_sign(type)) {
+        native = H5T_NATIVE_ULLONG;
     } else {
-	dst_size = H5Tget_size(type);
+        native = H5T_NATIVE_LLONG;
     }
+    } else {
+    dst_size = H5Tget_size(type);
+    }
 
     /* Get the names and raw values of all members */
     name = calloc(nmembs, sizeof(char *));
     value = calloc(nmembs, MAX(H5Tget_size(type), dst_size));
 
     for (i = 0; i < nmembs; i++) {
-	name[i] = H5Tget_member_name(type, i);
-	H5Tget_member_value(type, i, value + i * H5Tget_size(type));
+    name[i] = H5Tget_member_name(type, i);
+    H5Tget_member_value(type, i, value + i * H5Tget_size(type));
     }
 
     /* Convert values to native data type */
     if (native > 0)
-	H5Tconvert(super, native, nmembs, value, NULL, H5P_DEFAULT);
+    H5Tconvert(super, native, nmembs, value, NULL, H5P_DEFAULT);
 
     /* Sort members by increasing value */
     /*not implemented yet */
@@ -5866,38 +5976,38 @@
     for (i = 0; i < nmembs; i++) {
         char *t_name = xml_escape_the_name(name[i]);
 
-	indentation(indent);
-	printf("<%sEnumElement>\n",xmlnsprefix);
-	indentation(indent + COL);
-	printf("%s\n", t_name);
+    indentation(indent);
+    printf("<%sEnumElement>\n",xmlnsprefix);
+    indentation(indent + COL);
+    printf("%s\n", t_name);
         free(t_name);
-	indentation(indent);
-	printf("</%sEnumElement>\n",xmlnsprefix);
-	indentation(indent);
-	printf("<%sEnumValue>\n",xmlnsprefix);
-	indentation(indent + COL);
-	if (native < 0) {
-	    printf("0x");
+    indentation(indent);
+    printf("</%sEnumElement>\n",xmlnsprefix);
+    indentation(indent);
+    printf("<%sEnumValue>\n",xmlnsprefix);
+    indentation(indent + COL);
+    if (native < 0) {
+        printf("0x");
 
-	    for (j = 0; j < dst_size; j++)
-		printf("%02x", value[i * dst_size + j]);
-	} else if (H5T_SGN_NONE == H5Tget_sign(native)) {
-	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "u", *((unsigned long_long *)
-					      ((void *) (value + i * dst_size))));
-	} else {
-	    HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "d",
-		   *((long_long *) ((void *) (value + i * dst_size))));
-	}
-	printf("\n");
-	indentation(indent);
-	printf("</%sEnumValue>\n",xmlnsprefix);
+        for (j = 0; j < dst_size; j++)
+        printf("%02x", value[i * dst_size + j]);
+    } else if (H5T_SGN_NONE == H5Tget_sign(native)) {
+        HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "u", *((unsigned long_long *)
+                          ((void *) (value + i * dst_size))));
+    } else {
+        HDfprintf(stdout,"%" H5_PRINTF_LL_WIDTH "d",
+           *((long_long *) ((void *) (value + i * dst_size))));
+    }
+    printf("\n");
+    indentation(indent);
+    printf("</%sEnumValue>\n",xmlnsprefix);
 
     }
     indent -= COL;
 
     /* Release resources */
     for (i = 0; i < nmembs; i++)
-	free(name[i]);
+    free(name[i]);
 
     free(name);
     free(value);
@@ -5906,17 +6016,17 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	h5_fileaccess
+ * Function:    h5_fileaccess
  *
- * Purpose:	Returns a file access template which is the default template
- *		but with a file driver set according to the constant or
- *		environment variable HDF5_DRIVER
+ * Purpose: Returns a file access template which is the default template
+ *      but with a file driver set according to the constant or
+ *      environment variable HDF5_DRIVER
  *
- * Return:	Success:	A file access property list
+ * Return:  Success:    A file access property list
  *
- *		Failure:	-1
+ *      Failure:    -1
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Thursday, November 19, 1998
  *
  * Modifications:
@@ -5927,8 +6037,8 @@
 h5_fileaccess(void)
 {
     static const char *multi_letters = "msbrglo";
-    const char	*val = NULL;
-    const char	*name;
+    const char  *val = NULL;
+    const char  *name;
     char s[1024];
     hid_t fapl = -1;
 
@@ -5946,53 +6056,53 @@
     if (NULL==(name=HDstrtok(s, " \t\n\r"))) return fapl;
 
     if (!HDstrcmp(name, "sec2")) {
-	/* Unix read() and write() system calls */
-	if (H5Pset_fapl_sec2(fapl)<0) return -1;
+    /* Unix read() and write() system calls */
+    if (H5Pset_fapl_sec2(fapl)<0) return -1;
     } else if (!HDstrcmp(name, "stdio")) {
-	/* Standard C fread() and fwrite() system calls */
-	if (H5Pset_fapl_stdio(fapl)<0) return -1;
+    /* Standard C fread() and fwrite() system calls */
+    if (H5Pset_fapl_stdio(fapl)<0) return -1;
     } else if (!HDstrcmp(name, "core")) {
-	/* In-core temporary file with 1MB increment */
-	if (H5Pset_fapl_core(fapl, 1024*1024, FALSE)<0) return -1;
+    /* In-core temporary file with 1MB increment */
+    if (H5Pset_fapl_core(fapl, 1024*1024, FALSE)<0) return -1;
     } else if (!HDstrcmp(name, "split")) {
-	/* Split meta data and raw data each using default driver */
-	if (H5Pset_fapl_split(fapl,
-			      "-m.h5", H5P_DEFAULT,
-			      "-r.h5", H5P_DEFAULT)<0)
-	    return -1;
+    /* Split meta data and raw data each using default driver */
+    if (H5Pset_fapl_split(fapl,
+                  "-m.h5", H5P_DEFAULT,
+                  "-r.h5", H5P_DEFAULT)<0)
+        return -1;
     } else if (!HDstrcmp(name, "multi")) {
-	/* Multi-file driver, general case of the split driver */
-	H5FD_mem_t memb_map[H5FD_MEM_NTYPES];
-	hid_t memb_fapl[H5FD_MEM_NTYPES];
-	const char *memb_name[H5FD_MEM_NTYPES];
-	char sv[H5FD_MEM_NTYPES][1024];
-	haddr_t memb_addr[H5FD_MEM_NTYPES];
-        H5FD_mem_t	mt;
+    /* Multi-file driver, general case of the split driver */
+    H5FD_mem_t memb_map[H5FD_MEM_NTYPES];
+    hid_t memb_fapl[H5FD_MEM_NTYPES];
+    const char *memb_name[H5FD_MEM_NTYPES];
+    char sv[H5FD_MEM_NTYPES][1024];
+    haddr_t memb_addr[H5FD_MEM_NTYPES];
+        H5FD_mem_t  mt;
 
-	HDmemset(memb_map, 0, sizeof memb_map);
-	HDmemset(memb_fapl, 0, sizeof memb_fapl);
-	HDmemset(memb_name, 0, sizeof memb_name);
-	HDmemset(memb_addr, 0, sizeof memb_addr);
+    HDmemset(memb_map, 0, sizeof memb_map);
+    HDmemset(memb_fapl, 0, sizeof memb_fapl);
+    HDmemset(memb_name, 0, sizeof memb_name);
+    HDmemset(memb_addr, 0, sizeof memb_addr);
 
-	assert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES);
-	for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,mt)) {
-	    memb_fapl[mt] = H5P_DEFAULT;
-	    sprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]);
-	    memb_name[mt] = sv[mt];
-	    memb_addr[mt] = MAX(mt-1,0)*(HADDR_MAX/10);
-	}
+    assert(HDstrlen(multi_letters)==H5FD_MEM_NTYPES);
+    for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t,mt)) {
+        memb_fapl[mt] = H5P_DEFAULT;
+        sprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]);
+        memb_name[mt] = sv[mt];
+        memb_addr[mt] = MAX(mt-1,0)*(HADDR_MAX/10);
+    }
 
-	if (H5Pset_fapl_multi(fapl, memb_map, memb_fapl, memb_name,
-			      memb_addr, FALSE)<0) {
-	    return -1;
-	}
+    if (H5Pset_fapl_multi(fapl, memb_map, memb_fapl, memb_name,
+                  memb_addr, FALSE)<0) {
+        return -1;
+    }
     } else if (!HDstrcmp(name, "family")) {
         hsize_t fam_size = 100*1024*1024; /*100 MB*/
 
-	/* Family of files, each 1MB and using the default driver */
-	if ((val=HDstrtok(NULL, " \t\n\r")))
-	    fam_size = (hsize_t)(HDstrtod(val, NULL) * 1024*1024);
-	if (H5Pset_fapl_family(fapl, fam_size, H5P_DEFAULT)<0)
+    /* Family of files, each 1MB and using the default driver */
+    if ((val=HDstrtok(NULL, " \t\n\r")))
+        fam_size = (hsize_t)(HDstrtod(val, NULL) * 1024*1024);
+    if (H5Pset_fapl_family(fapl, fam_size, H5P_DEFAULT)<0)
             return -1;
     } else if (!HDstrcmp(name, "log")) {
 #ifdef H5_WANT_H5_V1_4_COMPAT
@@ -6007,18 +6117,18 @@
             verbosity = strtol(val, NULL, 0);
 
         if (H5Pset_fapl_log(fapl, NULL, (int)verbosity) < 0)
-	    return -1;
+        return -1;
 #else /* H5_WANT_H5_V1_4_COMPAT */
         /* Log file access */
         if ((val = HDstrtok(NULL, " \t\n\r")))
             log_flags = HDstrtol(val, NULL, 0);
 
         if (H5Pset_fapl_log(fapl, NULL, (unsigned)log_flags, 0) < 0)
-	    return -1;
+        return -1;
 #endif /* H5_WANT_H5_V1_4_COMPAT */
     } else {
-	/* Unknown driver */
-	return -1;
+    /* Unknown driver */
+    return -1;
     }
 
     return fapl;
@@ -6042,3 +6152,28 @@
     *prfx = HDcalloc(prfx_len, 1);
 }
 
+
+/*-------------------------------------------------------------------------
+ * Function:    add_prefix
+ *
+ * Purpose:     Add object to prefix
+ *
+ * Return:      void
+ *
+ *-------------------------------------------------------------------------
+ */
+static void
+add_prefix(char **prfx, size_t *prfx_len, const char *name)
+{
+    size_t new_len = HDstrlen(*prfx) + HDstrlen(name) + 2;
+
+    /* Check if we need more space */
+    if(*prfx_len <= new_len) {
+        *prfx_len = new_len + 1;
+        *prfx = HDrealloc(*prfx, *prfx_len);
+    }
+
+    /* Append object name to prefix */
+    HDstrcat(HDstrcat(*prfx, "/"), name);
+} /* end add_prefix */
+

Modified: packages/hdf5/trunk/tools/h5dump/h5dump.h
===================================================================
--- packages/hdf5/trunk/tools/h5dump/h5dump.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/h5dump.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,14 +9,142 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 #ifndef H5DUMP_H__
 #define H5DUMP_H__
 
 #include "hdf5.h"
 
-#define H5DUMP_MAX_RANK		H5S_MAX_RANK
+#define H5DUMP_MAX_RANK     H5S_MAX_RANK
 
+#define ATTRIBUTE_DATA  0
+#define DATASET_DATA    1
+#define ENUM_DATA       2
+#define COL             3
+
+/* Strings for output */
+#define ATTRIBUTE       "ATTRIBUTE"
+#define BLOCK           "BLOCK"
+#define SUPER_BLOCK     "SUPER_BLOCK"
+#define COMPRESSION     "COMPRESSION"
+#define CONCATENATOR    "//"
+#define COMPLEX         "COMPLEX"
+#define COUNT           "COUNT"
+#define CSET            "CSET"
+#define CTYPE           "CTYPE"
+#define DATA            "DATA"
+#define DATASPACE       "DATASPACE"
+#define EXTERNAL        "EXTERNAL"
+#define FILENO          "FILENO"
+#define HARDLINK        "HARDLINK"
+#define NLINK           "NLINK"
+#define OBJID           "OBJECTID"
+#define OBJNO           "OBJNO"
+#define S_SCALAR        "SCALAR"
+#define S_SIMPLE        "SIMPLE"
+#define S_NULL          "NULL"
+#define SOFTLINK        "SOFTLINK"
+#define START           "START"
+#define STRIDE          "STRIDE"
+#define STRSIZE         "STRSIZE"
+#define STRPAD          "STRPAD"
+#define SUBSET          "SUBSET"
+#define FILTERS         "FILTERS"
+#define DEFLATE         "COMPRESSION DEFLATE"
+#define DEFLATE_LEVEL   "LEVEL"
+#define SHUFFLE         "PREPROCESSING SHUFFLE"
+#define FLETCHER32      "CHECKSUM FLETCHER32"
+#define SZIP            "COMPRESSION SZIP"
+#define NBIT            "COMPRESSION NBIT"
+#define SCALEOFFSET            "COMPRESSION SCALEOFFSET"
+#define SCALEOFFSET_MINBIT            "MIN BITS"
+#define STORAGE_LAYOUT  "STORAGE_LAYOUT"
+#define CONTIGUOUS      "CONTIGUOUS"
+#define COMPACT         "COMPACT"
+#define CHUNKED         "CHUNKED"
+#define EXTERNAL_FILE   "EXTERNAL_FILE"
+#define FILLVALUE       "FILLVALUE"
+#define FILE_CONTENTS   "FILE_CONTENTS"
+
+#define BEGIN           "{"
+#define END             "}"
+
+typedef struct h5dump_header_t {
+    const char *name;
+    const char *filebegin;
+    const char *fileend;
+    const char *bootblockbegin;
+    const char *bootblockend;
+    const char *groupbegin;
+    const char *groupend;
+    const char *datasetbegin;
+    const char *datasetend;
+    const char *attributebegin;
+    const char *attributeend;
+    const char *datatypebegin;
+    const char *datatypeend;
+    const char *dataspacebegin;
+    const char *dataspaceend;
+    const char *databegin;
+    const char *dataend;
+    const char *softlinkbegin;
+    const char *softlinkend;
+    const char *subsettingbegin;
+    const char *subsettingend;
+    const char *startbegin;
+    const char *startend;
+    const char *stridebegin;
+    const char *strideend;
+    const char *countbegin;
+    const char *countend;
+    const char *blockbegin;
+    const char *blockend;
+
+    const char *fileblockbegin;
+    const char *fileblockend;
+    const char *bootblockblockbegin;
+    const char *bootblockblockend;
+    const char *groupblockbegin;
+    const char *groupblockend;
+    const char *datasetblockbegin;
+    const char *datasetblockend;
+    const char *attributeblockbegin;
+    const char *attributeblockend;
+    const char *datatypeblockbegin;
+    const char *datatypeblockend;
+    const char *dataspaceblockbegin;
+    const char *dataspaceblockend;
+    const char *datablockbegin;
+    const char *datablockend;
+    const char *softlinkblockbegin;
+    const char *softlinkblockend;
+    const char *strblockbegin;
+    const char *strblockend;
+    const char *enumblockbegin;
+    const char *enumblockend;
+    const char *structblockbegin;
+    const char *structblockend;
+    const char *vlenblockbegin;
+    const char *vlenblockend;
+    const char *subsettingblockbegin;
+    const char *subsettingblockend;
+    const char *startblockbegin;
+    const char *startblockend;
+    const char *strideblockbegin;
+    const char *strideblockend;
+    const char *countblockbegin;
+    const char *countblockend;
+    const char *blockblockbegin;
+    const char *blockblockend;
+
+    const char *dataspacedescriptionbegin;
+    const char *dataspacedescriptionend;
+    const char *dataspacedimbegin;
+    const char *dataspacedimend;
+
+} h5dump_header_t;
+
+
 #endif  /* !H5DUMP_H__ */

Modified: packages/hdf5/trunk/tools/h5dump/h5dumpgentest.c
===================================================================
--- packages/hdf5/trunk/tools/h5dump/h5dumpgentest.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/h5dumpgentest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -78,9 +79,12 @@
 #define FILE49  "tstr3.h5"
 #define FILE50  "taindices.h5"
 #define FILE51  "tlonglinks.h5"
+#define FILE52  "tldouble.h5"
+/* FILE53 and 54  not defined in this version, features not defined  */
+#define FILE55  "tbinary.h5"
+#define FILE56  "tbigdims.h5"
+#define FILE57  "thyperslab.h5"
 
-
-
 /*-------------------------------------------------------------------------
  * prototypes
  *-------------------------------------------------------------------------
@@ -447,7 +451,11 @@
     group = H5Gopen(fid, "/g1");
     H5Glink (group, H5G_LINK_HARD, "/g2", "g1.1");
     H5Gclose(group);
+    
+     /* create a link to the root group */
+    H5Glink (fid, H5G_LINK_HARD, "/", "g3");
     H5Fclose(fid);
+
 }
 
 /*
@@ -5067,8 +5075,8 @@
  c_t      buf3 = {24, "Four score and seven\n years ago our forefathers brought forth on this continent a new nation"};
  char     buf4[] = {"Four score and seven\n years ago our forefathers brought forth on this continent a new nation"};
  hsize_t  dims1[]  = {1};
- hsize_t		dims2[]  = {SPACE1_DIM1};
- hsize_t		dims4[1];
+ hsize_t        dims2[]  = {SPACE1_DIM1};
+ hsize_t        dims4[1];
  int      ret;
 
  dims4[0] = sizeof(buf4);
@@ -5144,11 +5152,10 @@
  assert(ret>=0);
 }
 
-
 /*-------------------------------------------------------------------------
  * Function: gent_aindices
  *
- * Purpose: make several datasets for the array indices tests
+ * Purpose: make several datasets for the array indices and subsetting tests
  *
  *-------------------------------------------------------------------------
  */
@@ -5157,35 +5164,35 @@
  hid_t    fid;     /* file id */
  hid_t    gid[6];  /* group ids */
  hsize_t  dims1[1]  = {100};
- hsize_t  dims2[2]  = {2,100};
- hsize_t  dims3[3]  = {2,2,100};
- hsize_t  dims4[4]  = {2,3,4,5};
+ hsize_t  dims2[2]  = {10,10};
+ hsize_t  dims3[3]  = {2,10,10};
+ hsize_t  dims4[4]  = {2,2,10,10};
  int      buf1[100];
- int      buf2[2][100];
- int      buf3[2][2][100];
- int      buf4[2][3][4][5];
+ int      buf2[10][10];
+ int      buf3[2][10][10];
+ int      buf4[2][2][10][10];
  int      i, j, k, l, n, ret;
 
  for (i=n=0; i<100; i++){
   buf1[i]=n++;
  }
 
- for (i=n=0; i<2; i++){
-  for (j=0; j<100; j++){
+ for (i=n=0; i<10; i++){
+  for (j=0; j<10; j++){
    buf2[i][j]=n++;
   }
  }
  for (i=n=0; i<2; i++){
-  for (j=0; j<2; j++){
-   for (k=0; k<100; k++){
+  for (j=0; j<10; j++){
+   for (k=0; k<10; k++){
     buf3[i][j][k]=n++;
    }
   }
  }
  for (i=n=0; i<2; i++){
-  for (j=0; j<3; j++){
-   for (k=0; k<4; k++){
-    for (l=0; l<5; l++){
+  for (j=0; j<2; j++){
+   for (k=0; k<10; k++){
+    for (l=0; l<10; l++){
      buf4[i][j][k][l]=n++;
     }
    }
@@ -5228,6 +5235,7 @@
  */
  ret=H5Fclose(fid);
  assert(ret>=0);
+
 }
 
 /*-------------------------------------------------------------------------
@@ -5239,9 +5247,9 @@
  */
 static void gent_longlinks(void)
 {
-    hid_t		fid = (-1);     /* File ID */
-    hid_t		gid = (-1);     /* Group ID */
-    hid_t		gid2 = (-1);    /* Datatype ID */
+    hid_t       fid = (-1);     /* File ID */
+    hid_t       gid = (-1);     /* Group ID */
+    hid_t       gid2 = (-1);    /* Datatype ID */
     char               *objname = NULL; /* Name of object [Long] */
     size_t              u;              /* Local index variable */
 
@@ -5280,8 +5288,274 @@
     HDfree(objname);
 }
 
+/*-------------------------------------------------------------------------
+ * Function: gent_ldouble
+ *
+ * Purpose: make file with a long double dataset
+ *
+ *-------------------------------------------------------------------------
+ */
+static int gent_ldouble(void)
+{
+ hid_t       fid;
+ hid_t       did;
+ hid_t       tid;
+ hid_t       sid;
+ size_t      size;
+ hsize_t     dims[1] = {3};
+ long double buf[3] = {1,2,3};
 
+ if ((fid = H5Fcreate(FILE52, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0)
+  goto error;
+
+ if ((sid = H5Screate_simple(1, dims, NULL))<0)
+  goto error;
+
+ if ((tid = H5Tcopy(H5T_NATIVE_LDOUBLE))<0)
+  goto error;
+
+ if ((size = H5Tget_size(tid))==0)
+  goto error;
+
+ if ((did = H5Dcreate(fid, "dset", tid, sid, H5P_DEFAULT))<0)
+  goto error;
+
+ if (H5Dwrite(did,tid,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+  goto error;
+
+ if (H5Sclose(sid)<0)
+  goto error;
+ if (H5Tclose(tid)<0)
+  goto error;
+ if (H5Dclose(did)<0)
+  goto error;
+ if (H5Fclose(fid)<0)
+  goto error;
+
+ return 0;
+
+error:
+ printf("error !\n");
+ return -1;
+
+}
+
+
 /*-------------------------------------------------------------------------
+ * Function:    gent_binary
+ *
+ * Purpose:     Generate a file to be used in the binary output test 
+ *              Contains:
+ *              1) an integer dataset
+ *              2) a float dataset
+ *              3) an array dataset
+ *              4) a large double dataset
+ *
+ *-------------------------------------------------------------------------
+ */
+static void
+gent_binary(void)
+{
+ hid_t    fid, sid, did, tid;
+ hsize_t  dims[1] = {6};
+ hsize_t  dimarray[1] = {2};
+ hsize_t  dimsl[1] = {100000};
+ int      ibuf[6]  = {1,2,3,4,5,6};
+ float    fbuf[6]  = {1,2,3,4,5,6};
+ int      abuf[2][6] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};  /* array */
+ double   *dbuf=NULL;
+
+ fid = H5Fcreate(FILE55, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+
+/*-------------------------------------------------------------------------
+ * integer
+ *-------------------------------------------------------------------------
+ */
+ sid = H5Screate_simple(1, dims, NULL);
+ did = H5Dcreate(fid, "integer", H5T_NATIVE_INT, sid, H5P_DEFAULT);
+ H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ibuf);
+ H5Dclose(did);
+ H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * float
+ *-------------------------------------------------------------------------
+ */
+ sid = H5Screate_simple(1, dims, NULL);
+ did = H5Dcreate(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT);
+ H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf);
+ H5Dclose(did);
+ H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * array
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tarray_create(H5T_NATIVE_INT, 1, dims, NULL);
+ sid = H5Screate_simple(1, dimarray, NULL);
+ did = H5Dcreate(fid, "array", tid, sid, H5P_DEFAULT);
+ H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, abuf);
+ H5Dclose(did);
+ H5Tclose(tid);
+ H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * double
+ *-------------------------------------------------------------------------
+ */
+ sid = H5Screate_simple(1, dimsl, NULL);
+ did = H5Dcreate(fid, "double", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT);
+ dbuf=calloc(100000,sizeof(double));
+ if (dbuf!=NULL)
+ {
+  H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf);
+  free(dbuf);
+ }
+ H5Dclose(did);
+ H5Sclose(sid);
+
+ /* close */
+ H5Fclose(fid);
+}
+
+/*-------------------------------------------------------------------------
+ * Function: gen_bigdims
+ *
+ * Purpose: generate a dataset with dimensions greater than 4GB
+ *          and write one hyperslab on the boundary
+ *
+ *-------------------------------------------------------------------------
+ */
+#define GB4LL    ((unsigned long_long) 4*1024*1024*1024)
+#define DIM_4GB  (GB4LL + 10)
+
+static void gent_bigdims(void)
+{
+    hid_t   fid;
+    hid_t   did;
+    hid_t   f_sid;
+    hid_t   m_sid;
+    hid_t   tid;
+    hid_t   dcpl;
+    hsize_t dims[1]={DIM_4GB};                 /* dataset dimensions */
+    hsize_t chunk_dims[1]={1024};              /* chunk dimensions */
+    hsize_t hs_start[1];
+    hsize_t hs_size[1];                        /* hyperslab dimensions */
+    size_t  size;
+    char    fillvalue=0;
+    char    *buf=NULL;
+    hsize_t i;
+    char    c;
+    size_t  nelmts;
+    int     ret;
+
+    /* create a file */
+    fid  = H5Fcreate(FILE56, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+    assert(fid>=0);
+    
+    /* create dataset */ 
+    if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+        goto out;
+    if (H5Pset_fill_value(dcpl, H5T_NATIVE_SCHAR, &fillvalue)<0)
+        goto out;
+    if (H5Pset_chunk(dcpl, 1, chunk_dims)<0)
+        goto out;
+    if ((f_sid = H5Screate_simple(1,dims,NULL))<0)
+        goto out;
+    if ((did = H5Dcreate(fid,"dset4gb",H5T_NATIVE_SCHAR,f_sid,dcpl))<0)
+        goto out;
+    if ((tid = H5Dget_type(did))<0) 
+        goto out;
+    if ((size = H5Tget_size(tid))<=0)
+        goto out;
+    
+    /* select an hyperslab */
+    nelmts = 20;
+    hs_start[0] = GB4LL - 10;
+    hs_size[0]  = nelmts;
+    
+    if ((m_sid = H5Screate_simple(1, hs_size, hs_size))<0) 
+        goto out;
+    
+    buf=(char *) malloc((unsigned)(nelmts*size));
+    
+    for (i=0, c=0; i<nelmts; i++, c++) 
+    {
+        buf[i] = c;
+    }
+    
+    if (H5Sselect_hyperslab (f_sid,H5S_SELECT_SET,hs_start,NULL,hs_size,NULL)<0) 
+        goto out;
+    if (H5Dwrite (did,H5T_NATIVE_SCHAR,m_sid,f_sid,H5P_DEFAULT,buf)<0) 
+        goto out;
+    
+    
+    free(buf);
+    buf=NULL;
+    
+    /* close */
+    if(H5Sclose(f_sid)<0)
+        goto out;
+    if(H5Sclose(m_sid)<0)
+        goto out;
+    if(H5Pclose(dcpl)<0)
+        goto out;
+    if(H5Dclose(did)<0)
+        goto out;
+
+    ret=H5Fclose(fid);
+    assert(ret>=0);
+    
+    return;
+    
+out:
+    printf("Error.....\n");
+    H5E_BEGIN_TRY {
+        H5Pclose(dcpl);
+        H5Sclose(f_sid);
+        H5Sclose(m_sid);
+        H5Dclose(did);
+        H5Fclose(fid);
+    } H5E_END_TRY;
+    return;
+    
+}
+
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: gent_hyperslab
+ *
+ * Purpose: make a dataset for hyperslab read
+ *
+ *-------------------------------------------------------------------------
+ */
+static void gent_hyperslab(void)
+{
+ hid_t    fid;     /* file id */
+ hsize_t  dims[2]  = {32,4097}; /* big enough data size to force a second stripmine read */
+ double   *buf;
+ int      i, ret;
+
+ buf = malloc(32 * 4097 * sizeof(double) );
+ for (i = 0; i < 32 * 4097; i++)
+  buf[i] = 1;
+
+ /* create a file */
+ fid  = H5Fcreate(FILE57, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ assert(fid>=0);
+
+ write_dset(fid,2,dims,"stripmine",H5T_NATIVE_DOUBLE,buf);
+
+ ret=H5Fclose(fid);
+ assert(ret>=0);
+
+ free(buf);
+}
+
+/*-------------------------------------------------------------------------
  * Function: main
  *
  *-------------------------------------------------------------------------
@@ -5340,6 +5614,10 @@
     gent_string();
     gent_aindices();
     gent_longlinks();
+    gent_ldouble();
+    gent_binary();
+    gent_bigdims();
+    gent_hyperslab();
 
     return 0;
 }

Modified: packages/hdf5/trunk/tools/h5dump/testh5dump.sh.in
===================================================================
--- packages/hdf5/trunk/tools/h5dump/testh5dump.sh.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/testh5dump.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Tests for the h5dump tool
 
@@ -20,9 +21,16 @@
 USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@"
 USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@"
 
-DUMPER=h5dump               # The tool name
-DUMPER_BIN=`pwd`/$DUMPER    # The path of the tool binary
+DUMPER=h5dump                     # The tool name
+DUMPER_BIN=`pwd`/$DUMPER          # The path of the tool binary
+TESTDIR=`pwd`/../testfiles
 
+H5DIFF=../h5diff/h5diff           # The h5diff tool name 
+H5DIFF_BIN=`pwd`/$H5DIFF          # The path of the h5diff  tool binary
+
+H5IMPORT=../h5import/h5import     # The h5import tool name 
+H5IMPORT_BIN=`pwd`/$H5IMPORT      # The path of the h5import  tool binary
+
 CMP='cmp -s'
 DIFF='diff -c'
 
@@ -34,7 +42,7 @@
    srcdir=.
 fi
 
-test -d ../testfiles || mkdir ../testfiles
+test -d $TESTDIR || mkdir $TESTDIR
 
 # Print a line-line message left justified in a field of 70 characters
 # beginning with the word "Testing".
@@ -53,54 +61,125 @@
 # non-zero value.
 #
 TOOLTEST() {
-   expect="$srcdir/../testfiles/$1"
-   actual="../testfiles/`basename $1 .ddl`.out"
-   actual_err="../testfiles/`basename $1 .ddl`.err"
-   shift
 
-   # Run test.
-   TESTING $DUMPER $@
-   (
-      echo "#############################"
-      echo "Expected output for '$DUMPER $@'" 
-      echo "#############################"
-      cd $srcdir/../testfiles
-      $RUNSERIAL $DUMPER_BIN $@
-   ) >$actual 2>$actual_err
-   cat $actual_err >> $actual
+    expect="$srcdir/../testfiles/$1"
+    actual="../testfiles/`basename $1 .ddl`.out"
+    actual_err="../testfiles/`basename $1 .ddl`.err"
+    shift
 
+    # Run test.
+    TESTING $DUMPER $@
+    (
+	cd $srcdir/../testfiles
+	$RUNSERIAL $DUMPER_BIN $@
+    ) >$actual 2>$actual_err
+    cat $actual_err >> $actual
 
-   if [ ! -f $expect ]; then
-    # Create the expect file if it doesn't yet exist.
-    echo " CREATED"
-    cp $actual $expect
-   elif $CMP $expect $actual; then
-      echo " PASSED"
-   else
-      echo "*FAILED*"
-      echo "    Expected result (*.ddl) differs from actual result (*.out)"
-      nerrors="`expr $nerrors + 1`"
-      test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/    /'
-   fi
+    if [ ! -f $expect ]; then
+        echo "*FAILED*"
+	echo "    $expect missing"
+        nerrors="`expr $nerrors + 1`"
+    else
+	# Skip the first three lines, which are label lines, before cmp.
+        if tail +4l $expect | $CMP - $actual; then
+	    echo " PASSED"
+        else
+	    echo "*FAILED*"
+	    echo "    Expected result (*.ddl) differs from actual result (*.out)"
+	    nerrors="`expr $nerrors + 1`"
+	    test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/    /'
+        fi
+    fi
 
-   # Clean up output file
-   if test -z "$HDF5_NOCLEANUP"; then
-      rm -f $actual $actual_err
-   fi
+    # Clean up output file
+    if test -z "$HDF5_NOCLEANUP"; then
+	rm -f $actual $actual_err
+    fi
+
 }
 
 
 # Print a "SKIP" message
 SKIP() {
-	 TESTING $DUMPER $@
-	  echo  " -SKIP-"
+     TESTING $DUMPER $@
+      echo  " -SKIP-"
 }
   
 
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Verifying".
+#
+PRINT_H5DIFF() {
+ SPACES="                                                               "
+ echo " Running h5diff $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
 
+
+# Call the h5diff tool
+#
+DIFFTEST() 
+{
+    PRINT_H5DIFF  $@
+    (
+     cd $srcdir/../testfiles
+     if [ "`uname -s`" = "TFLOPS O/S" ]; then
+      $RUNSERIAL $H5DIFF_BIN $@ -q
+     else
+      $RUNSERIAL $H5DIFF_BIN "$@" -q
+     fi
+    )
+    RET=$?
+    if [ $RET != 0 ] ; then
+         echo "*FAILED*"
+         nerrors="`expr $nerrors + 1`"
+    else
+         echo " PASSED"
+    fi
+        
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Verifying".
+#
+PRINT_H5IMPORT() {
+ SPACES="                                                               "
+ echo " Running h5import $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+# Call the h5import tool
+#
+IMPORTTEST() 
+{
+    # remove the output hdf5 file if it exists
+    hdf5_file="$srcdir/../testfiles/$5"
+    if [ -f $hdf5_file ]; then
+     rm -f $hdf5_file
+    fi
+
+    PRINT_H5IMPORT  $@
+    (
+     cd $srcdir/../testfiles
+     if [ "`uname -s`" = "TFLOPS O/S" ]; then
+      $RUNSERIAL $H5IMPORT_BIN $@
+     else
+      $RUNSERIAL $H5IMPORT_BIN "$@" 
+     fi
+    )
+    RET=$?
+    if [ $RET != 0 ] ; then
+         echo "*FAILED*"
+         nerrors="`expr $nerrors + 1`"
+    else
+         echo " PASSED"
+    fi
+        
+}
+
+
+    
 ##############################################################################
 ##############################################################################
-###			  T H E   T E S T S                                ###
+###           T H E   T E S T S                                ###
 ##############################################################################
 ##############################################################################
 
@@ -188,9 +267,9 @@
 TOOLTEST tgrp_comments.ddl tgrp_comments.h5
 
 # test the --filedriver flag
-#TOOLTEST tsplit_file.ddl --filedriver=split tsplit_file
+TOOLTEST tsplit_file.ddl --filedriver=split tsplit_file
 TOOLTEST tfamily.ddl --filedriver=family tfamily%05d.h5
-#TOOLTEST tmulti.ddl --filedriver=multi tmulti
+TOOLTEST tmulti.ddl --filedriver=multi tmulti
 
 # test for files with group names which reach > 1024 bytes in size
 TOOLTEST tlarge_objname.ddl -w157 tlarge_objname.h5
@@ -252,7 +331,6 @@
 TOOLTEST tindicesyes.ddl taindices.h5
 TOOLTEST tindicesno.ddl -y taindices.h5
 
-
 # tests for filters
 # SZIP
 option="-H -p -d szip tfilters.h5"
@@ -295,7 +373,36 @@
 # test for displaying objects with very long names
 TOOLTEST tlonglinks.ddl tlonglinks.h5
 
+# dimensions over 4GB, print boundary 
+TOOLTEST tbigdims.ddl -d dset4gb -s 4294967284 -c 22 tbigdims.h5
 
+# hyperslab read
+TOOLTEST thyperslab.ddl thyperslab.h5
+
+#
+
+# test for long double (some systems do not have long double)
+#TOOLTEST tldouble.ddl tldouble.h5
+
+# test for binary output
+TOOLTEST   tbin1.ddl -d array  -o $TESTDIR/out1.bin -b LE     tbinary.h5
+TOOLTEST   tbin2.ddl -d float  -o $TESTDIR/out2.bin -b BE     tbinary.h5
+
+# the MEMORY test can be validated with h5import/h5diff
+TOOLTEST   tbin3.ddl -d integer -o $TESTDIR/out3.bin -b MEMORY tbinary.h5
+IMPORTTEST $TESTDIR/out3.bin -c out3.h5import -o $TESTDIR/out3.h5
+DIFFTEST   tbinary.h5 $TESTDIR/out3.h5 /integer /integer
+
+TOOLTEST   tbin4.ddl -d double  -o $TESTDIR/out4.bin -b FILE   tbinary.h5
+   
+# Clean up binary output files
+if test -z "$HDF5_NOCLEANUP"; then
+ rm -f $TESTDIR/out[1-4].bin
+ rm -f $TESTDIR/out3.h5
+fi
+
+
+
 if test $nerrors -eq 0 ; then
    echo "All $DUMPER tests passed."
 fi

Modified: packages/hdf5/trunk/tools/h5dump/testh5dumpxml.sh
===================================================================
--- packages/hdf5/trunk/tools/h5dump/testh5dumpxml.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5dump/testh5dumpxml.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Tests for the h5dump tool
 

Modified: packages/hdf5/trunk/tools/h5import/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/h5import/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5import/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,20 +2,62 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5import.lo: \
    $(srcdir)/h5import.c \
+   $(top_srcdir)/src/hdf5.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5Apublic.h \
+   $(top_srcdir)/src/H5Ipublic.h \
+   $(top_srcdir)/src/H5ACpublic.h \
+   $(top_srcdir)/src/H5Bpublic.h \
+   $(top_srcdir)/src/H5Dpublic.h \
+   $(top_srcdir)/src/H5Epublic.h \
+   $(top_srcdir)/src/H5Fpublic.h \
+   $(top_srcdir)/src/H5FDpublic.h \
+   $(top_srcdir)/src/H5Gpublic.h \
+   $(top_srcdir)/src/H5Opublic.h \
+   $(top_srcdir)/src/H5HGpublic.h \
+   $(top_srcdir)/src/H5HLpublic.h \
+   $(top_srcdir)/src/H5MMpublic.h \
+   $(top_srcdir)/src/H5Ppublic.h \
+   $(top_srcdir)/src/H5Zpublic.h \
+   $(top_srcdir)/src/H5Rpublic.h \
+   $(top_srcdir)/src/H5Spublic.h \
+   $(top_srcdir)/src/H5Tpublic.h \
+   $(top_srcdir)/src/H5FDcore.h \
+   $(top_srcdir)/src/H5FDfamily.h \
+   $(top_srcdir)/src/H5FDgass.h \
+   $(top_srcdir)/src/H5FDlog.h \
+   $(top_srcdir)/src/H5FDmpi.h \
+   $(top_srcdir)/src/H5FDmpio.h \
+   $(top_srcdir)/src/H5FDmpiposix.h \
+   $(top_srcdir)/src/H5FDmulti.h \
+   $(top_srcdir)/src/H5FDsec2.h \
+   $(top_srcdir)/src/H5FDsrb.h \
+   $(top_srcdir)/src/H5FDstdio.h \
+   $(top_srcdir)/src/H5FDstream.h \
+   $(top_srcdir)/src/H5private.h \
+   $(top_srcdir)/src/H5MPprivate.h \
    $(srcdir)/h5import.h
 h5importtest.lo: \
-   $(srcdir)/h5importtest.c
+   $(srcdir)/h5importtest.c \
+   $(top_srcdir)/src/H5private.h \
+   $(top_srcdir)/src/H5public.h \
+   $(top_builddir)/src/H5pubconf.h \
+   $(top_srcdir)/src/H5api_adpt.h \
+   $(top_srcdir)/src/H5MPprivate.h

Modified: packages/hdf5/trunk/tools/h5import/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/h5import/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5import/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ## 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/tools/h5import/h5import.c
===================================================================
--- packages/hdf5/trunk/tools/h5import/h5import.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5import/h5import.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,18 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#include <hdf5.h>
-#include <H5private.h>
-#include  <stdio.h>
-#ifndef  MIPSEL
-#include  <math.h>
-#endif  /* MIPSEL */
-#include  <string.h>
-#include  <ctype.h>
-#include  "h5import.h"
+#include "hdf5.h"
+#include "H5private.h"
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include <ctype.h>
+#include "h5import.h"
 
 int main(int argc, char *argv[])
 {
@@ -30,18 +29,18 @@
   int    state = 0;
   struct Input *in=NULL;
 
-  const char *err1 = "Invalid number of arguments:  %d.\n";
-  const char *err2 = "Error in state table.\n";
-  const char *err3 = "No output file given.\n";
-  const char *err4 = "Program aborted.\n";
-  const char *err5 = "Invalid path %s.\n";
-  const char *err6 = "Invalid dimensions - %s.\n";
-  const char *err7 = "Invalid type of data - %s.\n";
-  const char *err8 = "Invalid size of data - %s.\n";
-  const char *err9 = "Cannot specify more than 30 input files in one call to h5import.\n";
+    const char *err1 = "Invalid number of arguments:  %d.\n";
+    const char *err2 = "Error in state table.\n";
+    const char *err3 = "No output file given.\n";
+    const char *err4 = "Program aborted.\n";
+    const char *err5 = "Invalid path %s.\n";
+    const char *err6 = "Invalid dimensions - %s.\n";
+    const char *err7 = "Invalid type of data - %s.\n";
+    const char *err8 = "Invalid size of data - %s.\n";
+    const char *err9 = "Cannot specify more than 30 input files in one call to h5import.\n";
 
-  (void) setvbuf(stderr, (char *) NULL, _IOLBF, 0);
-  (void) setvbuf(stdout, (char *) NULL, _IOLBF, 0);
+  (void) HDsetvbuf(stderr, (char *) NULL, _IOLBF, 0);
+  (void) HDsetvbuf(stdout, (char *) NULL, _IOLBF, 0);
 
  /*
   * validate the number of command line arguments
@@ -2578,7 +2577,7 @@
   (void) fprintf(stderr, "\t		COMPRESSION-TYPE:\n");
   (void) fprintf(stderr, "\t			String denoting the type of compression to be\n");
   (void) fprintf(stderr, "\t			used with the chunked storage. Requires the\n");
-  (void) fprintf(stderr, "\t			CHUNKED-DIMENSION to be specified. The only \n");
+  (void) fprintf(stderr, "\t			CHUNKED-DIMENSION-SIZES to be specified. The only \n");
   (void) fprintf(stderr, "\t			currently supported compression method is GZIP. \n");
   (void) fprintf(stderr, "\t			Will accept the following value\n");
   (void) fprintf(stderr, "\t			GZIP\n\n");
@@ -2604,7 +2603,7 @@
   (void) fprintf(stderr, "\t			Integers separated by spaces to denote the \n");
   (void) fprintf(stderr, "\t			maximum dimension sizes of all the \n");
   (void) fprintf(stderr, "\t			dimensions determined by rank. Requires the\n");
-  (void) fprintf(stderr, "\t			CHUNKED-DIMENSION to be specified. A value of \n");
+  (void) fprintf(stderr, "\t			CHUNKED-DIMENSION-SIZES to be specified. A value of \n");
   (void) fprintf(stderr, "\t			-1 for any dimension implies UNLIMITED \n");
   (void) fprintf(stderr, "\t			DIMENSION size for that particular dimension.\n\n");
   (void) fprintf(stderr, "\t   EXAMPLES:\n");
@@ -2617,7 +2616,7 @@
   (void) fprintf(stderr, "\t		OUTPUT-SIZE 64\n");
   (void) fprintf(stderr, "\t		OUTPUT-ARCHITECTURE IEEE\n");
   (void) fprintf(stderr, "\t		OUTPUT-BYTE-ORDER LE\n");
-  (void) fprintf(stderr, "\t  		CHUNKED-DIMENSION 2 2 2 \n\n");
+  (void) fprintf(stderr, "\t  		CHUNKED-DIMENSION-SIZES 2 2 2 \n\n");
   (void) fprintf(stderr, "\t	The above configuration will accept a floating point array \n");
   (void) fprintf(stderr, "\t	(5 x 2 x 4)  in an ASCII file with the rank and dimension sizes \n");
   (void) fprintf(stderr, "\t	specified and will save it in a chunked data-set (of pattern \n");
@@ -2631,7 +2630,7 @@
   (void) fprintf(stderr, "\t		DIMENSION-SIZES 6 3 5 2 4\n");
   (void) fprintf(stderr, "\t		OUTPUT-CLASS IN\n");
   (void) fprintf(stderr, "\t		OUTPUT-SIZE 32\n");
-  (void) fprintf(stderr, "\t  		CHUNKED-DIMENSION 2 2 2 2 2\n");
+  (void) fprintf(stderr, "\t  		CHUNKED-DIMENSION-SIZES 2 2 2 2 2\n");
   (void) fprintf(stderr, "\t		EXTENDIBLE-DATASET 1 3 \n");
   (void) fprintf(stderr, "\t		COMPRESSION-TYPE GZIP\n");
   (void) fprintf(stderr, "\t		COMPRESSION-PARAM 7\n\n\n");

Modified: packages/hdf5/trunk/tools/h5import/h5import.h
===================================================================
--- packages/hdf5/trunk/tools/h5import/h5import.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5import/h5import.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -18,6 +19,9 @@
  *
  */
 
+#ifndef H5IMPORT_H__
+#define H5IMPORT_H__
+
 /*
  * state table tokens
  */
@@ -220,3 +224,6 @@
 static int  readUIntegerData(FILE **strm, struct Input *in);
 static int  allocateUIntegerStorage(struct Input *in);
 static int  validateConfigurationParameters(struct Input * in);
+
+#endif  /* H5IMPORT_H__ */
+

Modified: packages/hdf5/trunk/tools/h5import/h5importtest.c
===================================================================
--- packages/hdf5/trunk/tools/h5import/h5importtest.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5import/h5importtest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,11 +9,13 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
 #include <stdio.h>
-#include <H5private.h>
+#include "H5private.h"
+
 /*
  * Name:
  *      h5importtest
@@ -286,4 +289,3 @@
     return (0);
 }
 
-

Modified: packages/hdf5/trunk/tools/h5import/h5importtestutil.sh
===================================================================
--- packages/hdf5/trunk/tools/h5import/h5importtestutil.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5import/h5importtestutil.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #!/bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # HDF Utilities Test script
 # Usage: h5importtestutil.sh [machine-type]

Modified: packages/hdf5/trunk/tools/h5jam/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/h5jam/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5jam.lo: \
    $(srcdir)/h5jam.c \

Modified: packages/hdf5/trunk/tools/h5jam/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/h5jam/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ## HDF5 Library Makefile(.in)
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ## 
 top_srcdir=@top_srcdir@
 top_builddir=../..

Modified: packages/hdf5/trunk/tools/h5jam/getub.c
===================================================================
--- packages/hdf5/trunk/tools/h5jam/getub.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/getub.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdio.h>

Modified: packages/hdf5/trunk/tools/h5jam/h5jam.c
===================================================================
--- packages/hdf5/trunk/tools/h5jam/h5jam.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/h5jam.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdio.h>

Modified: packages/hdf5/trunk/tools/h5jam/h5jamgentest.c
===================================================================
--- packages/hdf5/trunk/tools/h5jam/h5jamgentest.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/h5jamgentest.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
  /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/tools/h5jam/h5unjam.c
===================================================================
--- packages/hdf5/trunk/tools/h5jam/h5unjam.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/h5unjam.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdio.h>

Modified: packages/hdf5/trunk/tools/h5jam/tellub.c
===================================================================
--- packages/hdf5/trunk/tools/h5jam/tellub.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/tellub.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdio.h>

Modified: packages/hdf5/trunk/tools/h5jam/testh5jam.sh.in
===================================================================
--- packages/hdf5/trunk/tools/h5jam/testh5jam.sh.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5jam/testh5jam.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Tests for the h5dump tool
 

Modified: packages/hdf5/trunk/tools/h5ls/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/h5ls/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5ls/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5ls.lo: \
    $(srcdir)/h5ls.c \

Modified: packages/hdf5/trunk/tools/h5ls/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/h5ls/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5ls/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ##
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/tools/h5ls/h5ls.c
===================================================================
--- packages/hdf5/trunk/tools/h5ls/h5ls.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5ls/h5ls.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -64,7 +65,7 @@
     herr_t (*close)(hid_t obj);
     herr_t (*list1)(hid_t obj);
     herr_t (*list2)(hid_t obj, const char *name);
-} dispatch_g[H5G_NTYPES];
+} dispatch_g[H5G_NLIBTYPES];
 
 #define DISPATCH(TYPE,NAME,OPEN,CLOSE,LIST1,LIST2) {         \
     dispatch_g[TYPE].name = (NAME);           \
@@ -1226,7 +1227,7 @@
 {
     hid_t  f_type = H5Dget_type(dset);
     size_t  size = H5Tget_size(f_type);
-    h5dump_t  info;
+    h5tool_format_t  info;
     char  string_prefix[64];
     static char         fmt_double[16], fmt_float[16];
 
@@ -1332,7 +1333,7 @@
     size_t need;
     hsize_t     temp_need;
     void *buf;
-    h5dump_t info;
+    h5tool_format_t info;
     H5S_class_t space_type;
 
     printf("    Attribute: ");
@@ -2214,7 +2215,7 @@
         file = -1;
 
         while (fname && *fname) {
-            file = h5tools_fopen(fname, preferred_driver, drivername, sizeof drivername, argc, argv);
+            file = h5tools_fopen(fname, preferred_driver, drivername, sizeof drivername);
 
             if (file>=0) {
                 if (verbose_g) {

Modified: packages/hdf5/trunk/tools/h5ls/testh5ls.sh
===================================================================
--- packages/hdf5/trunk/tools/h5ls/testh5ls.sh	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5ls/testh5ls.sh	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,8 +10,8 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Tests for the h5ls tool
 
@@ -149,6 +150,10 @@
 # enable -S for avoiding printing NATIVE types
 TOOLTEST tattr2.ls -w80 -v -S tattr2.h5
 
+# tests for error handling.
+# test for non-existing file
+TOOLTEST nosuchfile.ls nosuchfile.h5
+
 if test $nerrors -eq 0 ; then
 	echo "All h5ls tests passed."
 fi

Modified: packages/hdf5/trunk/tools/h5repack/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/h5repack/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5repack.lo: \
    $(srcdir)/h5repack.c \
@@ -428,7 +429,8 @@
    $(srcdir)/h5repack.h \
    $(top_srcdir)/tools/lib/h5trav.h \
    $(top_srcdir)/tools/lib/h5diff.h \
-   $(top_srcdir)/tools/lib/h5tools.h
+   $(top_srcdir)/tools/lib/h5tools.h \
+   $(srcdir)/testh5repack.h
 testh5repack_dset.lo: \
    $(srcdir)/testh5repack_dset.c \
    $(top_srcdir)/src/hdf5.h \
@@ -471,7 +473,8 @@
    $(srcdir)/h5repack.h \
    $(top_srcdir)/tools/lib/h5trav.h \
    $(top_srcdir)/tools/lib/h5diff.h \
-   $(top_srcdir)/tools/lib/h5tools.h
+   $(top_srcdir)/tools/lib/h5tools.h \
+   $(srcdir)/testh5repack.h
 testh5repack_main.lo: \
    $(srcdir)/testh5repack_main.c \
    $(top_srcdir)/src/hdf5.h \
@@ -514,7 +517,8 @@
    $(srcdir)/h5repack.h \
    $(top_srcdir)/tools/lib/h5trav.h \
    $(top_srcdir)/tools/lib/h5diff.h \
-   $(top_srcdir)/tools/lib/h5tools.h
+   $(top_srcdir)/tools/lib/h5tools.h \
+   $(srcdir)/testh5repack.h
 testh5repack_make.lo: \
    $(srcdir)/testh5repack_make.c \
    $(top_srcdir)/src/hdf5.h \
@@ -557,7 +561,8 @@
    $(srcdir)/h5repack.h \
    $(top_srcdir)/tools/lib/h5trav.h \
    $(top_srcdir)/tools/lib/h5diff.h \
-   $(top_srcdir)/tools/lib/h5tools.h
+   $(top_srcdir)/tools/lib/h5tools.h \
+   $(srcdir)/testh5repack.h
 testh5repack_util.lo: \
    $(srcdir)/testh5repack_util.c \
    $(top_srcdir)/src/hdf5.h \
@@ -597,4 +602,5 @@
    $(srcdir)/h5repack.h \
    $(top_srcdir)/tools/lib/h5trav.h \
    $(top_srcdir)/tools/lib/h5diff.h \
-   $(top_srcdir)/tools/lib/h5tools.h
+   $(top_srcdir)/tools/lib/h5tools.h \
+   $(srcdir)/testh5repack.h

Modified: packages/hdf5/trunk/tools/h5repack/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/h5repack/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -35,6 +36,7 @@
 ##
 LIBHDF5=$(top_builddir)/src/libhdf5.la
 LIBTOOLS=../lib/libh5tools.la
+LIBH5TEST=../../test/libh5test.la
 
 PUB_PROGS=h5repack
 PROGS=$(PUB_PROGS) $(TEST_PROGS) $(PRIV_PROGS)
@@ -47,14 +49,14 @@
 
 ## Temporary files.  *.h5 are generated by h5repack.  They should
 ## copied to the testfiles/ directory if update is required.
-MOSTLYCLEAN=*.h5
+MOSTLYCLEAN=*.h5 *.bin
 DISTCLEAN=h5repack.sh
 
 ## Source and object files for programs...
 ##
-PROG_SRC=h5repack.c h5repack_copy.c h5repack_filters.c  h5repack_refs.c  h5repack_list.c h5repack_main.c h5repack_opttable.c h5repack_parse.c h5repack_verify.c testh5repack_attr.c testh5repack_dset.c   testh5repack_main.c testh5repack_make.c  testh5repack_util.c
-OBJS=h5repack.lo h5repack_filters.lo h5repack_copy.lo h5repack_refs.lo  h5repack_list.lo h5repack_main.lo h5repack_opttable.lo h5repack_parse.lo h5repack_verify.lo	
-TEST_OBJS=h5repack.lo h5repack_filters.lo  h5repack_copy.lo h5repack_refs.lo  h5repack_list.lo h5repack_opttable.lo h5repack_parse.lo h5repack_verify.lo testh5repack_attr.lo testh5repack_dset.lo  testh5repack_main.lo testh5repack_make.lo  testh5repack_util.lo
+PROG_SRC=h5repack.c h5repack_copy.c h5repack_refs.c h5repack_filters.c  h5repack_list.c h5repack_main.c h5repack_opttable.c h5repack_parse.c h5repack_verify.c h5repacktst.c
+OBJS=h5repack.lo h5repack_filters.lo h5repack_copy.lo h5repack_refs.lo h5repack_list.lo h5repack_main.lo h5repack_opttable.lo h5repack_parse.lo h5repack_verify.lo	
+TEST_OBJS=h5repack.lo h5repack_filters.lo  h5repack_copy.lo h5repack_refs.lo h5repack_list.lo h5repack_opttable.lo h5repack_parse.lo h5repack_verify.lo h5repacktst.lo
 DETECT_OBJS=testh5repack_detect_szip.lo
 PROG_OBJ=$(PROG_SRC:.c=.lo) $(DETECT_OBJS)
 
@@ -70,18 +72,21 @@
 check test _test: $(PROGS)
 
 ## How to build the programs...They all depend on the hdf5 library and
-## the tools library compiled in this directory.
+## the tools library compiled in this directory 
 ##
-$(PROGS): $(LIBTOOLS) $(LIBHDF5)
+$(PROGS): $(LIBTOOLS)  $(LIBHDF5) 
 
 h5repack: $(OBJS)
 	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(OBJS)  $(LIBTOOLS)  $(LIBHDF5) $(LDFLAGS) $(LIBS)
 
 h5repacktst: $(TEST_OBJS)
-	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TEST_OBJS)  $(LIBTOOLS)  $(LIBHDF5) $(LDFLAGS) $(LIBS)
+	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TEST_OBJS)  $(LIBTOOLS) $(LIBH5TEST) $(LIBHDF5) $(LDFLAGS) $(LIBS)
 
 testh5repack_detect_szip: $(DETECT_OBJS)
 	@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(DETECT_OBJS)  $(LIBTOOLS)  $(LIBHDF5) $(LDFLAGS) $(LIBS)
 
+## The following empty rule is necessary to override a bug present when compiling with icc. It demands
+##  a rule to make h5trav.h, so a blank one has been provided.
+h5trav.h:
 
 @CONCLUDE@

Modified: packages/hdf5/trunk/tools/h5repack/h5repack.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,13 +9,20 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdlib.h>
+#include <string.h>
 #include "h5repack.h"
+#include "h5diff.h"
+#include "h5tools.h"
+#include "h5tools_utils.h"
 
+extern char  *progname;
+
+
 /*-------------------------------------------------------------------------
  * File: h5repack.c
  * Purpose: Public API functions
@@ -35,10 +43,10 @@
  */
 static void aux_initglb_filter(pack_opt_t *options)
 {
- int k;
- options->filter_g.filtn  = -1;
- for ( k=0; k<CDVALUES; k++)
-  options->filter_g.cd_values[k] = -1;
+    int k;
+    options->filter_g.filtn  = -1;
+    for ( k=0; k<CDVALUES; k++)
+        options->filter_g.cd_values[k] = -1;
 }
 
 
@@ -65,20 +73,20 @@
              const char* outfile,
              pack_opt_t *options)
 {
- /* check input */
- if (check_options(options)<0)
-  return -1;
-
- /* check for objects in input that are in the file */
- if (check_objects(infile,options)<0)
-  return -1;
-
- /* copy the objects  */
- if (copy_objects(infile,outfile,options)<0)
-  return -1;
-
-
- return 0;
+    /* check input */
+    if (check_options(options)<0)
+        return -1;
+    
+    /* check for objects in input that are in the file */
+    if (check_objects(infile,options) < 0)
+        return -1;
+    
+    /* copy the objects  */
+    if (copy_objects(infile,outfile,options) < 0)
+        return -1;
+    
+    
+    return 0;
 }
 
 
@@ -96,10 +104,10 @@
 int h5repack_init (pack_opt_t *options,
                    int verbose)
 {
- memset(options,0,sizeof(pack_opt_t));
- options->threshold = 1024;
- options->verbose   = verbose;
- return (options_table_init(&(options->op_tbl)));
+    memset(options,0,sizeof(pack_opt_t));
+    options->threshold = 1024;
+    options->verbose   = verbose;
+    return (options_table_init(&(options->op_tbl)));
 }
 
 /*-------------------------------------------------------------------------
@@ -112,7 +120,7 @@
 
 int h5repack_end  (pack_opt_t *options)
 {
- return options_table_free(options->op_tbl);
+    return options_table_free(options->op_tbl);
 }
 
 /*-------------------------------------------------------------------------
@@ -129,35 +137,35 @@
 int h5repack_addfilter(const char* str,
                        pack_opt_t *options)
 {
- obj_list_t      *obj_list=NULL; /*one object list for the -f and -c option entry */
- filter_info_t   filt;           /*filter info for the current -f option entry */
- int             n_objs;         /*number of objects in the current -f or -c option entry */
-
- if (options->all_filter==1){
-  printf("Error: Invalid compression input: all option is present \
-   with other objects <%s>\n",str);
-  return -1;
- }
-
- /* parse the -f option */
- obj_list=parse_filter(str,&n_objs,&filt,options);
- if (obj_list==NULL)
- {
-  return -1;
- }
-
- if (options->all_filter==1)
- {
-  /* if we are compressing all set the global filter type */
-  aux_initglb_filter(options);
-  options->filter_g=filt;
- }
-
- if (options->all_filter==0)
-  options_add_filter(obj_list,n_objs,filt,options->op_tbl);
-
- free(obj_list);
- return 0;
+    obj_list_t      *obj_list=NULL; /*one object list for the -f and -c option entry */
+    filter_info_t   filt;           /*filter info for the current -f option entry */
+    int             n_objs;         /*number of objects in the current -f or -c option entry */
+    
+    if (options->all_filter==1){
+    error_msg(progname, "invalid compression input: 'all' option is present \
+        with other objects <%s>\n",str);
+    return -1;
+    }
+    
+    /* parse the -f option */
+    obj_list=parse_filter(str,&n_objs,&filt,options);
+    if (obj_list==NULL)
+    {
+        return -1;
+    }
+    
+    if (options->all_filter==1)
+    {
+        /* if we are compressing all set the global filter type */
+        aux_initglb_filter(options);
+        options->filter_g=filt;
+    }
+    
+    if (options->all_filter==0)
+        options_add_filter(obj_list,n_objs,filt,options->op_tbl);
+    
+    free(obj_list);
+    return 0;
 }
 
 
@@ -175,55 +183,55 @@
 int h5repack_addlayout(const char* str,
                        pack_opt_t *options)
 {
-
- obj_list_t  *obj_list=NULL;     /*one object list for the -t and -c option entry */
- int         n_objs;             /*number of objects in the current -t or -c option entry */
- pack_info_t pack;               /*info about layout to extract from parse */
- int         j;
-
- init_packobject(&pack);
-
- if (options->all_layout==1){
-  printf("Error: Invalid layout input: all option \
-   is present with other objects <%s>\n",str);
-  return -1;
- }
-
- /* parse the layout option */
- obj_list=parse_layout(str,&n_objs,&pack,options);
- if (obj_list==NULL)
-  return -1;
-
- /* set global layout option */
- if (options->all_layout==1 )
- {
-  options->layout_g=pack.layout;
-  if (pack.layout==H5D_CHUNKED)
-  {
-   /* -2 means the NONE option, remove chunking
-      and set the global layout to contiguous */
-   if (pack.chunk.rank==-2)
-   {
-    options->layout_g = H5D_CONTIGUOUS;
-   }
-   /* otherwise set the global chunking type */
-   else
-   {
-    options->chunk_g.rank=pack.chunk.rank;
-    for (j = 0; j < pack.chunk.rank; j++)
-     options->chunk_g.chunk_lengths[j] = pack.chunk.chunk_lengths[j];
-   }
-  }
- }
-
- if (options->all_layout==0)
-  options_add_layout(obj_list,
-   n_objs,
-   &pack,
-   options->op_tbl);
-
- free(obj_list);
- return 0;
+    
+    obj_list_t  *obj_list=NULL;     /*one object list for the -t and -c option entry */
+    int         n_objs;             /*number of objects in the current -t or -c option entry */
+    pack_info_t pack;               /*info about layout to extract from parse */
+    int         j;
+    
+    init_packobject(&pack);
+    
+    if (options->all_layout==1){
+    error_msg(progname, "invalid layout input: 'all' option \
+        is present with other objects <%s>\n",str);
+    return -1;
+    }
+    
+    /* parse the layout option */
+    obj_list=parse_layout(str,&n_objs,&pack,options);
+    if (obj_list==NULL)
+        return -1;
+    
+    /* set global layout option */
+    if (options->all_layout==1 )
+    {
+        options->layout_g=pack.layout;
+        if (pack.layout==H5D_CHUNKED)
+        {
+            /* -2 means the NONE option, remove chunking
+            and set the global layout to contiguous */
+            if (pack.chunk.rank==-2)
+            {
+                options->layout_g = H5D_CONTIGUOUS;
+            }
+            /* otherwise set the global chunking type */
+            else
+            {
+                options->chunk_g.rank=pack.chunk.rank;
+                for (j = 0; j < pack.chunk.rank; j++)
+                    options->chunk_g.chunk_lengths[j] = pack.chunk.chunk_lengths[j];
+            }
+        }
+    }
+    
+    if (options->all_layout==0)
+        options_add_layout(obj_list,
+        n_objs,
+        &pack,
+        options->op_tbl);
+    
+    free(obj_list);
+    return 0;
 }
 
 
@@ -242,247 +250,149 @@
  */
 static int check_options(pack_opt_t *options)
 {
- int   i, k, j, has_cp=0, has_ck=0;
- char  slayout[30];
+    unsigned int   i;
+    int            k, j, has_cp=0, has_ck=0;
+    char           slayout[30];
+    
+   /*-------------------------------------------------------------------------
+    * objects to layout
+    *-------------------------------------------------------------------------
+    */
+    if (options->verbose && have_request(options) /* only print if requested */)
+    {
+        printf("Objects to modify layout are...\n");
+        if (options->all_layout==1)  {
+            switch (options->layout_g)
+            {
+            case H5D_COMPACT:
+                strcpy(slayout,"compact");
+                break;
+            case H5D_CONTIGUOUS:
+                strcpy(slayout,"contiguous");
+                break;
+            case H5D_CHUNKED:
+                strcpy(slayout,"chunked");
+                break;
+            default:
+                strcpy(slayout,"unknown");
+                break;
+            }
+            printf(" Apply %s layout to all\n", slayout);
+            if (H5D_CHUNKED==options->layout_g) {
+                printf("with dimension [");
+                for ( j = 0; j < options->chunk_g.rank; j++)
+                    printf("%d ",(int)options->chunk_g.chunk_lengths[j]);
+                printf("]\n");
+            }
+        }
+    }/* verbose */
+    
+    for ( i = 0; i < options->op_tbl->nelems; i++)
+    {
+        char* name=options->op_tbl->objs[i].path;
+        
+        if (options->op_tbl->objs[i].chunk.rank>0)
+        {
+            if (options->verbose){
+                printf(" <%s> with chunk size ",name);
+                for ( k = 0; k < options->op_tbl->objs[i].chunk.rank; k++)
+                    printf("%d ",(int)options->op_tbl->objs[i].chunk.chunk_lengths[k]);
+                printf("\n");
+            }
+            has_ck=1;
+        }
+        else if (options->op_tbl->objs[i].chunk.rank==-2)
+        {
+            if (options->verbose)
+                printf(" <%s> %s\n",name,"NONE (contigous)");
+            has_ck=1;
+        }
+    }
+    
+    if (options->all_layout==1 && has_ck){
+    error_msg(progname, "invalid chunking input: 'all' option\
+        is present with other objects\n");
+    return -1;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * objects to filter
+    *-------------------------------------------------------------------------
+    */
+    
+    if (options->verbose && have_request(options) /* only print if requested */)
+    {
+        printf("Objects to apply filter are...\n");
+        if (options->all_filter==1)
+        {
+            H5Z_filter_t filtn=options->filter_g.filtn;
+            switch (filtn)
+            {
+            case H5Z_FILTER_NONE:
+                printf(" Uncompress all\n");
+                break;
+            case H5Z_FILTER_SHUFFLE:
+            case H5Z_FILTER_FLETCHER32:
+                printf(" All with %s\n",get_sfilter(filtn));
+                break;
+            case H5Z_FILTER_SZIP:
+            case H5Z_FILTER_DEFLATE:
+                printf(" All with %s, parameter %d\n",
+                    get_sfilter(filtn),
+                    options->filter_g.cd_values[0]);
+                break;
+            };
+        }
+    } /* verbose */
+    
+    for ( i = 0; i < options->op_tbl->nelems; i++)
+    {
+        pack_info_t pack  = options->op_tbl->objs[i];
+        char*       name  = pack.path;
+        
+        for ( j=0; j<pack.nfilters; j++)
+        {
+            if (options->verbose)
+            {
+                printf(" <%s> with %s filter\n",
+                    name,
+                    get_sfilter(pack.filter[j].filtn));
+            }
+            
+            has_cp=1;
+            
+        } /* j */
+    } /* i */
+    
+    if (options->all_filter==1 && has_cp){
+    error_msg(progname, "invalid compression input: 'all' option\
+        is present with other objects\n");
+    return -1;
+    }
+    
+    
+    return 0;
+}
 
-/*-------------------------------------------------------------------------
- * objects to layout
- *-------------------------------------------------------------------------
- */
- if (options->verbose)
- {
-  printf("Objects to modify layout are...\n");
-  if (options->all_layout==1)  {
-   switch (options->layout_g)
-   {
-   case H5D_COMPACT:
-    strcpy(slayout,"compact");
-    break;
-   case H5D_CONTIGUOUS:
-    strcpy(slayout,"contiguous");
-    break;
-   case H5D_CHUNKED:
-    strcpy(slayout,"chunked");
-    break;
-   default:
-    strcpy(slayout,"unknown");
-    break;
-   }
-   printf(" Apply %s layout to all\n", slayout);
-   if (H5D_CHUNKED==options->layout_g) {
-    printf("with dimension [");
-    for ( j = 0; j < options->chunk_g.rank; j++)
-     printf("%d ",(int)options->chunk_g.chunk_lengths[j]);
-    printf("]\n");
-   }
-  }
- }/* verbose */
 
- for ( i = 0; i < options->op_tbl->nelems; i++)
- {
-  char* name=options->op_tbl->objs[i].path;
 
-  if (options->op_tbl->objs[i].chunk.rank>0)
-  {
-   if (options->verbose){
-    printf(" <%s> with chunk size ",name);
-    for ( k = 0; k < options->op_tbl->objs[i].chunk.rank; k++)
-     printf("%d ",(int)options->op_tbl->objs[i].chunk.chunk_lengths[k]);
-    printf("\n");
-   }
-   has_ck=1;
-  }
-  else if (options->op_tbl->objs[i].chunk.rank==-2)
-  {
-   if (options->verbose)
-    printf(" <%s> %s\n",name,"NONE (contigous)");
-   has_ck=1;
-  }
- }
-
- if (options->all_layout==1 && has_ck){
-  printf("Error: Invalid chunking input: all option\
-   is present with other objects\n");
-  return -1;
- }
-
 /*-------------------------------------------------------------------------
- * objects to filter
- *-------------------------------------------------------------------------
- */
-
- if (options->verbose)
- {
-  printf("Objects to apply filter are...\n");
-  if (options->all_filter==1)
-  {
-   H5Z_filter_t filtn=options->filter_g.filtn;
-   switch (filtn)
-   {
-   case H5Z_FILTER_NONE:
-     printf(" Uncompress all\n");
-    break;
-   case H5Z_FILTER_SHUFFLE:
-   case H5Z_FILTER_FLETCHER32:
-     printf(" All with %s\n",get_sfilter(filtn));
-    break;
-   case H5Z_FILTER_SZIP:
-   case H5Z_FILTER_DEFLATE:
-     printf(" All with %s, parameter %d\n",
-      get_sfilter(filtn),
-      options->filter_g.cd_values[0]);
-    break;
-   };
-  }
- } /* verbose */
-
- for ( i = 0; i < options->op_tbl->nelems; i++)
- {
-  pack_info_t pack  = options->op_tbl->objs[i];
-  char*       name  = pack.path;
-
-  for ( j=0; j<pack.nfilters; j++)
-  {
-   if (options->verbose)
-   {
-    printf(" <%s> with %s filter\n",
-     name,
-     get_sfilter(pack.filter[j].filtn));
-   }
-
-   has_cp=1;
-
-  } /* j */
- } /* i */
-
- if (options->all_filter==1 && has_cp){
-  printf("Error: Invalid compression input: all option\
-   is present with other objects\n");
-  return -1;
- }
-
-
- return 0;
-}
-
-/*-------------------------------------------------------------------------
- * Function: read_info
+ * Function: have_request
  *
- * Purpose: read comp and chunk options from file
+ * Purpose: check if a filter or layout was requested
  *
- * Return: void, exit on error
+ * Return: 1 yes, 0 no
  *
- * Programmer: pvn at ncsa.uiuc.edu
+ * Date: May, 24, 2007
  *
- * Date: September, 22, 2003
- *
  *-------------------------------------------------------------------------
  */
-
-void read_info(const char *filename,
-               pack_opt_t *options)
+int have_request(pack_opt_t *options)
 {
 
- char stype[10];
- char comp_info[1024];
- FILE *fp;
- char c;
- int  i, rc=1;
- char  *srcdir = getenv("srcdir"); /* the source directory */
- char  data_file[512]="";          /* buffer to hold name of existing file */
+    if (options->all_filter || options->all_layout || options->op_tbl->nelems)
+        return 1;
 
- /* compose the name of the file to open, using the srcdir, if appropriate */
- if (srcdir){
-  strcpy(data_file,srcdir);
-  strcat(data_file,"/");
- }
- strcat(data_file,filename);
+    return 0;
 
-
- if ((fp = fopen(data_file, "r")) == (FILE *)NULL) {
-  printf( "Cannot open options file %s", filename);
-  exit(1);
- }
-
- /* cycle until end of file reached */
- while( 1 )
- {
-  rc=fscanf(fp, "%s", stype);
-  if (rc==-1)
-   break;
-
- /*-------------------------------------------------------------------------
-  * filter
-  *-------------------------------------------------------------------------
-  */
-  if (strcmp(stype,"-f") == 0) {
-
-   /* find begining of info */
-   i=0; c='0';
-   while( c!=' ' )
-   {
-    fscanf(fp, "%c", &c);
-    if (feof(fp)) break;
-   }
-   c='0';
-   /* go until end */
-   while( c!=' ' )
-   {
-    fscanf(fp, "%c", &c);
-    comp_info[i]=c;
-    i++;
-    if (feof(fp)) break;
-    if (c==10 /*eol*/) break;
-   }
-   comp_info[i-1]='\0'; /*cut the last " */
-
-   if (h5repack_addfilter(comp_info,options)==-1){
-    printf( "Could not add compression option. Exiting\n");
-    exit(1);
-   }
-  }
- /*-------------------------------------------------------------------------
-  * layout
-  *-------------------------------------------------------------------------
-  */
-  else if (strcmp(stype,"-l") == 0) {
-
-   /* find begining of info */
-   i=0; c='0';
-   while( c!=' ' )
-   {
-    fscanf(fp, "%c", &c);
-    if (feof(fp)) break;
-   }
-   c='0';
-   /* go until end */
-   while( c!=' ' )
-   {
-    fscanf(fp, "%c", &c);
-    comp_info[i]=c;
-    i++;
-    if (feof(fp)) break;
-    if (c==10 /*eol*/) break;
-   }
-   comp_info[i-1]='\0'; /*cut the last " */
-
-   if (h5repack_addlayout(comp_info,options)==-1){
-    printf( "Could not add chunck option. Exiting\n");
-    exit(1);
-   }
-  }
- /*-------------------------------------------------------------------------
-  * not valid
-  *-------------------------------------------------------------------------
-  */
-  else {
-   printf( "Bad file format for %s", filename);
-   exit(1);
-  }
- }
-
- fclose(fp);
- return;
-}
-
-
+}
\ No newline at end of file

Modified: packages/hdf5/trunk/tools/h5repack/h5repack.h
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
@@ -18,9 +19,9 @@
 
 #include "hdf5.h"
 #include "h5trav.h"
-#include "h5diff.h"
-#include "h5tools.h"
 
+
+
 #define H5FOPENERROR "unable to open file"
 
 #define PFORMAT  "%-7s %-7s %-7s\n" /*chunk info, compression info, name*/
@@ -29,7 +30,6 @@
 #define MAX_NC_NAME 256 /* max length of a name */
 #define MAX_VAR_DIMS 32 /* max per variable dimensions */
 
-
 /*-------------------------------------------------------------------------
  * data structures for command line options
  *-------------------------------------------------------------------------
@@ -43,11 +43,12 @@
 /*
  the type of filter and additional parameter
  type can be one of the filters
- H5Z_FILTER_NONE       0,  uncompress if compressed
- H5Z_FILTER_DEFLATE	   1 , deflation like gzip
- H5Z_FILTER_SHUFFLE    2 , shuffle the data
- H5Z_FILTER_FLETCHER32 3 , letcher32 checksum of EDC
- H5Z_FILTER_SZIP       4 , szip compression
+ H5Z_FILTER_NONE        0,  uncompress if compressed
+ H5Z_FILTER_DEFLATE     1 , deflation like gzip
+ H5Z_FILTER_SHUFFLE     2 , shuffle the data
+ H5Z_FILTER_FLETCHER32  3 , letcher32 checksum of EDC
+ H5Z_FILTER_SZIP        4 , szip compression
+
 */
 
 #define CDVALUES 2
@@ -55,11 +56,6 @@
 typedef struct {
  H5Z_filter_t filtn;               /* filter identification number */
  int          cd_values[CDVALUES]; /* filter client data values */
- /* extra input for szip, selects the coding method
-    entropy coding method: EC=0
-    nearest neighbor coding method: NN=1
- */
- int          szip_coding;
 } filter_info_t;
 
 /* chunk lengths along each dimension and rank */
@@ -70,7 +66,7 @@
 
 /* we currently define a maximum value for the filters array,
    that corresponds to the current library filters */
-#define H5_REPACK_MAX_NFILTERS 4
+#define H5_REPACK_MAX_NFILTERS 6
 
 /* information for one object, contains PATH, CHUNK info and FILTER info */
 typedef struct {
@@ -84,9 +80,9 @@
 
 /* store a table of all objects */
 typedef struct {
- int         size;
- int         nelems;
- pack_info_t *objs;
+ unsigned int size;
+ unsigned int nelems;
+ pack_info_t  *objs;
 } pack_opttbl_t;
 
 
@@ -103,8 +99,9 @@
  filter_info_t   filter_g;    /*global filter INFO for the ALL case */
  chunk_info_t    chunk_g;     /*global chunk INFO for the ALL case */
  H5D_layout_t    layout_g;    /*global layout information for the ALL case */
- int verbose;                 /*verbose mode */
- hsize_t threshold;               /*minimum size to compress, in bytes */
+ int             verbose;     /*verbose mode */
+ hsize_t         threshold;   /*minimum size to compress, in bytes */
+ int             use_native;  /*use a native type in write */  
 } pack_opt_t;
 
 
@@ -147,33 +144,19 @@
                  const char* fnameout,
                  pack_opt_t *options);
 
-void print_objlist(const char *filename,
-                   int nobjects,
-                   trav_info_t *travi );
-
-int do_copy_objects(hid_t fidin,
-                    hid_t fidout,
-                    trav_table_t *travt,
-                    pack_opt_t *options);
-
-int copy_attr(hid_t loc_in,
-              hid_t loc_out,
-              pack_opt_t *options
-              );
-
 int do_copy_refobjs(hid_t fidin,
                     hid_t fidout,
                     trav_table_t *travt,
                     pack_opt_t *options); /* repack options */
 
 
-
-void read_info(const char *filename,pack_opt_t *options);
 void init_packobject(pack_info_t *obj);
 int print_filters(hid_t dcpl_id);
+int have_request(pack_opt_t *options);
 
 
 
+
 /*-------------------------------------------------------------------------
  * filters
  *-------------------------------------------------------------------------
@@ -182,9 +165,9 @@
 int apply_filters(const char* name,    /* object name from traverse list */
                   int rank,            /* rank of dataset */
                   hsize_t *dims,       /* dimensions of dataset */
-                  hid_t dcpl_id,       /* dataset creation property list */
-                  hid_t type_id,       /* datatype */
-                  pack_opt_t *options); /* repack options */
+                  hid_t dcpl_id,       /* (IN,OUT) dataset creation property list */
+                  pack_opt_t *options, /* repack options */
+                  int *has_filter);     /* (OUT) object NAME has a filter */
 
 int has_filter(hid_t dcpl_id,
                H5Z_filter_t filtnin);
@@ -247,78 +230,7 @@
 const char* get_sfilter (H5Z_filter_t filtn);
 int         parse_number(char *str);
 
-/*-------------------------------------------------------------------------
- * tests
- *-------------------------------------------------------------------------
- */
 
-#define FNAME0     "test0.h5"
-#define FNAME0OUT  "test0.out.h5"
-#define FNAME1     "test1.h5"
-#define FNAME1OUT  "test1.out.h5"
-#define FNAME2     "test2.h5"
-#define FNAME2OUT  "test2.out.h5"
-#define FNAME3     "test3.h5"
-#define FNAME3OUT  "test3.out.h5"
-#define FNAME4     "test4.h5"
-#define FNAME4OUT  "test4.out.h5"
-#define FNAME5     "test5.h5"
-#define FNAME5OUT  "test5.out.h5"
-#define FNAME6     "test6.h5"
-#define FNAME7     "test_szip.h5"
-#define FNAME8     "test_deflate.h5"
-#define FNAME9     "test_shuffle.h5"
-#define FNAME10    "test_fletcher32.h5"
-#define FNAME11    "test_all.h5"
-#define FNAME7OUT     "test_szip.out.h5"
-#define FNAME8OUT     "test_deflate.out.h5"
-#define FNAME9OUT     "test_shuffle.out.h5"
-#define FNAME10OUT    "test_fletcher32.out.h5"
-#define FNAME11OUT    "test_all.out.h5"
 
-int make_testfiles(void);
-
-int write_dset( hid_t loc_id,
-                int rank,
-                hsize_t *dims,
-                const char *dset_name,
-                hid_t type_id,
-                void *buf );
-int write_attr(hid_t loc_id,
-               int rank,
-               hsize_t *dims,
-               const char *attr_name,
-               hid_t type_id,
-               void *buf);
-void write_attr_in(hid_t loc_id,
-                   const char* dset_name, /* for saving reference to dataset*/
-                   hid_t fid, /* for reference create */
-                   int make_diffs /* flag to modify data buffers */);
-void write_dset_in(hid_t loc_id,
-                   const char* dset_name, /* for saving reference to dataset*/
-                   hid_t file_id,
-                   int make_diffs /* flag to modify data buffers */);
-
-
-
-/*-------------------------------------------------------------------------
- * tests utils
- *-------------------------------------------------------------------------
- */
-int make_dset(hid_t loc_id,
-              const char *name,
-              hid_t sid,
-              hid_t dcpl,
-              void *buf);
-
-int make_attr(hid_t loc_id,
-               int rank,
-               hsize_t *dims,
-               const char *attr_name,
-               hid_t type_id,
-               void *buf);
-
-
-
-
 #endif  /* H5REPACK_H__ */
+

Modified: packages/hdf5/trunk/tools/h5repack/h5repack.sh.in
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack.sh.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack.sh.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,6 @@
 #! /bin/sh
 #
+# Copyright by The HDF Group.
 # Copyright by the Board of Trustees of the University of Illinois.
 # All rights reserved.
 #
@@ -9,17 +10,23 @@
 # of the source code distribution tree; Copyright.html can be found at the
 # root level of an installed copy of the electronic HDF5 document set and
 # is linked from the top-level documents page.  It can also be found at
-# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-# access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 #
 # Tests for the h5repack tool
+#
+# Modification:
+#  Pedro Vicente Nunes, 11/15/2006
+#  Added $FILEN variables for file names
+#   
 
 USE_FILTER_SZIP="@USE_FILTER_SZIP@"
 USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
 USE_FILTER_SHUFFLE="@USE_FILTER_SHUFFLE@"
 USE_FILTER_FLETCHER32="@USE_FILTER_FLETCHER32@"
+USE_FILTER_NBIT="@USE_FILTER_NBIT@"
+USE_FILTER_SCALEOFFSET="@USE_FILTER_SCALEOFFSET@"
 
-
 H5REPACK=h5repack               # The tool name
 H5REPACK_BIN=`pwd`/$H5REPACK    # The path of the tool binary
 
@@ -29,6 +36,22 @@
 H5DETECTSZIP=testh5repack_detect_szip               # The tool name
 H5DETECTSZIP_BIN=`pwd`/$H5DETECTSZIP    # The path of the tool binary
 
+
+INFO_FILE=../testfiles/info.h5repack
+
+FILE0=h5repack_fill.h5
+FILE1=h5repack_objs.h5
+FILE2=h5repack_attr.h5
+FILE3=h5repack_hlink.h5
+FILE4=h5repack_layout.h5
+FILE5=h5repack_early.h5
+FILE7=h5repack_szip.h5
+FILE8=h5repack_deflate.h5
+FILE9=h5repack_shuffle.h5
+FILE10=h5repack_fletcher.h5
+FILE11=h5repack_filters.h5
+
+
 nerrors=0
 verbose=yes
 
@@ -53,7 +76,7 @@
 #
 VERIFY() {
  SPACES="                                                               "
- echo "Testing h5diff output $* $SPACES" | cut -c1-70 | tr -d '\012'
+ echo "Verifying h5diff output $* $SPACES" | cut -c1-70 | tr -d '\012'
 }
 
 # Print a message that a test has been skipped (because a required filter
@@ -93,7 +116,8 @@
     TESTING $H5REPACK $@
 
     infile=$srcdir/../testfiles/$1
-    outfile=out.$1
+    path=`pwd`
+    outfile=$path/out.$1
     shift
     if [ "`uname -s`" = "TFLOPS O/S" ]; then
      $RUNSERIAL $H5REPACK_BIN -i $infile -o $outfile $@
@@ -131,17 +155,19 @@
 USE_FILTER_SZIP_ENCODER=`$RUNSERIAL $H5DETECTSZIP_BIN`
 fi
 
-# copy files (these files have no filters; test2.h5 has copied references that h5diff detects)
-TOOLTEST test0.h5
-TOOLTEST test1.h5
-TOOLTEST test3.h5
-TOOLTEST test4.h5
-TOOLTEST test5.h5
+# copy files (these files have no filters) 
+TOOLTEST $FILE0
+TOOLTEST $FILE1
+TOOLTEST $FILE2
+TOOLTEST $FILE3
+TOOLTEST $FILE4
+TOOLTEST $FILE5
 
-# use test4.h5 to write some filters  (this file has  no filters)
 
+# use $FILE4 to write some filters  (this file has  no filters)
+
 # gzip with individual object
-arg="test4.h5 -f dset1:GZIP=1  -l dset1:CHUNK=20x10"
+arg="$FILE4 -f dset1:GZIP=1  -l dset1:CHUNK=20x10"
 if test  $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
@@ -149,7 +175,7 @@
 fi
   
 # gzip for all 
-arg="test4.h5 -f GZIP=1"
+arg="$FILE4 -f GZIP=1"
 if test  $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
@@ -157,7 +183,7 @@
 fi
 
 # szip with individual object
-arg="test4.h5 -f dset2:SZIP=8,EC  -l dset2:CHUNK=20x10"
+arg="$FILE4 -f dset2:SZIP=8,EC  -l dset2:CHUNK=20x10"
 if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" ; then
  SKIP $arg
 else
@@ -165,7 +191,7 @@
 fi
 
 # szip for all
-arg="test4.h5 -f SZIP=8,NN"
+arg="$FILE4 -f SZIP=8,NN"
 if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" ; then
  SKIP $arg
 else
@@ -173,7 +199,7 @@
 fi
 
 # shuffle with individual object
-arg="test4.h5 -f dset2:SHUF  -l dset2:CHUNK=20x10"
+arg="$FILE4 -f dset2:SHUF  -l dset2:CHUNK=20x10"
 if test $USE_FILTER_SHUFFLE != "yes"  ; then
  SKIP $arg
 else
@@ -182,7 +208,7 @@
   
 
 # shuffle for all
-arg="test4.h5 -f SHUF"
+arg="$FILE4 -f SHUF"
 if test $USE_FILTER_SHUFFLE != "yes"  ; then
  SKIP $arg
 else
@@ -190,7 +216,7 @@
 fi
   
 # fletcher32  with individual object
-arg="test4.h5 -f dset2:FLET  -l dset2:CHUNK=20x10"
+arg="$FILE4 -f dset2:FLET  -l dset2:CHUNK=20x10"
 if test $USE_FILTER_FLETCHER32 != "yes"  ; then
  SKIP $arg
 else
@@ -198,7 +224,7 @@
 fi
 
 # fletcher32 for all
-arg="test4.h5 -f FLET"
+arg="$FILE4 -f FLET"
 if test $USE_FILTER_FLETCHER32 != "yes"  ; then
  SKIP $arg
 else
@@ -206,7 +232,7 @@
 fi
 
 # all filters
-arg="test4.h5 -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10"
+arg="$FILE4 -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10"
 if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SHUFFLE != "yes" -o $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
@@ -218,7 +244,7 @@
 ###########################################################
 
 # szip copy
-arg="test_szip.h5"
+arg="$FILE7"
 if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" ; then
  SKIP $arg
 else
@@ -226,7 +252,7 @@
 fi
   
 # szip remove
-arg="test_szip.h5 -f dset_szip:NONE"
+arg="$FILE7 -f dset_szip:NONE"
 if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" ; then
  SKIP $arg
 else
@@ -234,7 +260,7 @@
 fi
   
 # deflate copy
-arg="test_deflate.h5"
+arg="$FILE8"
 if test $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
@@ -242,7 +268,7 @@
 fi
 
 # deflate remove
-arg="test_deflate.h5 -f dset_deflate:NONE"
+arg="$FILE8 -f dset_deflate:NONE"
 if test $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
@@ -250,7 +276,7 @@
 fi
     
 # shuffle copy
-arg="test_shuffle.h5"
+arg="$FILE9"
 if test $USE_FILTER_SHUFFLE != "yes" ; then
  SKIP $arg
 else
@@ -258,7 +284,7 @@
 fi
 
 # shuffle remove
-arg="test_shuffle.h5 -f dset_shuffle:NONE"
+arg="$FILE9 -f dset_shuffle:NONE"
 if test $USE_FILTER_SHUFFLE != "yes" ; then
  SKIP $arg
 else
@@ -266,7 +292,7 @@
 fi
 
 # fletcher32 copy
-arg="test_fletcher32.h5"
+arg="$FILE10"
 if test $USE_FILTER_FLETCHER32 != "yes" ; then
  SKIP $arg
 else
@@ -274,16 +300,18 @@
 fi
 
 # fletcher32 remove
-arg="test_fletcher32.h5 -f dset_fletcher32:NONE"
+arg="$FILE10 -f dset_fletcher32:NONE"
 if test $USE_FILTER_FLETCHER32 != "yes" ; then
  SKIP $arg
 else
  TOOLTEST $arg
 fi        
 
+
+
 # remove all  filters
-arg="test_all.h5 -f NONE"
-if test $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SHUFFLE != "yes"  ; then
+arg="$FILE11 -f NONE"
+if test $USE_FILTER_FLETCHER32 != "yes" -o $USE_FILTER_DEFLATE != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SHUFFLE != "yes"  -o $USE_FILTER_NBIT != "yes"  -o $USE_FILTER_SCALEOFFSET != "yes"  ; then
  SKIP $arg
 else
  TOOLTEST $arg
@@ -291,14 +319,14 @@
 
 #filter conversions
 
-arg="test_deflate.h5 -f dset_deflate:SZIP=8,NN"
+arg="$FILE8 -f dset_deflate:SZIP=8,NN"
 if test $USE_FILTER_SZIP_ENCODER != "yes" -o $USE_FILTER_SZIP != "yes" -o $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
  TOOLTEST $arg 
 fi
 
-arg="test_szip.h5 -f dset_szip:GZIP=1"
+arg="$FILE7 -f dset_szip:GZIP=1"
 if test $USE_FILTER_SZIP != "yes" -o $USE_FILTER_SZIP_ENCODER != "yes"  -o $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg
 else
@@ -307,7 +335,7 @@
 
 
 #limit
-arg="test4.h5 -f GZIP=1 -m 1024"
+arg="$FILE4 -f GZIP=1 -m 1024"
 if test $USE_FILTER_DEFLATE != "yes"  ; then
  SKIP $arg
 else
@@ -315,7 +343,7 @@
 fi
 
 #file
-arg="test4.h5 -e ../testfiles/h5repack_info.txt"
+arg="$FILE4 -e $INFO_FILE"
 if test $USE_FILTER_DEFLATE != "yes" ; then
  SKIP $arg 
 else
@@ -327,27 +355,27 @@
 # layout options (these files have no filters)
 #########################################################
 
-TOOLTEST test4.h5 -l dset2:CHUNK=20x10
-TOOLTEST test4.h5 -l CHUNK=20x10
-TOOLTEST test4.h5 -l dset2:CONTI
-TOOLTEST test4.h5 -l CONTI
-TOOLTEST test4.h5 -l dset2:COMPA
-TOOLTEST test4.h5 -l COMPA
+TOOLTEST $FILE4 -l dset2:CHUNK=20x10
+TOOLTEST $FILE4 -l CHUNK=20x10
+TOOLTEST $FILE4 -l dset2:CONTI
+TOOLTEST $FILE4 -l CONTI
+TOOLTEST $FILE4 -l dset2:COMPA
+TOOLTEST $FILE4 -l COMPA
 
 
 ################################################################
 # layout conversions (file has no filters)
 ###############################################################
 
-arg1="test4.h5 -l dset_compact:CONTI"
-arg2="test4.h5 -l dset_compact:CHUNK=2x5"
-arg3="test4.h5 -l dset_compact:COMPA"
-arg4="test4.h5 -l dset_contiguous:COMPA"
-arg5="test4.h5 -l dset_contiguous:CHUNK=3x6"
-arg6="test4.h5 -l dset_contiguous:CONTI"
-arg7="test4.h5 -l dset_chunk:COMPA"
-arg8="test4.h5 -l dset_chunk:CONTI"
-arg9="test4.h5 -l dset_chunk:CHUNK=18x13"
+arg1="$FILE4 -l dset_compact:CONTI"
+arg2="$FILE4 -l dset_compact:CHUNK=2x5"
+arg3="$FILE4 -l dset_compact:COMPA"
+arg4="$FILE4 -l dset_contiguous:COMPA"
+arg5="$FILE4 -l dset_contiguous:CHUNK=3x6"
+arg6="$FILE4 -l dset_contiguous:CONTI"
+arg7="$FILE4 -l dset_chunk:COMPA"
+arg8="$FILE4 -l dset_chunk:CONTI"
+arg9="$FILE4 -l dset_chunk:CHUNK=18x13"
 TOOLTEST $arg1
 TOOLTEST $arg2
 TOOLTEST $arg3
@@ -358,7 +386,11 @@
 TOOLTEST $arg8
 TOOLTEST $arg9
 
+#native option
+arg="$FILE1 -n"
+TOOLTEST $arg
 
+
 if test $nerrors -eq 0 ; then
    echo "All $H5REPACK tests passed."
 fi

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_copy.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_copy.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_copy.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,107 +9,39 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
+#include "h5repack.h"
 #include "H5private.h"
-#include "h5repack.h"
+#include "h5tools.h"
+#include "h5tools_utils.h"
 
-#if 0
-#define PRINT_DEBUG
-#endif
+extern char  *progname;
 
 /*-------------------------------------------------------------------------
- * Function: print_obj
- *
- * Purpose: print name and filters of an object
- *
+ * macros
  *-------------------------------------------------------------------------
  */
-static void print_obj(hid_t dcpl_id, char *name)
-{
- char         str[255];
-#if defined (PRINT_DEBUG )
- char         temp[255];
-#endif
- int          nfilters;       /* number of filters */
- unsigned     filt_flags;     /* filter flags */
- H5Z_filter_t filtn;          /* filter identification number */
- unsigned     cd_values[20];  /* filter client data values */
- size_t       cd_nelmts;      /* filter client number of values */
- char         f_name[256];    /* filter name */
- int          i;
+#define FORMAT_OBJ      " %-27s %s\n"   /* obj type, name */
+#define FORMAT_OBJ_ATTR "  %-27s %s\n"  /* obj type, name */
+#define PER(A,B) { per = 0;                                            \
+                   if (A!=0)                                           \
+                    per = (double) fabs( (double)(B-A) / (double)A  ); \
+                 }
 
- strcpy(str,"\0");
+/*-------------------------------------------------------------------------
+ * local functions
+ *-------------------------------------------------------------------------
+ */
+static void  print_dataset_info(hid_t dcpl_id,char *objname,double per);
+static int   do_copy_objects(hid_t fidin,hid_t fidout,trav_table_t *travt,pack_opt_t *options);
+static int   copy_attr(hid_t loc_in,hid_t loc_out,pack_opt_t *options);
 
- /* get information about input filters */
- if ((nfilters = H5Pget_nfilters(dcpl_id))<0)
-  return;
-
- for ( i=0; i<nfilters; i++)
- {
-  cd_nelmts = NELMTS(cd_values);
-  filtn = H5Pget_filter(dcpl_id,
-   (unsigned)i,
-   &filt_flags,
-   &cd_nelmts,
-   cd_values,
-   sizeof(f_name),
-   f_name);
-  switch (filtn)
-  {
-  default:
-   break;
-  case H5Z_FILTER_DEFLATE:
-   strcat(str,"GZIP ");
-
-#if defined (PRINT_DEBUG)
-   {
-    unsigned level=cd_values[0];
-    sprintf(temp,"(%d)",level);
-    strcat(str,temp);
-   }
-#endif
-
-   break;
-  case H5Z_FILTER_SZIP:
-   strcat(str,"SZIP ");
-
-#if defined (PRINT_DEBUG)
-   {
-    unsigned options_mask=cd_values[0]; /* from dcpl, not filt*/
-    unsigned ppb=cd_values[1];
-    sprintf(temp,"(%d,",ppb);
-    strcat(str,temp);
-    if (options_mask & H5_SZIP_EC_OPTION_MASK)
-     strcpy(temp,"EC) ");
-    else if (options_mask & H5_SZIP_NN_OPTION_MASK)
-     strcpy(temp,"NN) ");
-   }
-   strcat(str,temp);
-
-#endif
-
-   break;
-  case H5Z_FILTER_SHUFFLE:
-   strcat(str,"SHUF ");
-   break;
-  case H5Z_FILTER_FLETCHER32:
-   strcat(str,"FLET ");
-   break;
-  } /* switch */
- }/*i*/
-
- printf(" %-10s %s %s\n", "dataset",str,name );
-
-}
-
-
 /*-------------------------------------------------------------------------
  * Function: copy_objects
  *
@@ -127,78 +60,82 @@
                  const char* fnameout,
                  pack_opt_t *options)
 {
- hid_t         fidin;
- hid_t         fidout=(-1);
- trav_table_t  *travt=NULL;
-
-/*-------------------------------------------------------------------------
- * open the files
- *-------------------------------------------------------------------------
- */
- if ((fidin=H5Fopen(fnamein,H5F_ACC_RDONLY,H5P_DEFAULT))<0 ){
-  printf("h5repack: <%s>: %s\n", fnamein, H5FOPENERROR );
-  goto out;
- }
- if ((fidout=H5Fcreate(fnameout,H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0 ){
-  printf("h5repack: <%s>: Could not create file\n", fnameout );
-  goto out;
- }
-
- if (options->verbose)
-  printf("Making file <%s>...\n",fnameout);
-
- /* init table */
- trav_table_init(&travt);
-
- /* get the list of objects in the file */
- if (h5trav_gettable(fidin,travt)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * do the copy
- *-------------------------------------------------------------------------
- */
- if(do_copy_objects(fidin,fidout,travt,options)<0) {
-  printf("h5repack: <%s>: Could not copy data to: %s\n", fnamein, fnameout);
-  goto out;
- }
-
-/*-------------------------------------------------------------------------
- * do the copy of referenced objects
- * and create hard links
- *-------------------------------------------------------------------------
- */
- if(do_copy_refobjs(fidin,fidout,travt,options)<0) {
-  printf("h5repack: <%s>: Could not copy data to: %s\n", fnamein, fnameout);
-  goto out;
- }
-
- /* free table */
- trav_table_free(travt);
-
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
-
- H5Fclose(fidin);
- H5Fclose(fidout);
- return 0;
-
-/*-------------------------------------------------------------------------
- * out
- *-------------------------------------------------------------------------
- */
-
+    hid_t         fidin;
+    hid_t         fidout=-1;
+    trav_table_t  *travt=NULL;
+    
+   /*-------------------------------------------------------------------------
+    * open the files
+    *-------------------------------------------------------------------------
+    */
+    if ((fidin=h5tools_fopen(fnamein, NULL, NULL, 0))<0 )
+    {
+        error_msg(progname, "<%s>: %s\n", fnamein, H5FOPENERROR );
+        goto out;
+    }
+    if ((fidout=H5Fcreate(fnameout,H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0 )
+    {
+        error_msg(progname, "<%s>: Could not create file\n", fnameout );
+        goto out;
+    }
+    
+    if (options->verbose)
+        printf("Making file <%s>...\n",fnameout);
+    
+    /* init table */
+    trav_table_init(&travt);
+    
+    /* get the list of objects in the file */
+    if (h5trav_gettable(fidin,travt)<0)
+        goto out;
+    
+   /*-------------------------------------------------------------------------
+    * do the copy
+    *-------------------------------------------------------------------------
+    */
+    if(do_copy_objects(fidin,fidout,travt,options)<0) 
+    {
+        error_msg(progname, "<%s>: Could not copy data to: %s\n", fnamein, fnameout);
+        goto out;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * do the copy of referenced objects
+    * and create hard links
+    *-------------------------------------------------------------------------
+    */
+    if(do_copy_refobjs(fidin,fidout,travt,options)<0) 
+    {
+        printf("h5repack: <%s>: Could not copy data to: %s\n", fnamein, fnameout);
+        goto out;
+    }
+    
+    /* free table */
+    trav_table_free(travt);
+    
+   /*-------------------------------------------------------------------------
+    * close
+    *-------------------------------------------------------------------------
+    */
+    
+    H5Fclose(fidin);
+    H5Fclose(fidout);
+    return 0;
+    
+   /*-------------------------------------------------------------------------
+    * out
+    *-------------------------------------------------------------------------
+    */
+    
 out:
- H5E_BEGIN_TRY {
-  H5Fclose(fidin);
-  H5Fclose(fidout);
- } H5E_END_TRY;
- if (travt)
-  trav_table_free(travt);
-
- return -1;
+    H5E_BEGIN_TRY {
+        H5Fclose(fidin);
+        H5Fclose(fidout);
+    } H5E_END_TRY;
+    if (travt)
+        trav_table_free(travt);
+    
+    return -1;
 }
 
 /*-------------------------------------------------------------------------
@@ -211,9 +148,56 @@
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
  * Date: October, 23, 2003
-	*   Modified: December, 03, 2004 - added a check for H5Dcreate; if the dataset
-	*    cannot be created with the requested filter, use the input one
  *
+ * Modifications: 
+ *
+ *  July 2004:     Introduced the extra EC or NN option for SZIP
+ *
+ *  December 2004: Added a check for H5Dcreate; if the dataset cannot be created
+ *                  with the requested filter, use the input one
+ *
+ *  October 2006:  Read/write using the file type by default.
+ *                 Read/write by hyperslabs for big datasets.
+ *
+ *  A threshold of H5TOOLS_MALLOCSIZE (128 MB) is the limit upon which I/O hyperslab is done
+ *  i.e., if the memory needed to read a dataset is greater than this limit, 
+ *  then hyperslab I/O is done instead of one operation I/O 
+ *  For each dataset, the memory needed is calculated according to
+ *
+ *  memory needed = number of elements * size of each element
+ *
+ *  if the memory needed is lower than H5TOOLS_MALLOCSIZE, then the following operations 
+ *  are done
+ *
+ *  H5Dread( input_dataset )
+ *  H5Dwrite( output_dataset )
+ *
+ *  with all elements in the datasets selected. If the memory needed is greater than 
+ *  H5TOOLS_MALLOCSIZE, then the following operations are done instead:
+ *
+ *  a strip mine is defined for each dimension k (a strip mine is defined as a 
+ *  hyperslab whose size is memory manageable) according to the formula
+ *
+ *  (1) strip_mine_size[k ] = MIN(dimension[k ], H5TOOLS_BUFSIZE / size of memory type)
+ *
+ *  where H5TOOLS_BUFSIZE is a constant currently defined as 1MB. This formula assures 
+ *  that for small datasets (small relative to the H5TOOLS_BUFSIZE constant), the strip 
+ *  mine size k is simply defined as its dimension k, but for larger datasets the 
+ *  hyperslab size is still memory manageable.
+ *  a cycle is done until the number of elements in the dataset is reached. In each 
+ *  iteration, two parameters are defined for the function H5Sselect_hyperslab, 
+ *  the start and size of each hyperslab, according to
+ *
+ *  (2) hyperslab_size [k] = MIN(dimension[k] - hyperslab_offset[k], strip_mine_size [k])
+ *
+ *  where hyperslab_offset [k] is initially set to zero, and later incremented in 
+ *  hyperslab_size[k] offsets. The reason for the operation 
+ *
+ *  dimension[k] - hyperslab_offset[k]
+ *
+ *  in (2) is that, when using the strip mine size, it assures that the "remaining" part 
+ *  of the dataset that does not fill an entire strip mine is processed.
+ *
  *-------------------------------------------------------------------------
  */
 
@@ -222,336 +206,480 @@
                     trav_table_t *travt,
                     pack_opt_t *options) /* repack options */
 {
- hid_t     grp_in=(-1);       /* group ID */
- hid_t     grp_out=(-1);      /* group ID */
- hid_t     dset_in=(-1);      /* read dataset ID */
- hid_t     dset_out=(-1);     /* write dataset ID */
- hid_t     type_in=(-1);      /* named type ID */
- hid_t     type_out=(-1);     /* named type ID */
- hid_t     dcpl_id=(-1);      /* dataset creation property list ID */
- hid_t     dcpl_out=(-1);     /* dataset creation property list ID */
- hid_t     space_id=(-1);     /* space ID */
- hid_t     ftype_id=(-1);     /* file data type ID */
- hid_t     mtype_id=(-1);     /* memory data type ID */
- size_t    msize;        /* memory size of memory type */
- void      *buf=NULL;    /* data buffer */
- hsize_t   nelmts;       /* number of elements in dataset */
- int       rank;         /* rank of dataset */
- hsize_t   dims[H5S_MAX_RANK];/* dimensions of dataset */
- hsize_t   dsize_in;     /* input dataset size before filter */
- int       next;         /* external files */
- int       i, j;
-
-/*-------------------------------------------------------------------------
- * copy the suppplied object list
- *-------------------------------------------------------------------------
- */
-
- for ( i = 0; i < travt->nobjs; i++)
- {
-
-  buf=NULL;
-  switch ( travt->objs[i].type )
-  {
-/*-------------------------------------------------------------------------
- * H5G_GROUP
- *-------------------------------------------------------------------------
- */
-  case H5G_GROUP:
-   if (options->verbose)
-    printf(" %-10s %s\n", "group",travt->objs[i].name );
-
-   if ((grp_out=H5Gcreate(fidout,travt->objs[i].name, 0))<0)
-    goto error;
-
-   if((grp_in = H5Gopen (fidin,travt->objs[i].name))<0)
-    goto error;
-
+    hid_t    grp_in=-1;         /* group ID */
+    hid_t    grp_out=-1;        /* group ID */
+    hid_t    dset_in=-1;        /* read dataset ID */
+    hid_t    dset_out=-1;       /* write dataset ID */
+    hid_t    type_in=-1;        /* named type ID */
+    hid_t    type_out=-1;       /* named type ID */
+    hid_t    dcpl_id=-1;        /* dataset creation property list ID */
+    hid_t    dcpl_out=-1;       /* dataset creation property list ID */
+    hid_t    f_space_id=-1;     /* file space ID */
+    hid_t    ftype_id=-1;       /* file type ID */
+    hid_t    wtype_id=-1;       /* read/write type ID */
+    size_t   msize;             /* size of type */
+    hsize_t  nelmts;            /* number of elements in dataset */
+    int      rank;              /* rank of dataset */
+    hsize_t  dims[H5S_MAX_RANK];/* dimensions of dataset */
+    hsize_t  dsize_in;          /* input dataset size before filter */
+    hsize_t  dsize_out;         /* output dataset size after filter */
+    int      apply_s;           /* flag for apply filter to small dataset sizes */
+    int      apply_f;           /* flag for apply filter to return error on H5Dcreate */
+    double   per;               /* percent utilization of storage */
+    void     *buf=NULL;         /* buffer for raw data */
+    void     *sm_buf=NULL;      /* buffer for raw data */
+    int      has_filter;        /* current object has a filter */
+    unsigned i;
+    int      j;
+    
    /*-------------------------------------------------------------------------
-    * copy attrs
+    * copy the suppplied object list
     *-------------------------------------------------------------------------
     */
-   if (copy_attr(grp_in,grp_out,options)<0)
-    goto error;
-
-   if (H5Gclose(grp_out)<0)
-    goto error;
-   if (H5Gclose(grp_in)<0)
-    goto error;
-
-
-   break;
-
-/*-------------------------------------------------------------------------
- * H5G_DATASET
- *-------------------------------------------------------------------------
- */
-  case H5G_DATASET:
-
-   if ((dset_in=H5Dopen(fidin,travt->objs[i].name))<0)
-    goto error;
-   if ((space_id=H5Dget_space(dset_in))<0)
-    goto error;
-   if ((ftype_id=H5Dget_type (dset_in))<0)
-    goto error;
-   if ((dcpl_id=H5Dget_create_plist(dset_in))<0)
-    goto error;
-			if ((dcpl_out = H5Pcopy (dcpl_id))<0)
-				goto error;
-   if ( (rank=H5Sget_simple_extent_ndims(space_id))<0)
-    goto error;
-   HDmemset(dims, 0, sizeof dims);
-   if ( H5Sget_simple_extent_dims(space_id,dims,NULL)<0)
-    goto error;
-   nelmts=1;
-   for (j=0; j<rank; j++)
-    nelmts*=dims[j];
-
-			if (options->verbose)
-				print_obj(dcpl_id,travt->objs[i].name );
-
-   if ((mtype_id=h5tools_get_native_type(ftype_id))<0)
-    goto error;
-
-   if ((msize=H5Tget_size(mtype_id))==0)
-    goto error;
-
-/*-------------------------------------------------------------------------
- * check for external files
- *-------------------------------------------------------------------------
- */
-   if ((next=H5Pget_external_count (dcpl_id))<0)
-    goto error;
-
-   if (next) {
-    fprintf(stderr,"Warning: <%s> has external files, ignoring read...\n",travt->objs[i].name );
-   }
-
-/*-------------------------------------------------------------------------
- * check if the dataset creation property list has filters that
- * are not registered in the current configuration
- * 1) the external filters GZIP and SZIP might not be available
- * 2) the internal filters might be turned off
- *-------------------------------------------------------------------------
- */
-   if (next==0 && h5tools_canreadf((travt->objs[i].name),dcpl_id)==1)
-   {
-
-/*-------------------------------------------------------------------------
- * references are a special case
- * we cannot just copy the buffers, but instead we recreate the reference
- * in a second traversal of the output file
- *-------------------------------------------------------------------------
- */
-   if ( (H5T_REFERENCE!=H5Tget_class(mtype_id)))
-   {
-
-    /* get the storage size of the input dataset */
-    dsize_in=H5Dget_storage_size(dset_in);
-
-  /*-------------------------------------------------------------------------
-   * read to memory
-   *-------------------------------------------------------------------------
-   */
-    if (nelmts)
+    
+    if (options->verbose) 
     {
-     buf=(void *) HDmalloc((unsigned)(nelmts*msize));
-     if ( buf==NULL){
-      printf( "cannot read into memory\n" );
-      goto error;
-     }
-     if (H5Dread(dset_in,mtype_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
-      goto error;
-
-    /*-------------------------------------------------------------------------
-     * apply the filter
-     *-------------------------------------------------------------------------
-     */
-     if (apply_filters(travt->objs[i].name,rank,dims,dcpl_out,mtype_id,options)<0)
-      goto error;
-
-    }/*nelmts*/
-
-    /*-------------------------------------------------------------------------
-     * create;
-					* 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,mtype_id,space_id,dcpl_out);
-				} H5E_END_TRY;
-
-				if (dset_out==FAIL)
-				{
-     if ((dset_out=H5Dcreate(fidout,travt->objs[i].name,mtype_id,space_id,dcpl_id))<0)
-						goto error;
-
-					if (options->verbose)
-						printf("Warning: Could not apply the filter to <%s>\n", travt->objs[i].name);
-				}
-
-				/*-------------------------------------------------------------------------
-     * write dataset
-     *-------------------------------------------------------------------------
-     */
-
-    if (dsize_in && nelmts) {
-     if (H5Dwrite(dset_out,mtype_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
-      goto error;
+        printf("-----------------------------------------\n");
+        printf(" Type     Filter (Ratio)     Name\n");
+        printf("-----------------------------------------\n");
     }
-    /*-------------------------------------------------------------------------
-     * copy attrs
-     *-------------------------------------------------------------------------
-     */
-    if (copy_attr(dset_in,dset_out,options)<0)
-     goto error;
+    
+    for ( i = 0; i < travt->nobjs; i++)
+    {
+              
+        switch ( travt->objs[i].type )
+        {
+       /*-------------------------------------------------------------------------
+        * H5G_GROUP
+        *-------------------------------------------------------------------------
+        */
+        case H5G_GROUP:
+            if (options->verbose)
+                printf(FORMAT_OBJ,"group",travt->objs[i].name );
+            
+            if ((grp_out=H5Gcreate(fidout,travt->objs[i].name, 0))<0)
+                goto error;
+            
+            if((grp_in = H5Gopen (fidin,travt->objs[i].name))<0)
+                goto error;
+            
+           /*-------------------------------------------------------------------------
+            * copy attrs
+            *-------------------------------------------------------------------------
+            */
+            if (copy_attr(grp_in,grp_out,options)<0)
+                goto error;
+            
+            if (H5Gclose(grp_out)<0)
+                goto error;
+            if (H5Gclose(grp_in)<0)
+                goto error;
+            
+            
+            break;
+            
+        /*-------------------------------------------------------------------------
+         * H5G_DATASET
+         *-------------------------------------------------------------------------
+         */
+        case H5G_DATASET:
 
-    /*close */
-    if (H5Dclose(dset_out)<0)
-     goto error;
+            buf = NULL;
+           
+            if ((dset_in=H5Dopen(fidin,travt->objs[i].name))<0)
+                goto error;
+            if ((f_space_id=H5Dget_space(dset_in))<0)
+                goto error;
+            if ((ftype_id=H5Dget_type (dset_in))<0)
+                goto error;
+            if ((dcpl_id=H5Dget_create_plist(dset_in))<0)
+                goto error;
+            if ((dcpl_out = H5Pcopy (dcpl_id))<0)
+                goto error;
+            if ( (rank=H5Sget_simple_extent_ndims(f_space_id))<0)
+                goto error;
+            HDmemset(dims, 0, sizeof dims);
+            if ( H5Sget_simple_extent_dims(f_space_id,dims,NULL)<0)
+                goto error;
+            nelmts=1;
+            for (j=0; j<rank; j++)
+                nelmts*=dims[j];
+            
+            if (options->use_native==1)
+                wtype_id = h5tools_get_native_type(ftype_id);
+            else
+                wtype_id = H5Tcopy(ftype_id); 
+            
+            if ((msize=H5Tget_size(wtype_id))==0)
+                goto error;
+            
+           /*-------------------------------------------------------------------------
+            * check if the dataset creation property list has filters that
+            * are not registered in the current configuration
+            * 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;
+                apply_f=1;
+                
+               /*-------------------------------------------------------------------------
+                * references are a special case
+                * we cannot just copy the buffers, but instead we recreate the reference
+                * in a second traversal of the output file
+                *-------------------------------------------------------------------------
+                */
+                if (H5T_REFERENCE==H5Tget_class(wtype_id))
+                {
+                    ;
+                }
+                else /* H5T_REFERENCE */
+                {
 
-    if (buf)
-     free(buf);
+                    has_filter = 0;
 
-   }/*H5T_STD_REF_OBJ*/
-   }/*can_read*/
-
-
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
-   if (H5Tclose(ftype_id)<0)
-    goto error;
-   if (H5Tclose(mtype_id)<0)
-    goto error;
-   if (H5Pclose(dcpl_id)<0)
-    goto error;
-			if (H5Pclose(dcpl_out)<0)
-    goto error;
-   if (H5Sclose(space_id)<0)
-    goto error;
-   if (H5Dclose(dset_in)<0)
-    goto error;
-
-   break;
-
-/*-------------------------------------------------------------------------
- * H5G_TYPE
- *-------------------------------------------------------------------------
- */
-  case H5G_TYPE:
-
-   if ((type_in = H5Topen (fidin,travt->objs[i].name))<0)
-    goto error;
-
-   if ((type_out = H5Tcopy(type_in))<0)
-    goto error;
-
-   if ((H5Tcommit(fidout,travt->objs[i].name,type_out))<0)
-    goto error;
-
-/*-------------------------------------------------------------------------
- * copy attrs
- *-------------------------------------------------------------------------
- */
-   if (copy_attr(type_in,type_out,options)<0)
-    goto error;
-
-   if (H5Tclose(type_in)<0)
-    goto error;
-   if (H5Tclose(type_out)<0)
-    goto error;
-
-   if (options->verbose)
-    printf(" %-10s %s\n","datatype",travt->objs[i].name );
-
-   break;
-
-
-/*-------------------------------------------------------------------------
- * H5G_LINK
- *-------------------------------------------------------------------------
- */
-
-  case H5G_LINK:
-   {
-    H5G_stat_t  statbuf;
-    char        *targbuf=NULL;
-
-    if (H5Gget_objinfo(fidin,travt->objs[i].name,FALSE,&statbuf)<0)
-     goto error;
-
-    targbuf = malloc(statbuf.linklen);
-
-    if (H5Gget_linkval(fidin,travt->objs[i].name,statbuf.linklen,targbuf)<0)
-     goto error;
-
-    if (H5Glink(fidout,
-     H5G_LINK_SOFT,
-     targbuf,        /* current name of object */
-     travt->objs[i].name   /* new name of object */
-     )<0)
-     goto error;
-
-    free(targbuf);
-
-    if (options->verbose)
-     printf(" %-10s %s\n","link",travt->objs[i].name );
-
-   }
-   break;
-
-  default:
-   if (options->verbose)
-    printf(" %-10s %s\n","User defined object",travt->objs[i].name);
-   break;
-  }
- }
-
-/*-------------------------------------------------------------------------
- * the root is a special case, we get an ID for the root group
- * and copy its attributes using that ID
- * it must be done last, because the attributes might contain references to
- * objects in the object list
- *-------------------------------------------------------------------------
- */
-
- if ((grp_out = H5Gopen(fidout,"/"))<0)
-  goto error;
-
- if ((grp_in  = H5Gopen(fidin,"/"))<0)
-  goto error;
-
- if (copy_attr(grp_in,grp_out,options)<0)
-  goto error;
-
- if (H5Gclose(grp_out)<0)
-  goto error;
- if (H5Gclose(grp_in)<0)
-  goto error;
-
- return 0;
-
+                    /* get the storage size of the input dataset */
+                    dsize_in=H5Dget_storage_size(dset_in);
+                    
+                    /* check for datasets too small */
+                    if (nelmts*msize < options->threshold )
+                        apply_s=0;
+                    
+                    /* apply the filter */
+                    if (apply_s)
+                    {
+                        if (apply_filters(travt->objs[i].name,rank,dims,dcpl_out,options,&has_filter)<0)
+                            goto error;
+                    }
+                    
+                   /*-------------------------------------------------------------------------
+                    * 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;
+                    if (dset_out==FAIL)
+                    {
+                        if ((dset_out=H5Dcreate(fidout,travt->objs[i].name,wtype_id,f_space_id,dcpl_id))<0)
+                            goto error;
+                        apply_f=0;
+                    }
+                    
+                   /*-------------------------------------------------------------------------
+                    * read/write
+                    *-------------------------------------------------------------------------
+                    */
+                    if (nelmts)
+                    {
+                        size_t need = (size_t)(nelmts*msize);  /* bytes needed */
+                        if ( need < H5TOOLS_MALLOCSIZE )
+                            buf = HDmalloc(need);
+                        
+                        if (buf != NULL )
+                        {
+                            if (H5Dread(dset_in,wtype_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+                                goto error;
+                            if (H5Dwrite(dset_out,wtype_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+                                goto error;
+                        }      
+                        
+                        else /* possibly not enough memory, read/write by hyperslabs */
+                            
+                        {
+                            size_t        p_type_nbytes = msize; /*size of memory type */
+                            hsize_t       p_nelmts = nelmts;     /*total selected elmts */
+                            hsize_t       elmtno;                /*counter  */
+                            int           carry;                 /*counter carry value */
+                            unsigned int  vl_data = 0;           /*contains VL datatypes */
+                            
+                            /* stripmine info */
+                            hsize_t       sm_size[H5S_MAX_RANK]; /*stripmine size */
+                            hsize_t       sm_nbytes;             /*bytes per stripmine */
+                            hsize_t       sm_nelmts;             /*elements per stripmine*/
+                            hid_t         sm_space;              /*stripmine data space */
+                            
+                            /* hyperslab info */
+                            hsize_t       hs_offset[H5S_MAX_RANK];/*starting offset */
+                            hsize_t       hs_size[H5S_MAX_RANK];  /*size this pass */
+                            hsize_t       hs_nelmts;              /*elements in request */
+                            hsize_t       zero[8];                /*vector of zeros */
+                            int           k;          
+                            
+                            /* check if we have VL data in the dataset's datatype */
+                            if (H5Tdetect_class(wtype_id, H5T_VLEN) == TRUE)
+                                vl_data = TRUE;
+                            
+                           /*
+                            * 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) 
+                            {
+                                sm_size[k - 1] = MIN(dims[k - 1], H5TOOLS_BUFSIZE / sm_nbytes);
+                                sm_nbytes *= sm_size[k - 1];
+                                assert(sm_nbytes > 0);
+                            }
+                            sm_buf = HDmalloc((size_t)sm_nbytes);
+                            
+                            sm_nelmts = sm_nbytes / p_type_nbytes;
+                            sm_space = H5Screate_simple(1, &sm_nelmts, NULL);
+                            
+                            /* the stripmine loop */
+                            memset(hs_offset, 0, sizeof hs_offset);
+                            memset(zero, 0, sizeof zero);
+                            
+                            for (elmtno = 0; elmtno < p_nelmts; elmtno += hs_nelmts) 
+                            {
+                                /* calculate the hyperslab size */
+                                if (rank > 0) 
+                                {
+                                    for (k = 0, hs_nelmts = 1; k < rank; k++) 
+                                    {
+                                        hs_size[k] = MIN(dims[k] - hs_offset[k], sm_size[k]);
+                                        hs_nelmts *= hs_size[k];
+                                    }
+                                    
+                                    if (H5Sselect_hyperslab(f_space_id, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL)<0)
+                                        goto error;
+                                    if (H5Sselect_hyperslab(sm_space, H5S_SELECT_SET, zero, NULL, &hs_nelmts, NULL)<0)
+                                        goto error;
+                                } 
+                                else 
+                                {
+                                    H5Sselect_all(f_space_id);
+                                    H5Sselect_all(sm_space);
+                                    hs_nelmts = 1;
+                                } /* rank */
+                                
+                                /* read/write */
+                                if (H5Dread(dset_in, wtype_id, sm_space, f_space_id, H5P_DEFAULT, sm_buf) < 0) 
+                                    goto error;
+                                if (H5Dwrite(dset_out, wtype_id, sm_space, f_space_id, H5P_DEFAULT, sm_buf) < 0) 
+                                    goto error;
+                                
+                                /* reclaim any VL memory, if necessary */
+                                if(vl_data)
+                                    H5Dvlen_reclaim(wtype_id, sm_space, H5P_DEFAULT, sm_buf);
+                                
+                                /* calculate the next hyperslab offset */
+                                for (k = rank, carry = 1; k > 0 && carry; --k) 
+                                {
+                                    hs_offset[k - 1] += hs_size[k - 1];
+                                    if (hs_offset[k - 1] == dims[k - 1])
+                                        hs_offset[k - 1] = 0;
+                                    else
+                                        carry = 0;
+                                } /* k */
+                            } /* elmtno */
+                            
+                            H5Sclose(sm_space);
+                            /* free */
+                            if (sm_buf!=NULL)
+                            {
+                                HDfree(sm_buf);
+                                sm_buf=NULL;
+                            }
+                        } /* hyperslab read */
+                     }/*nelmts*/
+                        
+                     /*-------------------------------------------------------------------------
+                      * amount of compression used
+                      *-------------------------------------------------------------------------
+                      */
+                      if (options->verbose) 
+                      {
+                          if (apply_s && apply_f)
+                          {
+                              /* get the storage size of the input dataset */
+                              dsize_out=H5Dget_storage_size(dset_out);
+                              PER((hssize_t)dsize_in,(hssize_t)dsize_out);
+                              print_dataset_info(dcpl_out,travt->objs[i].name,per*100.0);
+                          }
+                          else
+                              print_dataset_info(dcpl_id,travt->objs[i].name,0.0);
+                                          
+                      /* print a message that the filter was not applied 
+                         (in case there was a filter)
+                      */
+                      if ( has_filter && apply_s == 0 )
+                          printf(" <warning: filter not applied to %s. dataset smaller than %d bytes>\n",
+                          travt->objs[i].name,
+                          (int)options->threshold);
+                      
+                      if ( has_filter && apply_f == 0 )
+                          printf(" <warning: could not apply the filter to %s>\n",
+                          travt->objs[i].name);
+                      
+                      } /* verbose */
+                      
+                     /*-------------------------------------------------------------------------
+                      * copy attrs
+                      *-------------------------------------------------------------------------
+                      */
+                      if (copy_attr(dset_in,dset_out,options)<0)
+                          goto error;
+                      
+                      /*close */
+                      if (H5Dclose(dset_out)<0)
+                          goto error;
+                      
+                }/*H5T_REFERENCE*/
+            }/*h5tools_canreadf*/
+            
+   
+            /*-------------------------------------------------------------------------
+             * close
+             *-------------------------------------------------------------------------
+             */
+             if (H5Tclose(ftype_id)<0)
+                 goto error;
+             if (H5Tclose(wtype_id)<0)
+                 goto error;
+             if (H5Pclose(dcpl_id)<0)
+                 goto error;
+             if (H5Pclose(dcpl_out)<0)
+                 goto error;
+             if (H5Sclose(f_space_id)<0)
+                 goto error;
+             if (H5Dclose(dset_in)<0)
+                 goto error;
+             
+             /* free */
+             if (buf!=NULL)
+             {
+                 HDfree(buf);
+                 buf=NULL;
+             }
+             
+             
+             break;
+    
+        /*-------------------------------------------------------------------------
+         * H5G_TYPE
+         *-------------------------------------------------------------------------
+         */
+        case H5G_TYPE:
+            
+            if ((type_in = H5Topen (fidin,travt->objs[i].name))<0)
+                goto error;
+            
+            if ((type_out = H5Tcopy(type_in))<0)
+                goto error;
+            
+            if ((H5Tcommit(fidout,travt->objs[i].name,type_out))<0)
+                goto error;
+            
+            /*-------------------------------------------------------------------------
+             * copy attrs
+             *-------------------------------------------------------------------------
+             */
+            if (copy_attr(type_in,type_out,options)<0)
+                goto error;
+            
+            if (H5Tclose(type_in)<0)
+                goto error;
+            if (H5Tclose(type_out)<0)
+                goto error;
+            
+            if (options->verbose)
+                printf(FORMAT_OBJ,"type",travt->objs[i].name );
+            
+            break;
+            
+        /*-------------------------------------------------------------------------
+         * H5G_LINK
+         *-------------------------------------------------------------------------
+         */
+        case H5G_LINK:
+            {
+                H5G_stat_t  statbuf;
+                char        *targbuf=NULL;
+                
+                if (H5Gget_objinfo(fidin,travt->objs[i].name,FALSE,&statbuf)<0)
+                    goto error;
+                
+                targbuf = malloc(statbuf.linklen);
+                
+                if (H5Gget_linkval(fidin,travt->objs[i].name,statbuf.linklen,targbuf)<0)
+                    goto error;
+                
+                if (H5Glink(fidout,
+                    H5G_LINK_SOFT,
+                    targbuf,              /* current name of object */
+                    travt->objs[i].name   /* new name of object */
+                    )<0)
+                    goto error;
+                
+                free(targbuf);
+                
+                if (options->verbose)
+                    printf(" %-10s %s\n","link",travt->objs[i].name );
+                
+            }
+            break;
+      
+        default:
+         goto error;
+        } /* switch */
+   
+    } /* i */
+ 
+     /*-------------------------------------------------------------------------
+      * the root is a special case, we get an ID for the root group
+      * and copy its attributes using that ID
+      *-------------------------------------------------------------------------
+      */
+      
+      if ((grp_out = H5Gopen(fidout,"/"))<0)
+          goto error;
+      
+      if ((grp_in  = H5Gopen(fidin,"/"))<0)
+          goto error;
+      
+      if (copy_attr(grp_in,grp_out,options)<0)
+          goto error;
+      
+      if (H5Gclose(grp_out)<0)
+          goto error;
+      if (H5Gclose(grp_in)<0)
+          goto error;
+      
+      return 0;
+   
 error:
- H5E_BEGIN_TRY {
-  H5Gclose(grp_in);
-  H5Gclose(grp_out);
-  H5Pclose(dcpl_id);
-  H5Sclose(space_id);
-  H5Dclose(dset_in);
-  H5Dclose(dset_out);
-  H5Tclose(ftype_id);
-  H5Tclose(mtype_id);
-  H5Tclose(type_in);
-  H5Tclose(type_out);
-  if (buf)
-   free(buf);
- } H5E_END_TRY;
- return -1;
-
+   H5E_BEGIN_TRY {
+       H5Gclose(grp_in);
+       H5Gclose(grp_out);
+       H5Pclose(dcpl_id);
+       H5Sclose(f_space_id);
+       H5Dclose(dset_in);
+       H5Dclose(dset_out);
+       H5Tclose(ftype_id);
+       H5Tclose(wtype_id);
+       H5Tclose(type_in);
+       H5Tclose(type_out);
+       /* free */
+       if (buf!=NULL)
+       {
+           HDfree(buf);
+           buf=NULL;
+       }
+       if (sm_buf!=NULL)
+       {
+           HDfree(sm_buf);
+           sm_buf=NULL;
+       }
+   } H5E_END_TRY;
+   return -1;
+   
 }
 
 
@@ -577,140 +705,233 @@
               pack_opt_t *options
               )
 {
- hid_t      attr_id=-1;      /* attr ID */
- hid_t      attr_out=-1;     /* attr ID */
- hid_t      space_id=-1;     /* space ID */
- hid_t      ftype_id=-1;     /* file data type ID */
- hid_t      mtype_id=-1;     /* memory data type ID */
- size_t     msize;        /* memory size of type */
- void       *buf=NULL;         /* data buffer */
- hsize_t    nelmts;       /* number of elements in dataset */
- int        rank;         /* rank of dataset */
- hsize_t    dims[H5S_MAX_RANK];/* dimensions of dataset */
- char       name[255];
- int        n, j;
- unsigned   u;
-
- if ((n = H5Aget_num_attrs(loc_in))<0)
-  goto error;
-
- for ( u = 0; u < (unsigned)n; u++)
- {
-
-  /* set data buffer to NULL each iteration
-     we might not use it in the case of references
-   */
-   buf=NULL;
-/*-------------------------------------------------------------------------
- * open
- *-------------------------------------------------------------------------
- */
-  /* open attribute */
-  if ((attr_id = H5Aopen_idx(loc_in, u))<0)
-   goto error;
-
-  /* get name */
-  if (H5Aget_name( attr_id, 255, name )<0)
-   goto error;
-
-  /* get the file datatype  */
-  if ((ftype_id = H5Aget_type( attr_id )) < 0 )
-   goto error;
-
-  /* get the dataspace handle  */
-  if ((space_id = H5Aget_space( attr_id )) < 0 )
-   goto error;
-
-  /* get dimensions  */
-  if ( (rank = H5Sget_simple_extent_dims(space_id, dims, NULL)) < 0 )
-   goto error;
-
-  nelmts=1;
-  for (j=0; j<rank; j++)
-   nelmts*=dims[j];
-
-  if ((mtype_id=h5tools_get_native_type(ftype_id))<0)
-   goto error;
-
-  if ((msize=H5Tget_size(mtype_id))==0)
-   goto error;
-
-/*-------------------------------------------------------------------------
- * object references are a special case
- * we cannot just copy the buffers, but instead we recreate the reference
- * this is done on a second sweep of the file that just copies
- * the referenced objects
- *-------------------------------------------------------------------------
- */
-  if ( ! H5Tequal(mtype_id, H5T_STD_REF_OBJ))
-  {
-
-
- /*-------------------------------------------------------------------------
-  * read to memory
-  *-------------------------------------------------------------------------
-  */
-
-   buf=(void *) HDmalloc((unsigned)(nelmts*msize));
-   if ( buf==NULL){
-    printf( "cannot read into memory\n" );
-    goto error;
-   }
-   if (H5Aread(attr_id,mtype_id,buf)<0)
-    goto error;
-
+    hid_t      attr_id=-1;        /* attr ID */
+    hid_t      attr_out=-1;       /* attr ID */
+    hid_t      space_id=-1;       /* space ID */
+    hid_t      ftype_id=-1;       /* file type ID */
+    hid_t      wtype_id=-1;       /* read/write type ID */
+    size_t     msize;             /* size of type */
+    void       *buf=NULL;         /* data buffer */
+    hsize_t    nelmts;            /* number of elements in dataset */
+    int        rank;              /* rank of dataset */
+    hsize_t    dims[H5S_MAX_RANK];/* dimensions of dataset */
+    char       name[255];
+    int        n, j;
+    unsigned   u;
+    
+    if ((n = H5Aget_num_attrs(loc_in))<0)
+        goto error;
+    
    /*-------------------------------------------------------------------------
-    * copy
+    * copy all attributes
     *-------------------------------------------------------------------------
     */
+    
+    for ( u = 0; u < (unsigned)n; u++)
+    {
+        
+        buf=NULL;
+        
+        /* open attribute */
+        if ((attr_id = H5Aopen_idx(loc_in, u))<0)
+            goto error;
+        
+        /* get name */
+        if (H5Aget_name( attr_id, 255, name )<0)
+            goto error;
+        
+        /* get the file datatype  */
+        if ((ftype_id = H5Aget_type( attr_id )) < 0 )
+            goto error;
+        
+        /* get the dataspace handle  */
+        if ((space_id = H5Aget_space( attr_id )) < 0 )
+            goto error;
+        
+        /* get dimensions  */
+        if ( (rank = H5Sget_simple_extent_dims(space_id, dims, NULL)) < 0 )
+            goto error;
+        
+        nelmts=1;
+        for (j=0; j<rank; j++)
+            nelmts*=dims[j];
+        
+        if (options->use_native==1)
+            wtype_id = h5tools_get_native_type(ftype_id);
+        else
+            wtype_id = H5Tcopy(ftype_id); 
+        
+        if ((msize=H5Tget_size(wtype_id))==0)
+            goto error;
+        
+       /*-------------------------------------------------------------------------
+        * object references are a special case
+        * we cannot just copy the buffers, but instead we recreate the reference
+        * this is done on a second sweep of the file that just copies
+        * the referenced objects
+        *-------------------------------------------------------------------------
+        */
+        
+        if (H5T_REFERENCE==H5Tget_class(wtype_id))
+        {
+            ;
+        }
+        else 
+        {
+           /*-------------------------------------------------------------------------
+            * read to memory
+            *-------------------------------------------------------------------------
+            */
+            
+            buf=(void *) HDmalloc((unsigned)(nelmts*msize));
+            if ( buf==NULL)
+            {
+                error_msg(progname, "cannot read into memory\n" );
+                goto error;
+            }
+            if (H5Aread(attr_id,wtype_id,buf)<0)
+                goto error;
+            if ((attr_out=H5Acreate(loc_out,name,ftype_id,space_id,H5P_DEFAULT))<0)
+                goto error;
+            if(H5Awrite(attr_out,wtype_id,buf)<0)
+                goto error;
+            if (H5Aclose(attr_out)<0)
+                goto error;
+            if (buf)
+                free(buf);
+            
+        } /*H5T_REFERENCE*/
+        
+        
+        if (options->verbose)
+            printf(FORMAT_OBJ_ATTR, "attr", name);
+        
+       /*-------------------------------------------------------------------------
+        * close
+        *-------------------------------------------------------------------------
+        */
+        
+        if (H5Tclose(ftype_id)<0) goto error;
+        if (H5Tclose(wtype_id)<0) goto error;
+        if (H5Sclose(space_id)<0) goto error;
+        if (H5Aclose(attr_id)<0) goto error;
+        
+    } /* u */
+    
+    return 0;
+    
+error:
+    H5E_BEGIN_TRY {
+        H5Tclose(ftype_id);
+        H5Tclose(wtype_id);
+        H5Sclose(space_id);
+        H5Aclose(attr_id);
+        H5Aclose(attr_out);
+        if (buf)
+            free(buf);
+    } H5E_END_TRY;
+    return -1;
+}
 
-   if ((attr_out=H5Acreate(loc_out,name,ftype_id,space_id,H5P_DEFAULT))<0)
-    goto error;
-   if(H5Awrite(attr_out,mtype_id,buf)<0)
-    goto error;
 
-   /*close*/
-   if (H5Aclose(attr_out)<0)
-    goto error;
 
-
-   if (buf)
-    free(buf);
-
-
-  } /*H5T_STD_REF_OBJ*/
-
-
-  if (options->verbose)
-   printf("   %-13s %s\n", "attr", name);
-
 /*-------------------------------------------------------------------------
- * close
+ * Function: print_dataset_info
+ *
+ * Purpose: print name, filters, percentage compression of a dataset
+ *
  *-------------------------------------------------------------------------
  */
-
-  if (H5Tclose(ftype_id)<0) goto error;
-  if (H5Tclose(mtype_id)<0) goto error;
-  if (H5Sclose(space_id)<0) goto error;
-  if (H5Aclose(attr_id)<0) goto error;
-
- } /* u */
-
-  return 0;
-
-error:
- H5E_BEGIN_TRY {
-  H5Tclose(ftype_id);
-  H5Tclose(mtype_id);
-  H5Sclose(space_id);
-  H5Aclose(attr_id);
-  H5Aclose(attr_out);
-  if (buf)
-    free(buf);
- } H5E_END_TRY;
- return -1;
+static void print_dataset_info(hid_t dcpl_id,
+                               char *objname,
+                               double per)
+{
+    char         strfilter[255];
+#if defined (PRINT_DEBUG )
+    char         temp[255];
+#endif
+    int          nfilters;          /* number of filters */
+    unsigned     filt_flags;        /* filter flags */
+    H5Z_filter_t filtn;             /* filter identification number */
+    unsigned     cd_values[20];     /* filter client data values */
+    size_t       cd_nelmts;         /* filter client number of values */
+    char         f_objname[256];    /* filter objname */
+    int          i;
+    
+    strcpy(strfilter,"\0");
+    
+    /* get information about input filters */
+    if ((nfilters = H5Pget_nfilters(dcpl_id))<0)
+        return;
+    
+    for ( i=0; i<nfilters; i++)
+    {
+        cd_nelmts = NELMTS(cd_values);
+        
+        
+        filtn = H5Pget_filter(dcpl_id,
+            (unsigned)i,
+            &filt_flags,
+            &cd_nelmts,
+            cd_values,
+            sizeof(f_objname),
+            f_objname);
+        
+        switch (filtn)
+        {
+        default:
+            break;
+        case H5Z_FILTER_DEFLATE:
+            strcat(strfilter,"GZIP ");
+            
+#if defined (PRINT_DEBUG)
+            {
+                unsigned level=cd_values[0];
+                sprintf(temp,"(%d)",level);
+                strcat(strfilter,temp);
+            }
+#endif
+            
+            break;
+        case H5Z_FILTER_SZIP:
+            strcat(strfilter,"SZIP ");
+            
+#if defined (PRINT_DEBUG)
+            {
+                unsigned options_mask=cd_values[0]; /* from dcpl, not filt*/
+                unsigned ppb=cd_values[1];
+                sprintf(temp,"(%d,",ppb);
+                strcat(strfilter,temp);
+                if (options_mask & H5_SZIP_EC_OPTION_MASK)
+                    strcpy(temp,"EC) ");
+                else if (options_mask & H5_SZIP_NN_OPTION_MASK)
+                    strcpy(temp,"NN) ");
+            }
+            strcat(strfilter,temp);
+            
+#endif
+            
+            break;
+        case H5Z_FILTER_SHUFFLE:
+            strcat(strfilter,"SHUF ");
+            break;
+        case H5Z_FILTER_FLETCHER32:
+            strcat(strfilter,"FLET ");
+            break;
+            
+        } /* switch */
+    }/*i*/
+    
+    if (strcmp(strfilter,"\0")==0)
+        printf(FORMAT_OBJ,"dset",objname );
+    else
+    {
+        char str[255], temp[20];
+        strcpy(str,"dset     ");
+        strcat(str,strfilter);
+        sprintf(temp,"  (%.1f%%)",per);
+        strcat(str,temp);
+        printf(FORMAT_OBJ,str,objname);
+    }
 }
 
-
-
-

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_filters.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_filters.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_filters.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,13 +9,12 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include "hdf5.h"
-#include "h5test.h"
 #include "h5repack.h"
+#include "h5test.h"
 
 
 /*-------------------------------------------------------------------------
@@ -28,29 +28,29 @@
 static
 int aux_find_obj(const char* name,          /* object name from traverse list */
                  pack_opt_t *options,       /* repack options */
-																	pack_info_t *obj /*OUT*/)  /* info about object to filter */
+                 pack_info_t *obj /*OUT*/)  /* info about object to filter */
 {
  char *pdest;
  int  result;
-	int  i;
+ unsigned int  i;
 
  for ( i=0; i<options->op_tbl->nelems; i++)
  {
-  if (strcmp(options->op_tbl->objs[i].path,name)==0)
-		{
-			*obj =  options->op_tbl->objs[i];
-			return i;
-		}
-
-		pdest  = strstr(name,options->op_tbl->objs[i].path);
-		result = (int)(pdest - name);
-
-		/* found at position 1, meaning without '/' */
-		if( pdest != NULL && result==1 )
-		{
-			*obj =  options->op_tbl->objs[i];
-			return i;
-		}
+     if (strcmp(options->op_tbl->objs[i].path,name)==0)
+     {
+         *obj =  options->op_tbl->objs[i];
+         return i;
+     }
+     
+     pdest  = strstr(name,options->op_tbl->objs[i].path);
+     result = (int)(pdest - name);
+     
+     /* found at position 1, meaning without '/' */
+     if( pdest != NULL && result==1 )
+     {
+         *obj =  options->op_tbl->objs[i];
+         return i;
+     }
  }/*i*/
 
  return -1;
@@ -72,110 +72,106 @@
                    pack_opt_t *options,         /* repack options */
                    pack_info_t *obj /*OUT*/)    /* info about object to filter */
 {
-
- int  idx, i;
-	pack_info_t tmp;
-
-	init_packobject(&tmp);
-
-	idx = aux_find_obj(name,options,&tmp);
-
-	/* name was on input */
-	if (idx>=0)
-	{
-
-		/* applying to all objects */
-  if (options->all_layout)
-		{
-   /* assign the global layout info to the OBJ info */
-   tmp.layout=options->layout_g;
-			switch (options->layout_g)
-			{
-			case H5D_CHUNKED:
-				tmp.chunk.rank=options->chunk_g.rank;
-				for ( i=0; i<tmp.chunk.rank; i++)
-					tmp.chunk.chunk_lengths[i]=options->chunk_g.chunk_lengths[i];
-				break;
-			default:
-				break;
-			}/*switch*/
-		}
-		else
-		{
-			tmp.layout = options->op_tbl->objs[idx].layout;
-			switch (tmp.layout)
-			{
-			case H5D_CHUNKED:
-				tmp.chunk.rank = options->op_tbl->objs[idx].chunk.rank;
-				for ( i=0; i<tmp.chunk.rank; i++)
-					tmp.chunk.chunk_lengths[i]=options->op_tbl->objs[idx].chunk.chunk_lengths[i];
-				break;
-			default:
-				break;
-			}/*switch*/
-
-		}
-
-		/* applying to all objects */
-		if (options->all_filter)
-		{
-			/* assign the global filter */
-			tmp.nfilters=1;
-			tmp.filter[0]=options->filter_g;
-		} /* if all */
-		else
-		{
-   tmp.nfilters=options->op_tbl->objs[idx].nfilters;
-			for ( i=0; i<tmp.nfilters; i++)
-			{
-    tmp.filter[i] = options->op_tbl->objs[idx].filter[i];
-			}
-		}
-
-
-	} /* if idx */
-
-
- /* no input name */
-
-	else
-	{
-
-		if (options->all_filter)
-		{
-   /* assign the global filter */
-			tmp.nfilters=1;
-			tmp.filter[0]=options->filter_g;
-		}
-
-
-		if (options->all_layout)
-		{
-			/* assign the global layout info to the OBJ info */
-			tmp.layout=options->layout_g;
-			switch (options->layout_g)
-			{
-			case H5D_CHUNKED:
-				tmp.chunk.rank=options->chunk_g.rank;
-				for ( i=0; i<tmp.chunk.rank; i++)
-					tmp.chunk.chunk_lengths[i]=options->chunk_g.chunk_lengths[i];
-				break;
-			default:
-				break;
-			}/*switch*/
-
-		}
-
-
-	}
-
- *obj = tmp;
- return 1;
-
+    
+    int  idx, i;
+    pack_info_t tmp;
+    
+    init_packobject(&tmp);
+    
+    idx = aux_find_obj(name,options,&tmp);
+    
+    /* name was on input */
+    if (idx>=0)
+    {
+        
+        
+        /* applying to all objects */
+        if (options->all_layout)
+        {
+            /* assign the global layout info to the OBJ info */
+            tmp.layout=options->layout_g;
+            switch (options->layout_g)
+            {
+            case H5D_CHUNKED:
+                tmp.chunk.rank=options->chunk_g.rank;
+                for ( i=0; i<tmp.chunk.rank; i++)
+                    tmp.chunk.chunk_lengths[i]=options->chunk_g.chunk_lengths[i];
+                break;
+            default:
+                break;
+            }/*switch*/
+        }
+        else
+        {
+            tmp.layout = options->op_tbl->objs[idx].layout;
+            switch (tmp.layout)
+            {
+            case H5D_CHUNKED:
+                tmp.chunk.rank = options->op_tbl->objs[idx].chunk.rank;
+                for ( i=0; i<tmp.chunk.rank; i++)
+                    tmp.chunk.chunk_lengths[i]=options->op_tbl->objs[idx].chunk.chunk_lengths[i];
+                break;
+            default:
+                break;
+            }/*switch*/
+            
+        }
+        
+        /* applying to all objects */
+        if (options->all_filter)
+        {
+            /* assign the global filter */
+            tmp.nfilters=1;
+            tmp.filter[0]=options->filter_g;
+        } /* if all */
+        else
+        {
+            tmp.nfilters=options->op_tbl->objs[idx].nfilters;
+            for ( i=0; i<tmp.nfilters; i++)
+            {
+                tmp.filter[i] = options->op_tbl->objs[idx].filter[i];
+            }
+        }
+        
+        
+    } /* if idx */
+    
+    
+    /* no input name */
+    
+    else
+    {
+        
+        if (options->all_filter)
+        {
+            /* assign the global filter */
+            tmp.nfilters=1;
+            tmp.filter[0]=options->filter_g;
+        }
+        if (options->all_layout)
+        {
+            /* assign the global layout info to the OBJ info */
+            tmp.layout=options->layout_g;
+            switch (options->layout_g)
+            {
+            case H5D_CHUNKED:
+                tmp.chunk.rank=options->chunk_g.rank;
+                for ( i=0; i<tmp.chunk.rank; i++)
+                    tmp.chunk.chunk_lengths[i]=options->chunk_g.chunk_lengths[i];
+                break;
+            default:
+                break;
+            }/*switch*/
+        }
+    }
+    
+    *obj = tmp;
+    return 1;
+    
 }
+                   
 
 
-
 /*-------------------------------------------------------------------------
  * Function: apply_filters
  *
@@ -194,212 +190,193 @@
 int apply_filters(const char* name,    /* object name from traverse list */
                   int rank,            /* rank of dataset */
                   hsize_t *dims,       /* dimensions of dataset */
-                  hid_t dcpl_id,       /* dataset creation property list */
-                  hid_t type_id,       /* dataset datatype */
-                  pack_opt_t *options) /* repack options */
+                  hid_t dcpl_id,       /* (IN,OUT) dataset creation property list */
+                  pack_opt_t *options, /* repack options */
+                  int *has_filter)     /* (OUT) object NAME has a filter */
 {
-	int          nfilters;       /* number of filters in DCPL */
- unsigned     aggression;     /* the deflate level */
- hsize_t      nelmts;         /* number of elements in dataset */
- size_t       size;           /* size of datatype in bytes */
- hsize_t      chsize[64];     /* chunk size in elements */
- H5D_layout_t layout;
- int          i;
-	pack_info_t  obj;
+    int          nfilters;       /* number of filters in DCPL */
+    hsize_t      chsize[64];     /* chunk size in elements */
+    H5D_layout_t layout;
+    int          i;
+    pack_info_t  obj;
 
- if (rank==0)
-  goto out;
+    *has_filter = 0;
+    
+    if (rank==0) /* scalar dataset, do not apply */
+        return 0;
+    
+   /*-------------------------------------------------------------------------
+    * initialize the assigment object
+    *-------------------------------------------------------------------------
+    */
+    init_packobject(&obj);
+    
+   /*-------------------------------------------------------------------------
+    * find options
+    *-------------------------------------------------------------------------
+    */
+    if (aux_assign_obj(name,options,&obj)==0)
+        return 0;
+    
+    /* get information about input filters */
+    if ((nfilters = H5Pget_nfilters(dcpl_id))<0)
+        return -1;
+    
+   /*-------------------------------------------------------------------------
+    * check if we have filters in the pipeline
+    * we want to replace them with the input filters
+    * only remove if we are inserting new ones
+    *-------------------------------------------------------------------------
+    */
+    if (nfilters && obj.nfilters ) 
+    {
+        *has_filter = 1;
+        if (H5Premove_filter(dcpl_id,H5Z_FILTER_ALL)<0)
+            return -1;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * check if there is an existent chunk
+    * read it only if there is not a requested layout
+    *-------------------------------------------------------------------------
+    */
+    if (obj.layout == -1 )
+    {
+        if ((layout = H5Pget_layout(dcpl_id))<0)
+            return -1;
+        
+        if (layout==H5D_CHUNKED)
+        {
+            if ((rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize/*out*/))<0)
+                return -1;
+            obj.layout=H5D_CHUNKED;
+            obj.chunk.rank=rank;
+            for ( i=0; i<rank; i++)
+                obj.chunk.chunk_lengths[i] = chsize[i];
+        }
+    }
+    
+    /*-------------------------------------------------------------------------
+    * the type of filter and additional parameter
+    * type can be one of the filters
+    * H5Z_FILTER_NONE       0,  uncompress if compressed
+    * H5Z_FILTER_DEFLATE      1 , deflation like gzip
+    * H5Z_FILTER_SHUFFLE    2 , shuffle the data
+    * H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC
+    * H5Z_FILTER_SZIP       4 , szip compression
+    *-------------------------------------------------------------------------
+    */
+    
+    if (obj.nfilters)
+    {
+        
+    /*-------------------------------------------------------------------------
+     * filters require CHUNK layout; if we do not have one define a default
+     *-------------------------------------------------------------------------
+     */
+        if (obj.layout==-1)
+        {
+            obj.chunk.rank=rank;
+            for (i=0; i<rank; i++)
+                obj.chunk.chunk_lengths[i] = dims[i];
+        }
+        
+        for ( i=0; i<obj.nfilters; i++)
+        {
+            switch (obj.filter[i].filtn)
+            {
+            default:
+                break;
+                
+           /*-------------------------------------------------------------------------
+            * H5Z_FILTER_DEFLATE       1 , deflation like gzip
+            *-------------------------------------------------------------------------
+            */
+            case H5Z_FILTER_DEFLATE:
+                {
+                    unsigned     aggression;     /* the deflate level */
+                    
+                    aggression = obj.filter[i].cd_values[0];
+                    /* set up for deflated data */
+                    if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
+                        return -1;
+                    if(H5Pset_deflate(dcpl_id,aggression)<0)
+                        return -1;
+                }
+                break;
+                
+           /*-------------------------------------------------------------------------
+            * H5Z_FILTER_SZIP       4 , szip compression
+            *-------------------------------------------------------------------------
+            */
+            case H5Z_FILTER_SZIP:
+                {
+                    unsigned  options_mask;
+                    unsigned  pixels_per_block;
+                    
+                    options_mask     = obj.filter[i].cd_values[0];
+                    pixels_per_block = obj.filter[i].cd_values[1];
+                    
+                    /* set up for szip data */
+                    if(H5Pset_chunk(dcpl_id,obj.chunk.rank,obj.chunk.chunk_lengths)<0)
+                        return -1;
+                    if (H5Pset_szip(dcpl_id,options_mask,pixels_per_block)<0)
+                        return -1;
+                    
+                }
+                break;
+                
+           /*-------------------------------------------------------------------------
+            * H5Z_FILTER_SHUFFLE    2 , shuffle the data
+            *-------------------------------------------------------------------------
+            */
+            case H5Z_FILTER_SHUFFLE:
+                if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
+                    return -1;
+                if (H5Pset_shuffle(dcpl_id)<0)
+                    return -1;
+                break;
+                
+           /*-------------------------------------------------------------------------
+            * H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC
+            *-------------------------------------------------------------------------
+            */
+            case H5Z_FILTER_FLETCHER32:
+                if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
+                    return -1;
+                if (H5Pset_fletcher32(dcpl_id)<0)
+                    return -1;
+                break;
+           
+            } /* switch */
+        }/*i*/
+        
+    }
+    /*obj.nfilters*/
+    
+   /*-------------------------------------------------------------------------
+    * layout
+    *-------------------------------------------------------------------------
+    */
+    
+    if (obj.layout>=0)
+    {
+        /* a layout was defined */
+        if (H5Pset_layout(dcpl_id, obj.layout)<0)
+            return -1;
+        
+        if (H5D_CHUNKED==obj.layout) { /* set up chunk */
+            if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
+                return -1;
+        }
+        else if (H5D_COMPACT==obj.layout) {
+            if (H5Pset_alloc_time(dcpl_id, H5D_ALLOC_TIME_EARLY)<0)
+                return -1;
+        }
+        
+    }
 
-		/*-------------------------------------------------------------------------
-		* initialize the assigment object
-		*-------------------------------------------------------------------------
- */
-	init_packobject(&obj);
-
-
-	/*-------------------------------------------------------------------------
- * find options
- *-------------------------------------------------------------------------
- */
- if (aux_assign_obj(name,options,&obj)==0)
-  return 0;
-
-
- /* check for datasets too small */
-	if ((size=H5Tget_size(type_id))==0)
-		return 0;
-	nelmts=1;
-	for (i=0; i<rank; i++)
-		nelmts*=dims[i];
-	if (nelmts*size < options->threshold )
-	{
-		if (options->verbose)
-			printf("Warning: Filter not applied to <%s>. Dataset smaller than <%d> bytes\n",
-			name,(int)options->threshold);
-		return 0;
-	}
-
- /* get information about input filters */
- if ((nfilters = H5Pget_nfilters(dcpl_id))<0)
-  return -1;
-		/*-------------------------------------------------------------------------
-		* check if we have filters in the pipeline
-		* we want to replace them with the input filters
-		* only remove if we are inserting new ones
-		*-------------------------------------------------------------------------
- */
- if (nfilters && obj.nfilters ) {
-  if (H5Premove_filter(dcpl_id,H5Z_FILTER_ALL)<0)
-   return -1;
- }
-
-
- /*-------------------------------------------------------------------------
-		* check if there is an existent chunk
-  * read it only if there is not a requested layout
-		*-------------------------------------------------------------------------
-  */
- if (obj.layout == -1 )
- {
-  if ((layout = H5Pget_layout(dcpl_id))<0)
-   return -1;
-
-  if (layout==H5D_CHUNKED)
-  {
-   if ((rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize/*out*/))<0)
-    return -1;
-   obj.layout=H5D_CHUNKED;
-   obj.chunk.rank=rank;
-   for ( i=0; i<rank; i++)
-    obj.chunk.chunk_lengths[i] = chsize[i];
-  }
- }
-
-
-	/*-------------------------------------------------------------------------
- * the type of filter and additional parameter
- * type can be one of the filters
- * H5Z_FILTER_NONE       0,  uncompress if compressed
- * H5Z_FILTER_DEFLATE	   1 , deflation like gzip
- * H5Z_FILTER_SHUFFLE    2 , shuffle the data
- * H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC
- * H5Z_FILTER_SZIP       4 , szip compression
- *-------------------------------------------------------------------------
- */
-
-	if (obj.nfilters)
-	{
-
-	/*-------------------------------------------------------------------------
- * filters require CHUNK layout; if we do not have one define a default
- *-------------------------------------------------------------------------
-		*/
-		if (obj.layout==-1)
-		{
-			obj.chunk.rank=rank;
-			for (i=0; i<rank; i++)
-				obj.chunk.chunk_lengths[i] = dims[i];
-		}
-
-		for ( i=0; i<obj.nfilters; i++)
-		{
-			switch (obj.filter[i].filtn)
-			{
-			default:
-				break;
-
-				/*-------------------------------------------------------------------------
-				* H5Z_FILTER_DEFLATE	   1 , deflation like gzip
-				*-------------------------------------------------------------------------
-				*/
-			case H5Z_FILTER_DEFLATE:
-				aggression=obj.filter[i].cd_values[0];
-				/* set up for deflated data */
-				if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
-					return -1;
-				if(H5Pset_deflate(dcpl_id,aggression)<0)
-					return -1;
-				break;
-
-				/*-------------------------------------------------------------------------
-				* H5Z_FILTER_SZIP       4 , szip compression
-				*-------------------------------------------------------------------------
-				*/
-			case H5Z_FILTER_SZIP:
-				{
-					unsigned  options_mask;
-					unsigned  pixels_per_block;
-
-					pixels_per_block=obj.filter[i].cd_values[0];
-					if (obj.filter[i].szip_coding==0)
-						options_mask=H5_SZIP_NN_OPTION_MASK;
-					else
-						options_mask=H5_SZIP_EC_OPTION_MASK;
-
-					/* set up for szip data */
-					if(H5Pset_chunk(dcpl_id,obj.chunk.rank,obj.chunk.chunk_lengths)<0)
-						return -1;
-					if (H5Pset_szip(dcpl_id,options_mask,pixels_per_block)<0)
-						return -1;
-
-				}
-				break;
-
-				/*-------------------------------------------------------------------------
-				* H5Z_FILTER_SHUFFLE    2 , shuffle the data
-				*-------------------------------------------------------------------------
-				*/
-			case H5Z_FILTER_SHUFFLE:
-				if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
-					return -1;
-				if (H5Pset_shuffle(dcpl_id)<0)
-					return -1;
-				break;
-
-				/*-------------------------------------------------------------------------
-				* H5Z_FILTER_FLETCHER32 3 , fletcher32 checksum of EDC
-				*-------------------------------------------------------------------------
-				*/
-			case H5Z_FILTER_FLETCHER32:
-				if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
-					return -1;
-				if (H5Pset_fletcher32(dcpl_id)<0)
-					return -1;
-				break;
-			} /* switch */
-		}/*i*/
-
-	}
-	/*obj.nfilters*/
-
-	/*-------------------------------------------------------------------------
- * layout
- *-------------------------------------------------------------------------
- */
-
-	if (obj.layout>=0)
-	{
-		/* a layout was defined */
-		if (H5Pset_layout(dcpl_id, obj.layout)<0)
-			return -1;
-
-		if (H5D_CHUNKED==obj.layout) { /* set up chunk */
-			if(H5Pset_chunk(dcpl_id, obj.chunk.rank, obj.chunk.chunk_lengths)<0)
-				return -1;
-		}
-		else if (H5D_COMPACT==obj.layout) {
-			if (H5Pset_alloc_time(dcpl_id, H5D_ALLOC_TIME_EARLY)<0)
-				return -1;
-		}
-
-	}
-
  return 0;
-
-out:
- if (options->verbose)
-  printf("Warning: Filter could not be applied to <%s>\n",name);
- return 0;
 }
 
 
@@ -433,6 +410,7 @@
  for (i=0; i<nfilters; i++)
  {
   cd_nelmts = NELMTS(cd_values);
+
   filtn = H5Pget_filter(dcpl_id,
    (unsigned)i,
    &filt_flags,
@@ -441,6 +419,7 @@
    sizeof(f_name),
    f_name);
 
+
   f_name[sizeof(f_name)-1] = '\0';
   sprintf(s, "Filter-%d:", i);
   printf("    %-10s %s-%u %s {", s,
@@ -454,6 +433,8 @@
  }
 
  return 0;
+
+
 }
 
 

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_list.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_list.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_list.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,17 +9,19 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
-#include "H5private.h"
 #include "h5repack.h"
+#include "H5private.h"
+#include "h5tools.h"
+#include "h5tools_utils.h"
 
+extern char  *progname;
 
 /*-------------------------------------------------------------------------
  * Function: check_objects
@@ -37,133 +40,129 @@
 int check_objects(const char* fname,
                   pack_opt_t *options)
 {
- hid_t         fid;
- int           i;
- trav_table_t  *travt=NULL;
-
-/*-------------------------------------------------------------------------
- * open the file
- *-------------------------------------------------------------------------
- */
-
- /* disable out reporting */
- H5E_BEGIN_TRY {
-
- /* Open the files */
- if ((fid=H5Fopen(fname,H5F_ACC_RDONLY,H5P_DEFAULT))<0 ){
-  printf("h5repack: <%s>: %s\n", fname, H5FOPENERROR );
-  exit(1);
- }
- /* enable out reporting */
- } H5E_END_TRY;
-
-
-/*-------------------------------------------------------------------------
- * get the list of objects in the file
- *-------------------------------------------------------------------------
- */
-
- /* init table */
- trav_table_init(&travt);
-
- /* get the list of objects in the file */
- if (h5trav_gettable(fid,travt)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * compare with user supplied list
- *-------------------------------------------------------------------------
- */
-
- if (options->verbose)
- {
-  printf("Opening file <%s>. Searching for objects to modify...\n",fname);
- }
-
- for ( i = 0; i < options->op_tbl->nelems; i++)
- {
-  char* name=options->op_tbl->objs[i].path;
-  if (options->verbose)
-   printf(" <%s>",name);
-
-  /* the input object names are present in the file and are valid */
-  if (h5trav_getindext(name,travt)<0)
-  {
-   printf("%sError: Could not find <%s> in file <%s>. Exiting...\n",
-    (options->verbose?"\n":""),name,fname);
-   goto out;
-  }
-  if (options->verbose)
-   printf("...Found\n");
-
-
-  /* check for extra filter conditions */
-  switch (options->op_tbl->objs[i].filter->filtn)
-  {
-
-   /* chunk size must be smaller than pixels per block */
-  case H5Z_FILTER_SZIP:
-   {
-    int     j;
-    int     csize=1;
-    int     ppb=options->op_tbl->objs[i].filter->cd_values[0];
-    hsize_t dims[H5S_MAX_RANK];
-    int     rank;
-    hid_t   did;
-    hid_t   sid;
-
-    if (options->op_tbl->objs[i].chunk.rank>0)
+    hid_t         fid;
+    unsigned int  i;
+    trav_table_t  *travt=NULL;
+    
+    /* nothing to do */
+    if (options->op_tbl->nelems==0)
+        return 0;
+    
+    /*-------------------------------------------------------------------------
+     * open the file
+     *-------------------------------------------------------------------------
+     */
+    if ((fid=h5tools_fopen(fname, NULL, NULL, 0))<0)
     {
-     rank=options->op_tbl->objs[i].chunk.rank;
-     for (j=0; j<rank; j++)
-      csize*=(int)options->op_tbl->objs[i].chunk.chunk_lengths[j];
+        printf("<%s>: %s\n", fname, H5FOPENERROR );
+        return -1;
     }
-    else
+    
+    /*-------------------------------------------------------------------------
+     * get the list of objects in the file
+     *-------------------------------------------------------------------------
+     */
+    
+    /* init table */
+    trav_table_init(&travt);
+    
+    /* get the list of objects in the file */
+    if (h5trav_gettable(fid,travt)<0)
+        goto out;
+    
+    /*-------------------------------------------------------------------------
+     * compare with user supplied list
+     *-------------------------------------------------------------------------
+     */
+    
+    if (options->verbose)
     {
-     if ((did=H5Dopen(fid,travt->objs[i].name))<0)
-      goto out;
-     if ((sid=H5Dget_space(did))<0)
-      goto out;
-     if ( (rank=H5Sget_simple_extent_ndims(sid))<0)
-      goto out;
-     HDmemset(dims, 0, sizeof dims);
-     if ( H5Sget_simple_extent_dims(sid,dims,NULL)<0)
-      goto out;
-     for (j=0; j<rank; j++)
-      csize*=(int)dims[j];
-     if (H5Sclose(sid)<0)
-      goto out;
-     if (H5Dclose(did)<0)
-      goto out;
+        printf("Opening file <%s>. Searching for objects to modify...\n",fname);
     }
-
-    if (csize < ppb )
+    
+    for ( i = 0; i < options->op_tbl->nelems; i++)
     {
-     printf("Warning: SZIP settins, chunk size is smaller than pixels per block...Exiting\n");
-     goto out;
-    }
-
-
-   }
-   break;
-
-  }
-
-
-
- } /* i */
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
- H5Fclose(fid);
- trav_table_free(travt);
- return 0;
-
+        char* name=options->op_tbl->objs[i].path;
+        if (options->verbose)
+            printf(" <%s>",name);
+        
+        /* the input object names are present in the file and are valid */
+        if (h5trav_getindext(name,travt)<0)
+        {
+            error_msg(progname, "%s Could not find <%s> in file <%s>. Exiting...\n",
+                (options->verbose?"\n":""),name,fname);
+            goto out;
+        }
+        if (options->verbose)
+            printf("...Found\n");
+        
+        
+        /* check for extra filter conditions */
+        switch (options->op_tbl->objs[i].filter->filtn)
+        {
+            
+            /* chunk size must be smaller than pixels per block */
+        case H5Z_FILTER_SZIP:
+            {
+                int     j;
+                int     csize=1;
+                int     ppb=options->op_tbl->objs[i].filter->cd_values[0];
+                hsize_t dims[H5S_MAX_RANK];
+                int     rank;
+                hid_t   did;
+                hid_t   sid;
+                
+                if (options->op_tbl->objs[i].chunk.rank>0)
+                {
+                    rank=options->op_tbl->objs[i].chunk.rank;
+                    for (j=0; j<rank; j++)
+                        csize*=(int)options->op_tbl->objs[i].chunk.chunk_lengths[j];
+                }
+                else
+                {
+                    if ((did=H5Dopen(fid,travt->objs[i].name))<0)
+                        goto out;
+                    if ((sid=H5Dget_space(did))<0)
+                        goto out;
+                    if ( (rank=H5Sget_simple_extent_ndims(sid))<0)
+                        goto out;
+                    HDmemset(dims, 0, sizeof dims);
+                    if ( H5Sget_simple_extent_dims(sid,dims,NULL)<0)
+                        goto out;
+                    for (j=0; j<rank; j++)
+                        csize*=(int)dims[j];
+                    if (H5Sclose(sid)<0)
+                        goto out;
+                    if (H5Dclose(did)<0)
+                        goto out;
+                }
+                
+                if (csize < ppb )
+                {
+                    printf(" <warning: SZIP settins, chunk size is smaller than pixels per block>\n");
+                    goto out;
+                }
+                
+                
+            }
+            break;
+            
+        }
+        
+    } /* i */
+      
+   /*-------------------------------------------------------------------------
+    * close
+    *-------------------------------------------------------------------------
+    */
+    H5Fclose(fid);
+    trav_table_free(travt);
+    return 0;
+    
 out:
- H5Fclose(fid);
- trav_table_free(travt);
- return -1;
+    H5Fclose(fid);
+    trav_table_free(travt);
+    return -1;
 }
 
 
@@ -185,30 +184,30 @@
                    int nobjects,
                    trav_info_t *info )
 {
- int i;
+    int i;
+    
+    printf("File <%s>: # of entries = %d\n", filename, nobjects );
+    for ( i = 0; i < nobjects; i++)
+    {
+        switch ( info[i].type )
+        {
+        case H5G_GROUP:
+            printf(" %-10s %s\n", "group", info[i].name  );
+            break;
+        case H5G_DATASET:
+            printf(" %-10s %s\n", "dataset", info[i].name );
+            break;
+        case H5G_TYPE:
+            printf(" %-10s %s\n", "datatype", info[i].name );
+            break;
+        case H5G_LINK:
+            printf(" %-10s %s\n", "link", info[i].name );
+            break;
+        default:
+            printf(" %-10s %s\n", "User defined object", info[i].name );
+            break;
+        }
+    }
 
- printf("File <%s>: # of entries = %d\n", filename, nobjects );
- for ( i = 0; i < nobjects; i++)
- {
-  switch ( info[i].type )
-  {
-  case H5G_GROUP:
-   printf(" %-10s %s\n", "group", info[i].name  );
-   break;
-  case H5G_DATASET:
-   printf(" %-10s %s\n", "dataset", info[i].name );
-   break;
-  case H5G_TYPE:
-   printf(" %-10s %s\n", "datatype", info[i].name );
-   break;
-  case H5G_LINK:
-   printf(" %-10s %s\n", "link", info[i].name );
-   break;
-  default:
-   printf(" %-10s %s\n", "User defined object", info[i].name );
-   break;
-  }
- }
-
 }
 

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_main.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_main.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_main.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,14 +9,23 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdlib.h>
+#include <string.h>
+#include "h5tools_utils.h"
+#include "h5trav.h"
 #include "h5repack.h"
 
+/* module-scoped variables */
+const char *progname = "h5repack";
+int d_status = EXIT_SUCCESS;
+
+/* local prototypes */
 static void usage(void);
+static void read_info(const char *filename,pack_opt_t *options);
 
 /*-------------------------------------------------------------------------
  * Function: main
@@ -30,8 +40,10 @@
  *
  * Comments:
  *
- * Modifications: July 2004
- *  Introduced the extra EC or NN option for SZIP
+ * Modifications: 
+ *  July 2004: Introduced the extra EC or NN option for SZIP
+ *  October 2006: Added a new switch -n, that allows to write the dataset 
+ *                using a native type. The default to write is the file type.
  *
  *-------------------------------------------------------------------------
  */
@@ -39,85 +51,226 @@
 
 int main(int argc, char **argv)
 {
- char          *infile  = NULL;
- char          *outfile = NULL;
- pack_opt_t    options;            /*the global options */
- int           i, ret;
+    char          *infile  = NULL;
+    char          *outfile = NULL;
+    pack_opt_t    options;            /*the global options */
+    int           i, ret;
+    
+    /* initialize options  */
+    h5repack_init (&options,0);
+    
+    if (argc<2)
+    {
+        usage();
+        exit(1);
+    }
+    
+    for ( i = 1; i < argc; i++)
+    {
+        if (strcmp(argv[i], "-h") == 0) {
+            usage();
+            exit(0);
+        }
+        if (strcmp(argv[i], "-i") == 0) {
+            infile = argv[++i];
+        }
+        else if (strcmp(argv[i], "-o") == 0) {
+            outfile = argv[++i];
+        }
+        else if (strcmp(argv[i], "-v") == 0) {
+            options.verbose = 1;
+        }
+        else if (strcmp(argv[i], "-f") == 0) {
+            
+            /* add the -f filter option */
+            if (h5repack_addfilter(argv[i+1],&options)<0)
+            {
+                error_msg(progname, "in parsing filter\n");
+                exit(1);
+            }
+            
+            /* jump to next */
+            ++i;
+        }
+        else if (strcmp(argv[i], "-l") == 0) {
+            
+            /* parse the -l layout option */
+            if (h5repack_addlayout(argv[i+1],&options)<0)
+            {
+                error_msg(progname, "in parsing layout\n");
+                exit(1);
+            }
+            
+            /* jump to next */
+            ++i;
+        }
+        
+        else if (strcmp(argv[i], "-m") == 0) {
+            options.threshold = parse_number(argv[i+1]);
+            if ((int)options.threshold==-1) {
+                error_msg(progname, "invalid treshold size <%s>\n",argv[i+1]);
+                exit(1);
+            }
+            ++i;
+        }
+        
+        else if (strcmp(argv[i], "-e") == 0) {
+            read_info(argv[++i],&options);
+        }
+        else if (strcmp(argv[i], "-n") == 0) {
+            options.use_native = 1;
+        }
+        
+        else if (argv[i][0] == '-') {
+            error_msg(progname, " - is not a valid argument\n");
+            usage();
+            exit(1);
+        }
+    }
+    
+    if (infile == NULL || outfile == NULL)
+    {
+        error_msg(progname, "file names missing\n");
+        usage();
+        exit(1);
+    }
+    
+    /* pack it */
+    ret=h5repack(infile,outfile,&options);
+    
+    /* free tables */
+    h5repack_end(&options);
+    
+    if (ret==-1)
+        return 1;
+    else
+        return 0;
+}
 
- /* initialize options  */
- h5repack_init (&options,0);
 
- for ( i = 1; i < argc; i++)
- {
-  if (strcmp(argv[i], "-h") == 0) {
-    usage();
-    exit(0);
-  }
-  if (strcmp(argv[i], "-i") == 0) {
-   infile = argv[++i];
-  }
-  else if (strcmp(argv[i], "-o") == 0) {
-   outfile = argv[++i];
-  }
-  else if (strcmp(argv[i], "-v") == 0) {
-   options.verbose = 1;
-  }
-  else if (strcmp(argv[i], "-f") == 0) {
+/*-------------------------------------------------------------------------
+ * Function: read_info
+ *
+ * Purpose: read comp and chunk options from file
+ *
+ * Return: void, exit on error
+ *
+ * Programmer: pvn at ncsa.uiuc.edu
+ *
+ * Date: September, 22, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
 
-   /* add the -f filter option */
-   if (h5repack_addfilter(argv[i+1],&options)<0)
-    exit(1);
+static 
+void read_info(const char *filename,
+               pack_opt_t *options)
+{
+    
+    char stype[10];
+    char comp_info[1024];
+    FILE *fp;
+    char c;
+    int  i, rc=1;
+    char  *srcdir = getenv("srcdir"); /* the source directory */
+    char  data_file[512]="";          /* buffer to hold name of existing file */
+    
+    /* compose the name of the file to open, using the srcdir, if appropriate */
+    if (srcdir){
+        strcpy(data_file,srcdir);
+        strcat(data_file,"/");
+    }
+    strcat(data_file,filename);
+    
+    
+    if ((fp = fopen(data_file, "r")) == (FILE *)NULL) {
+        error_msg(progname, "cannot open options file %s\n", filename);
+        exit(1);
+    }
+    
+    /* cycle until end of file reached */
+    while( 1 )
+    {
+        rc=fscanf(fp, "%s", stype);
+        if (rc==-1)
+            break;
+        
+       /*-------------------------------------------------------------------------
+        * filter
+        *-------------------------------------------------------------------------
+        */
+        if (strcmp(stype,"-f") == 0) {
+            
+            /* find begining of info */
+            i=0; c='0';
+            while( c!=' ' )
+            {
+                fscanf(fp, "%c", &c);
+                if (feof(fp)) break;
+            }
+            c='0';
+            /* go until end */
+            while( c!=' ' )
+            {
+                fscanf(fp, "%c", &c);
+                comp_info[i]=c;
+                i++;
+                if (feof(fp)) break;
+                if (c==10 /*eol*/) break;
+            }
+            comp_info[i-1]='\0'; /*cut the last " */
+            
+            if (h5repack_addfilter(comp_info,options)==-1){
+                error_msg(progname, "could not add compression option\n");
+                exit(1);
+            }
+        }
+       /*-------------------------------------------------------------------------
+        * layout
+        *-------------------------------------------------------------------------
+        */
+        else if (strcmp(stype,"-l") == 0) {
+            
+            /* find begining of info */
+            i=0; c='0';
+            while( c!=' ' )
+            {
+                fscanf(fp, "%c", &c);
+                if (feof(fp)) break;
+            }
+            c='0';
+            /* go until end */
+            while( c!=' ' )
+            {
+                fscanf(fp, "%c", &c);
+                comp_info[i]=c;
+                i++;
+                if (feof(fp)) break;
+                if (c==10 /*eol*/) break;
+            }
+            comp_info[i-1]='\0'; /*cut the last " */
+            
+            if (h5repack_addlayout(comp_info,options)==-1){
+                error_msg(progname, "could not add chunck option\n");
+                exit(1);
+            }
+        }
+       /*-------------------------------------------------------------------------
+        * not valid
+        *-------------------------------------------------------------------------
+        */
+        else {
+            error_msg(progname, "bad file format for %s", filename);
+            exit(1);
+        }
+    }
+    
+    fclose(fp);
+    return;
+}
 
-   /* jump to next */
-   ++i;
-  }
-  else if (strcmp(argv[i], "-l") == 0) {
 
-   /* parse the -l layout option */
-   if (h5repack_addlayout(argv[i+1],&options)<0)
-    exit(1);
 
-   /* jump to next */
-   ++i;
-  }
-
-  else if (strcmp(argv[i], "-m") == 0) {
-   options.threshold = parse_number(argv[i+1]);
-   if ((int)options.threshold==-1) {
-    printf("Error: Invalid treshold size <%s>\n",argv[i+1]);
-    exit(1);
-   }
-   ++i;
-  }
-
-  else if (strcmp(argv[i], "-e") == 0) {
-   read_info(argv[++i],&options);
-  }
-
-  else if (argv[i][0] == '-') {
-   usage();
-   exit(1);
-  }
- }
-
- if (infile == NULL || outfile == NULL)
- {
-  usage();
-  exit(1);
- }
-
- /* pack it */
- ret=h5repack(infile,outfile,&options);
-
- /* free tables */
- h5repack_end(&options);
-
- if (ret==-1)
-  return 1;
- else
-  return 0;
-}
-
 /*-------------------------------------------------------------------------
  * Function: usage
  *
@@ -131,59 +284,70 @@
 static
 void usage(void)
 {
- printf("h5repack -i input -o output [-h] [-v] [-f 'filter'] [-l 'layout'][-m number][-e file] \n");
- printf("\n");
- printf("-i input          Input HDF5 File\n");
- printf("-o output         Output HDF5 File\n");
- printf("[-h]              Print usage message\n");
- printf("[-v]              Verbose mode. Print output (list of objects, filters, warnings)\n");
- printf("[-f 'filter']     Filter type: 'filter' is a string with the format\n");
- printf("     <list of objects> : <name of filter> = <filter parameters>\n");
- printf("     <list of objects> is a comma separated list of object names\n");
- printf("       meaning apply compression only to those objects.\n");
- printf("       if no object names are specified, the filter is applied to all objects\n");
- printf("     <name of filter> can be:\n");
- printf("       GZIP, to apply the HDF5 GZIP filter (GZIP compression)\n");
- printf("       SZIP, to apply the HDF5 SZIP filter (SZIP compression)\n");
- printf("       SHUF, to apply the HDF5 shuffle filter\n");
- printf("       FLET, to apply the HDF5 checksum filter\n");
- printf("       NONE, to remove the filter\n");
- printf("     <filter parameters> is optional compression info\n");
- printf("       SHUF (no parameter)\n");
- printf("       FLET (no parameter)\n");
- printf("       GZIP=<deflation level> from 1-9\n");
- printf("       SZIP=<pixels per block,coding> (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')\n");
- printf("[-l 'layout']     Layout type. 'layout' is a string with the format\n");
- printf("     <list of objects> : <layout type>\n");
- printf("     <list of objects> is a comma separated list of object names,\n");
- printf("       meaning that layout information is supplied for those objects.\n");
- printf("       if no object names are specified, the layout is applied to all objects\n");
- printf("     <layout type> can be:\n");
- printf("       CHUNK, to apply chunking layout\n");
- printf("       COMPA, to apply compact layout\n");
- printf("       CONTI, to apply continuous layout\n");
- printf("     <layout parameters> is present for the chunk case only\n");
- printf("       it is the chunk size of each dimension:\n");
- printf("       <dim_1 x dim_2 x ... dim_n>\n");
- printf("\n");
- printf("-e file           File with the -f and -l options (only filter and layout flags)\n");
- printf("-m number         Do not apply the filter to objects which size in bytes is smaller than number.\n");
- printf("                  If no size is specified a minimum of 1024 bytes is assumed.\n");
- printf("\n");
- printf("Examples of use:\n");
- printf("\n");
- printf("1) h5repack -i file1 -o file2 -f GZIP=1 -v\n");
- printf("\n");
- printf("   Applies GZIP compression to all objects in file1 and saves the output in file2\n");
- printf("\n");
- printf("2) h5repack -i file1 -o file2 -f dset1:SZIP=8,NN -v\n");
- printf("\n");
- printf("   Applies SZIP compression only to object 'dset1'\n");
- printf("\n");
- printf("3) h5repack -i file1 -o file2 -l dset1,dset2:CHUNK=20x10 -v\n");
- printf("\n");
- printf("   Applies chunked layout to objects 'dset1' and 'dset2'\n");
- printf("\n");
+    printf("usage: h5repack -i input -o output [-h] [-v] [-f FILTER] [-l LAYOUT] [-n] [-m size] [-e file]\n");
+    printf("\n");
+    printf("-i input       Input HDF5 File\n");
+    printf("-o output      Output HDF5 File\n");
+    printf("[-h]           Print this message\n");
+    printf("[-v]           Verbose mode\n");
+    printf("[-n]           Use a native HDF5 type when repacking. Default is the file type\n");
+    printf("[-m size]      Do not apply the filter to objects smaller than size\n");
+    printf("[-e file]      Name of file with the -f and -l options\n");
+    printf("[-f FILTER]    Filter type\n");
+    printf("[-l LAYOUT]    Layout type\n");
+    printf("\n");
+    printf("FILTER is a string with the format:\n");
+    printf("\n");
+    printf("    <list of objects>:<name of filter>=<filter parameters>\n");
+    printf("\n");
+    printf("    <list of objects> is a comma separated list of object names, meaning apply\n");
+    printf("      compression only to those objects. If no names are specified, the filter\n");
+    printf("      is applied to all objects\n");
+    printf("    <name of filter> can be:\n");
+    printf("      GZIP, to apply the HDF5 GZIP filter (GZIP compression)\n");
+    printf("      SZIP, to apply the HDF5 SZIP filter (SZIP compression)\n");
+    printf("      SHUF, to apply the HDF5 shuffle filter\n");
+    printf("      FLET, to apply the HDF5 checksum filter\n");
+    printf("      NONE, to remove all filters\n");
+    printf("    <filter parameters> is optional filter parameter information\n");
+    printf("      GZIP=<deflation level> from 1-9\n");
+    printf("      SZIP=<pixels per block,coding> pixels per block is a even number in\n");
+    printf("            2-32 and coding method is either EC or NN\n");
+    printf("      SHUF (no parameter)\n");
+    printf("      FLET (no parameter)\n");
+    printf("      NONE (no parameter)\n");
+    printf("\n");
+    printf("LAYOUT is a string with the format:\n");
+    printf("\n");
+    printf("    <list of objects>:<layout type>=<layout parameters>\n");
+    printf("\n");
+    printf("    <list of objects> is a comma separated list of object names, meaning that\n");
+    printf("      layout information is supplied for those objects. If no names are\n");
+    printf("      specified, the layout type is applied to all objects\n");
+    printf("    <layout type> can be:\n");
+    printf("      CHUNK, to apply chunking layout\n");
+    printf("      COMPA, to apply compact layout\n");
+    printf("      CONTI, to apply continuous layout\n");
+    printf("    <layout parameters> is optional layout information\n");
+    printf("      CHUNK=DIM[xDIM...xDIM], the chunk size of each dimension\n");
+    printf("      COMPA (no parameter)\n");
+    printf("      CONTI (no parameter)\n");
+    printf("\n");
+    printf("Examples of use:\n");
+    printf("\n");
+    printf("1) h5repack -v -i file1 -o file2 -f GZIP=1\n");
+    printf("\n");
+    printf("   GZIP compression with level 1 to all objects\n");
+    printf("\n");
+    printf("2) h5repack -v -i file1 -o file2 -f A:SZIP=8,NN\n");
+    printf("\n");
+    printf("   SZIP compression with 8 pixels per block and NN coding method to object A\n");
+    printf("\n");
+    printf("3) h5repack -v -i file1 -o file2 -l A,B:CHUNK=20x10 -f C,D,F:NONE\n");
+    printf("\n");
+    printf("   Chunked layout, with a layout size of 20x10, to objects A and B\n");
+    printf("   and remove filters to objects C, D, F\n");
+    printf("\n");
 }
 
 

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_opttable.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_opttable.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_opttable.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,17 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-
 #include <stdlib.h>
+#include <string.h>
 #include "h5repack.h"
+#include "h5tools_utils.h"
 
+extern char  *progname;
 
-
 /*-------------------------------------------------------------------------
  * Function: init_packobject
  *
@@ -36,7 +38,6 @@
  for ( j=0; j<H5_REPACK_MAX_NFILTERS; j++)
  {
   obj->filter[j].filtn        = -1;
-  obj->filter[j].szip_coding  = -1;
   for ( k=0; k<CDVALUES; k++)
    obj->filter[j].cd_values[k] = -1;
  }
@@ -44,8 +45,6 @@
  obj->refobj_id = -1;
  obj->layout = H5D_LAYOUT_ERROR;
  obj->nfilters = 0;
-
-
 }
 
 /*-------------------------------------------------------------------------
@@ -59,7 +58,7 @@
  */
 
 static void aux_tblinsert_filter(pack_opttbl_t *table,
-                                 int I,
+                                 unsigned int I,
                                  filter_info_t filt)
 {
  if (table->objs[ I ].nfilters<H5_REPACK_MAX_NFILTERS)
@@ -68,7 +67,7 @@
  }
  else
  {
-  printf("Cannot insert the filter in this object.\
+  error_msg(progname, "cannot insert the filter in this object.\
    Maximum capacity exceeded\n");
  }
 }
@@ -84,7 +83,7 @@
  */
 
 static void aux_tblinsert_layout(pack_opttbl_t *table,
-                                 int I,
+                                 unsigned int I,
                                  pack_info_t *pack)
 {
  int k;
@@ -122,12 +121,12 @@
 
 static int aux_inctable(pack_opttbl_t *table, int n_objs )
 {
- int i;
+ unsigned int i;
 
  table->size += n_objs;
  table->objs = (pack_info_t*)realloc(table->objs, table->size * sizeof(pack_info_t));
  if (table->objs==NULL) {
-  printf("Error: not enough memory for options table\n");
+  error_msg(progname, "not enough memory for options table\n");
   return -1;
  }
  for (i = table->nelems; i < table->size; i++)
@@ -149,10 +148,10 @@
 
 int options_table_init( pack_opttbl_t **tbl )
 {
- int i;
+ unsigned int i;
  pack_opttbl_t* table = (pack_opttbl_t*) malloc(sizeof(pack_opttbl_t));
  if (table==NULL) {
-  printf("Error: not enough memory for options table\n");
+  error_msg(progname, "not enough memory for options table\n");
   return -1;
  }
 
@@ -160,7 +159,7 @@
  table->nelems = 0;
  table->objs   = (pack_info_t*) malloc(table->size * sizeof(pack_info_t));
  if (table->objs==NULL) {
-  printf("Error: not enough memory for options table\n");
+  error_msg(progname, "not enough memory for options table\n");
   return -1;
  }
 
@@ -206,7 +205,8 @@
                         pack_info_t *pack,
                         pack_opttbl_t *table )
 {
- int i, j, I, added=0, found=0;
+ unsigned int i, I;
+ int          j, added=0, found=0;
 
  /* increase the size of the collection by N_OBJS if necessary */
  if (table->nelems+n_objs >= table->size)
@@ -230,7 +230,7 @@
      /* already chunk info inserted for this one; exit */
      if (table->objs[i].chunk.rank>0)
      {
-      printf("Input Error: chunk information already inserted for <%s>\n",obj_list[j].obj);
+      error_msg(progname, "chunk information already inserted for <%s>\n",obj_list[j].obj);
       exit(1);
      }
      /* insert the layout info */
@@ -304,7 +304,8 @@
                        pack_opttbl_t *table )
 {
 
- int i, j, I, added=0, found=0;
+ unsigned int i, I;
+ int          j, added=0, found=0;
 
  /* increase the size of the collection by N_OBJS if necessary */
  if (table->nelems+n_objs >= table->size)
@@ -387,7 +388,7 @@
 pack_info_t* options_get_object( const char *path,
                                  pack_opttbl_t *table )
 {
- int i;
+ unsigned int i;
 
  for ( i = 0; i < table->nelems; i++)
  {

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_parse.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_parse.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_parse.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdlib.h>
@@ -17,10 +18,9 @@
 #include <stdio.h>
 #include <ctype.h>
 #include "h5repack.h"
+#include "h5tools_utils.h"
 
-#if 0
-#define PARSE_DEBUG
-#endif
+extern char  *progname;
 
 /*-------------------------------------------------------------------------
  * Function: parse_filter
@@ -94,7 +94,7 @@
  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;
@@ -117,7 +117,7 @@
  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);
  }
 
@@ -133,11 +133,13 @@
    if ( c=='=') {      /*one more parameter */
     scomp[k]='\0';     /*cut space */
 
-     /*SZIP is a special case , it can be
-      SZIP=8,EC
-      SZIP=8,NN
-      */
-
+/*-------------------------------------------------------------------------
+ * H5Z_FILTER_SZIP
+ * szip has the format SZIP=<pixels per block,coding>
+ * pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN'
+ * example SZIP=8,NN
+ *-------------------------------------------------------------------------
+ */
     if (strcmp(scomp,"SZIP")==0)
     {
      l=-1; /* mask index check */
@@ -152,7 +154,7 @@
       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)
@@ -167,12 +169,12 @@
         i=len-1; /* end */
         (*n_objs)--; /* we counted an extra ',' */
         if (strcmp(smask,"NN")==0)
-         filt->szip_coding=0;
+         filt->cd_values[j++]=H5_SZIP_NN_OPTION_MASK;
         else if (strcmp(smask,"EC")==0)
-         filt->szip_coding=1;
+         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);
         }
 
@@ -182,6 +184,13 @@
      }  /* u */
     } /*if */
 
+
+
+/*-------------------------------------------------------------------------
+ * all other filters
+ *-------------------------------------------------------------------------
+ */
+
     else
     {
      /* here we could have 1 or 2 digits  */
@@ -190,7 +199,7 @@
       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;
@@ -225,7 +234,7 @@
     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);
     }
    }
@@ -239,7 +248,7 @@
     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);
     }
    }
@@ -253,7 +262,7 @@
     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);
     }
    }
@@ -266,13 +275,14 @@
     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);
     }
    }
+
    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);
    }
   }
@@ -289,7 +299,7 @@
  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;
@@ -299,20 +309,21 @@
   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;
+
  };
 
  return obj_list;
@@ -342,7 +353,7 @@
  else if (filtn==H5Z_FILTER_FLETCHER32)
   return "FLETCHER32";
  else {
-  printf("Input error in filter type\n");
+  error_msg(progname, "input error in filter type\n");
   exit(1);
  }
  return NULL;
@@ -411,7 +422,7 @@
  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;
@@ -435,7 +446,7 @@
  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);
  }
 
@@ -452,7 +463,7 @@
    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);
    }
   }
@@ -476,7 +487,7 @@
    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);
    }
 
@@ -490,7 +501,7 @@
      && 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);
     }
@@ -503,7 +514,7 @@
       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);
       }
@@ -521,7 +532,7 @@
        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);
        }
@@ -538,8 +549,6 @@
  return obj_list;
 }
 
-
-
 /*-------------------------------------------------------------------------
  * Function: parse_number
  *

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_refs.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_refs.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_refs.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,30 +9,27 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
+#include "h5repack.h"
 #include "H5private.h"
-#include "h5repack.h"
+#include "h5tools.h"
 
-static const char* MapIdToName(hid_t refobj_id,
-                               trav_table_t *travt);
+/*-------------------------------------------------------------------------
+ * local functions
+ *-------------------------------------------------------------------------
+ */
 
+static const char* MapIdToName(hid_t refobj_id,trav_table_t *travt);
 static void close_obj(H5G_obj_t1 obj_type, hid_t obj_id);
+static int copy_refs_attr(hid_t loc_in,hid_t loc_out,pack_opt_t *options,trav_table_t *travt,hid_t fidout);
 
-
-static int copy_refs_attr(hid_t loc_in,
-                          hid_t loc_out,
-                          pack_opt_t *options,
-                          trav_table_t *travt,
-                          hid_t fidout         /* for saving references */
-                          );
-
 /*-------------------------------------------------------------------------
  * Function: do_copy_refobjs
  *
@@ -61,12 +59,12 @@
  hid_t     space_id=(-1);          /* space ID */
  hid_t     ftype_id=(-1);          /* file data type ID */
  hid_t     mtype_id=(-1);          /* memory data type ID */
- size_t    msize;             /* memory size of memory type */
- hsize_t   nelmts;            /* number of elements in dataset */
- int       rank;              /* rank of dataset */
- hsize_t   dims[H5S_MAX_RANK];/* dimensions of dataset */
- int       next;              /* external files */
- int       i, j;
+ size_t    msize;                  /* memory size of memory type */
+ hsize_t   nelmts;                 /* number of elements in dataset */
+ int       rank;                   /* rank of dataset */
+ hsize_t   dims[H5S_MAX_RANK];     /* dimensions of dataset */
+ unsigned int i, j;
+ int       k;
 
 /*-------------------------------------------------------------------------
  * browse
@@ -82,6 +80,22 @@
   *-------------------------------------------------------------------------
   */
   case H5G_GROUP:
+      
+  /*-------------------------------------------------------------------------
+   * copy referenced objects in attributes
+   *-------------------------------------------------------------------------
+   */
+   
+   if ((grp_out=H5Gopen(fidout,travt->objs[i].name))<0)
+    goto error;
+   if((grp_in = H5Gopen (fidin,travt->objs[i].name))<0)
+    goto error;
+   if (copy_refs_attr(grp_in,grp_out,options,travt,fidout)<0)
+    goto error;
+   if (H5Gclose(grp_out)<0)
+    goto error;
+   if (H5Gclose(grp_in)<0)
+    goto error;
 
    /*-------------------------------------------------------------------------
     * check for hard links
@@ -120,8 +134,8 @@
    if ( H5Sget_simple_extent_dims(space_id,dims,NULL)<0)
     goto error;
    nelmts=1;
-   for (j=0; j<rank; j++)
-    nelmts*=dims[j];
+   for (k=0; k<rank; k++)
+    nelmts*=dims[k];
 
    if ((mtype_id=h5tools_get_native_type(ftype_id))<0)
     goto error;
@@ -129,20 +143,15 @@
    if ((msize=H5Tget_size(mtype_id))==0)
     goto error;
 
+
 /*-------------------------------------------------------------------------
- * check for external files
- *-------------------------------------------------------------------------
- */
-   if ((next=H5Pget_external_count (dcpl_id))<0)
-    goto error;
-/*-------------------------------------------------------------------------
  * check if the dataset creation property list has filters that
  * are not registered in the current configuration
  * 1) the external filters GZIP and SZIP might not be available
  * 2) the internal filters might be turned off
  *-------------------------------------------------------------------------
  */
-   if (next==0 && h5tools_canreadf((NULL),dcpl_id)==1)
+   if (h5tools_canreadf((NULL),dcpl_id)==1)
    {
 /*-------------------------------------------------------------------------
  * test for a valid output dataset
@@ -181,7 +190,7 @@
 
      if ((obj_type = H5Rget_obj_type(dset_in,H5R_OBJECT,buf))<0)
       goto error;
-     refbuf=HDmalloc((unsigned)nelmts*msize);
+     refbuf=HDcalloc((unsigned)nelmts,msize);
      if ( refbuf==NULL){
       printf( "cannot allocate memory\n" );
       goto error;
@@ -466,14 +475,14 @@
                           hid_t fidout         /* for saving references */
                           )
 {
- hid_t      attr_id=-1;      /* attr ID */
- hid_t      attr_out=-1;     /* attr ID */
- hid_t      space_id=-1;     /* space ID */
- hid_t      ftype_id=-1;     /* file data type ID */
- hid_t      mtype_id=-1;     /* memory data type ID */
- size_t     msize;        /* memory size of type */
- hsize_t    nelmts;       /* number of elements in dataset */
- int        rank;         /* rank of dataset */
+ hid_t      attr_id=-1;        /* attr ID */
+ hid_t      attr_out=-1;       /* attr ID */
+ hid_t      space_id=-1;       /* space ID */
+ hid_t      ftype_id=-1;       /* file data type ID */
+ hid_t      mtype_id=-1;       /* memory data type ID */
+ size_t     msize;             /* memory size of type */
+ hsize_t    nelmts;            /* number of elements in dataset */
+ int        rank;              /* rank of dataset */
  hsize_t    dims[H5S_MAX_RANK];/* dimensions of dataset */
  char       name[255];
  int        n, j;
@@ -555,7 +564,8 @@
 
      if ((obj_type = H5Rget_obj_type(attr_id,H5R_OBJECT,buf))<0)
       goto error;
-     refbuf=HDmalloc((unsigned)nelmts*msize);
+     refbuf=HDcalloc((unsigned)nelmts,msize);
+
      if ( refbuf==NULL){
       printf( "cannot allocate memory\n" );
       goto error;
@@ -750,11 +760,11 @@
 static const char* MapIdToName(hid_t refobj_id,
                                trav_table_t *travt)
 {
- hid_t id;
- hid_t fid;
- H5G_stat_t refstat;    /* Stat for the refobj id */
- H5G_stat_t objstat;    /* Stat for objects in the file */
- int   i;
+ hid_t        id;
+ hid_t        fid;
+ H5G_stat_t   refstat;    /* Stat for the refobj id */
+ H5G_stat_t   objstat;    /* Stat for objects in the file */
+ unsigned int i;
 
  /* obtain information to identify the referenced object uniquely */
  if(H5Gget_objinfo(refobj_id, ".", 0, &refstat) <0)

Modified: packages/hdf5/trunk/tools/h5repack/h5repack_verify.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repack_verify.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/h5repack_verify.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,14 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-#include "hdf5.h"
+#include "h5repack.h"
 #include "h5test.h"
-#include "h5repack.h"
+#include "h5tools.h"
+#include "h5tools_utils.h"
 
+extern char  *progname;
 
 
 /*-------------------------------------------------------------------------
@@ -60,6 +63,7 @@
  for (i=0; i<nfilters; i++)
  {
   cd_nelmts = NELMTS(cd_values);
+
   filtn = H5Pget_filter(dcpl_id,
    (unsigned)i,
    &filt_flags,
@@ -68,6 +72,7 @@
    sizeof(f_name),
    f_name);
 
+
   if (filtnin==filtn)
    have=1;
 
@@ -160,7 +165,9 @@
  hid_t  dset_id=-1;  /* dataset ID */
  hid_t  dcpl_id=-1;  /* dataset creation property list ID */
  hid_t  space_id=-1; /* space ID */
- int    ret=1, i, j;
+ int    ret=1;
+ unsigned int i;
+ int j;
  trav_table_t  *travt=NULL;
 
  /* open the file */
@@ -342,7 +349,8 @@
  hid_t         dcpl2=-1;      /* dataset creation property list ID */
  trav_table_t  *travt1=NULL;
  trav_table_t  *travt2=NULL;
- int           ret=1, i;
+ int           ret=1;
+ unsigned int  i;
 
 /*-------------------------------------------------------------------------
  * open the files first; if they are not valid, no point in continuing
@@ -355,12 +363,12 @@
  /* Open the files */
  if ((fid1=H5Fopen(fname1,H5F_ACC_RDONLY,H5P_DEFAULT))<0 )
  {
-  printf("h5repack: <%s>: %s\n", fname1, H5FOPENERROR );
+  error_msg(progname, "<%s>: %s\n", fname1, H5FOPENERROR );
   return -1;
  }
  if ((fid2=H5Fopen(fname2,H5F_ACC_RDONLY,H5P_DEFAULT))<0 )
  {
-  printf("h5repack: <%s>: %s\n", fname2, H5FOPENERROR );
+  error_msg(progname, "<%s>: %s\n", fname2, H5FOPENERROR );
   H5Fclose(fid1);
   return -1;
  }
@@ -418,7 +426,7 @@
 
    if (ret==0)
    {
-    printf("Property lists for <%s> are different\n",travt1->objs[i].name);
+    error_msg(progname, "property lists for <%s> are different\n",travt1->objs[i].name);
     goto error;
    }
 
@@ -476,3 +484,4 @@
  return -1;
 
 }
+

Copied: packages/hdf5/trunk/tools/h5repack/h5repacktst.c (from rev 1094, packages/hdf5/branches/upstream/current/tools/h5repack/h5repacktst.c)
===================================================================
--- packages/hdf5/trunk/tools/h5repack/h5repacktst.c	                        (rev 0)
+++ packages/hdf5/trunk/tools/h5repack/h5repacktst.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,4188 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#include "h5repack.h"
+#include "h5test.h"
+#include "h5tools.h"
+#include "h5diff.h"
+
+#define GOERROR  {H5_FAILED(); goto error;}
+
+
+/* fill value test */
+#define FNAME0     "h5repack_fill.h5"
+#define FNAME0OUT  "h5repack_fill_out.h5"
+/* HDF5 objects and all dataset datatypes */
+#define FNAME1     "h5repack_objs.h5"
+#define FNAME1OUT  "h5repack_objs_out.h5"
+/* attributes, all datatypes  */
+#define FNAME2     "h5repack_attr.h5"
+#define FNAME2OUT  "h5repack_attr_out.h5"
+/* hard links  */
+#define FNAME3     "h5repack_hlink.h5"
+#define FNAME3OUT  "h5repack_hlink_out.h5"
+/* layout  */
+#define FNAME4     "h5repack_layout.h5"
+#define FNAME4OUT  "h5repack_layout_out.h5"
+/* H5D_ALLOC_TIME_EARLY  */
+#define FNAME5     "h5repack_early.h5"
+#define FNAME5OUT  "h5repack_early_out.h5"
+#define FNAME6     "h5repack_early2.h5"
+/* SZIP filter  */
+#define FNAME7     "h5repack_szip.h5"
+#define FNAME7OUT  "h5repack_szip_out.h5"
+/* GZIP filter  */
+#define FNAME8     "h5repack_deflate.h5"
+#define FNAME8OUT  "h5repack_deflate_out.h5"
+/* GZIP filter  */
+#define FNAME9     "h5repack_shuffle.h5"
+#define FNAME9OUT  "h5repack_shuffle_out.h5"
+/* Fletcher filter  */
+#define FNAME10    "h5repack_fletcher.h5"
+#define FNAME10OUT "h5repack_fletcher_out.h5"
+/* All filters  */
+#define FNAME11    "h5repack_filters.h5"
+#define FNAME11OUT "h5repack_filters_out.h5"
+
+/* Big file to test read by hyperslabs  */
+#define FNAME14    "h5repack_big.h5"
+#define FNAME14OUT "h5repack_big_out.h5"
+
+/* external file  */
+#define FNAME15    "h5repack_ext.h5"
+#define FNAME15OUT "h5repack_ext_out.h5"
+
+
+const char *H5REPACK_FILENAMES[] = {
+   "h5repack_big_out",
+    NULL
+};
+
+#define H5REPACK_EXTFILE "h5repack_ext.bin"
+
+const char *progname = "h5repacktst";
+int d_status = EXIT_SUCCESS;
+
+
+#define DIM1    40
+#define DIM2    20
+#define CDIM1   DIM1/2
+#define CDIM2   DIM2/2
+#define RANK    2
+
+/*-------------------------------------------------------------------------
+ * prototypes
+ *-------------------------------------------------------------------------
+ */
+int make_all_objects(hid_t loc_id);
+int make_attributes(hid_t loc_id);
+int make_hlinks(hid_t loc_id);
+int make_early(void);
+int make_layout(hid_t loc_id);
+#ifdef H5_HAVE_FILTER_SZIP
+int make_szip(hid_t loc_id);
+#endif /* H5_HAVE_FILTER_SZIP */
+int make_deflate(hid_t loc_id);
+int make_shuffle(hid_t loc_id);
+int make_fletcher32(hid_t loc_id);
+
+int make_all(hid_t loc_id);
+int make_fill(hid_t loc_id);
+int make_big(hid_t loc_id);
+int make_testfiles(void);
+void write_dset_in(hid_t loc_id,const char* dset_name,hid_t file_id,int make_diffs );
+void write_attr_in(hid_t loc_id,const char* dset_name,hid_t fid,int make_diffs );
+int write_dset(hid_t loc_id,int rank,hsize_t *dims,const char *dset_name,hid_t type_id,void *buf );
+int make_dset(hid_t loc_id,const char *name,hid_t sid,hid_t dcpl,void *buf);
+int make_attr(hid_t loc_id,int rank,hsize_t *dims,const char *attr_name,hid_t type_id,void *buf);
+void make_dset_reg_ref(hid_t loc_id);
+int make_external(hid_t loc_id);
+
+
+/*-------------------------------------------------------------------------
+ * Function: main
+ *
+ * Purpose: Executes h5repack tests
+ *
+ * Return: Success: zero
+ *  Failure: 1
+ *
+ * Programmer:  Pedro Vicente <pvn at ncsa.uiuc.edu>
+ *             January, 6, 2004
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int main (void)
+{
+ pack_opt_t  pack_options;
+ diff_opt_t  diff_options;
+#if defined (H5_HAVE_FILTER_SZIP)
+ int szip_can_encode = 0;
+#endif
+ 
+ /* initialize */
+ memset(&diff_options, 0, sizeof (diff_opt_t));
+ memset(&pack_options, 0, sizeof (pack_opt_t));
+
+ /* run tests  */
+ puts("Testing h5repack:");
+
+ 
+
+ /* make the test files */
+ TESTING("    generating datasets");
+ if (make_testfiles()<0)
+  GOERROR;
+ PASSED();
+
+/*-------------------------------------------------------------------------
+ * Format of the tests:
+ *
+ * 1) make a copy of the file with h5repack
+ * 2) use the h5diff utility to compare the input and output file;
+ *     it returns RET==0 if the objects have the same data
+ *-------------------------------------------------------------------------
+ */
+
+
+/*-------------------------------------------------------------------------
+ * file with fill values
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    copy of datasets (fill values)");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME0,FNAME0OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME0,FNAME0OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME0OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_cmpdcpl(FNAME0,FNAME0OUT)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+/*-------------------------------------------------------------------------
+ * file with all kinds of dataset datatypes
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    copy of datasets (all datatypes)");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME1,FNAME1OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME1,FNAME1OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME1OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_cmpdcpl(FNAME1,FNAME1OUT)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+
+/*-------------------------------------------------------------------------
+ * file with attributes
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    copy of datasets (attributes)");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME2,FNAME2OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME2,FNAME2OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME2OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_cmpdcpl(FNAME2,FNAME2OUT)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+/*-------------------------------------------------------------------------
+ * file with hardlinks
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    copy of datasets (hardlinks)");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME3,FNAME3OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME3,FNAME3OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME3OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_cmpdcpl(FNAME3,FNAME3OUT)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+
+/*-------------------------------------------------------------------------
+ * alloc early test
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    copy of allocation early file");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME5,FNAME5OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME5,FNAME5OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME5OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+/*-------------------------------------------------------------------------
+ * the remaining files differ in the dcpl's
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * deflate
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    adding deflate filter");
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset1:GZIP=9",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+
+ TESTING("    adding deflate filter to all");
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("GZIP=1",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+/*-------------------------------------------------------------------------
+ * SZIP
+ *-------------------------------------------------------------------------
+ */
+
+ TESTING("    adding szip filter");
+
+#if defined (H5_HAVE_FILTER_SZIP)
+if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) {
+   szip_can_encode = 1;
+}
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+
+if (szip_can_encode) {
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset2:SZIP=8,EC",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset2:CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+} else {
+ SKIPPED();
+}
+#else
+ SKIPPED();
+#endif
+
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+TESTING("    adding szip filter to all");
+
+#if defined (H5_HAVE_FILTER_SZIP)
+if (szip_can_encode) {
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("SZIP=8,NN",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+} else {
+ SKIPPED();
+}
+#else
+ SKIPPED();
+#endif
+
+
+ TESTING("    addding shuffle filter");
+
+#ifdef H5_HAVE_FILTER_SHUFFLE
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset1:SHUF",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+
+TESTING("    addding shuffle filter to all");
+
+#ifdef H5_HAVE_FILTER_SHUFFLE
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("SHUF",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+ TESTING("    adding checksum filter");
+
+#ifdef H5_HAVE_FILTER_FLETCHER32
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset1:FLET",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+
+
+ TESTING("    adding checksum filter to all");
+
+#ifdef H5_HAVE_FILTER_FLETCHER32
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("FLET",&pack_options)<0)
+  GOERROR;
+ if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+
+ TESTING("    filter queue fletcher, shuffle, deflate, szip");
+
+/*-------------------------------------------------------------------------
+ * add some filters
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:CHUNK 20x10",&pack_options)<0)
+  GOERROR;
+
+#if defined (H5_HAVE_FILTER_FLETCHER32)
+ if (h5repack_addfilter("dset1:FLET",&pack_options)<0)
+  GOERROR;
+#endif
+
+#ifdef H5_HAVE_FILTER_SHUFFLE
+ if (h5repack_addfilter("dset1:SHUF",&pack_options)<0)
+  GOERROR;
+#endif
+
+#if defined (H5_HAVE_FILTER_SZIP)
+if (szip_can_encode) {
+ if (h5repack_addfilter("dset1:SZIP=8,NN",&pack_options)<0)
+  GOERROR;
+}
+#endif
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+ if (h5repack_addfilter("dset1:GZIP=1",&pack_options)<0)
+  GOERROR;
+#endif
+
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+
+
+ TESTING("    adding layout chunked");
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    adding layout chunked to all");
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+
+ TESTING("    adding layout contiguous");
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:CONTI",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+
+ TESTING("    adding layout contiguous to all");
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("CONTI",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+
+ TESTING("    adding layout compact");
+
+/*-------------------------------------------------------------------------
+ * test an individual object option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset1:COMPA",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+ TESTING("    adding layout compact to all");
+
+/*-------------------------------------------------------------------------
+ * test all objects option
+ *-------------------------------------------------------------------------
+ */
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("COMPA",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+
+
+ TESTING("    layout compact to contiguous conversion");
+
+/*-------------------------------------------------------------------------
+ * layout compact to contiguous conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_compact:CONTI",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+ TESTING("    layout compact to chunk conversion");
+
+/*-------------------------------------------------------------------------
+ * layout compact to chunk conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_compact:CHUNK=2x5",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+  TESTING("    layout compact to compact conversion");
+
+/*-------------------------------------------------------------------------
+ * layout compact to compact conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_compact:COMPA",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+ TESTING("    layout contiguous to compact conversion");
+/*-------------------------------------------------------------------------
+ * layout contiguous to compact conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_contiguous:COMPA",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+ TESTING("    layout contiguous to chunk conversion");
+/*-------------------------------------------------------------------------
+ * layout contiguous to chunk conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_contiguous:CHUNK=3x6",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+  TESTING("    layout contiguous to contiguous conversion");
+
+/*-------------------------------------------------------------------------
+ * layout contiguous to contiguous conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_contiguous:CONTI",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+ TESTING("    layout chunked to compact conversion");
+/*-------------------------------------------------------------------------
+ * layout chunked to compact conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_chunk:COMPA",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+ TESTING("    layout chunked to contiguous conversion");
+
+/*-------------------------------------------------------------------------
+ * layout chunked to contiguous conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_chunk:CONTI",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+ TESTING("    layout chunked to chunk conversion");
+/*-------------------------------------------------------------------------
+ * layout chunked to chunked conversion
+ *-------------------------------------------------------------------------
+ */
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addlayout("dset_chunk:CHUNK=18x13",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME4,FNAME4OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+  PASSED();
+
+
+/*-------------------------------------------------------------------------
+ * the following tests assume the input files have filters
+ * FNAME7     
+ * FNAME8     
+ * FNAME9     
+ * FNAME10    
+ * FNAME11    
+ *-------------------------------------------------------------------------
+ */
+
+
+ TESTING("    copy of szip filter");
+
+#if defined (H5_HAVE_FILTER_SZIP)
+if (szip_can_encode) {
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME7,FNAME7OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME7,FNAME7OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME7OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+} else {
+ SKIPPED();
+}
+#else
+ SKIPPED();
+#endif
+
+  TESTING("    removing szip filter");
+
+#if defined (H5_HAVE_FILTER_SZIP)
+if (szip_can_encode) {
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset_szip:NONE",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME7,FNAME7OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME7,FNAME7OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME7OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+} else {
+ SKIPPED();
+}
+#else
+ SKIPPED();
+#endif
+
+
+  TESTING("    copy of deflate filter");
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME8,FNAME8OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME8,FNAME8OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME8OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+
+ TESTING("    removing deflate filter");
+
+#ifdef H5_HAVE_FILTER_DEFLATE
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset_deflate:NONE",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME8,FNAME8OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME8,FNAME8OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME8OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+
+
+ TESTING("    copy of shuffle filter");
+
+#ifdef H5_HAVE_FILTER_SHUFFLE
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME9,FNAME9OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME9,FNAME9OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME9OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+ TESTING("    removing shuffle filter");
+
+#ifdef H5_HAVE_FILTER_SHUFFLE
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset_shuffle:NONE",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME9,FNAME9OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME9,FNAME9OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME9OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+ TESTING("    copy of fletcher filter");
+
+#ifdef H5_HAVE_FILTER_FLETCHER32
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME10,FNAME10OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME10,FNAME10OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME10OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+  TESTING("    removing fletcher filter");
+
+#ifdef H5_HAVE_FILTER_FLETCHER32
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset_fletcher32:NONE",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME10,FNAME10OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME10,FNAME10OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME10OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+
+
+/*-------------------------------------------------------------------------
+ * file with all filters
+ *  dset_all
+ *  dset_deflate
+ *  dset_szip
+ *  dset_shuffle
+ *  dset_fletcher32
+ *-------------------------------------------------------------------------
+ */
+
+
+ TESTING("    filter conversion from deflate to szip");
+
+#if defined (H5_HAVE_FILTER_SZIP) \
+    && defined (H5_HAVE_FILTER_DEFLATE) \
+    && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE)
+
+if (szip_can_encode) {
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset_deflate:SZIP=8,NN",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME11,FNAME11OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME11,FNAME11OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME11OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+} else {
+ SKIPPED();
+}
+#else
+ SKIPPED();
+#endif
+
+ TESTING("    filter conversion from szip to deflate");
+
+#if defined (H5_HAVE_FILTER_SZIP) \
+    && defined (H5_HAVE_FILTER_DEFLATE) \
+    && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE)
+
+if (szip_can_encode) {
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("dset_szip:GZIP=1",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME11,FNAME11OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME11,FNAME11OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME11OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+} else {
+ SKIPPED();
+}
+#else
+ SKIPPED();
+#endif
+
+
+/*-------------------------------------------------------------------------
+ * test the NONE global option
+ *-------------------------------------------------------------------------
+ */
+
+  TESTING("    removing all filters");
+
+#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) \
+    && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE)
+
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack_addfilter("NONE",&pack_options)<0)
+  GOERROR;
+ if (h5repack(FNAME11,FNAME11OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME11,FNAME11OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME11OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+
+ PASSED();
+#else
+ SKIPPED();
+#endif
+
+/*-------------------------------------------------------------------------
+ * test a big file
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    big file");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME14,FNAME14OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME14,FNAME14OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME14OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+/*-------------------------------------------------------------------------
+ * test external dataset
+ *-------------------------------------------------------------------------
+ */
+ TESTING("    external datasets");
+ if (h5repack_init (&pack_options, 0)<0)
+  GOERROR;
+ if (h5repack(FNAME15,FNAME15OUT,&pack_options) < 0)
+  GOERROR;
+ if (h5diff(FNAME15,FNAME15OUT,NULL,NULL,&diff_options) > 0)
+  GOERROR;
+ if (h5repack_verify(FNAME15OUT,&pack_options)<=0)
+  GOERROR;
+ if (h5repack_end (&pack_options)<0)
+  GOERROR;
+ PASSED();
+
+
+/*-------------------------------------------------------------------------
+ * clean temporary test files
+ *-------------------------------------------------------------------------
+ */
+ {
+     hid_t       fapl;
+     
+     /* setup */
+     h5_reset();
+     fapl = h5_fileaccess();
+     h5_cleanup(H5REPACK_FILENAMES, fapl); 
+     
+ }
+
+ puts("All h5repack tests passed.");
+
+ return 0;
+
+error:
+ puts("***** H5REPACK TESTS FAILED *****");
+ return 1;
+
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_testfiles
+ *
+ * Purpose: make a test file with all types of HDF5 objects,
+ *   datatypes and filters
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_testfiles(void)
+{
+ hid_t  loc_id;  /* file ID */
+
+
+/*-------------------------------------------------------------------------
+ * create a file for general copy test
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME0,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_fill(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create another file for general copy test (all datatypes)
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME1,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_all_objects(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create a file for attributes copy test
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME2,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_attributes(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+/*-------------------------------------------------------------------------
+ * create a file for hard links test
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME3,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_hlinks(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+/*-------------------------------------------------------------------------
+ * create a file for layouts test
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME4,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_layout(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create a file for the H5D_ALLOC_TIME_EARLY test
+ *-------------------------------------------------------------------------
+ */
+ if (make_early()<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * create a file with the SZIP filter
+ *-------------------------------------------------------------------------
+ */
+#ifdef H5_HAVE_FILTER_SZIP
+ if((loc_id = H5Fcreate(FNAME7,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_szip(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+#endif /* H5_HAVE_FILTER_SZIP */
+
+/*-------------------------------------------------------------------------
+ * create a file with the deflate filter
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME8,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_deflate(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create a file with the shuffle filter
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME9,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_shuffle(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create a file with the fletcher32 filter
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME10,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_fletcher32(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create a file with all the filters
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME11,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_all(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+
+/*-------------------------------------------------------------------------
+ * create a big dataset
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME14,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_big(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+/*-------------------------------------------------------------------------
+ * create a file with external dataset
+ *-------------------------------------------------------------------------
+ */
+ if((loc_id = H5Fcreate(FNAME15,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (make_external(loc_id)<0)
+  goto out;
+ if(H5Fclose(loc_id)<0)
+  return -1;
+
+
+ return 0;
+
+out:
+  H5Fclose(loc_id);
+ return -1;
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_all_objects
+ *
+ * Purpose: make a test file with all types of HDF5 objects
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_all_objects(hid_t loc_id)
+{
+ hid_t   dset_id;
+ hid_t   group_id;
+ hid_t   type_id;
+ hid_t   root_id;
+ hid_t   space_id;
+ hsize_t dims[1]={2};
+ /* Compound datatype */
+ typedef struct s_t
+ {
+  int    a;
+  float  b;
+ } s_t;
+
+/*-------------------------------------------------------------------------
+ * H5G_DATASET
+ *-------------------------------------------------------------------------
+ */
+ space_id = H5Screate_simple(1,dims,NULL);
+ dset_id  = H5Dcreate(loc_id,"dset_referenced",H5T_NATIVE_INT,space_id,H5P_DEFAULT);
+ H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5G_GROUP
+ *-------------------------------------------------------------------------
+ */
+ group_id  = H5Gcreate(loc_id,"g1",0);
+ root_id   = H5Gopen(loc_id, "/");
+
+/*-------------------------------------------------------------------------
+ * H5G_TYPE
+ *-------------------------------------------------------------------------
+ */
+
+ /* Create a memory compound datatype */
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_INT);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_FLOAT);
+ /* Commit compound datatype and close it */
+ H5Tcommit(loc_id, "type", type_id);
+ H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5G_LINK
+ *-------------------------------------------------------------------------
+ */
+
+ H5Glink(loc_id, H5G_LINK_SOFT, "dset", "link");
+
+/*-------------------------------------------------------------------------
+ * write a series of datasetes
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset_in(root_id,"dset_referenced",loc_id,0);
+
+ /* Close */
+ H5Dclose(dset_id);
+ H5Gclose(group_id);
+ H5Gclose(root_id);
+
+ return 0;
+
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_attributes
+ *
+ * Purpose: make a test file with all types of attributes
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_attributes(hid_t loc_id)
+{
+ hid_t   dset_id;
+ hid_t   group_id;
+ hid_t   root_id;
+ hid_t   space_id;
+ hsize_t dims[1]={2};
+
+
+/*-------------------------------------------------------------------------
+ * H5G_DATASET
+ *-------------------------------------------------------------------------
+ */
+
+ space_id = H5Screate_simple(1,dims,NULL);
+ dset_id  = H5Dcreate(loc_id,"dset",H5T_NATIVE_INT,space_id,H5P_DEFAULT);
+ H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5G_GROUP
+ *-------------------------------------------------------------------------
+ */
+ group_id  = H5Gcreate(loc_id,"g1",0);
+ root_id   = H5Gopen(loc_id, "/");
+
+/*-------------------------------------------------------------------------
+ * write a series of attributes on the dataset, group, and root group
+ *-------------------------------------------------------------------------
+ */
+
+ write_attr_in(dset_id,"dset",loc_id,0);
+ write_attr_in(group_id,"dset",loc_id,0);
+ write_attr_in(root_id,"dset",loc_id,0);
+
+ /* Close */
+ H5Dclose(dset_id);
+ H5Gclose(group_id);
+ H5Gclose(root_id);
+
+ return 0;
+
+}
+
+/*-------------------------------------------------------------------------
+ * Function: make_hlinks
+ *
+ * Purpose: make a test file with hard links
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_hlinks(hid_t loc_id)
+{
+ hid_t   group1_id;
+ hid_t   group2_id;
+ hid_t   group3_id;
+ hsize_t dims[2]={3,2};
+ int     buf[3][2]= {{1,1},{1,2},{2,2}};
+
+/*-------------------------------------------------------------------------
+ * create a dataset and some hard links to it
+ *-------------------------------------------------------------------------
+ */
+
+ if (write_dset(loc_id,2,dims,"dset",H5T_NATIVE_INT,buf)<0)
+  return -1;
+ if (H5Glink(loc_id, H5G_LINK_HARD, "dset", "link1 to dset")<0)
+  return -1;
+ if (H5Glink(loc_id, H5G_LINK_HARD, "dset", "link2 to dset")<0)
+  return -1;
+ if (H5Glink(loc_id, H5G_LINK_HARD, "dset", "link3 to dset")<0)
+  return -1;
+
+
+/*-------------------------------------------------------------------------
+ * create a group and some hard links to it
+ *-------------------------------------------------------------------------
+ */
+
+ if ((group1_id = H5Gcreate(loc_id,"g1",0))<0)
+  return -1;
+ if ((group2_id = H5Gcreate(group1_id,"g2",0))<0)
+  return -1;
+ if ((group3_id = H5Gcreate(group2_id,"g3",0))<0)
+  return -1;
+
+ if (H5Glink2(loc_id, "g1", H5G_LINK_HARD, group2_id, "link1 to g1")<0)
+  return -1;
+ if (H5Glink2(group1_id, "g2", H5G_LINK_HARD, group3_id, "link1 to g2")<0)
+  return -1;
+
+ H5Gclose(group1_id);
+ H5Gclose(group2_id);
+ H5Gclose(group3_id);
+
+ return 0;
+
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_szip
+ *
+ * Purpose: make a dataset with the SZIP filter
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifdef H5_HAVE_FILTER_SZIP
+int make_szip(hid_t loc_id)
+{
+ hid_t    dcpl; /* dataset creation property list */
+ hid_t    sid;  /* dataspace ID */
+ unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK;
+ unsigned szip_pixels_per_block=8;
+ hsize_t  dims[RANK]={DIM1,DIM2};
+ hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
+ int      buf[DIM1][DIM2];
+ int      i, j, n;
+ int szip_can_encode = 0;
+
+ for (i=n=0; i<DIM1; i++){
+  for (j=0; j<DIM2; j++){
+   buf[i][j]=n++;
+  }
+ }
+ /* create a space */
+ if((sid = H5Screate_simple(RANK, dims, NULL))<0)
+  return -1;
+ /* create a dcpl */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ /* set up chunk */
+ if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * SZIP
+ *-------------------------------------------------------------------------
+ */
+ /* Make sure encoding is enabled */
+if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) {
+   szip_can_encode = 1;
+}
+if (szip_can_encode) {
+ /* set szip data */
+ if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_szip",sid,dcpl,buf)<0)
+  goto out;
+} else {
+ /* WARNING? SZIP is decoder only, can't generate test files */
+}
+
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+ } H5E_END_TRY;
+ return -1;
+}
+#endif /* H5_HAVE_FILTER_SZIP */
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_deflate
+ *
+ * Purpose: make a dataset with the deflate filter
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_deflate(hid_t loc_id)
+{
+ hid_t      dcpl; /* dataset creation property list */
+ hid_t      sid;  /* dataspace ID */
+ hsize_t    dims[RANK]={DIM1,DIM2};
+ hsize_t    chunk_dims[RANK]={CDIM1,CDIM2};
+ int        buf[DIM1][DIM2];
+ hobj_ref_t bufref[1]; /* reference */
+ hsize_t    dims1r[1]={1};
+ int        i, j, n;
+
+ for (i=n=0; i<DIM1; i++){
+  for (j=0; j<DIM2; j++){
+   buf[i][j]=n++;
+  }
+ }
+
+ /* create a space */
+ if((sid = H5Screate_simple(RANK, dims, NULL))<0)
+  return -1;
+ /* create a dcpl */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ /* set up chunk */
+ if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
+  goto out;
+/*-------------------------------------------------------------------------
+ * GZIP
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5_HAVE_FILTER_DEFLATE)
+ /* set deflate data */
+ if(H5Pset_deflate(dcpl, 9)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_deflate",sid,dcpl,buf)<0)
+  goto out;
+
+ /* create a reference to the dataset, test second seeep of file for references */
+
+ if (H5Rcreate(&bufref[0],loc_id,"dset_deflate",H5R_OBJECT,-1)<0)
+  goto out;
+ if (write_dset(loc_id,1,dims1r,"ref",H5T_STD_REF_OBJ,bufref)<0)
+  goto out;
+#endif
+
+/*-------------------------------------------------------------------------
+ * close space and dcpl
+ *-------------------------------------------------------------------------
+ */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_shuffle
+ *
+ * Purpose: make a dataset with the shuffle filter
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_shuffle(hid_t loc_id)
+{
+ hid_t    dcpl; /* dataset creation property list */
+ hid_t    sid;  /* dataspace ID */
+ hsize_t  dims[RANK]={DIM1,DIM2};
+ hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
+ int      buf[DIM1][DIM2];
+ int      i, j, n;
+
+ for (i=n=0; i<DIM1; i++){
+  for (j=0; j<DIM2; j++){
+   buf[i][j]=n++;
+  }
+ }
+ /* create a space */
+ if((sid = H5Screate_simple(RANK, dims, NULL))<0)
+  return -1;
+ /* create a dcpl */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ /* set up chunk */
+ if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * shuffle
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5_HAVE_FILTER_SHUFFLE)
+ /* set the shuffle filter */
+ if (H5Pset_shuffle(dcpl)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf)<0)
+  goto out;
+#endif
+
+/*-------------------------------------------------------------------------
+ * close space and dcpl
+ *-------------------------------------------------------------------------
+ */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: make_fletcher32
+ *
+ * Purpose: make a dataset with the fletcher32 filter
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_fletcher32(hid_t loc_id)
+{
+ hid_t    dcpl; /* dataset creation property list */
+ hid_t    sid;  /* dataspace ID */
+ hsize_t  dims[RANK]={DIM1,DIM2};
+ hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
+ int      buf[DIM1][DIM2];
+ int      i, j, n;
+
+ for (i=n=0; i<DIM1; i++){
+  for (j=0; j<DIM2; j++){
+   buf[i][j]=n++;
+  }
+ }
+ /* create a space */
+ if((sid = H5Screate_simple(RANK, dims, NULL))<0)
+  return -1;
+ /* create a dataset creation property list; the same DCPL is used for all dsets */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ /* set up chunk */
+ if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
+  goto out;
+
+
+/*-------------------------------------------------------------------------
+ * fletcher32
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5_HAVE_FILTER_FLETCHER32)
+ /* remove the filters from the dcpl */
+ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
+  goto out;
+ /* set the checksum filter */
+ if (H5Pset_fletcher32(dcpl)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf)<0)
+  goto out;
+#endif
+
+/*-------------------------------------------------------------------------
+ * close space and dcpl
+ *-------------------------------------------------------------------------
+ */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_all
+ *
+ * Purpose: make a file with all filters
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_all(hid_t loc_id)
+{
+ hid_t    dcpl; /* dataset creation property list */
+ hid_t    sid;  /* dataspace ID */
+#if defined (H5_HAVE_FILTER_NBIT)
+ hid_t    dtid;
+ hid_t    dsid;
+#endif /* H5_HAVE_FILTER_NBIT */
+#if defined (H5_HAVE_FILTER_SZIP)
+ unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK;
+ unsigned szip_pixels_per_block=8;
+#endif /* H5_HAVE_FILTER_SZIP */
+ hsize_t  dims[RANK]={DIM1,DIM2};
+ hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
+ int      buf[DIM1][DIM2];
+ int      i, j, n;
+#if defined (H5_HAVE_FILTER_SZIP)
+ int szip_can_encode = 0;
+#endif
+
+ for (i=n=0; i<DIM1; i++){
+  for (j=0; j<DIM2; j++){
+   buf[i][j]=n++;
+  }
+ }
+ /* create a space */
+ if((sid = H5Screate_simple(RANK, dims, NULL))<0)
+  return -1;
+ /* create a dataset creation property list; the same DCPL is used for all dsets */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ /* set up chunk */
+ if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
+  goto out;
+
+#if defined (H5_HAVE_FILTER_SHUFFLE)
+ /* set the shuffle filter */
+ if (H5Pset_shuffle(dcpl)<0)
+  goto out;
+#endif
+
+#if defined (H5_HAVE_FILTER_FLETCHER32)
+ /* set the checksum filter */
+ if (H5Pset_fletcher32(dcpl)<0)
+  goto out;
+#endif
+
+#if defined (H5_HAVE_FILTER_SZIP)
+if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) {
+   szip_can_encode = 1;
+}
+if (szip_can_encode) {
+ /* set szip data */
+ if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block)<0)
+  goto out;
+} else {
+ /* WARNING? SZIP is decoder only, can't generate test data using szip */
+}
+#endif
+
+#if defined (H5_HAVE_FILTER_DEFLATE)
+ /* set deflate data */
+ if(H5Pset_deflate(dcpl, 9)<0)
+  goto out;
+#endif
+
+ if (make_dset(loc_id,"dset_all",sid,dcpl,buf)<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * fletcher32
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5_HAVE_FILTER_FLETCHER32)
+ /* remove the filters from the dcpl */
+ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
+  goto out;
+ /* set the checksum filter */
+ if (H5Pset_fletcher32(dcpl)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf)<0)
+  goto out;
+#endif
+
+/*-------------------------------------------------------------------------
+ * SZIP
+ *-------------------------------------------------------------------------
+ */
+ /* Make sure encoding is enabled */
+#if defined (H5_HAVE_FILTER_SZIP)
+if (szip_can_encode) {
+ /* remove the filters from the dcpl */
+ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
+  goto out;
+ /* set szip data */
+ if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_szip",sid,dcpl,buf)<0)
+  goto out;
+} else {
+ /* WARNING? SZIP is decoder only, can't generate test dataset */
+}
+#endif
+
+/*-------------------------------------------------------------------------
+ * shuffle
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5_HAVE_FILTER_SHUFFLE)
+ /* remove the filters from the dcpl */
+ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
+  goto out;
+ /* set the shuffle filter */
+ if (H5Pset_shuffle(dcpl)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf)<0)
+  goto out;
+#endif
+
+/*-------------------------------------------------------------------------
+ * GZIP
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5_HAVE_FILTER_DEFLATE)
+ /* remove the filters from the dcpl */
+ if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
+  goto out;
+ /* set deflate data */
+ if(H5Pset_deflate(dcpl, 1)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_deflate",sid,dcpl,buf)<0)
+  goto out;
+#endif
+
+
+/*-------------------------------------------------------------------------
+ * close space and dcpl
+ *-------------------------------------------------------------------------
+ */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_early
+ *
+ * Purpose: create a file for the H5D_ALLOC_TIME_EARLY test
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_early(void)
+{
+ hsize_t dims[1] ={3000};
+ hsize_t cdims[1]={30};
+ hid_t   fid=-1;
+ hid_t   dset_id=-1;
+ hid_t   sid=-1;
+ hid_t   tid=-1;
+ hid_t   dcpl=-1;
+ int     i;
+ char    name[10];
+ int     iter=100;
+
+ if ((fid = H5Fcreate(FNAME5,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+ if (H5Fclose(fid)<0)
+  goto out;
+
+ if ((sid = H5Screate_simple(1, dims, NULL))<0)
+  goto out;
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ if (H5Pset_chunk(dcpl,1,cdims)<0)
+  goto out;
+ if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY)<0)
+  goto out;
+
+ for (i=0; i<iter; i++)
+ {
+  if ((fid = H5Fopen(FNAME5,H5F_ACC_RDWR,H5P_DEFAULT))<0)
+   goto out;
+  if ((dset_id = H5Dcreate(fid,"early",H5T_NATIVE_DOUBLE,sid,dcpl))<0)
+   goto out;
+  if ((tid = H5Tcopy(H5T_NATIVE_DOUBLE))<0)
+   goto out;
+  sprintf(name,"%d", i);
+  if ((H5Tcommit(fid,name,tid))<0)
+   goto out;
+  if (H5Tclose(tid)<0)
+   goto out;
+  if (H5Dclose(dset_id)<0)
+   goto out;
+  if (H5Gunlink(fid,"early")<0)
+   goto out;
+  if (H5Fclose(fid)<0)
+   goto out;
+ }
+
+/*-------------------------------------------------------------------------
+ * do the same without close/opening the file and creating the dataset
+ *-------------------------------------------------------------------------
+ */
+
+ if ((fid = H5Fcreate(FNAME6,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
+  return -1;
+
+ for (i=0; i<iter; i++)
+ {
+  if ((tid = H5Tcopy(H5T_NATIVE_DOUBLE))<0)
+   goto out;
+  sprintf(name,"%d", i);
+  if ((H5Tcommit(fid,name,tid))<0)
+   goto out;
+  if (H5Tclose(tid)<0)
+   goto out;
+ }
+
+ if (H5Sclose(sid)<0)
+  goto out;
+ if (H5Pclose(dcpl)<0)
+  goto out;
+ if (H5Fclose(fid)<0)
+  goto out;
+
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Tclose(tid);
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+  H5Dclose(dset_id);
+  H5Fclose(fid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_layout
+ *
+ * Purpose: make several datasets with several layouts in location LOC_ID
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_layout(hid_t loc_id)
+{
+ hid_t    dcpl; /* dataset creation property list */
+ hid_t    sid;  /* dataspace ID */
+ hsize_t  dims[RANK]={DIM1,DIM2};
+ hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
+ int      buf[DIM1][DIM2];
+ int      i, j, n;
+ char     name[6];
+
+
+ for (i=n=0; i<DIM1; i++){
+  for (j=0; j<DIM2; j++){
+   buf[i][j]=n++;
+  }
+ }
+
+/*-------------------------------------------------------------------------
+ * make several dataset with no filters
+ *-------------------------------------------------------------------------
+ */
+ for (i=0; i<4; i++)
+ {
+  sprintf(name,"dset%d",i+1);
+  if (write_dset(loc_id,RANK,dims,name,H5T_NATIVE_INT,buf)<0)
+   return -1;
+ }
+
+
+/*-------------------------------------------------------------------------
+ * make several dataset with several layout options
+ *-------------------------------------------------------------------------
+ */
+ /* create a space */
+ if((sid = H5Screate_simple(RANK, dims, NULL))<0)
+  return -1;
+ /* create a dataset creation property list; the same DCPL is used for all dsets */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * H5D_COMPACT
+ *-------------------------------------------------------------------------
+ */
+ if(H5Pset_layout (dcpl,H5D_COMPACT)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_compact",sid,dcpl,buf)<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * H5D_CONTIGUOUS
+ *-------------------------------------------------------------------------
+ */
+ if(H5Pset_layout (dcpl,H5D_CONTIGUOUS)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_contiguous",sid,dcpl,buf)<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * H5D_CHUNKED
+ *-------------------------------------------------------------------------
+ */
+ if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
+  goto out;
+ if (make_dset(loc_id,"dset_chunk",sid,dcpl,buf)<0)
+  goto out;
+
+/*-------------------------------------------------------------------------
+ * close space and dcpl
+ *-------------------------------------------------------------------------
+ */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: make a file with an integer dataset with a fill value
+ *
+ * Purpose: test copy of fill values
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_fill(hid_t loc_id)
+{
+ hid_t   did=-1;
+ hid_t   sid=-1;
+ hid_t   dcpl;
+ hsize_t dims[2]={3,2};
+ int     buf[3][2]= {{1,1},{1,2},{2,2}};
+ int     fillvalue=2;
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER, write a fill value
+ *-------------------------------------------------------------------------
+ */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ if (H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillvalue)<0)
+  goto out;
+ if ((sid = H5Screate_simple(2,dims,NULL))<0)
+  goto out;
+ if ((did = H5Dcreate(loc_id,"dset_fill",H5T_NATIVE_INT,sid,dcpl))<0)
+  goto out;
+ if (H5Dwrite(did,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+  goto out;
+
+ /* close */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+ if(H5Dclose(did)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+  H5Dclose(did);
+ } H5E_END_TRY;
+ return -1;
+
+}
+
+/*-------------------------------------------------------------------------
+ * Function: make_big 
+ *
+ * Purpose: used in test read by hyperslabs. Creates a 128MB dataset.
+ *  Only 1 1024Kb hyperslab is written.
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int make_big(hid_t loc_id)
+{
+ hid_t   did=-1;
+ hid_t   f_sid=-1;
+ hid_t   m_sid=-1;
+ hid_t   tid;
+ hid_t   dcpl;
+ hsize_t dims[1]={ H5TOOLS_MALLOCSIZE + 1}; /* dataset dimensions */
+ hsize_t hs_size[1];                     /* hyperslab dimensions */
+ hsize_t hs_start[1];                    /* hyperslab start */
+ hsize_t chunk_dims[1]={1024};           /* chunk dimensions */
+ size_t  size;
+ size_t  nelmts=(size_t)1024;
+ signed  char fillvalue=-1;
+ signed  char *buf=NULL;
+
+ /* write one 1024 byte hyperslab */
+ hs_start[0] = 0;
+ hs_size[0]  = 1024;
+
+ /* create */ 
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ if (H5Pset_fill_value(dcpl, H5T_NATIVE_SCHAR, &fillvalue)<0)
+  goto out;
+ if(H5Pset_chunk(dcpl, 1, chunk_dims)<0)
+  goto out;
+ if ((f_sid = H5Screate_simple(1,dims,NULL))<0)
+  goto out;
+ if ((did = H5Dcreate(loc_id,"dset",H5T_NATIVE_SCHAR,f_sid,dcpl))<0)
+  goto out;
+ if ((m_sid = H5Screate_simple(1, hs_size, hs_size))<0) 
+  goto out;
+ if ((tid = H5Dget_type(did))<0) 
+  goto out;
+ if ((size = H5Tget_size(tid))<=0)
+  goto out;
+ 
+ /* initialize buffer to 0  */
+ buf=(signed  char *) calloc( nelmts, size);
+ 
+ if (H5Sselect_hyperslab (f_sid,H5S_SELECT_SET,hs_start,NULL,hs_size, NULL)<0) 
+  goto out;
+ if (H5Dwrite (did,H5T_NATIVE_SCHAR,m_sid,f_sid,H5P_DEFAULT,buf)<0) 
+  goto out;
+
+ free(buf);
+ buf=NULL;
+
+ /* close */
+ if(H5Sclose(f_sid)<0)
+  goto out;
+ if(H5Sclose(m_sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+ if(H5Dclose(did)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(f_sid);
+  H5Sclose(m_sid);
+  H5Dclose(did);
+ } H5E_END_TRY;
+ return -1;
+
+}
+
+/*-------------------------------------------------------------------------
+ * Function: make_external 
+ *
+ * Purpose: create a external dataset
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int make_external(hid_t loc_id)
+{
+ hid_t   did=-1;
+ hid_t   sid=-1;
+ hid_t   dcpl;
+ int     buf[2]={1,2};
+ hsize_t cur_size[1];		/* data space current size	*/
+ hsize_t max_size[1];		/* data space maximum size	*/
+ hsize_t size;
+
+ cur_size[0] = max_size[0] = 2;
+ size = max_size[0] * sizeof(int);
+ 
+ /* create */ 
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
+  goto out;
+ if (H5Pset_external(dcpl, H5REPACK_EXTFILE, (off_t)0, size)<0) 
+  goto out;
+ if ((sid = H5Screate_simple(1,cur_size, max_size))<0)
+  goto out;
+ if ((did = H5Dcreate(loc_id,"external",H5T_NATIVE_INT,sid,dcpl))<0)
+  goto out;
+ if (H5Dwrite(did,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+  goto out;
+
+ /* close */
+ if(H5Sclose(sid)<0)
+  goto out;
+ if(H5Pclose(dcpl)<0)
+  goto out;
+ if(H5Dclose(did)<0)
+  goto out;
+
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Pclose(dcpl);
+  H5Sclose(sid);
+  H5Dclose(did);
+ } H5E_END_TRY;
+ return -1;
+
+}
+
+/*-------------------------------------------------------------------------
+ * Function: write_dset_in
+ *
+ * Purpose: write datasets in LOC_ID
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 12, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+
+void write_dset_in(hid_t loc_id,
+                   const char* dset_name, /* for saving reference to dataset*/
+                   hid_t file_id,
+                   int make_diffs /* flag to modify data buffers */)
+{
+ /* Compound datatype */
+ typedef struct s_t
+ {
+  char   a;
+  double b;
+ } s_t;
+
+ typedef enum
+ {
+  RED,
+  GREEN
+ } e_t;
+
+ hid_t   dset_id;
+ hid_t   space_id;
+ hid_t   type_id;
+ hid_t   plist_id;
+ herr_t  status;
+ int     val, i, j, k, n;
+ float   f;
+
+ /* create 1D attributes with dimension [2], 2 elements */
+ hsize_t    dims[1]={2};
+ hsize_t    dims1r[1]={2};
+ char       buf1[2][2]= {"ab","de"};        /* string */
+ char       buf2[2]= {1,2};                 /* bitfield, opaque */
+ s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
+ hobj_ref_t buf4[2];                        /* reference */
+ e_t        buf45[2]= {RED,GREEN};          /* enum */
+ hvl_t      buf5[2];                        /* vlen */
+ hsize_t    dimarray[1]={3};                /* array dimension */
+ int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
+ int        buf7[2]= {1,2};                 /* integer */
+ float      buf8[2]= {1,2};                 /* float */
+
+ /* create 2D attributes with dimension [3][2], 6 elements */
+ hsize_t    dims2[2]={3,2};
+ hsize_t    dims2r[2]={1,1};
+ char       buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};         /* string */
+ char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
+ s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
+ hobj_ref_t buf42[1][1];                                          /* reference */
+ hvl_t      buf52[3][2];                                          /* vlen */
+ int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
+ int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
+ float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
+
+ /* create 3D attributes with dimension [4][3][2], 24 elements */
+ hsize_t    dims3[3]={4,3,2};
+ hsize_t    dims3r[3]={1,1,1};
+ char       buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
+ "rs","tu","vw","xz","AB","CD","EF","GH",
+ "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
+ char       buf23[4][3][2];    /* bitfield, opaque */
+ s_t        buf33[4][3][2];    /* compound */
+ hobj_ref_t buf43[1][1][1];    /* reference */
+ hvl_t      buf53[4][3][2];    /* vlen */
+ int        buf63[24][3];      /* array */
+ int        buf73[4][3][2];    /* integer */
+ float      buf83[4][3][2];    /* float */
+
+
+/*-------------------------------------------------------------------------
+ * 1D
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<2; j++)
+   {
+    buf1[i][j]='z';
+   }
+ }
+
+
+ type_id = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(type_id, 2);
+ write_dset(loc_id,1,dims,"string",type_id,buf1);
+ status = H5Tclose(type_id);
+
+
+ /* create hard link */
+ status = H5Glink(loc_id, H5G_LINK_HARD, "string", "string_link");
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   buf2[i]=buf2[1]=0;
+ }
+
+ type_id = H5Tcopy(H5T_STD_B8LE);
+ write_dset(loc_id,1,dims,"bitfield",type_id,buf2);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf3[i].a=0; buf3[i].b=0;
+  }
+ }
+
+ type_id = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
+ write_dset(loc_id,1,dims,"opaque",type_id,buf2);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf45[i]=GREEN;
+  }
+ }
+
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_dset(loc_id,1,dims,"compound",type_id,buf3);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ /* object references ( H5R_OBJECT ) */
+ buf4[0]=0;
+ buf4[1]=0;
+ if (dset_name)
+ {
+  status=H5Rcreate(&buf4[0],file_id,dset_name,H5R_OBJECT,-1);
+  write_dset(loc_id,1,dims1r,"refobj",H5T_STD_REF_OBJ,buf4);
+ }
+
+ /* Dataset region reference ( H5R_DATASET_REGION  )  */
+ make_dset_reg_ref(loc_id);
+
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+ type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(type_id, "RED",   (val = 0, &val));
+ H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
+ write_dset(loc_id,1,dims,"enum",type_id,buf45);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+
+ buf5[0].len = 1;
+ buf5[0].p = malloc( 1 * sizeof(int));
+ ((int *)buf5[0].p)[0]=1;
+ buf5[1].len = 2;
+ buf5[1].p = malloc( 2 * sizeof(int));
+ ((int *)buf5[1].p)[0]=2;
+ ((int *)buf5[1].p)[1]=3;
+
+ if (make_diffs)
+ {
+  ((int *)buf5[0].p)[0]=0;
+  ((int *)buf5[1].p)[0]=0;
+  ((int *)buf5[1].p)[1]=0;
+ }
+
+ space_id = H5Screate_simple(1,dims,NULL);
+ type_id = H5Tvlen_create(H5T_NATIVE_INT);
+ dset_id = H5Dcreate(loc_id,"vlen",type_id,space_id,H5P_DEFAULT);
+ status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf5);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf5);
+ assert(status>=0);
+ status = H5Dclose(dset_id);
+ status = H5Tclose(type_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<3; j++)
+   {
+    buf6[i][j]=0;
+   }
+ }
+
+ type_id = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_dset(loc_id,1,dims,"array",type_id,buf6);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf7[i]=0;
+   buf8[i]=0;
+  }
+ }
+
+ write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
+ write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
+
+
+/*-------------------------------------------------------------------------
+ * 2D
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf12, 'z', sizeof buf12);
+ }
+
+
+ type_id = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(type_id, 2);
+ write_dset(loc_id,2,dims2,"string2D",type_id,buf12);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  memset(buf22,0,sizeof buf22);
+ }
+
+ type_id = H5Tcopy(H5T_STD_B8LE);
+ write_dset(loc_id,2,dims2,"bitfield2D",type_id,buf22);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ type_id = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
+ write_dset(loc_id,2,dims2,"opaque2D",type_id,buf22);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf32,0,sizeof buf32);
+ }
+
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_dset(loc_id,2,dims2,"compound2D",type_id,buf32);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 1; i++) {
+   for (j = 0; j < 1; j++) {
+    status=H5Rcreate(&buf42[i][j],file_id,dset_name,H5R_OBJECT,-1);
+   }
+  }
+  write_dset(loc_id,2,dims2r,"refobj2D",H5T_STD_REF_OBJ,buf42);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+
+ type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(type_id, "RED",   (val = 0, &val));
+ H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
+ write_dset(loc_id,2,dims2,"enum2D",type_id,0);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+/* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 3; i++) {
+  for (j = 0; j < 2; j++) {
+    int l;
+    buf52[i][j].p = malloc((i + 1) * sizeof(int));
+    buf52[i][j].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
+    else ((int *)buf52[i][j].p)[l] = n++;
+  }
+ }
+
+ space_id = H5Screate_simple(2,dims2,NULL);
+ type_id = H5Tvlen_create(H5T_NATIVE_INT);
+ dset_id = H5Dcreate(loc_id,"vlen2D",type_id,space_id,H5P_DEFAULT);
+ status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf52);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf52);
+ assert(status>=0);
+ status = H5Dclose(dset_id);
+ status = H5Tclose(type_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf62,0,sizeof buf62);
+ }
+
+
+ type_id = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_dset(loc_id,2,dims2,"array2D",type_id,buf62);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER, write a fill value
+ *-------------------------------------------------------------------------
+ */
+
+
+ if (make_diffs)
+ {
+  memset(buf72,0,sizeof buf72);
+  memset(buf82,0,sizeof buf82);
+ }
+
+
+ plist_id = H5Pcreate(H5P_DATASET_CREATE);
+ space_id = H5Screate_simple(2,dims2,NULL);
+ dset_id = H5Dcreate(loc_id,"integer2D",H5T_NATIVE_INT,space_id,plist_id);
+ status = H5Dwrite(dset_id,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf72);
+ status = H5Pclose(plist_id);
+ status = H5Dclose(dset_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ write_dset(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
+
+
+/*-------------------------------------------------------------------------
+ * 3D
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf13,'z',sizeof buf13);
+ }
+
+ type_id = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(type_id, 2);
+ write_dset(loc_id,3,dims3,"string3D",type_id,buf13);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) buf23[i][j][k]=0;
+    else buf23[i][j][k]=n++;
+   }
+  }
+ }
+
+
+ type_id = H5Tcopy(H5T_STD_B8LE);
+ write_dset(loc_id,3,dims3,"bitfield3D",type_id,buf23);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ type_id = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
+ write_dset(loc_id,3,dims3,"opaque3D",type_id,buf23);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf33[i][j][k].a=0;
+     buf33[i][j][k].b=0;
+    }
+    else {
+     buf33[i][j][k].a=n++;
+     buf33[i][j][k].b=n++;
+    }
+   }
+  }
+ }
+
+
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ write_dset(loc_id,3,dims3,"compound3D",type_id,buf33);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 1; i++) {
+   for (j = 0; j < 1; j++) {
+    for (k = 0; k < 1; k++)
+     status=H5Rcreate(&buf43[i][j][k],file_id,dset_name,H5R_OBJECT,-1);
+   }
+  }
+ write_dset(loc_id,3,dims3r,"refobj3D",H5T_STD_REF_OBJ,buf43);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+
+ type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(type_id, "RED",   (val = 0, &val));
+ H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
+ write_dset(loc_id,3,dims3,"enum3D",type_id,0);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    int l;
+    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+    buf53[i][j][k].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
+    else ((int *)buf53[i][j][k].p)[l] = n++;
+   }
+  }
+ }
+
+ space_id = H5Screate_simple(3,dims3,NULL);
+ type_id = H5Tvlen_create(H5T_NATIVE_INT);
+ dset_id = H5Dcreate(loc_id,"vlen3D",type_id,space_id,H5P_DEFAULT);
+ status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf53);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf53);
+ assert(status>=0);
+ status = H5Dclose(dset_id);
+ status = H5Tclose(type_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+
+ n=1;
+ for (i = 0; i < 24; i++) {
+  for (j = 0; j < (int)dimarray[0]; j++) {
+    if (make_diffs) buf63[i][j]=0;
+    else buf63[i][j]=n++;
+  }
+ }
+
+ type_id = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ write_dset(loc_id,3,dims3,"array3D",type_id,buf63);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ n=1; f=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf73[i][j][k]=0;
+     buf83[i][j][k]=0;
+    }
+    else {
+     buf73[i][j][k]=n++;
+     buf83[i][j][k]=f++;
+    }
+   }
+  }
+ }
+ write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
+ write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_dset_reg_ref
+ *
+ * Purpose: write dataset region references
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#define SPACE1_RANK 1
+#define SPACE1_DIM1 1
+#define SPACE2_RANK 2
+#define SPACE2_DIM1 10
+#define SPACE2_DIM2 10
+#define NPOINTS 10
+
+void make_dset_reg_ref(hid_t loc_id)
+{
+ hid_t           dset1; /* Dataset ID   */
+ hid_t           dset2; /* Dereferenced dataset ID */
+ hid_t           sid1;  /* Dataspace ID #1  */
+ hid_t           sid2;  /* Dataspace ID #2  */
+ hsize_t         dims1[] = {SPACE1_DIM1};
+ hsize_t         dims2[] = {SPACE2_DIM1, SPACE2_DIM2};
+ hsize_t         start[SPACE2_RANK];     /* Starting location of hyperslab */
+ hsize_t         stride[SPACE2_RANK];    /* Stride of hyperslab */
+ hsize_t         count[SPACE2_RANK];     /* Element count of hyperslab */
+ hsize_t         block[SPACE2_RANK];     /* Block size of hyperslab */
+ hdset_reg_ref_t *wbuf;  /* buffer to write to disk */
+ int             *dwbuf; /* Buffer for writing numeric data to disk */
+ int             i;      /* counting variables */
+ herr_t          ret;    /* Generic return value  */
+
+ /* Allocate write & read buffers */
+ wbuf=calloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1);
+ dwbuf=malloc(sizeof(int)*SPACE2_DIM1*SPACE2_DIM2);
+
+ /* Create dataspace for datasets */
+ sid2 = H5Screate_simple(SPACE2_RANK, dims2, NULL);
+
+ /* Create a dataset */
+ dset2=H5Dcreate(loc_id,"dsetreg",H5T_NATIVE_UCHAR,sid2,H5P_DEFAULT);
+
+ for(i=0; i<SPACE2_DIM1*SPACE2_DIM2; i++)
+  dwbuf[i]=i*3;
+
+ /* Write selection to disk */
+ ret=H5Dwrite(dset2,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,dwbuf);
+
+ /* Close Dataset */
+ ret = H5Dclose(dset2);
+
+ /* Create dataspace for the reference dataset */
+ sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
+
+ /* Create a dataset */
+ dset1=H5Dcreate(loc_id,"refreg",H5T_STD_REF_DSETREG,sid1,H5P_DEFAULT);
+
+ /* Create references */
+
+ /* Select 6x6 hyperslab for first reference */
+ start[0]=2; start[1]=2;
+ stride[0]=1; stride[1]=1;
+ count[0]=6; count[1]=6;
+ block[0]=1; block[1]=1;
+ ret = H5Sselect_hyperslab(sid2,H5S_SELECT_SET,start,stride,count,block);
+
+ /* Store dataset region */
+ ret = H5Rcreate(&wbuf[0],loc_id,"dsetreg",H5R_DATASET_REGION,sid2);
+
+ /* Write selection to disk */
+ ret=H5Dwrite(dset1,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf);
+
+ /* Close all objects */
+ ret = H5Sclose(sid1);
+ ret = H5Dclose(dset1);
+ ret = H5Sclose(sid2);
+
+ free(wbuf);
+ free(dwbuf);
+}
+
+/*-------------------------------------------------------------------------
+ * Function: write_attr_in
+ *
+ * Purpose: write attributes in LOC_ID (dataset, group, named datatype)
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 12, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+
+void write_attr_in(hid_t loc_id,
+                   const char* dset_name, /* for saving reference to dataset*/
+                   hid_t fid, /* for reference create */
+                   int make_diffs /* flag to modify data buffers */)
+{
+ /* Compound datatype */
+ typedef struct s_t
+ {
+  char   a;
+  double b;
+ } s_t;
+
+ typedef enum
+ {
+  RED,
+  GREEN
+ } e_t;
+
+ hid_t   attr_id;
+ hid_t   space_id;
+ hid_t   type_id;
+ herr_t  status;
+ int     val, i, j, k, n;
+ float   f;
+
+ /* create 1D attributes with dimension [2], 2 elements */
+ hsize_t    dims[1]={2};
+ char       buf1[2][2]= {"ab","de"};        /* string */
+ char       buf2[2]= {1,2};                 /* bitfield, opaque */
+ s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
+ hobj_ref_t buf4[2];                        /* reference */
+ e_t        buf45[2]= {RED,RED};            /* enum */
+ hvl_t      buf5[2];                        /* vlen */
+ hsize_t    dimarray[1]={3};                /* array dimension */
+ int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
+ int        buf7[2]= {1,2};                 /* integer */
+ float      buf8[2]= {1,2};                 /* float */
+
+ /* create 2D attributes with dimension [3][2], 6 elements */
+ hsize_t    dims2[2]={3,2};
+ char       buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};         /* string */
+ char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
+ s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
+ hobj_ref_t buf42[3][2];                                          /* reference */
+ e_t        buf452[3][2];                                         /* enum */
+ hvl_t      buf52[3][2];                                          /* vlen */
+ int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
+ int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
+ float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
+
+ /* create 3D attributes with dimension [4][3][2], 24 elements */
+ hsize_t    dims3[3]={4,3,2};
+ char       buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
+ "rs","tu","vw","xz","AB","CD","EF","GH",
+ "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
+ char       buf23[4][3][2];    /* bitfield, opaque */
+ s_t        buf33[4][3][2];    /* compound */
+ hobj_ref_t buf43[4][3][2];    /* reference */
+ e_t        buf453[4][3][2];   /* enum */
+ hvl_t      buf53[4][3][2];    /* vlen */
+ int        buf63[24][3];      /* array */
+ int        buf73[4][3][2];    /* integer */
+ float      buf83[4][3][2];    /* float */
+
+
+/*-------------------------------------------------------------------------
+ * 1D attributes
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<2; j++)
+   {
+    buf1[i][j]='z';
+   }
+ }
+ /*
+ buf1[2][2]= {"ab","de"};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <string> and <string>
+ position      string of </g1>  string of </g1> difference
+ ------------------------------------------------------------
+[ 0 ]          a                z
+[ 0 ]          b                z
+[ 1 ]          d                z
+[ 1 ]          e                z
+ */
+ type_id = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(type_id, 2);
+ make_attr(loc_id,1,dims,"string",type_id,buf1);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   buf2[i]=buf2[1]=0;
+ }
+ /*
+ buf2[2]= {1,2};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <bitfield> and <bitfield>
+ position      bitfield of </g1> bitfield of </g1> difference
+ position        opaque of </g1> opaque of </g1> difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 1 ]          2               0               2
+ */
+
+ type_id = H5Tcopy(H5T_STD_B8LE);
+ make_attr(loc_id,1,dims,"bitfield",type_id,buf2);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+
+ /*
+ buf2[2]= {1,2};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <opaque> and <opaque>
+ position     opaque of </g1> opaque of </g1> difference
+ position        opaque of </g1> opaque of </g1> difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 1 ]          2               0               2
+*/
+
+ type_id = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
+ make_attr(loc_id,1,dims,"opaque",type_id,buf2);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf3[i].a=0; buf3[i].b=0;
+  }
+ }
+
+ /*
+ buf3[2]= {{1,2},{3,4}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <compound> and <compound>
+ position        compound of </g1> compound of </g1> difference
+ ------------------------------------------------------------
+ [ 0 ]          1               5               4
+ [ 0 ]          2               5               3
+ [ 1 ]          3               5               2
+ [ 1 ]          4               5               1
+ */
+
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ make_attr(loc_id,1,dims,"compound",type_id,buf3);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ /* object references ( H5R_OBJECT  */
+ if (dset_name)
+ {
+  status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,-1);
+  status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,-1);
+  make_attr(loc_id,1,dims,"reference",H5T_STD_REF_OBJ,buf4);
+ }
+
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf45[i]=GREEN;
+  }
+ }
+ /*
+ buf45[2]= {RED,RED};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <enum> and <enum>
+ position     enum of </g1>   enum of </g1>   difference
+------------------------------------------------------------
+[ 0 ]          RED              GREEN
+[ 1 ]          RED              GREEN
+ */
+ type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(type_id, "RED",   (val = 0, &val));
+ H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
+ make_attr(loc_id,1,dims,"enum",type_id,buf45);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+
+ buf5[0].len = 1;
+ buf5[0].p = malloc( 1 * sizeof(int));
+ ((int *)buf5[0].p)[0]=1;
+ buf5[1].len = 2;
+ buf5[1].p = malloc( 2 * sizeof(int));
+ ((int *)buf5[1].p)[0]=2;
+ ((int *)buf5[1].p)[1]=3;
+
+ if (make_diffs)
+ {
+  ((int *)buf5[0].p)[0]=0;
+  ((int *)buf5[1].p)[0]=0;
+  ((int *)buf5[1].p)[1]=0;
+ }
+ /*
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ position        vlen of </g1>   vlen of </g1>   difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 1 ]          2               0               2
+[ 1 ]          3               0               3
+ */
+
+ space_id = H5Screate_simple(1,dims,NULL);
+ type_id = H5Tvlen_create(H5T_NATIVE_INT);
+ attr_id = H5Acreate(loc_id,"vlen",type_id,space_id,H5P_DEFAULT);
+ status = H5Awrite(attr_id,type_id,buf5);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf5);
+ assert(status>=0);
+ status = H5Aclose(attr_id);
+ status = H5Tclose(type_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+   for (j=0; j<3; j++)
+   {
+    buf6[i][j]=0;
+   }
+ }
+ /*
+ buf6[2][3]= {{1,2,3},{4,5,6}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ Attribute:   <array> and <array>
+position        array of </g1>  array of </g1>  difference
+------------------------------------------------------------
+[ 0 ]          1               0               1
+[ 0 ]          2               0               2
+[ 0 ]          3               0               3
+[ 1 ]          4               0               4
+[ 1 ]          5               0               5
+[ 1 ]          6               0               6
+ */
+ type_id = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ make_attr(loc_id,1,dims,"array",type_id,buf6);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  for (i=0; i<2; i++)
+  {
+   buf7[i]=0;
+   buf8[i]=0;
+  }
+ }
+ /*
+ buf7[2]= {1,2};
+ buf8[2]= {1,2};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+ position        integer of </g1> integer of </g1> difference
+ ------------------------------------------------------------
+ [ 0 ]          1               0               1
+ [ 1 ]          2               0               2
+ position        float of </g1>  float of </g1>  difference
+ ------------------------------------------------------------
+ [ 0 ]          1               0               1
+ [ 1 ]          2               0               2
+ */
+ make_attr(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
+ make_attr(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
+
+
+/*-------------------------------------------------------------------------
+ * 2D attributes
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+ if (make_diffs)
+ {
+  memset(buf12, 'z', sizeof buf12);
+ }
+
+ /*
+ buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <string2D> and <string2D>
+ position        string2D of </g1> string2D of </g1> difference
+ ------------------------------------------------------------
+[ 0 0 ]          a                z
+[ 0 0 ]          b                z
+[ 0 1 ]          c                z
+[ 0 1 ]          d                z
+[ 1 0 ]          e                z
+[ 1 0 ]          f                z
+[ 1 1 ]          g                z
+[ 1 1 ]          h                z
+[ 2 0 ]          i                z
+[ 2 0 ]          j                z
+[ 2 1 ]          k                z
+[ 2 1 ]          l                z
+ */
+
+ type_id = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(type_id, 2);
+ make_attr(loc_id,2,dims2,"string2D",type_id,buf12);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf22,0,sizeof buf22);
+ }
+
+ /*
+ buf22[3][2]= {{1,2},{3,4},{5,6}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <bitfield2D> and <bitfield2D>
+ position        bitfield2D of </g1> bitfield2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+ */
+
+
+ type_id = H5Tcopy(H5T_STD_B8LE);
+ make_attr(loc_id,2,dims2,"bitfield2D",type_id,buf22);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+
+ /*
+ buf22[3][2]= {{1,2},{3,4},{5,6}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <opaque2D> and <opaque2D>
+ position        opaque2D of </g1> opaque2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+ */
+ type_id = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
+ make_attr(loc_id,2,dims2,"opaque2D",type_id,buf22);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+ if (make_diffs)
+ {
+  memset(buf32,0,sizeof buf32);
+ }
+
+ /*
+ buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Attribute:   <opaque2D> and <opaque2D>
+ position        opaque2D of </g1> opaque2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+ */
+
+
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ make_attr(loc_id,2,dims2,"compound2D",type_id,buf32);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 3; i++) {
+   for (j = 0; j < 2; j++) {
+    status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1);
+   }
+  }
+  make_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+ for (i=0; i<3; i++)
+  for (j=0; j<2; j++)
+  {
+   if (make_diffs) buf452[i][j]=GREEN; else buf452[i][j]=RED;
+  }
+
+/*
+Attribute:   <enum2D> and <enum2D>
+position        enum2D of </g1> enum2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          RED              GREEN
+[ 0 1 ]          RED              GREEN
+[ 1 0 ]          RED              GREEN
+[ 1 1 ]          RED              GREEN
+[ 2 0 ]          RED              GREEN
+[ 2 1 ]          RED              GREEN
+*/
+
+ type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(type_id, "RED",   (val = 0, &val));
+ H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
+ make_attr(loc_id,2,dims2,"enum2D",type_id,buf452);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 3; i++) {
+  for (j = 0; j < 2; j++) {
+    int l;
+    buf52[i][j].p = malloc((i + 1) * sizeof(int));
+    buf52[i][j].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
+    else ((int *)buf52[i][j].p)[l] = n++;
+  }
+ }
+
+ /*
+ position        vlen2D of </g1> vlen2D of </g1> difference
+------------------------------------------------------------
+[ 0 1 ]          1               0               1
+[ 1 0 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 1 1 ]          5               0               5
+[ 2 0 ]          6               0               6
+[ 2 0 ]          7               0               7
+[ 2 0 ]          8               0               8
+[ 2 1 ]          9               0               9
+[ 2 1 ]          10              0               10
+[ 2 1 ]          11              0               11
+*/
+
+ space_id = H5Screate_simple(2,dims2,NULL);
+ type_id = H5Tvlen_create(H5T_NATIVE_INT);
+ attr_id = H5Acreate(loc_id,"vlen2D",type_id,space_id,H5P_DEFAULT);
+ status = H5Awrite(attr_id,type_id,buf52);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf52);
+ assert(status>=0);
+ status = H5Aclose(attr_id);
+ status = H5Tclose(type_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf62,0,sizeof buf62);
+ }
+ /*
+ buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};
+ $h5diff file7.h5 file6.h5 g1 g1 -v
+ Group:       </g1> and </g1>
+Attribute:   <array2D> and <array2D>
+position        array2D of </g1> array2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 0 ]          2               0               2
+[ 0 0 ]          3               0               3
+[ 0 1 ]          4               0               4
+[ 0 1 ]          5               0               5
+[ 0 1 ]          6               0               6
+[ 1 0 ]          7               0               7
+[ 1 0 ]          8               0               8
+[ 1 0 ]          9               0               9
+[ 1 1 ]          10              0               10
+[ 1 1 ]          11              0               11
+[ 1 1 ]          12              0               12
+[ 2 0 ]          13              0               13
+[ 2 0 ]          14              0               14
+[ 2 0 ]          15              0               15
+[ 2 1 ]          16              0               16
+[ 2 1 ]          17              0               17
+[ 2 1 ]          18              0               18
+ */
+ type_id = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ make_attr(loc_id,2,dims2,"array2D",type_id,buf62);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf72,0,sizeof buf72);
+  memset(buf82,0,sizeof buf82);
+ }
+/*
+Attribute:   <integer2D> and <integer2D>
+position        integer2D of </g1> integer2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+6 differences found
+Attribute:   <float2D> and <float2D>
+position        float2D of </g1> float2D of </g1> difference
+------------------------------------------------------------
+[ 0 0 ]          1               0               1
+[ 0 1 ]          2               0               2
+[ 1 0 ]          3               0               3
+[ 1 1 ]          4               0               4
+[ 2 0 ]          5               0               5
+[ 2 1 ]          6               0               6
+*/
+
+ make_attr(loc_id,2,dims2,"integer2D",H5T_NATIVE_INT,buf72);
+ make_attr(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
+
+
+/*-------------------------------------------------------------------------
+ * 3D attributes
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * H5T_STRING
+ *-------------------------------------------------------------------------
+ */
+
+ if (make_diffs)
+ {
+  memset(buf13,'z',sizeof buf13);
+ }
+
+ /*
+ buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
+ "rs","tu","vw","xz","AB","CD","EF","GH",
+ "IJ","KL","MN","PQ","RS","TU","VW","XZ"};
+
+Attribute:   <string3D> and <string3D>
+position        string3D of </g1> string3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          a                z
+[ 0 0 0 ]          b                z
+[ 0 0 1 ]          c                z
+[ 0 0 1 ]          d                z
+[ 0 1 0 ]          e                z
+[ 0 1 0 ]          f                z
+[ 0 1 1 ]          g                z
+[ 0 1 1 ]          h                z
+[ 0 2 0 ]          i                z
+[ 0 2 0 ]          j                z
+[ 0 2 1 ]          k                z
+[ 0 2 1 ]          l                z
+[ 1 0 0 ]          m                z
+[ 1 0 0 ]          n                z
+[ 1 0 1 ]          p                z
+[ 1 0 1 ]          q                z
+[ 1 1 0 ]          r                z
+[ 1 1 0 ]          s                z
+[ 1 1 1 ]          t                z
+[ 1 1 1 ]          u                z
+[ 1 2 0 ]          v                z
+[ 1 2 0 ]          w                z
+[ 1 2 1 ]          x                z
+[ 2 0 0 ]          A                z
+[ 2 0 0 ]          B                z
+[ 2 0 1 ]          C                z
+[ 2 0 1 ]          D                z
+[ 2 1 0 ]          E                z
+[ 2 1 0 ]          F                z
+[ 2 1 1 ]          G                z
+[ 2 1 1 ]          H                z
+[ 2 2 0 ]          I                z
+[ 2 2 0 ]          J                z
+[ 2 2 1 ]          K                z
+[ 2 2 1 ]          L                z
+[ 3 0 0 ]          M                z
+[ 3 0 0 ]          N                z
+[ 3 0 1 ]          P                z
+[ 3 0 1 ]          Q                z
+[ 3 1 0 ]          R                z
+[ 3 1 0 ]          S                z
+[ 3 1 1 ]          T                z
+[ 3 1 1 ]          U                z
+[ 3 2 0 ]          V                z
+[ 3 2 0 ]          W                z
+[ 3 2 1 ]          X                z
+[ 3 2 1 ]          Z                z
+ */
+
+ type_id = H5Tcopy(H5T_C_S1);
+ status  = H5Tset_size(type_id, 2);
+ make_attr(loc_id,3,dims3,"string3D",type_id,buf13);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_BITFIELD
+ *-------------------------------------------------------------------------
+ */
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) buf23[i][j][k]=0;
+    else buf23[i][j][k]=n++;
+   }
+  }
+ }
+
+/*
+position        bitfield3D of </g1> bitfield3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 1 ]          2               0               2
+[ 0 1 0 ]          3               0               3
+[ 0 1 1 ]          4               0               4
+[ 0 2 0 ]          5               0               5
+[ 0 2 1 ]          6               0               6
+[ 1 0 0 ]          7               0               7
+[ 1 0 1 ]          8               0               8
+[ 1 1 0 ]          9               0               9
+[ 1 1 1 ]          10              0               10
+[ 1 2 0 ]          11              0               11
+[ 1 2 1 ]          12              0               12
+[ 2 0 0 ]          13              0               13
+[ 2 0 1 ]          14              0               14
+[ 2 1 0 ]          15              0               15
+[ 2 1 1 ]          16              0               16
+[ 2 2 0 ]          17              0               17
+[ 2 2 1 ]          18              0               18
+[ 3 0 0 ]          19              0               19
+[ 3 0 1 ]          20              0               20
+[ 3 1 0 ]          21              0               21
+[ 3 1 1 ]          22              0               22
+[ 3 2 0 ]          23              0               23
+[ 3 2 1 ]          24              0               24
+*/
+
+ type_id = H5Tcopy(H5T_STD_B8LE);
+ make_attr(loc_id,3,dims3,"bitfield3D",type_id,buf23);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_OPAQUE
+ *-------------------------------------------------------------------------
+ */
+ type_id = H5Tcreate(H5T_OPAQUE, 1);
+ status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
+ make_attr(loc_id,3,dims3,"opaque3D",type_id,buf23);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_COMPOUND
+ *-------------------------------------------------------------------------
+ */
+
+ n=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf33[i][j][k].a=0;
+     buf33[i][j][k].b=0;
+    }
+    else {
+     buf33[i][j][k].a=n++;
+     buf33[i][j][k].b=n++;
+    }
+   }
+  }
+ }
+/*position        compound3D of </g1> compound3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 0 ]          2               0               2
+[ 0 0 1 ]          3               0               3
+[ 0 0 1 ]          4               0               4
+[ 0 1 0 ]          5               0               5
+[ 0 1 0 ]          6               0               6
+[ 0 1 1 ]          7               0               7
+[ 0 1 1 ]          8               0               8
+[ 0 2 0 ]          9               0               9
+[ 0 2 0 ]          10              0               10
+[ 0 2 1 ]          11              0               11
+[ 0 2 1 ]          12              0               12
+[ 1 0 0 ]          13              0               13
+[ 1 0 0 ]          14              0               14
+[ 1 0 1 ]          15              0               15
+[ 1 0 1 ]          16              0               16
+[ 1 1 0 ]          17              0               17
+[ 1 1 0 ]          18              0               18
+[ 1 1 1 ]          19              0               19
+[ 1 1 1 ]          20              0               20
+[ 1 2 0 ]          21              0               21
+[ 1 2 0 ]          22              0               22
+[ 1 2 1 ]          23              0               23
+[ 1 2 1 ]          24              0               24
+[ 2 0 0 ]          25              0               25
+[ 2 0 0 ]          26              0               26
+[ 2 0 1 ]          27              0               27
+[ 2 0 1 ]          28              0               28
+[ 2 1 0 ]          29              0               29
+[ 2 1 0 ]          30              0               30
+[ 2 1 1 ]          31              0               31
+[ 2 1 1 ]          32              0               32
+[ 2 2 0 ]          33              0               33
+[ 2 2 0 ]          34              0               34
+[ 2 2 1 ]          35              0               35
+[ 2 2 1 ]          36              0               36
+[ 3 0 0 ]          37              0               37
+[ 3 0 0 ]          38              0               38
+[ 3 0 1 ]          39              0               39
+[ 3 0 1 ]          40              0               40
+[ 3 1 0 ]          41              0               41
+[ 3 1 0 ]          42              0               42
+[ 3 1 1 ]          43              0               43
+[ 3 1 1 ]          44              0               44
+[ 3 2 0 ]          45              0               45
+[ 3 2 0 ]          46              0               46
+[ 3 2 1 ]          47              0               47
+[ 3 2 1 ]          48              0               48
+*/
+
+
+
+ type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
+ H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
+ H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
+ make_attr(loc_id,3,dims3,"compound3D",type_id,buf33);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_REFERENCE
+ *-------------------------------------------------------------------------
+ */
+ /* Create references to dataset */
+ if (dset_name)
+ {
+  for (i = 0; i < 4; i++) {
+   for (j = 0; j < 3; j++) {
+    for (k = 0; k < 2; k++)
+     status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1);
+   }
+  }
+ make_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
+ }
+
+/*-------------------------------------------------------------------------
+ * H5T_ENUM
+ *-------------------------------------------------------------------------
+ */
+
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) buf453[i][j][k]=RED; else buf453[i][j][k]=GREEN;
+   }
+  }
+ }
+
+/*
+position        enum3D of </g1> enum3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          GREEN            RED
+[ 0 0 1 ]          GREEN            RED
+[ 0 1 0 ]          GREEN            RED
+[ 0 1 1 ]          GREEN            RED
+[ 0 2 0 ]          GREEN            RED
+[ 0 2 1 ]          GREEN            RED
+[ 1 0 0 ]          GREEN            RED
+[ 1 0 1 ]          GREEN            RED
+[ 1 1 0 ]          GREEN            RED
+[ 1 1 1 ]          GREEN            RED
+[ 1 2 0 ]          GREEN            RED
+[ 1 2 1 ]          GREEN            RED
+[ 2 0 0 ]          GREEN            RED
+[ 2 0 1 ]          GREEN            RED
+[ 2 1 0 ]          GREEN            RED
+[ 2 1 1 ]          GREEN            RED
+[ 2 2 0 ]          GREEN            RED
+[ 2 2 1 ]          GREEN            RED
+[ 3 0 0 ]          GREEN            RED
+[ 3 0 1 ]          GREEN            RED
+[ 3 1 0 ]          GREEN            RED
+[ 3 1 1 ]          GREEN            RED
+[ 3 2 0 ]          GREEN            RED
+[ 3 2 1 ]          GREEN            RED
+*/
+
+
+ type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
+ H5Tenum_insert(type_id, "RED",   (val = 0, &val));
+ H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
+ make_attr(loc_id,3,dims3,"enum3D",type_id,buf453);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_VLEN
+ *-------------------------------------------------------------------------
+ */
+
+ /* Allocate and initialize VL dataset to write */
+ n=0;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    int l;
+    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
+    buf53[i][j][k].len = i + 1;
+    for (l = 0; l < i + 1; l++)
+    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
+    else ((int *)buf53[i][j][k].p)[l] = n++;
+   }
+  }
+ }
+/*
+position        vlen3D of </g1> vlen3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 1 ]          1               0               1
+[ 0 1 0 ]          2               0               2
+[ 0 1 1 ]          3               0               3
+[ 0 2 0 ]          4               0               4
+[ 0 2 1 ]          5               0               5
+[ 1 0 0 ]          6               0               6
+[ 1 0 0 ]          7               0               7
+[ 1 0 1 ]          8               0               8
+[ 1 0 1 ]          9               0               9
+[ 1 1 0 ]          10              0               10
+etc
+*/
+ space_id = H5Screate_simple(3,dims3,NULL);
+ type_id = H5Tvlen_create(H5T_NATIVE_INT);
+ attr_id = H5Acreate(loc_id,"vlen3D",type_id,space_id,H5P_DEFAULT);
+ status = H5Awrite(attr_id,type_id,buf53);
+ assert(status>=0);
+ status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf53);
+ assert(status>=0);
+ status = H5Aclose(attr_id);
+ status = H5Tclose(type_id);
+ status = H5Sclose(space_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_ARRAY
+ *-------------------------------------------------------------------------
+ */
+ n=1;
+ for (i = 0; i < 24; i++) {
+  for (j = 0; j < (int)dimarray[0]; j++) {
+    if (make_diffs) buf63[i][j]=0;
+    else buf63[i][j]=n++;
+  }
+ }
+ /*
+ position        array3D of </g1> array3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 0 ]          2               0               2
+[ 0 0 0 ]          3               0               3
+[ 0 0 1 ]          4               0               4
+[ 0 0 1 ]          5               0               5
+[ 0 0 1 ]          6               0               6
+[ 0 1 0 ]          7               0               7
+etc
+*/
+
+ type_id = H5Tarray_create(H5T_NATIVE_INT, 1, dimarray, NULL);
+ make_attr(loc_id,3,dims3,"array3D",type_id,buf63);
+ status = H5Tclose(type_id);
+
+/*-------------------------------------------------------------------------
+ * H5T_INTEGER and H5T_FLOAT
+ *-------------------------------------------------------------------------
+ */
+ n=1; f=1;
+ for (i = 0; i < 4; i++) {
+  for (j = 0; j < 3; j++) {
+   for (k = 0; k < 2; k++) {
+    if (make_diffs) {
+     buf73[i][j][k]=0;
+     buf83[i][j][k]=0;
+    }
+    else {
+     buf73[i][j][k]=n++;
+     buf83[i][j][k]=f++;
+    }
+   }
+  }
+ }
+
+ /*
+ position        integer3D of </g1> integer3D of </g1> difference
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1
+[ 0 0 1 ]          2               0               2
+[ 0 1 0 ]          3               0               3
+[ 0 1 1 ]          4               0               4
+[ 0 2 0 ]          5               0               5
+[ 0 2 1 ]          6               0               6
+[ 1 0 0 ]          7               0               7
+[ 1 0 1 ]          8               0               8
+[ 1 1 0 ]          9               0               9
+[ 1 1 1 ]          10              0               10
+etc
+*/
+ make_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
+ make_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
+}
+
+
+
+/*-------------------------------------------------------------------------
+ * Function: make_dset
+ *
+ * Purpose: utility function to create and write a dataset in LOC_ID
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 12, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+int make_dset(hid_t loc_id,
+              const char *name,
+              hid_t sid,
+              hid_t dcpl,
+              void *buf)
+{
+ hid_t   dsid;
+
+ /* create the dataset */
+ if((dsid = H5Dcreate (loc_id,name,H5T_NATIVE_INT,sid,dcpl))<0)
+  return -1;
+
+ /* write */
+ if(H5Dwrite(dsid,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+  goto out;
+
+ /* close */
+ if(H5Dclose(dsid)<0)
+  return -1;
+
+ return 0;
+ out:
+ H5E_BEGIN_TRY {
+  H5Dclose(dsid);
+ } H5E_END_TRY;
+ return -1;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: write_dset
+ *
+ * Purpose: utility function to create and write a dataset in LOC_ID
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 12, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int write_dset( hid_t loc_id,
+                int rank,
+                hsize_t *dims,
+                const char *dset_name,
+                hid_t type_id,
+                void *buf )
+{
+ hid_t   dset_id;
+ hid_t   space_id;
+
+ /* Create a buf space  */
+ if ((space_id = H5Screate_simple(rank,dims,NULL))<0)
+  return -1;
+
+ /* Create a dataset */
+ if ((dset_id = H5Dcreate(loc_id,dset_name,type_id,space_id,H5P_DEFAULT))<0)
+  return -1;
+
+ /* Write the buf */
+ if ( buf )
+  if (H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
+   return -1;
+
+ /* Close */
+ if (H5Dclose(dset_id)<0)
+  return -1;
+ if (H5Sclose(space_id)<0)
+  return -1;
+
+ return 0;
+
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: write_attr
+ *
+ * Purpose: utility function to write an attribute in LOC_ID
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 12, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int make_attr(hid_t loc_id,
+               int rank,
+               hsize_t *dims,
+               const char *attr_name,
+               hid_t type_id,
+               void *buf)
+{
+ hid_t   attr_id;
+ hid_t   space_id;
+
+ /* create a space  */
+ if ((space_id = H5Screate_simple(rank,dims,NULL))<0)
+  return -1;
+
+ /* create the attribute */
+ if ((attr_id = H5Acreate(loc_id,attr_name,type_id,space_id,H5P_DEFAULT))<0)
+  goto out;
+
+ /* write the buffer */
+ if ( buf )
+ {
+  if (H5Awrite(attr_id,type_id,buf)<0)
+   goto out;
+ }
+
+ /* close */
+ H5Aclose(attr_id);
+ H5Sclose(space_id);
+ return 0;
+
+out:
+ H5E_BEGIN_TRY {
+  H5Aclose(attr_id);
+  H5Sclose(space_id);
+ } H5E_END_TRY;
+ return -1;
+}
+
+ 
+

Deleted: packages/hdf5/trunk/tools/h5repack/testh5repack_attr.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/testh5repack_attr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/testh5repack_attr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,1032 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "hdf5.h"
-#include "h5test.h"
-#include "h5repack.h"
-
-/*-------------------------------------------------------------------------
- * Function: write_attr_in
- *
- * Purpose: write attributes in LOC_ID (dataset, group, named datatype)
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-
-void write_attr_in(hid_t loc_id,
-                   const char* dset_name, /* for saving reference to dataset*/
-                   hid_t fid, /* for reference create */
-                   int make_diffs /* flag to modify data buffers */)
-{
- /* Compound datatype */
- typedef struct s_t
- {
-  char   a;
-  double b;
- } s_t;
-
- typedef enum
- {
-  RED,
-  GREEN
- } e_t;
-
- hid_t   attr_id;
- hid_t   space_id;
- hid_t   type_id;
- herr_t  status;
- int     val, i, j, k, n;
- float   f;
-
- /* create 1D attributes with dimension [2], 2 elements */
- hsize_t    dims[1]={2};
- char       buf1[2][2]= {"ab","de"};        /* string */
- char       buf2[2]= {1,2};                 /* bitfield, opaque */
- s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
- hobj_ref_t buf4[2];                        /* reference */
- e_t        buf45[2]= {RED,RED};            /* enum */
- hvl_t      buf5[2];                        /* vlen */
- hsize_t    dimarray[1]={3};                /* array dimension */
- int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
- int        buf7[2]= {1,2};                 /* integer */
- float      buf8[2]= {1,2};                 /* float */
-
- /* create 2D attributes with dimension [3][2], 6 elements */
- hsize_t    dims2[2]={3,2};
- char       buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};         /* string */
- char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
- s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
- hobj_ref_t buf42[3][2];                                          /* reference */
- e_t        buf452[3][2];                                         /* enum */
- hvl_t      buf52[3][2];                                          /* vlen */
- int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
- int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
- float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
-
- /* create 3D attributes with dimension [4][3][2], 24 elements */
- hsize_t    dims3[3]={4,3,2};
- char       buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
- "rs","tu","vw","xz","AB","CD","EF","GH",
- "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
- char       buf23[4][3][2];    /* bitfield, opaque */
- s_t        buf33[4][3][2];    /* compound */
- hobj_ref_t buf43[4][3][2];    /* reference */
- e_t        buf453[4][3][2];   /* enum */
- hvl_t      buf53[4][3][2];    /* vlen */
- int        buf63[24][3];      /* array */
- int        buf73[4][3][2];    /* integer */
- float      buf83[4][3][2];    /* float */
-
-
-/*-------------------------------------------------------------------------
- * 1D attributes
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<2; j++)
-   {
-    buf1[i][j]='z';
-   }
- }
- /*
- buf1[2][2]= {"ab","de"};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <string> and <string>
- position      string of </g1>  string of </g1> difference
- ------------------------------------------------------------
-[ 0 ]          a                z
-[ 0 ]          b                z
-[ 1 ]          d                z
-[ 1 ]          e                z
- */
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- make_attr(loc_id,1,dims,"string",type_id,buf1);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   buf2[i]=buf2[1]=0;
- }
- /*
- buf2[2]= {1,2};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <bitfield> and <bitfield>
- position      bitfield of </g1> bitfield of </g1> difference
- position        opaque of </g1> opaque of </g1> difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 1 ]          2               0               2
- */
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- make_attr(loc_id,1,dims,"bitfield",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
-
- /*
- buf2[2]= {1,2};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <opaque> and <opaque>
- position     opaque of </g1> opaque of </g1> difference
- position        opaque of </g1> opaque of </g1> difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 1 ]          2               0               2
-*/
-
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- make_attr(loc_id,1,dims,"opaque",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf3[i].a=0; buf3[i].b=0;
-  }
- }
-
- /*
- buf3[2]= {{1,2},{3,4}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <compound> and <compound>
- position        compound of </g1> compound of </g1> difference
- ------------------------------------------------------------
- [ 0 ]          1               5               4
- [ 0 ]          2               5               3
- [ 1 ]          3               5               2
- [ 1 ]          4               5               1
- */
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- make_attr(loc_id,1,dims,"compound",type_id,buf3);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* object references ( H5R_OBJECT  */
- if (dset_name)
- {
-  status=H5Rcreate(&buf4[0],fid,dset_name,H5R_OBJECT,-1);
-  status=H5Rcreate(&buf4[1],fid,dset_name,H5R_OBJECT,-1);
-  make_attr(loc_id,1,dims,"reference to object",H5T_STD_REF_OBJ,buf4);
- }
-
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf45[i]=GREEN;
-  }
- }
- /*
- buf45[2]= {RED,RED};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <enum> and <enum>
- position     enum of </g1>   enum of </g1>   difference
-------------------------------------------------------------
-[ 0 ]          RED              GREEN
-[ 1 ]          RED              GREEN
- */
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- make_attr(loc_id,1,dims,"enum",type_id,buf45);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
-
- buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
- ((int *)buf5[0].p)[0]=1;
- buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
- ((int *)buf5[1].p)[0]=2;
- ((int *)buf5[1].p)[1]=3;
-
- if (make_diffs)
- {
-  ((int *)buf5[0].p)[0]=0;
-  ((int *)buf5[1].p)[0]=0;
-  ((int *)buf5[1].p)[1]=0;
- }
- /*
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- position        vlen of </g1>   vlen of </g1>   difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 1 ]          2               0               2
-[ 1 ]          3               0               3
- */
-
- space_id = H5Screate_simple(1,dims,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- attr_id = H5Acreate(loc_id,"vlen",type_id,space_id,H5P_DEFAULT);
- status = H5Awrite(attr_id,type_id,buf5);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf5);
- assert(status>=0);
- status = H5Aclose(attr_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<3; j++)
-   {
-    buf6[i][j]=0;
-   }
- }
- /*
- buf6[2][3]= {{1,2,3},{4,5,6}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- Attribute:   <array> and <array>
-position        array of </g1>  array of </g1>  difference
-------------------------------------------------------------
-[ 0 ]          1               0               1
-[ 0 ]          2               0               2
-[ 0 ]          3               0               3
-[ 1 ]          4               0               4
-[ 1 ]          5               0               5
-[ 1 ]          6               0               6
- */
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- make_attr(loc_id,1,dims,"array",type_id,buf6);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf7[i]=0;
-   buf8[i]=0;
-  }
- }
- /*
- buf7[2]= {1,2};
- buf8[2]= {1,2};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
- position        integer of </g1> integer of </g1> difference
- ------------------------------------------------------------
- [ 0 ]          1               0               1
- [ 1 ]          2               0               2
- position        float of </g1>  float of </g1>  difference
- ------------------------------------------------------------
- [ 0 ]          1               0               1
- [ 1 ]          2               0               2
- */
- make_attr(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
- make_attr(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
-
-
-/*-------------------------------------------------------------------------
- * 2D attributes
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
- if (make_diffs)
- {
-  memset(buf12, 'z', sizeof buf12);
- }
-
- /*
- buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <string2D> and <string2D>
- position        string2D of </g1> string2D of </g1> difference
- ------------------------------------------------------------
-[ 0 0 ]          a                z
-[ 0 0 ]          b                z
-[ 0 1 ]          c                z
-[ 0 1 ]          d                z
-[ 1 0 ]          e                z
-[ 1 0 ]          f                z
-[ 1 1 ]          g                z
-[ 1 1 ]          h                z
-[ 2 0 ]          i                z
-[ 2 0 ]          j                z
-[ 2 1 ]          k                z
-[ 2 1 ]          l                z
- */
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- make_attr(loc_id,2,dims2,"string2D",type_id,buf12);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf22,0,sizeof buf22);
- }
-
- /*
- buf22[3][2]= {{1,2},{3,4},{5,6}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <bitfield2D> and <bitfield2D>
- position        bitfield2D of </g1> bitfield2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
- */
-
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- make_attr(loc_id,2,dims2,"bitfield2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
-
- /*
- buf22[3][2]= {{1,2},{3,4},{5,6}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <opaque2D> and <opaque2D>
- position        opaque2D of </g1> opaque2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- make_attr(loc_id,2,dims2,"opaque2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
- if (make_diffs)
- {
-  memset(buf32,0,sizeof buf32);
- }
-
- /*
- buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Attribute:   <opaque2D> and <opaque2D>
- position        opaque2D of </g1> opaque2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
- */
-
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- make_attr(loc_id,2,dims2,"compound2D",type_id,buf32);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 3; i++) {
-   for (j = 0; j < 2; j++) {
-    status=H5Rcreate(&buf42[i][j],fid,dset_name,H5R_OBJECT,-1);
-   }
-  }
-  make_attr(loc_id,2,dims2,"reference2D",H5T_STD_REF_OBJ,buf42);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- for (i=0; i<3; i++)
-  for (j=0; j<2; j++)
-  {
-   if (make_diffs) buf452[i][j]=GREEN; else buf452[i][j]=RED;
-  }
-
-/*
-Attribute:   <enum2D> and <enum2D>
-position        enum2D of </g1> enum2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          RED              GREEN
-[ 0 1 ]          RED              GREEN
-[ 1 0 ]          RED              GREEN
-[ 1 1 ]          RED              GREEN
-[ 2 0 ]          RED              GREEN
-[ 2 1 ]          RED              GREEN
-*/
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- make_attr(loc_id,2,dims2,"enum2D",type_id,buf452);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 3; i++) {
-  for (j = 0; j < 2; j++) {
-    int l;
-    buf52[i][j].p = malloc((i + 1) * sizeof(int));
-    buf52[i][j].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
-    else ((int *)buf52[i][j].p)[l] = n++;
-  }
- }
-
- /*
- position        vlen2D of </g1> vlen2D of </g1> difference
-------------------------------------------------------------
-[ 0 1 ]          1               0               1
-[ 1 0 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 1 1 ]          5               0               5
-[ 2 0 ]          6               0               6
-[ 2 0 ]          7               0               7
-[ 2 0 ]          8               0               8
-[ 2 1 ]          9               0               9
-[ 2 1 ]          10              0               10
-[ 2 1 ]          11              0               11
-*/
-
- space_id = H5Screate_simple(2,dims2,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- attr_id = H5Acreate(loc_id,"vlen2D",type_id,space_id,H5P_DEFAULT);
- status = H5Awrite(attr_id,type_id,buf52);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf52);
- assert(status>=0);
- status = H5Aclose(attr_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf62,0,sizeof buf62);
- }
- /*
- buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};
- $h5diff file7.h5 file6.h5 g1 g1 -v
- Group:       </g1> and </g1>
-Attribute:   <array2D> and <array2D>
-position        array2D of </g1> array2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 0 ]          2               0               2
-[ 0 0 ]          3               0               3
-[ 0 1 ]          4               0               4
-[ 0 1 ]          5               0               5
-[ 0 1 ]          6               0               6
-[ 1 0 ]          7               0               7
-[ 1 0 ]          8               0               8
-[ 1 0 ]          9               0               9
-[ 1 1 ]          10              0               10
-[ 1 1 ]          11              0               11
-[ 1 1 ]          12              0               12
-[ 2 0 ]          13              0               13
-[ 2 0 ]          14              0               14
-[ 2 0 ]          15              0               15
-[ 2 1 ]          16              0               16
-[ 2 1 ]          17              0               17
-[ 2 1 ]          18              0               18
- */
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- make_attr(loc_id,2,dims2,"array2D",type_id,buf62);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf72,0,sizeof buf72);
-  memset(buf82,0,sizeof buf82);
- }
-/*
-Attribute:   <integer2D> and <integer2D>
-position        integer2D of </g1> integer2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
-6 differences found
-Attribute:   <float2D> and <float2D>
-position        float2D of </g1> float2D of </g1> difference
-------------------------------------------------------------
-[ 0 0 ]          1               0               1
-[ 0 1 ]          2               0               2
-[ 1 0 ]          3               0               3
-[ 1 1 ]          4               0               4
-[ 2 0 ]          5               0               5
-[ 2 1 ]          6               0               6
-*/
-
- make_attr(loc_id,2,dims2,"integer2D",H5T_NATIVE_INT,buf72);
- make_attr(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
-
-
-/*-------------------------------------------------------------------------
- * 3D attributes
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf13,'z',sizeof buf13);
- }
-
- /*
- buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
- "rs","tu","vw","xz","AB","CD","EF","GH",
- "IJ","KL","MN","PQ","RS","TU","VW","XZ"};
-
-Attribute:   <string3D> and <string3D>
-position        string3D of </g1> string3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          a                z
-[ 0 0 0 ]          b                z
-[ 0 0 1 ]          c                z
-[ 0 0 1 ]          d                z
-[ 0 1 0 ]          e                z
-[ 0 1 0 ]          f                z
-[ 0 1 1 ]          g                z
-[ 0 1 1 ]          h                z
-[ 0 2 0 ]          i                z
-[ 0 2 0 ]          j                z
-[ 0 2 1 ]          k                z
-[ 0 2 1 ]          l                z
-[ 1 0 0 ]          m                z
-[ 1 0 0 ]          n                z
-[ 1 0 1 ]          p                z
-[ 1 0 1 ]          q                z
-[ 1 1 0 ]          r                z
-[ 1 1 0 ]          s                z
-[ 1 1 1 ]          t                z
-[ 1 1 1 ]          u                z
-[ 1 2 0 ]          v                z
-[ 1 2 0 ]          w                z
-[ 1 2 1 ]          x                z
-[ 2 0 0 ]          A                z
-[ 2 0 0 ]          B                z
-[ 2 0 1 ]          C                z
-[ 2 0 1 ]          D                z
-[ 2 1 0 ]          E                z
-[ 2 1 0 ]          F                z
-[ 2 1 1 ]          G                z
-[ 2 1 1 ]          H                z
-[ 2 2 0 ]          I                z
-[ 2 2 0 ]          J                z
-[ 2 2 1 ]          K                z
-[ 2 2 1 ]          L                z
-[ 3 0 0 ]          M                z
-[ 3 0 0 ]          N                z
-[ 3 0 1 ]          P                z
-[ 3 0 1 ]          Q                z
-[ 3 1 0 ]          R                z
-[ 3 1 0 ]          S                z
-[ 3 1 1 ]          T                z
-[ 3 1 1 ]          U                z
-[ 3 2 0 ]          V                z
-[ 3 2 0 ]          W                z
-[ 3 2 1 ]          X                z
-[ 3 2 1 ]          Z                z
- */
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- make_attr(loc_id,3,dims3,"string3D",type_id,buf13);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) buf23[i][j][k]=0;
-    else buf23[i][j][k]=n++;
-   }
-  }
- }
-
-/*
-position        bitfield3D of </g1> bitfield3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 1 ]          2               0               2
-[ 0 1 0 ]          3               0               3
-[ 0 1 1 ]          4               0               4
-[ 0 2 0 ]          5               0               5
-[ 0 2 1 ]          6               0               6
-[ 1 0 0 ]          7               0               7
-[ 1 0 1 ]          8               0               8
-[ 1 1 0 ]          9               0               9
-[ 1 1 1 ]          10              0               10
-[ 1 2 0 ]          11              0               11
-[ 1 2 1 ]          12              0               12
-[ 2 0 0 ]          13              0               13
-[ 2 0 1 ]          14              0               14
-[ 2 1 0 ]          15              0               15
-[ 2 1 1 ]          16              0               16
-[ 2 2 0 ]          17              0               17
-[ 2 2 1 ]          18              0               18
-[ 3 0 0 ]          19              0               19
-[ 3 0 1 ]          20              0               20
-[ 3 1 0 ]          21              0               21
-[ 3 1 1 ]          22              0               22
-[ 3 2 0 ]          23              0               23
-[ 3 2 1 ]          24              0               24
-*/
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- make_attr(loc_id,3,dims3,"bitfield3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- make_attr(loc_id,3,dims3,"opaque3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf33[i][j][k].a=0;
-     buf33[i][j][k].b=0;
-    }
-    else {
-     buf33[i][j][k].a=n++;
-     buf33[i][j][k].b=n++;
-    }
-   }
-  }
- }
-/*position        compound3D of </g1> compound3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 0 ]          2               0               2
-[ 0 0 1 ]          3               0               3
-[ 0 0 1 ]          4               0               4
-[ 0 1 0 ]          5               0               5
-[ 0 1 0 ]          6               0               6
-[ 0 1 1 ]          7               0               7
-[ 0 1 1 ]          8               0               8
-[ 0 2 0 ]          9               0               9
-[ 0 2 0 ]          10              0               10
-[ 0 2 1 ]          11              0               11
-[ 0 2 1 ]          12              0               12
-[ 1 0 0 ]          13              0               13
-[ 1 0 0 ]          14              0               14
-[ 1 0 1 ]          15              0               15
-[ 1 0 1 ]          16              0               16
-[ 1 1 0 ]          17              0               17
-[ 1 1 0 ]          18              0               18
-[ 1 1 1 ]          19              0               19
-[ 1 1 1 ]          20              0               20
-[ 1 2 0 ]          21              0               21
-[ 1 2 0 ]          22              0               22
-[ 1 2 1 ]          23              0               23
-[ 1 2 1 ]          24              0               24
-[ 2 0 0 ]          25              0               25
-[ 2 0 0 ]          26              0               26
-[ 2 0 1 ]          27              0               27
-[ 2 0 1 ]          28              0               28
-[ 2 1 0 ]          29              0               29
-[ 2 1 0 ]          30              0               30
-[ 2 1 1 ]          31              0               31
-[ 2 1 1 ]          32              0               32
-[ 2 2 0 ]          33              0               33
-[ 2 2 0 ]          34              0               34
-[ 2 2 1 ]          35              0               35
-[ 2 2 1 ]          36              0               36
-[ 3 0 0 ]          37              0               37
-[ 3 0 0 ]          38              0               38
-[ 3 0 1 ]          39              0               39
-[ 3 0 1 ]          40              0               40
-[ 3 1 0 ]          41              0               41
-[ 3 1 0 ]          42              0               42
-[ 3 1 1 ]          43              0               43
-[ 3 1 1 ]          44              0               44
-[ 3 2 0 ]          45              0               45
-[ 3 2 0 ]          46              0               46
-[ 3 2 1 ]          47              0               47
-[ 3 2 1 ]          48              0               48
-*/
-
-
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- make_attr(loc_id,3,dims3,"compound3D",type_id,buf33);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 4; i++) {
-   for (j = 0; j < 3; j++) {
-    for (k = 0; k < 2; k++)
-     status=H5Rcreate(&buf43[i][j][k],fid,dset_name,H5R_OBJECT,-1);
-   }
-  }
- make_attr(loc_id,3,dims3,"reference3D",H5T_STD_REF_OBJ,buf43);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
-
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) buf453[i][j][k]=RED; else buf453[i][j][k]=GREEN;
-   }
-  }
- }
-
-/*
-position        enum3D of </g1> enum3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          GREEN            RED
-[ 0 0 1 ]          GREEN            RED
-[ 0 1 0 ]          GREEN            RED
-[ 0 1 1 ]          GREEN            RED
-[ 0 2 0 ]          GREEN            RED
-[ 0 2 1 ]          GREEN            RED
-[ 1 0 0 ]          GREEN            RED
-[ 1 0 1 ]          GREEN            RED
-[ 1 1 0 ]          GREEN            RED
-[ 1 1 1 ]          GREEN            RED
-[ 1 2 0 ]          GREEN            RED
-[ 1 2 1 ]          GREEN            RED
-[ 2 0 0 ]          GREEN            RED
-[ 2 0 1 ]          GREEN            RED
-[ 2 1 0 ]          GREEN            RED
-[ 2 1 1 ]          GREEN            RED
-[ 2 2 0 ]          GREEN            RED
-[ 2 2 1 ]          GREEN            RED
-[ 3 0 0 ]          GREEN            RED
-[ 3 0 1 ]          GREEN            RED
-[ 3 1 0 ]          GREEN            RED
-[ 3 1 1 ]          GREEN            RED
-[ 3 2 0 ]          GREEN            RED
-[ 3 2 1 ]          GREEN            RED
-*/
-
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- make_attr(loc_id,3,dims3,"enum3D",type_id,buf453);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    int l;
-    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
-    buf53[i][j][k].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
-    else ((int *)buf53[i][j][k].p)[l] = n++;
-   }
-  }
- }
-/*
-position        vlen3D of </g1> vlen3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 1 ]          1               0               1
-[ 0 1 0 ]          2               0               2
-[ 0 1 1 ]          3               0               3
-[ 0 2 0 ]          4               0               4
-[ 0 2 1 ]          5               0               5
-[ 1 0 0 ]          6               0               6
-[ 1 0 0 ]          7               0               7
-[ 1 0 1 ]          8               0               8
-[ 1 0 1 ]          9               0               9
-[ 1 1 0 ]          10              0               10
-etc
-*/
- space_id = H5Screate_simple(3,dims3,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- attr_id = H5Acreate(loc_id,"vlen3D",type_id,space_id,H5P_DEFAULT);
- status = H5Awrite(attr_id,type_id,buf53);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf53);
- assert(status>=0);
- status = H5Aclose(attr_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
- n=1;
- for (i = 0; i < 24; i++) {
-  for (j = 0; j < (int)dimarray[0]; j++) {
-    if (make_diffs) buf63[i][j]=0;
-    else buf63[i][j]=n++;
-  }
- }
- /*
- position        array3D of </g1> array3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 0 ]          2               0               2
-[ 0 0 0 ]          3               0               3
-[ 0 0 1 ]          4               0               4
-[ 0 0 1 ]          5               0               5
-[ 0 0 1 ]          6               0               6
-[ 0 1 0 ]          7               0               7
-etc
-*/
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- make_attr(loc_id,3,dims3,"array3D",type_id,buf63);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
- n=1; f=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf73[i][j][k]=0;
-     buf83[i][j][k]=0;
-    }
-    else {
-     buf73[i][j][k]=n++;
-     buf83[i][j][k]=f++;
-    }
-   }
-  }
- }
-
- /*
- position        integer3D of </g1> integer3D of </g1> difference
-------------------------------------------------------------
-[ 0 0 0 ]          1               0               1
-[ 0 0 1 ]          2               0               2
-[ 0 1 0 ]          3               0               3
-[ 0 1 1 ]          4               0               4
-[ 0 2 0 ]          5               0               5
-[ 0 2 1 ]          6               0               6
-[ 1 0 0 ]          7               0               7
-[ 1 0 1 ]          8               0               8
-[ 1 1 0 ]          9               0               9
-[ 1 1 1 ]          10              0               10
-etc
-*/
- make_attr(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
- make_attr(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
-}
-
-
-

Modified: packages/hdf5/trunk/tools/h5repack/testh5repack_detect_szip.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/testh5repack_detect_szip.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/testh5repack_detect_szip.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,14 +9,13 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdio.h>
-#include "hdf5.h"
+#include "h5repack.h"
 #include "h5test.h"
-#include "h5repack.h"
 
 
 /*-------------------------------------------------------------------------

Deleted: packages/hdf5/trunk/tools/h5repack/testh5repack_dset.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/testh5repack_dset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/testh5repack_dset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,697 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "hdf5.h"
-#include "h5test.h"
-#include "h5repack.h"
-
-static void make_dset_reg_ref(hid_t loc_id);
-
-
-/*-------------------------------------------------------------------------
- * Function: write_dset_in
- *
- * Purpose: write datasets in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-
-void write_dset_in(hid_t loc_id,
-                   const char* dset_name, /* for saving reference to dataset*/
-                   hid_t file_id,
-                   int make_diffs /* flag to modify data buffers */)
-{
- /* Compound datatype */
- typedef struct s_t
- {
-  char   a;
-  double b;
- } s_t;
-
- typedef enum
- {
-  RED,
-  GREEN
- } e_t;
-
- hid_t   dset_id;
- hid_t   space_id;
- hid_t   type_id;
- hid_t   plist_id;
- herr_t  status;
- int     val, i, j, k, n;
- float   f;
-
- /* create 1D attributes with dimension [2], 2 elements */
- hsize_t    dims[1]={2};
- hsize_t    dims1r[1]={1};
- char       buf1[2][2]= {"ab","de"};        /* string */
- char       buf2[2]= {1,2};                 /* bitfield, opaque */
- s_t        buf3[2]= {{1,2},{3,4}};         /* compound */
- hobj_ref_t buf4[1];                        /* reference */
- e_t        buf45[2]= {RED,GREEN};          /* enum */
- hvl_t      buf5[2];                        /* vlen */
- hsize_t    dimarray[1]={3};                /* array dimension */
- int        buf6[2][3]= {{1,2,3},{4,5,6}};  /* array */
- int        buf7[2]= {1,2};                 /* integer */
- float      buf8[2]= {1,2};                 /* float */
-
- /* create 2D attributes with dimension [3][2], 6 elements */
- hsize_t    dims2[2]={3,2};
- hsize_t    dims2r[2]={1,1};
- char       buf12[6][2]= {"ab","cd","ef","gh","ij","kl"};         /* string */
- char       buf22[3][2]= {{1,2},{3,4},{5,6}};                     /* bitfield, opaque */
- s_t        buf32[6]= {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};   /* compound */
- hobj_ref_t buf42[1][1];                                          /* reference */
- hvl_t      buf52[3][2];                                          /* vlen */
- int        buf62[6][3]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}};  /* array */
- int        buf72[3][2]= {{1,2},{3,4},{5,6}};                     /* integer */
- float      buf82[3][2]= {{1,2},{3,4},{5,6}};                     /* float */
-
- /* create 3D attributes with dimension [4][3][2], 24 elements */
- hsize_t    dims3[3]={4,3,2};
- hsize_t    dims3r[3]={1,1,1};
- char       buf13[24][2]= {"ab","cd","ef","gh","ij","kl","mn","pq",
- "rs","tu","vw","xz","AB","CD","EF","GH",
- "IJ","KL","MN","PQ","RS","TU","VW","XZ"};  /* string */
- char       buf23[4][3][2];    /* bitfield, opaque */
- s_t        buf33[4][3][2];    /* compound */
- hobj_ref_t buf43[1][1][1];    /* reference */
- hvl_t      buf53[4][3][2];    /* vlen */
- int        buf63[24][3];      /* array */
- int        buf73[4][3][2];    /* integer */
- float      buf83[4][3][2];    /* float */
-
-
-/*-------------------------------------------------------------------------
- * 1D
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<2; j++)
-   {
-    buf1[i][j]='z';
-   }
- }
-
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- write_dset(loc_id,1,dims,"string",type_id,buf1);
- status = H5Tclose(type_id);
-
-
- /* create hard link */
- status = H5Glink(loc_id, H5G_LINK_HARD, "string", "string_link");
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   buf2[i]=buf2[1]=0;
- }
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_dset(loc_id,1,dims,"bitfield",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf3[i].a=0; buf3[i].b=0;
-  }
- }
-
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_dset(loc_id,1,dims,"opaque",type_id,buf2);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf45[i]=GREEN;
-  }
- }
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_dset(loc_id,1,dims,"compound",type_id,buf3);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* object references ( H5R_OBJECT ) */
- if (dset_name)
- {
-  status=H5Rcreate(&buf4[0],file_id,dset_name,H5R_OBJECT,-1);
-  write_dset(loc_id,1,dims1r,"refobj",H5T_STD_REF_OBJ,buf4);
- }
-
- /* Dataset region reference ( H5R_DATASET_REGION  )  */
- make_dset_reg_ref(loc_id);
-
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_dset(loc_id,1,dims,"enum",type_id,buf45);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
-
- buf5[0].len = 1;
- buf5[0].p = malloc( 1 * sizeof(int));
- ((int *)buf5[0].p)[0]=1;
- buf5[1].len = 2;
- buf5[1].p = malloc( 2 * sizeof(int));
- ((int *)buf5[1].p)[0]=2;
- ((int *)buf5[1].p)[1]=3;
-
- if (make_diffs)
- {
-  ((int *)buf5[0].p)[0]=0;
-  ((int *)buf5[1].p)[0]=0;
-  ((int *)buf5[1].p)[1]=0;
- }
-
- space_id = H5Screate_simple(1,dims,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- dset_id = H5Dcreate(loc_id,"vlen",type_id,space_id,H5P_DEFAULT);
- status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf5);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf5);
- assert(status>=0);
- status = H5Dclose(dset_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-   for (j=0; j<3; j++)
-   {
-    buf6[i][j]=0;
-   }
- }
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_dset(loc_id,1,dims,"array",type_id,buf6);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  for (i=0; i<2; i++)
-  {
-   buf7[i]=0;
-   buf8[i]=0;
-  }
- }
-
- write_dset(loc_id,1,dims,"integer",H5T_NATIVE_INT,buf7);
- write_dset(loc_id,1,dims,"float",H5T_NATIVE_FLOAT,buf8);
-
-
-/*-------------------------------------------------------------------------
- * 2D
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf12, 'z', sizeof buf12);
- }
-
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- write_dset(loc_id,2,dims2,"string2D",type_id,buf12);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  memset(buf22,0,sizeof buf22);
- }
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_dset(loc_id,2,dims2,"bitfield2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_dset(loc_id,2,dims2,"opaque2D",type_id,buf22);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf32,0,sizeof buf32);
- }
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_dset(loc_id,2,dims2,"compound2D",type_id,buf32);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 1; i++) {
-   for (j = 0; j < 1; j++) {
-    status=H5Rcreate(&buf42[i][j],file_id,dset_name,H5R_OBJECT,-1);
-   }
-  }
-  write_dset(loc_id,2,dims2r,"refobj2D",H5T_STD_REF_OBJ,buf42);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_dset(loc_id,2,dims2,"enum2D",type_id,0);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
-/* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 3; i++) {
-  for (j = 0; j < 2; j++) {
-    int l;
-    buf52[i][j].p = malloc((i + 1) * sizeof(int));
-    buf52[i][j].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf52[i][j].p)[l] = 0;
-    else ((int *)buf52[i][j].p)[l] = n++;
-  }
- }
-
- space_id = H5Screate_simple(2,dims2,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- dset_id = H5Dcreate(loc_id,"vlen2D",type_id,space_id,H5P_DEFAULT);
- status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf52);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf52);
- assert(status>=0);
- status = H5Dclose(dset_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf62,0,sizeof buf62);
- }
-
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_dset(loc_id,2,dims2,"array2D",type_id,buf62);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER, write a fill value
- *-------------------------------------------------------------------------
- */
-
-
- if (make_diffs)
- {
-  memset(buf72,0,sizeof buf72);
-  memset(buf82,0,sizeof buf82);
- }
-
-
- plist_id = H5Pcreate(H5P_DATASET_CREATE);
- space_id = H5Screate_simple(2,dims2,NULL);
- dset_id = H5Dcreate(loc_id,"integer2D",H5T_NATIVE_INT,space_id,plist_id);
- status = H5Dwrite(dset_id,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf72);
- status = H5Pclose(plist_id);
- status = H5Dclose(dset_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_FLOAT
- *-------------------------------------------------------------------------
- */
-
- write_dset(loc_id,2,dims2,"float2D",H5T_NATIVE_FLOAT,buf82);
-
-
-/*-------------------------------------------------------------------------
- * 3D
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
-
- if (make_diffs)
- {
-  memset(buf13,'z',sizeof buf13);
- }
-
- type_id = H5Tcopy(H5T_C_S1);
- status  = H5Tset_size(type_id, 2);
- write_dset(loc_id,3,dims3,"string3D",type_id,buf13);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
-
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) buf23[i][j][k]=0;
-    else buf23[i][j][k]=n++;
-   }
-  }
- }
-
-
- type_id = H5Tcopy(H5T_STD_B8LE);
- write_dset(loc_id,3,dims3,"bitfield3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
- type_id = H5Tcreate(H5T_OPAQUE, 1);
- status = H5Tset_tag(type_id, "1-byte opaque type"); /* must set this */
- write_dset(loc_id,3,dims3,"opaque3D",type_id,buf23);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
-
- n=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf33[i][j][k].a=0;
-     buf33[i][j][k].b=0;
-    }
-    else {
-     buf33[i][j][k].a=n++;
-     buf33[i][j][k].b=n++;
-    }
-   }
-  }
- }
-
-
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_CHAR);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_DOUBLE);
- write_dset(loc_id,3,dims3,"compound3D",type_id,buf33);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_REFERENCE
- *-------------------------------------------------------------------------
- */
- /* Create references to dataset */
- if (dset_name)
- {
-  for (i = 0; i < 1; i++) {
-   for (j = 0; j < 1; j++) {
-    for (k = 0; k < 1; k++)
-     status=H5Rcreate(&buf43[i][j][k],file_id,dset_name,H5R_OBJECT,-1);
-   }
-  }
- write_dset(loc_id,3,dims3r,"refobj3D",H5T_STD_REF_OBJ,buf43);
- }
-
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
-
- type_id = H5Tcreate(H5T_ENUM, sizeof(e_t));
- H5Tenum_insert(type_id, "RED",   (val = 0, &val));
- H5Tenum_insert(type_id, "GREEN", (val = 1, &val));
- write_dset(loc_id,3,dims3,"enum3D",type_id,0);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
-
- /* Allocate and initialize VL dataset to write */
- n=0;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    int l;
-    buf53[i][j][k].p = malloc((i + 1) * sizeof(int));
-    buf53[i][j][k].len = i + 1;
-    for (l = 0; l < i + 1; l++)
-    if (make_diffs)((int *)buf53[i][j][k].p)[l] = 0;
-    else ((int *)buf53[i][j][k].p)[l] = n++;
-   }
-  }
- }
-
- space_id = H5Screate_simple(3,dims3,NULL);
- type_id = H5Tvlen_create(H5T_NATIVE_INT);
- dset_id = H5Dcreate(loc_id,"vlen3D",type_id,space_id,H5P_DEFAULT);
- status = H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf53);
- assert(status>=0);
- status = H5Dvlen_reclaim(type_id,space_id,H5P_DEFAULT,buf53);
- assert(status>=0);
- status = H5Dclose(dset_id);
- status = H5Tclose(type_id);
- status = H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
-
-
- n=1;
- for (i = 0; i < 24; i++) {
-  for (j = 0; j < (int)dimarray[0]; j++) {
-    if (make_diffs) buf63[i][j]=0;
-    else buf63[i][j]=n++;
-  }
- }
-
- type_id = H5Tarray_create(H5T_NATIVE_INT,1,dimarray,NULL);
- write_dset(loc_id,3,dims3,"array3D",type_id,buf63);
- status = H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER and H5T_FLOAT
- *-------------------------------------------------------------------------
- */
- n=1; f=1;
- for (i = 0; i < 4; i++) {
-  for (j = 0; j < 3; j++) {
-   for (k = 0; k < 2; k++) {
-    if (make_diffs) {
-     buf73[i][j][k]=0;
-     buf83[i][j][k]=0;
-    }
-    else {
-     buf73[i][j][k]=n++;
-     buf83[i][j][k]=f++;
-    }
-   }
-  }
- }
- write_dset(loc_id,3,dims3,"integer3D",H5T_NATIVE_INT,buf73);
- write_dset(loc_id,3,dims3,"float3D",H5T_NATIVE_FLOAT,buf83);
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make_dset_reg_ref
- *
- * Purpose: write dataset region references
- *
- *-------------------------------------------------------------------------
- */
-
-#define SPACE1_RANK 1
-#define SPACE1_DIM1 1
-#define SPACE2_RANK	2
-#define SPACE2_DIM1	10
-#define SPACE2_DIM2	10
-#define NPOINTS 10
-
-static void make_dset_reg_ref(hid_t loc_id)
-{
- hid_t           dset1; /* Dataset ID   */
- hid_t           dset2; /* Dereferenced dataset ID */
- hid_t           sid1;  /* Dataspace ID #1  */
- hid_t           sid2;  /* Dataspace ID #2  */
- hsize_t         dims1[] = {SPACE1_DIM1};
- hsize_t         dims2[] = {SPACE2_DIM1, SPACE2_DIM2};
- hsize_t         start[SPACE2_RANK];     /* Starting location of hyperslab */
- hsize_t         stride[SPACE2_RANK];    /* Stride of hyperslab */
- hsize_t         count[SPACE2_RANK];     /* Element count of hyperslab */
- hsize_t         block[SPACE2_RANK];     /* Block size of hyperslab */
- hdset_reg_ref_t *wbuf;  /* buffer to write to disk */
- int             *dwbuf; /* Buffer for writing numeric data to disk */
- int             i;      /* counting variables */
- herr_t          ret;    /* Generic return value  */
-
- /* Allocate write & read buffers */
- wbuf=calloc(sizeof(hdset_reg_ref_t), SPACE1_DIM1);
- dwbuf=malloc(sizeof(int)*SPACE2_DIM1*SPACE2_DIM2);
-
- /* Create dataspace for datasets */
- sid2 = H5Screate_simple(SPACE2_RANK, dims2, NULL);
-
- /* Create a dataset */
- dset2=H5Dcreate(loc_id,"dsetreg",H5T_NATIVE_UCHAR,sid2,H5P_DEFAULT);
-
- for(i=0; i<SPACE2_DIM1*SPACE2_DIM2; i++)
-  dwbuf[i]=i*3;
-
- /* Write selection to disk */
- ret=H5Dwrite(dset2,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,dwbuf);
-
- /* Close Dataset */
- ret = H5Dclose(dset2);
-
- /* Create dataspace for the reference dataset */
- sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
-
- /* Create a dataset */
- dset1=H5Dcreate(loc_id,"refreg",H5T_STD_REF_DSETREG,sid1,H5P_DEFAULT);
-
- /* Create references */
-
- /* Select 6x6 hyperslab for first reference */
- start[0]=2; start[1]=2;
- stride[0]=1; stride[1]=1;
- count[0]=6; count[1]=6;
- block[0]=1; block[1]=1;
- ret = H5Sselect_hyperslab(sid2,H5S_SELECT_SET,start,stride,count,block);
-
- /* Store dataset region */
- ret = H5Rcreate(&wbuf[0],loc_id,"dsetreg",H5R_DATASET_REGION,sid2);
-
- /* Write selection to disk */
- ret=H5Dwrite(dset1,H5T_STD_REF_DSETREG,H5S_ALL,H5S_ALL,H5P_DEFAULT,wbuf);
-
- /* Close all objects */
- ret = H5Sclose(sid1);
- ret = H5Dclose(dset1);
- ret = H5Sclose(sid2);
-
- free(wbuf);
- free(dwbuf);
-}

Deleted: packages/hdf5/trunk/tools/h5repack/testh5repack_main.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/testh5repack_main.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/testh5repack_main.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,1068 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "hdf5.h"
-#include "h5test.h"
-#include "h5repack.h"
-#include "h5diff.h"
-
-#if 0
-#define PACK_DEBUG
-#endif
-
-/*-------------------------------------------------------------------------
- * Function: main
- *
- * Purpose: Executes h5repack tests
- *
- * Return: Success: zero
- *  Failure: non-zero
- *
- * Programmer:  Pedro Vicente <pvn at ncsa.uiuc.edu>
- *             January, 6, 2004
- *
- *-------------------------------------------------------------------------
- */
-
-
-int main (void)
-{
- pack_opt_t  pack_options;
- diff_opt_t  diff_options;
-#if defined (H5_HAVE_FILTER_SZIP)
- int szip_can_encode = 0;
-#endif
- memset(&diff_options, 0, sizeof (diff_opt_t));
- memset(&pack_options, 0, sizeof (pack_opt_t));
-
- /* run tests  */
- puts("Testing h5repack:");
-
- /* make the test files */
- if (make_testfiles()<0)
-  goto error;
-
-/*-------------------------------------------------------------------------
- * Format of the tests:
- *
- * 1) make a copy of the file with h5repack
- * 2) use the h5diff utility to compare the input and output file;
- *     it returns RET==0 if the objects have the same data
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * file with fill values
- *-------------------------------------------------------------------------
- */
- TESTING("    copy of datasets (fill values)");
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME0,FNAME0OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME0,FNAME0OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME0OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_cmpdcpl(FNAME0,FNAME0OUT)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
- PASSED();
-
- /*return 0;*/
-
-/*-------------------------------------------------------------------------
- * file with all kinds of dataset datatypes
- *-------------------------------------------------------------------------
- */
- TESTING("    copy of datasets (all datatypes)");
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME1,FNAME1OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME1,FNAME1OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME1OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_cmpdcpl(FNAME1,FNAME1OUT)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
- PASSED();
-
-/*-------------------------------------------------------------------------
- * file with attributes
- *-------------------------------------------------------------------------
- */
- TESTING("    copy of datasets (attributes)");
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME2,FNAME2OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME2,FNAME2OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME2OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_cmpdcpl(FNAME2,FNAME2OUT)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
- PASSED();
-
-
-/*-------------------------------------------------------------------------
- * file with hardlinks
- *-------------------------------------------------------------------------
- */
- TESTING("    copy of datasets (hardlinks)");
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME3,FNAME3OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME3,FNAME3OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME3OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_cmpdcpl(FNAME3,FNAME3OUT)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-
-/*-------------------------------------------------------------------------
- * alloc early test
- *-------------------------------------------------------------------------
- */
- TESTING("    copy of allocation early file");
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME5,FNAME5OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME5,FNAME5OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME5OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
-/*-------------------------------------------------------------------------
- * the remaining files differ in the dcpl's
- *-------------------------------------------------------------------------
- */
-
-/*-------------------------------------------------------------------------
- * deflate
- *-------------------------------------------------------------------------
- */
- TESTING("    adding deflate filter");
-
-#ifdef H5_HAVE_FILTER_DEFLATE
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset1:GZIP=9",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
- PASSED();
-#else
- SKIPPED();
-#endif
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
-
- TESTING("    adding deflate filter to all");
-
-#ifdef H5_HAVE_FILTER_DEFLATE
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("GZIP=1",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-/*-------------------------------------------------------------------------
- * SZIP
- *-------------------------------------------------------------------------
- */
-
- TESTING("    adding szip filter");
-
-#if defined (H5_HAVE_FILTER_SZIP)
-if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) {
-   szip_can_encode = 1;
-}
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
-
-if (szip_can_encode) {
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset2:SZIP=8,EC",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset2:CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-} else {
- SKIPPED();
-}
-#else
- SKIPPED();
-#endif
-
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
-TESTING("    adding szip filter to all");
-
-#if defined (H5_HAVE_FILTER_SZIP)
-if (szip_can_encode) {
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("SZIP=8,NN",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-} else {
- SKIPPED();
-}
-#else
- SKIPPED();
-#endif
-
-
- TESTING("    addding shuffle filter");
-
-#ifdef H5_HAVE_FILTER_SHUFFLE
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset1:SHUF",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
-
-TESTING("    addding shuffle filter to all");
-
-#ifdef H5_HAVE_FILTER_SHUFFLE
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("SHUF",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-
-
- TESTING("    adding checksum filter");
-
-#ifdef H5_HAVE_FILTER_FLETCHER32
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset1:FLET",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
-
-
- TESTING("    adding checksum filter to all");
-
-#ifdef H5_HAVE_FILTER_FLETCHER32
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("FLET",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-
- TESTING("    filter queue fletcher, shuffle, deflate, szip");
-
-/*-------------------------------------------------------------------------
- * add some filters
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:CHUNK 20x10",&pack_options)<0)
-  TEST_ERROR;
-
-#if defined (H5_HAVE_FILTER_FLETCHER32)
- if (h5repack_addfilter("dset1:FLET",&pack_options)<0)
-  TEST_ERROR;
-#endif
-
-#ifdef H5_HAVE_FILTER_SHUFFLE
- if (h5repack_addfilter("dset1:SHUF",&pack_options)<0)
-  TEST_ERROR;
-#endif
-
-#if defined (H5_HAVE_FILTER_SZIP)
-if (szip_can_encode) {
- if (h5repack_addfilter("dset1:SZIP=8,NN",&pack_options)<0)
-  TEST_ERROR;
-}
-#endif
-
-#ifdef H5_HAVE_FILTER_DEFLATE
- if (h5repack_addfilter("dset1:GZIP=1",&pack_options)<0)
-  TEST_ERROR;
-#endif
-
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-
-
- TESTING("    adding layout chunked");
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
- PASSED();
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
- TESTING("    adding layout chunked to all");
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("CHUNK=20x10",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-
- TESTING("    adding layout contiguous");
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:CONTI",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-
- TESTING("    adding layout contiguous to all");
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("CONTI",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-
- TESTING("    adding layout compact");
-
-/*-------------------------------------------------------------------------
- * test an individual object option
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset1:COMPA",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
- PASSED();
-
- TESTING("    adding layout compact to all");
-
-/*-------------------------------------------------------------------------
- * test all objects option
- *-------------------------------------------------------------------------
- */
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("COMPA",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-
-
- TESTING("    layout compact to contiguous conversion");
-
-/*-------------------------------------------------------------------------
- * layout compact to contiguous conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_compact:CONTI",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
- TESTING("    layout compact to chunk conversion");
-
-/*-------------------------------------------------------------------------
- * layout compact to chunk conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_compact:CHUNK=2x5",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
-  TESTING("    layout compact to compact conversion");
-
-/*-------------------------------------------------------------------------
- * layout compact to compact conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_compact:COMPA",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
- TESTING("    layout contiguous to compact conversion");
-/*-------------------------------------------------------------------------
- * layout contiguous to compact conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_contiguous:COMPA",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
- TESTING("    layout contiguous to chunk conversion");
-/*-------------------------------------------------------------------------
- * layout contiguous to chunk conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_contiguous:CHUNK=3x6",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
-  TESTING("    layout contiguous to contiguous conversion");
-
-/*-------------------------------------------------------------------------
- * layout contiguous to contiguous conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_contiguous:CONTI",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
- TESTING("    layout chunked to compact conversion");
-/*-------------------------------------------------------------------------
- * layout chunked to compact conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_chunk:COMPA",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
- TESTING("    layout chunked to contiguous conversion");
-
-/*-------------------------------------------------------------------------
- * layout chunked to contiguous conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_chunk:CONTI",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
- TESTING("    layout chunked to chunk conversion");
-/*-------------------------------------------------------------------------
- * layout chunked to chunked conversion
- *-------------------------------------------------------------------------
- */
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addlayout("dset_chunk:CHUNK=18x13",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME4,FNAME4OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME4,FNAME4OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME4OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-  PASSED();
-
-
-/*-------------------------------------------------------------------------
- * the following tests assume the input files have filters
- * FNAME7     "test_szip.h5"
- * FNAME8     "test_deflate.h5"
- * FNAME9     "test_shuffle.h5"
- * FNAME10    "test_fletcher32.h5"
- * FNAME11    "test_all.h5"
- *-------------------------------------------------------------------------
- */
-
-
- TESTING("    copy of szip filter");
-
-#if defined (H5_HAVE_FILTER_SZIP)
-if (szip_can_encode) {
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME7,FNAME7OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME7,FNAME7OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME7OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-} else {
- SKIPPED();
-}
-#else
- SKIPPED();
-#endif
-
-  TESTING("    removing szip filter");
-
-#if defined (H5_HAVE_FILTER_SZIP)
-if (szip_can_encode) {
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset_szip:NONE",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME7,FNAME7OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME7,FNAME7OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME7OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-} else {
- SKIPPED();
-}
-#else
- SKIPPED();
-#endif
-
-
-  TESTING("    copy of deflate filter");
-
-#ifdef H5_HAVE_FILTER_DEFLATE
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME8,FNAME8OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME8,FNAME8OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME8OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-
- TESTING("    removing deflate filter");
-
-#ifdef H5_HAVE_FILTER_DEFLATE
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset_deflate:NONE",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME8,FNAME8OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME8,FNAME8OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME8OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-
-
- TESTING("    copy of shuffle filter");
-
-#ifdef H5_HAVE_FILTER_SHUFFLE
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME9,FNAME9OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME9,FNAME9OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME9OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
- TESTING("    removing shuffle filter");
-
-#ifdef H5_HAVE_FILTER_SHUFFLE
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset_shuffle:NONE",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME9,FNAME9OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME9,FNAME9OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME9OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
- TESTING("    copy of fletcher filter");
-
-#ifdef H5_HAVE_FILTER_FLETCHER32
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack(FNAME10,FNAME10OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME10,FNAME10OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME10OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-  TESTING("    removing fletcher filter");
-
-#ifdef H5_HAVE_FILTER_FLETCHER32
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset_fletcher32:NONE",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME10,FNAME10OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME10,FNAME10OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME10OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-
-/*-------------------------------------------------------------------------
- * file with all filters
- *  dset_all
- *  dset_deflate
- *  dset_szip
- *  dset_shuffle
- *  dset_fletcher32
- *-------------------------------------------------------------------------
- */
-
-
- TESTING("    filter conversion from deflate to szip");
-
-#if defined (H5_HAVE_FILTER_SZIP) \
-    && defined (H5_HAVE_FILTER_DEFLATE) \
-    && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE)
-
-if (szip_can_encode) {
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset_deflate:SZIP=8,NN",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME11,FNAME11OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME11,FNAME11OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME11OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-} else {
- SKIPPED();
-}
-#else
- SKIPPED();
-#endif
-
- TESTING("    filter conversion from szip to deflate");
-
-#if defined (H5_HAVE_FILTER_SZIP) \
-    && defined (H5_HAVE_FILTER_DEFLATE) \
-    && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE)
-
-if (szip_can_encode) {
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("dset_szip:GZIP=1",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME11,FNAME11OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME11,FNAME11OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME11OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-} else {
- SKIPPED();
-}
-#else
- SKIPPED();
-#endif
-
-
-/*-------------------------------------------------------------------------
- * test the NONE global option
- *-------------------------------------------------------------------------
- */
-
-  TESTING("    removing all filters");
-
-#if defined (H5_HAVE_FILTER_SZIP) && defined (H5_HAVE_FILTER_DEFLATE) \
-    && defined (H5_HAVE_FILTER_FLETCHER32) && defined (H5_HAVE_FILTER_SHUFFLE)
-
- if (h5repack_init (&pack_options, 0)<0)
-  TEST_ERROR;
- if (h5repack_addfilter("NONE",&pack_options)<0)
-  TEST_ERROR;
- if (h5repack(FNAME11,FNAME11OUT,&pack_options)<0)
-  TEST_ERROR;
- if (h5diff(FNAME11,FNAME11OUT,NULL,NULL,&diff_options) == 1)
-  TEST_ERROR;
- if (h5repack_verify(FNAME11OUT,&pack_options)<=0)
-  TEST_ERROR;
- if (h5repack_end (&pack_options)<0)
-  TEST_ERROR;
-
- PASSED();
-#else
- SKIPPED();
-#endif
-
-
-/*-------------------------------------------------------------------------
- * end
- *-------------------------------------------------------------------------
- */
-
- puts("All h5repack tests passed.");
-
- return 0;
-
-error:
- puts("***** H5REPACK TESTS FAILED *****");
- return 1;
-
-}
-
-
-

Deleted: packages/hdf5/trunk/tools/h5repack/testh5repack_make.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/testh5repack_make.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/testh5repack_make.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,1014 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "hdf5.h"
-#include "h5test.h"
-#include "h5repack.h"
-
-#define DIM1  40
-#define DIM2  20
-#define CDIM1 DIM1/2
-#define CDIM2 DIM2/2
-#define RANK  2
-
-int make_all_objects(hid_t loc_id);
-int make_attributes(hid_t loc_id);
-int make_hlinks(hid_t loc_id);
-int make_early(void);
-int make_layout(hid_t loc_id);
-#ifdef H5_HAVE_FILTER_SZIP
-int make_szip(hid_t loc_id);
-#endif /* H5_HAVE_FILTER_SZIP */
-int make_deflate(hid_t loc_id);
-int make_shuffle(hid_t loc_id);
-int make_fletcher32(hid_t loc_id);
-int make_all(hid_t loc_id);
-int make_fill(hid_t loc_id);
-
-
-/*-------------------------------------------------------------------------
- * Function: make_testfiles
- *
- * Purpose: make a test file with all types of HDF5 objects,
- *   datatypes and filters
- *
- *-------------------------------------------------------------------------
- */
-int make_testfiles(void)
-{
- hid_t  loc_id;  /* file ID */
-
- TESTING("    generating datasets");
-
-/*-------------------------------------------------------------------------
- * create a file for general copy test
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME0,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_fill(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-/*-------------------------------------------------------------------------
- * create another file for general copy test (all datatypes)
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME1,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_all_objects(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-/*-------------------------------------------------------------------------
- * create a file for attributes copy test
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME2,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_attributes(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-/*-------------------------------------------------------------------------
- * create a file for hard links test
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME3,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_hlinks(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-/*-------------------------------------------------------------------------
- * create a file for layouts test
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME4,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_layout(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-/*-------------------------------------------------------------------------
- * create a file for the H5D_ALLOC_TIME_EARLY test
- *-------------------------------------------------------------------------
- */
- if (make_early()<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * create a file with the SZIP filter
- *-------------------------------------------------------------------------
- */
-#ifdef H5_HAVE_FILTER_SZIP
- if((loc_id = H5Fcreate(FNAME7,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_szip(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-#endif /* H5_HAVE_FILTER_SZIP */
-
-/*-------------------------------------------------------------------------
- * create a file with the deflate filter
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME8,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_deflate(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-/*-------------------------------------------------------------------------
- * create a file with the shuffle filter
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME9,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_shuffle(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-/*-------------------------------------------------------------------------
- * create a file with the fletcher32 filter
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME10,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_fletcher32(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-/*-------------------------------------------------------------------------
- * create a file with the all filters
- *-------------------------------------------------------------------------
- */
- if((loc_id = H5Fcreate(FNAME11,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (make_all(loc_id)<0)
-  goto out;
- if(H5Fclose(loc_id)<0)
-  return -1;
-
-
- PASSED();
- return 0;
-
-out:
-  H5Fclose(loc_id);
- return -1;
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make_all_objects
- *
- * Purpose: make a test file with all types of HDF5 objects, datatypes
- *
- *-------------------------------------------------------------------------
- */
-int make_all_objects(hid_t loc_id)
-{
- hid_t   dset_id;
- hid_t   group_id;
- hid_t   type_id;
- hid_t   root_id;
- hid_t   space_id;
- hsize_t dims[1]={2};
- /* Compound datatype */
- typedef struct s_t
- {
-  int    a;
-  float  b;
- } s_t;
-
-/*-------------------------------------------------------------------------
- * H5G_DATASET
- *-------------------------------------------------------------------------
- */
- space_id = H5Screate_simple(1,dims,NULL);
- dset_id  = H5Dcreate(loc_id,"dset_referenced",H5T_NATIVE_INT,space_id,H5P_DEFAULT);
- H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5G_GROUP
- *-------------------------------------------------------------------------
- */
- group_id  = H5Gcreate(loc_id,"g1",0);
- root_id   = H5Gopen(loc_id, "/");
-
-/*-------------------------------------------------------------------------
- * H5G_TYPE
- *-------------------------------------------------------------------------
- */
-
- /* Create a memory compound datatype */
- type_id = H5Tcreate (H5T_COMPOUND, sizeof(s_t));
- H5Tinsert(type_id, "a", HOFFSET(s_t, a), H5T_NATIVE_INT);
- H5Tinsert(type_id, "b", HOFFSET(s_t, b), H5T_NATIVE_FLOAT);
- /* Commit compound datatype and close it */
- H5Tcommit(loc_id, "type", type_id);
- H5Tclose(type_id);
-
-/*-------------------------------------------------------------------------
- * H5G_LINK
- *-------------------------------------------------------------------------
- */
-
- H5Glink(loc_id, H5G_LINK_SOFT, "dset", "link");
-
-/*-------------------------------------------------------------------------
- * write a series of datasetes
- *-------------------------------------------------------------------------
- */
-
- write_dset_in(root_id,"dset_referenced",loc_id,0);
-
- /* Close */
- H5Dclose(dset_id);
- H5Gclose(group_id);
- H5Gclose(root_id);
-
- return 0;
-
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: make_attributes
- *
- * Purpose: make a test file with all types of attributes
- *
- *-------------------------------------------------------------------------
- */
-int make_attributes(hid_t loc_id)
-{
- hid_t   dset_id;
- hid_t   group_id;
- hid_t   root_id;
- hid_t   space_id;
- hsize_t dims[1]={2};
-
-
-/*-------------------------------------------------------------------------
- * H5G_DATASET
- *-------------------------------------------------------------------------
- */
-
- space_id = H5Screate_simple(1,dims,NULL);
- dset_id  = H5Dcreate(loc_id,"dset",H5T_NATIVE_INT,space_id,H5P_DEFAULT);
- H5Sclose(space_id);
-
-/*-------------------------------------------------------------------------
- * H5G_GROUP
- *-------------------------------------------------------------------------
- */
- group_id  = H5Gcreate(loc_id,"g1",0);
- root_id   = H5Gopen(loc_id, "/");
-
-/*-------------------------------------------------------------------------
- * write a series of attributes on the dataset, group, and root group
- *-------------------------------------------------------------------------
- */
-
- write_attr_in(dset_id,"dset",loc_id,0);
- write_attr_in(group_id,"dset",loc_id,0);
- write_attr_in(root_id,"dset",loc_id,0);
-
- /* Close */
- H5Dclose(dset_id);
- H5Gclose(group_id);
- H5Gclose(root_id);
-
- return 0;
-
-}
-
-/*-------------------------------------------------------------------------
- * Function: make_hlinks
- *
- * Purpose: make a test file with hard links
- *
- *-------------------------------------------------------------------------
- */
-int make_hlinks(hid_t loc_id)
-{
- hid_t   group1_id;
- hid_t   group2_id;
- hid_t   group3_id;
- hsize_t dims[2]={3,2};
- int     buf[3][2]= {{1,1},{1,2},{2,2}};
-
-/*-------------------------------------------------------------------------
- * create a dataset and some hard links to it
- *-------------------------------------------------------------------------
- */
-
- if (write_dset(loc_id,2,dims,"dset",H5T_NATIVE_INT,buf)<0)
-  return -1;
- if (H5Glink(loc_id, H5G_LINK_HARD, "dset", "link1 to dset")<0)
-  return -1;
- if (H5Glink(loc_id, H5G_LINK_HARD, "dset", "link2 to dset")<0)
-  return -1;
- if (H5Glink(loc_id, H5G_LINK_HARD, "dset", "link3 to dset")<0)
-  return -1;
-
-
-/*-------------------------------------------------------------------------
- * create a group and some hard links to it
- *-------------------------------------------------------------------------
- */
-
- if ((group1_id = H5Gcreate(loc_id,"g1",0))<0)
-  return -1;
- if ((group2_id = H5Gcreate(group1_id,"g2",0))<0)
-  return -1;
- if ((group3_id = H5Gcreate(group2_id,"g3",0))<0)
-  return -1;
-
- if (H5Glink2(loc_id, "g1", H5G_LINK_HARD, group2_id, "link1 to g1")<0)
-  return -1;
- if (H5Glink2(group1_id, "g2", H5G_LINK_HARD, group3_id, "link1 to g2")<0)
-  return -1;
-
- H5Gclose(group1_id);
- H5Gclose(group2_id);
- H5Gclose(group3_id);
-
- return 0;
-
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: make_szip
- *
- * Purpose: make a dataset with the SZIP filter
- *
- *-------------------------------------------------------------------------
- */
-#ifdef H5_HAVE_FILTER_SZIP
-int make_szip(hid_t loc_id)
-{
- hid_t    dcpl; /* dataset creation property list */
- hid_t    sid;  /* dataspace ID */
- unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK;
- unsigned szip_pixels_per_block=8;
- hsize_t  dims[RANK]={DIM1,DIM2};
- hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
- int      buf[DIM1][DIM2];
- int      i, j, n;
- int szip_can_encode = 0;
-
- for (i=n=0; i<DIM1; i++){
-  for (j=0; j<DIM2; j++){
-   buf[i][j]=n++;
-  }
- }
- /* create a space */
- if((sid = H5Screate_simple(RANK, dims, NULL))<0)
-  return -1;
- /* create a dcpl */
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
- /* set up chunk */
- if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * SZIP
- *-------------------------------------------------------------------------
- */
- /* Make sure encoding is enabled */
-if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) {
-   szip_can_encode = 1;
-}
-if (szip_can_encode) {
- /* set szip data */
- if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block)<0)
-  goto out;
- if (make_dset(loc_id,"dset_szip",sid,dcpl,buf)<0)
-  goto out;
-} else {
-	/* WARNING? SZIP is decoder only, can't generate test files */
-}
-
- if(H5Sclose(sid)<0)
-  goto out;
- if(H5Pclose(dcpl)<0)
-  goto out;
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Pclose(dcpl);
-  H5Sclose(sid);
- } H5E_END_TRY;
- return -1;
-}
-#endif /* H5_HAVE_FILTER_SZIP */
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make_deflate
- *
- * Purpose: make a dataset with the deflate filter
- *
- *-------------------------------------------------------------------------
- */
-int make_deflate(hid_t loc_id)
-{
- hid_t    dcpl; /* dataset creation property list */
- hid_t    sid;  /* dataspace ID */
- hsize_t  dims[RANK]={DIM1,DIM2};
- hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
- int      buf[DIM1][DIM2];
- int      i, j, n;
-
- for (i=n=0; i<DIM1; i++){
-  for (j=0; j<DIM2; j++){
-   buf[i][j]=n++;
-  }
- }
-
- /* create a space */
- if((sid = H5Screate_simple(RANK, dims, NULL))<0)
-  return -1;
- /* create a dcpl */
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
- /* set up chunk */
- if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
-  goto out;
-/*-------------------------------------------------------------------------
- * GZIP
- *-------------------------------------------------------------------------
- */
-#if defined (H5_HAVE_FILTER_DEFLATE)
- /* set deflate data */
- if(H5Pset_deflate(dcpl, 9)<0)
-  goto out;
- if (make_dset(loc_id,"dset_deflate",sid,dcpl,buf)<0)
-  goto out;
-#endif
-
-/*-------------------------------------------------------------------------
- * close space and dcpl
- *-------------------------------------------------------------------------
- */
- if(H5Sclose(sid)<0)
-  goto out;
- if(H5Pclose(dcpl)<0)
-  goto out;
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Pclose(dcpl);
-  H5Sclose(sid);
- } H5E_END_TRY;
- return -1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: make_shuffle
- *
- * Purpose: make a dataset with the shuffle filter
- *
- *-------------------------------------------------------------------------
- */
-int make_shuffle(hid_t loc_id)
-{
- hid_t    dcpl; /* dataset creation property list */
- hid_t    sid;  /* dataspace ID */
- hsize_t  dims[RANK]={DIM1,DIM2};
- hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
- int      buf[DIM1][DIM2];
- int      i, j, n;
-
- for (i=n=0; i<DIM1; i++){
-  for (j=0; j<DIM2; j++){
-   buf[i][j]=n++;
-  }
- }
- /* create a space */
- if((sid = H5Screate_simple(RANK, dims, NULL))<0)
-  return -1;
- /* create a dcpl */
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
- /* set up chunk */
- if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * shuffle
- *-------------------------------------------------------------------------
- */
-#if defined (H5_HAVE_FILTER_SHUFFLE)
- /* set the shuffle filter */
- if (H5Pset_shuffle(dcpl)<0)
-  goto out;
- if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf)<0)
-  goto out;
-#endif
-
-/*-------------------------------------------------------------------------
- * close space and dcpl
- *-------------------------------------------------------------------------
- */
- if(H5Sclose(sid)<0)
-  goto out;
- if(H5Pclose(dcpl)<0)
-  goto out;
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Pclose(dcpl);
-  H5Sclose(sid);
- } H5E_END_TRY;
- return -1;
-}
-
-/*-------------------------------------------------------------------------
- * Function: make_fletcher32
- *
- * Purpose: make a dataset with the fletcher32 filter
- *
- *-------------------------------------------------------------------------
- */
-int make_fletcher32(hid_t loc_id)
-{
- hid_t    dcpl; /* dataset creation property list */
- hid_t    sid;  /* dataspace ID */
- hsize_t  dims[RANK]={DIM1,DIM2};
- hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
- int      buf[DIM1][DIM2];
- int      i, j, n;
-
- for (i=n=0; i<DIM1; i++){
-  for (j=0; j<DIM2; j++){
-   buf[i][j]=n++;
-  }
- }
- /* create a space */
- if((sid = H5Screate_simple(RANK, dims, NULL))<0)
-  return -1;
- /* create a dataset creation property list; the same DCPL is used for all dsets */
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
- /* set up chunk */
- if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
-  goto out;
-
-
-/*-------------------------------------------------------------------------
- * fletcher32
- *-------------------------------------------------------------------------
- */
-#if defined (H5_HAVE_FILTER_FLETCHER32)
- /* remove the filters from the dcpl */
- if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
-  goto out;
- /* set the checksum filter */
- if (H5Pset_fletcher32(dcpl)<0)
-  goto out;
- if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf)<0)
-  goto out;
-#endif
-
-/*-------------------------------------------------------------------------
- * close space and dcpl
- *-------------------------------------------------------------------------
- */
- if(H5Sclose(sid)<0)
-  goto out;
- if(H5Pclose(dcpl)<0)
-  goto out;
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Pclose(dcpl);
-  H5Sclose(sid);
- } H5E_END_TRY;
- return -1;
-}
-
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make_all
- *
- * Purpose: make a file with all filters
- *
- *-------------------------------------------------------------------------
- */
-int make_all(hid_t loc_id)
-{
- hid_t    dcpl; /* dataset creation property list */
- hid_t    sid;  /* dataspace ID */
-#if defined (H5_HAVE_FILTER_SZIP)
- unsigned szip_options_mask=H5_SZIP_ALLOW_K13_OPTION_MASK|H5_SZIP_NN_OPTION_MASK;
- unsigned szip_pixels_per_block=8;
-#endif /* H5_HAVE_FILTER_SZIP */
- hsize_t  dims[RANK]={DIM1,DIM2};
- hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
- int      buf[DIM1][DIM2];
- int      i, j, n;
-#if defined (H5_HAVE_FILTER_SZIP)
- int szip_can_encode = 0;
-#endif
-
- for (i=n=0; i<DIM1; i++){
-  for (j=0; j<DIM2; j++){
-   buf[i][j]=n++;
-  }
- }
- /* create a space */
- if((sid = H5Screate_simple(RANK, dims, NULL))<0)
-  return -1;
- /* create a dataset creation property list; the same DCPL is used for all dsets */
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
- /* set up chunk */
- if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
-  goto out;
-
-#if defined (H5_HAVE_FILTER_SHUFFLE)
- /* set the shuffle filter */
- if (H5Pset_shuffle(dcpl)<0)
-  goto out;
-#endif
-
-#if defined (H5_HAVE_FILTER_FLETCHER32)
- /* set the checksum filter */
- if (H5Pset_fletcher32(dcpl)<0)
-  goto out;
-#endif
-
-#if defined (H5_HAVE_FILTER_SZIP)
-if (h5tools_can_encode(H5Z_FILTER_SZIP) == 1) {
-   szip_can_encode = 1;
-}
-if (szip_can_encode) {
- /* set szip data */
- if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block)<0)
-  goto out;
-} else {
-	/* WARNING? SZIP is decoder only, can't generate test data using szip */
-}
-#endif
-
-#if defined (H5_HAVE_FILTER_DEFLATE)
- /* set deflate data */
- if(H5Pset_deflate(dcpl, 9)<0)
-  goto out;
-#endif
-
- if (make_dset(loc_id,"dset_all",sid,dcpl,buf)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * fletcher32
- *-------------------------------------------------------------------------
- */
-#if defined (H5_HAVE_FILTER_FLETCHER32)
- /* remove the filters from the dcpl */
- if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
-  goto out;
- /* set the checksum filter */
- if (H5Pset_fletcher32(dcpl)<0)
-  goto out;
- if (make_dset(loc_id,"dset_fletcher32",sid,dcpl,buf)<0)
-  goto out;
-#endif
-
-/*-------------------------------------------------------------------------
- * SZIP
- *-------------------------------------------------------------------------
- */
- /* Make sure encoding is enabled */
-#if defined (H5_HAVE_FILTER_SZIP)
-if (szip_can_encode) {
- /* remove the filters from the dcpl */
- if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
-  goto out;
- /* set szip data */
- if(H5Pset_szip (dcpl,szip_options_mask,szip_pixels_per_block)<0)
-  goto out;
- if (make_dset(loc_id,"dset_szip",sid,dcpl,buf)<0)
-  goto out;
-} else {
-	/* WARNING? SZIP is decoder only, can't generate test dataset */
-}
-#endif
-
-/*-------------------------------------------------------------------------
- * shuffle
- *-------------------------------------------------------------------------
- */
-#if defined (H5_HAVE_FILTER_SHUFFLE)
- /* remove the filters from the dcpl */
- if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
-  goto out;
- /* set the shuffle filter */
- if (H5Pset_shuffle(dcpl)<0)
-  goto out;
- if (make_dset(loc_id,"dset_shuffle",sid,dcpl,buf)<0)
-  goto out;
-#endif
-
-/*-------------------------------------------------------------------------
- * GZIP
- *-------------------------------------------------------------------------
- */
-#if defined (H5_HAVE_FILTER_DEFLATE)
- /* remove the filters from the dcpl */
- if (H5Premove_filter(dcpl,H5Z_FILTER_ALL)<0)
-  goto out;
- /* set deflate data */
- if(H5Pset_deflate(dcpl, 1)<0)
-  goto out;
- if (make_dset(loc_id,"dset_deflate",sid,dcpl,buf)<0)
-  goto out;
-#endif
-
-
-
-/*-------------------------------------------------------------------------
- * close space and dcpl
- *-------------------------------------------------------------------------
- */
- if(H5Sclose(sid)<0)
-  goto out;
- if(H5Pclose(dcpl)<0)
-  goto out;
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Pclose(dcpl);
-  H5Sclose(sid);
- } H5E_END_TRY;
- return -1;
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make_early
- *
- * Purpose: create a file for the H5D_ALLOC_TIME_EARLY test
- *
- *-------------------------------------------------------------------------
- */
-int make_early(void)
-{
- hsize_t dims[1] ={3000};
- hsize_t cdims[1]={30};
- hid_t   fid=-1;
- hid_t   dset_id=-1;
- hid_t   sid=-1;
- hid_t   tid=-1;
- hid_t   dcpl=-1;
- int     i;
- char    name[10];
- int     iter=100;
-
- if ((fid = H5Fcreate(FNAME5,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
- if (H5Fclose(fid)<0)
-  goto out;
-
- if ((sid = H5Screate_simple(1, dims, NULL))<0)
-  goto out;
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
- if (H5Pset_chunk(dcpl,1,cdims)<0)
-  goto out;
- if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY)<0)
-  goto out;
-
- for (i=0; i<iter; i++)
- {
-  if ((fid = H5Fopen(FNAME5,H5F_ACC_RDWR,H5P_DEFAULT))<0)
-   goto out;
-  if ((dset_id = H5Dcreate(fid,"early",H5T_NATIVE_DOUBLE,sid,dcpl))<0)
-   goto out;
-  if ((tid = H5Tcopy(H5T_NATIVE_DOUBLE))<0)
-   goto out;
-  sprintf(name,"%d", i);
-  if ((H5Tcommit(fid,name,tid))<0)
-   goto out;
-  if (H5Tclose(tid)<0)
-   goto out;
-  if (H5Dclose(dset_id)<0)
-   goto out;
-  if (H5Gunlink(fid,"early")<0)
-   goto out;
-  if (H5Fclose(fid)<0)
-   goto out;
- }
-
-/*-------------------------------------------------------------------------
- * do the same without close/opening the file and creating the dataset
- *-------------------------------------------------------------------------
- */
-
- if ((fid = H5Fcreate(FNAME6,H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT))<0)
-  return -1;
-
- for (i=0; i<iter; i++)
- {
-  if ((tid = H5Tcopy(H5T_NATIVE_DOUBLE))<0)
-   goto out;
-  sprintf(name,"%d", i);
-  if ((H5Tcommit(fid,name,tid))<0)
-   goto out;
-  if (H5Tclose(tid)<0)
-   goto out;
- }
-
- if (H5Sclose(sid)<0)
-  goto out;
- if (H5Pclose(dcpl)<0)
-  goto out;
- if (H5Fclose(fid)<0)
-  goto out;
-
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Tclose(tid);
-  H5Pclose(dcpl);
-  H5Sclose(sid);
-  H5Dclose(dset_id);
-  H5Fclose(fid);
- } H5E_END_TRY;
- return -1;
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make_layout
- *
- * Purpose: make several datasets with several layouts in location LOC_ID
- *
- *-------------------------------------------------------------------------
- */
-int make_layout(hid_t loc_id)
-{
- hid_t    dcpl; /* dataset creation property list */
- hid_t    sid;  /* dataspace ID */
- hsize_t  dims[RANK]={DIM1,DIM2};
- hsize_t  chunk_dims[RANK]={CDIM1,CDIM2};
- int      buf[DIM1][DIM2];
- int      i, j, n;
- char     name[5];
-
-
- for (i=n=0; i<DIM1; i++){
-  for (j=0; j<DIM2; j++){
-   buf[i][j]=n++;
-  }
- }
-
-/*-------------------------------------------------------------------------
- * make several dataset with no filters
- *-------------------------------------------------------------------------
- */
- for (i=0; i<4; i++)
- {
-  sprintf(name,"dset%d",i+1);
-  if (write_dset(loc_id,RANK,dims,name,H5T_NATIVE_INT,buf)<0)
-   return -1;
- }
-
-
-/*-------------------------------------------------------------------------
- * make several dataset with several layout options
- *-------------------------------------------------------------------------
- */
- /* create a space */
- if((sid = H5Screate_simple(RANK, dims, NULL))<0)
-  return -1;
- /* create a dataset creation property list; the same DCPL is used for all dsets */
- if ((dcpl = H5Pcreate(H5P_DATASET_CREATE))<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * H5D_COMPACT
- *-------------------------------------------------------------------------
- */
- if(H5Pset_layout (dcpl,H5D_COMPACT)<0)
-  goto out;
- if (make_dset(loc_id,"dset_compact",sid,dcpl,buf)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * H5D_COMPACT
- *-------------------------------------------------------------------------
- */
- if(H5Pset_layout (dcpl,H5D_CONTIGUOUS)<0)
-  goto out;
- if (make_dset(loc_id,"dset_contiguous",sid,dcpl,buf)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * H5D_CHUNKED
- *-------------------------------------------------------------------------
- */
- if(H5Pset_chunk(dcpl, RANK, chunk_dims)<0)
-  goto out;
- if (make_dset(loc_id,"dset_chunk",sid,dcpl,buf)<0)
-  goto out;
-
-/*-------------------------------------------------------------------------
- * close space and dcpl
- *-------------------------------------------------------------------------
- */
- if(H5Sclose(sid)<0)
-  goto out;
- if(H5Pclose(dcpl)<0)
-  goto out;
-
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Pclose(dcpl);
-  H5Sclose(sid);
- } H5E_END_TRY;
- return -1;
-}
-
-
-
-
-
-/*-------------------------------------------------------------------------
- * Function: make a file with an integer dataset with a fill value
- *
- * Purpose: test copy of fill values
- *
- *-------------------------------------------------------------------------
- */
-int make_fill(hid_t loc_id)
-{
- hid_t   did;
- hid_t   sid;
- hid_t   dcpl;
- hsize_t dims[2]={3,2};
- int     buf[3][2]= {{1,1},{1,2},{2,2}};
- int     fillvalue=2;
-
-/*-------------------------------------------------------------------------
- * H5T_INTEGER, write a fill value
- *-------------------------------------------------------------------------
- */
-
- dcpl = H5Pcreate(H5P_DATASET_CREATE);
-	H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillvalue);
-	sid = H5Screate_simple(2,dims,NULL);
-	did = H5Dcreate(loc_id,"dset_fill",H5T_NATIVE_INT,sid,dcpl);
-	H5Dwrite(did,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf);
-	H5Pclose(dcpl);
-	H5Dclose(did);
- H5Sclose(sid);
-
- return 0;
-
-}
-

Deleted: packages/hdf5/trunk/tools/h5repack/testh5repack_util.c
===================================================================
--- packages/hdf5/trunk/tools/h5repack/testh5repack_util.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/h5repack/testh5repack_util.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,153 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-#include "hdf5.h"
-#include "h5repack.h"
-
-/*-------------------------------------------------------------------------
- * Function: make_dset
- *
- * Purpose: utility function to create and write a dataset in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-int make_dset(hid_t loc_id,
-              const char *name,
-              hid_t sid,
-              hid_t dcpl,
-              void *buf)
-{
- hid_t   dsid;
-
- /* create the dataset */
- if((dsid = H5Dcreate (loc_id,name,H5T_NATIVE_INT,sid,dcpl))<0)
-  return -1;
-
- /* write */
- if(H5Dwrite(dsid,H5T_NATIVE_INT,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
-  goto out;
-
- /* close */
- if(H5Dclose(dsid)<0)
-  return -1;
-
- return 0;
- out:
- H5E_BEGIN_TRY {
-  H5Dclose(dsid);
- } H5E_END_TRY;
- return -1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: write_dset
- *
- * Purpose: utility function to create and write a dataset in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-int write_dset( hid_t loc_id,
-                int rank,
-                hsize_t *dims,
-                const char *dset_name,
-                hid_t type_id,
-                void *buf )
-{
- hid_t   dset_id;
- hid_t   space_id;
-
- /* Create a buf space  */
- if ((space_id = H5Screate_simple(rank,dims,NULL))<0)
-  return -1;
-
- /* Create a dataset */
- if ((dset_id = H5Dcreate(loc_id,dset_name,type_id,space_id,H5P_DEFAULT))<0)
-  return -1;
-
- /* Write the buf */
- if ( buf )
-  if (H5Dwrite(dset_id,type_id,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf)<0)
-   return -1;
-
- /* Close */
- if (H5Dclose(dset_id)<0)
-  return -1;
- if (H5Sclose(space_id)<0)
-  return -1;
-
- return 0;
-
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: write_attr
- *
- * Purpose: utility function to write an attribute in LOC_ID
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 12, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-int make_attr(hid_t loc_id,
-               int rank,
-               hsize_t *dims,
-               const char *attr_name,
-               hid_t type_id,
-               void *buf)
-{
- hid_t   attr_id;
- hid_t   space_id;
-
- /* create a space  */
- if ((space_id = H5Screate_simple(rank,dims,NULL))<0)
-  return -1;
-
- /* create the attribute */
- if ((attr_id = H5Acreate(loc_id,attr_name,type_id,space_id,H5P_DEFAULT))<0)
-  goto out;
-
- /* write the buffer */
- if ( buf )
- {
-  if (H5Awrite(attr_id,type_id,buf)<0)
-   goto out;
- }
-
- /* close */
- H5Aclose(attr_id);
- H5Sclose(space_id);
- return 0;
-
-out:
- H5E_BEGIN_TRY {
-  H5Aclose(attr_id);
-  H5Sclose(space_id);
- } H5E_END_TRY;
- return -1;
-}
-

Modified: packages/hdf5/trunk/tools/lib/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/lib/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5tools.lo: \
    $(srcdir)/h5tools.c \

Modified: packages/hdf5/trunk/tools/lib/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/lib/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ##
 top_srcdir=@top_srcdir@
@@ -41,7 +42,7 @@
 
 ## Source and object files for the library; do not install
 ##
-LIB_SRC=h5tools.c h5tools_str.c h5tools_utils.c h5diff.c h5diff_array.c h5diff_attr.c h5diff_dset.c h5diff_util.c h5trav.c h5trav_table.c h5tools_filters.c h5tools_ref.c h5tools_type.c
+LIB_SRC=h5tools.c h5tools_str.c h5tools_utils.c h5diff.c h5diff_array.c h5diff_attr.c h5diff_dset.c h5diff_util.c h5trav.c h5tools_filters.c h5tools_ref.c h5tools_type.c
 LIB_OBJ=$(LIB_SRC:.c=.lo)
 PUB_LIB=
 AUX_LIB=$(LIB)

Modified: packages/hdf5/trunk/tools/lib/h5diff.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5diff.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5diff.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdlib.h>
@@ -17,7 +18,6 @@
 #include "H5private.h"
 
 
-
 /*-------------------------------------------------------------------------
  * Function: print_objname
  *
@@ -28,10 +28,23 @@
  */
 int print_objname(diff_opt_t *options, hsize_t nfound)
 {
- return ( (options->m_verbose || nfound) && !options->m_quiet) ?1:0;
+    return ( (options->m_verbose || nfound) && !options->m_quiet) ?1:0;
 }
 
 /*-------------------------------------------------------------------------
+ * Function: do_print_objname
+ *
+ * Purpose: print object name 
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+do_print_objname (const char *OBJ, const char *path1, const char *path2)
+{
+    printf("%-7s: <%s> and <%s>\n", OBJ, path1, path2);
+}
+
+/*-------------------------------------------------------------------------
  * Function: h5diff
  *
  * Purpose: public function, can be called in an application program.
@@ -52,114 +65,129 @@
                const char *objname2,
                diff_opt_t *options)
 {
- int          nobjects1, nobjects2;
- trav_info_t  *info1=NULL;
- trav_info_t  *info2=NULL;
- hid_t        file1_id=(-1), file2_id=(-1);
- hsize_t      nfound=0;
-
- if (options->m_quiet &&
-     (options->m_verbose || options->m_report))
- {
-  printf("Error: -q (quiet mode) cannot be added to verbose or report modes\n");
-  options->err_stat=1;
-  return 0;
- }
-
-/*-------------------------------------------------------------------------
- * open the files first; if they are not valid, no point in continuing
- *-------------------------------------------------------------------------
- */
-
- /* disable error reporting */
- H5E_BEGIN_TRY {
- /* Open the files */
- if ((file1_id=H5Fopen(fname1,H5F_ACC_RDONLY,H5P_DEFAULT))<0 )
- {
-  printf("h5diff: <%s>: unable to open file\n", fname1 );
-  options->err_stat=1;
-  goto out;
- }
- if ((file2_id=H5Fopen(fname2,H5F_ACC_RDONLY,H5P_DEFAULT))<0 )
- {
-  printf("h5diff: <%s>: unable to open file\n", fname2 );
-  options->err_stat=1;
-  goto out;
- }
- /* enable error reporting */
- } H5E_END_TRY;
-
-
-/*-------------------------------------------------------------------------
- * get the number of objects in the files
- *-------------------------------------------------------------------------
- */
- nobjects1 = h5trav_getinfo( file1_id, NULL, 0 );
- nobjects2 = h5trav_getinfo( file2_id, NULL, 0 );
-
- if (nobjects1<0 || nobjects2<0)
- {
-  printf("Error: Could not get get file contents\n");
-  options->err_stat=1;
-  goto out;
- }
-
-/*-------------------------------------------------------------------------
- * get the list of objects in the files
- *-------------------------------------------------------------------------
- */
-
- info1 = (trav_info_t*) malloc( nobjects1 * sizeof(trav_info_t));
- info2 = (trav_info_t*) malloc( nobjects2 * sizeof(trav_info_t));
- if (info1==NULL || info2==NULL)
- {
-  printf("Error: Not enough memory for object list\n");
-  options->err_stat=1;
-  if (info1) h5trav_freeinfo(info1,nobjects1);
-  if (info2) h5trav_freeinfo(info2,nobjects1);
-  goto out;
- }
-
- h5trav_getinfo( file1_id, info1, 0 );
- h5trav_getinfo( file2_id, info2, 0 );
-
-/*-------------------------------------------------------------------------
- * object name was supplied
- *-------------------------------------------------------------------------
- */
-
- if ( objname1 )
- {
-  assert(objname2);
-  options->cmn_objs=1; /* eliminate warning */
-  nfound=diff_compare(file1_id,fname1,objname1,nobjects1,info1,
-                      file2_id,fname2,objname2,nobjects2,info2,options);
- }
-
-/*-------------------------------------------------------------------------
- * compare all
- *-------------------------------------------------------------------------
- */
-
- else
- {
-  nfound=diff_match(file1_id,nobjects1,info1,
-                    file2_id,nobjects2,info2,options);
- }
-
-
- h5trav_freeinfo(info1,nobjects1);
- h5trav_freeinfo(info2,nobjects2);
-
+    int          nobjects1, nobjects2;
+    trav_info_t  *info1=NULL;
+    trav_info_t  *info2=NULL;
+    hid_t        file1_id=(-1), file2_id=(-1);
+    hsize_t      nfound=0;
+    
+    if (options->m_quiet && (options->m_verbose || options->m_report))
+    {
+        printf("Error: -q (quiet mode) cannot be added to verbose or report modes\n");
+        options->err_stat=1;
+        return 0;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * open the files first; if they are not valid, no point in continuing
+    *-------------------------------------------------------------------------
+    */
+    
+    /* disable error reporting */
+    H5E_BEGIN_TRY 
+    {
+        /* Open the files */
+        if ((file1_id=H5Fopen(fname1,H5F_ACC_RDONLY,H5P_DEFAULT))<0 )
+        {
+            printf("h5diff: <%s>: unable to open file\n", fname1 );
+            options->err_stat=1;
+            goto out;
+        }
+        if ((file2_id=H5Fopen(fname2,H5F_ACC_RDONLY,H5P_DEFAULT))<0 )
+        {
+            printf("h5diff: <%s>: unable to open file\n", fname2 );
+            options->err_stat=1;
+            goto out;
+        }
+        /* enable error reporting */
+    } H5E_END_TRY;
+    
+    
+   /*-------------------------------------------------------------------------
+    * get the number of objects in the files
+    *-------------------------------------------------------------------------
+    */
+    nobjects1 = h5trav_getinfo( file1_id, NULL, 0 );
+    nobjects2 = h5trav_getinfo( file2_id, NULL, 0 );
+    
+    if (nobjects1<0 || nobjects2<0)
+    {
+        printf("Error: Could not get get file contents\n");
+        options->err_stat=1;
+        goto out;
+    }
+    
+   /*-------------------------------------------------------------------------
+    * get the list of objects in the files
+    *-------------------------------------------------------------------------
+    */
+    
+    info1 = (trav_info_t*) malloc( nobjects1 * sizeof(trav_info_t));
+    info2 = (trav_info_t*) malloc( nobjects2 * sizeof(trav_info_t));
+    if (info1==NULL || info2==NULL)
+    {
+        printf("Error: Not enough memory for object list\n");
+        options->err_stat=1;
+        if (info1) h5trav_freeinfo(info1,nobjects1);
+        if (info2) h5trav_freeinfo(info2,nobjects1);
+        goto out;
+    }
+    
+    h5trav_getinfo( file1_id, info1, 0 );
+    h5trav_getinfo( file2_id, info2, 0 );
+    
+   /*-------------------------------------------------------------------------
+    * object name was supplied
+    *-------------------------------------------------------------------------
+    */
+    
+    if ( objname1 )
+    {
+        assert(objname2);
+        options->cmn_objs=1; /* eliminate warning */
+        nfound=diff_compare(file1_id,
+            fname1,
+            objname1,
+            nobjects1,
+            info1,
+            file2_id,
+            fname2,
+            objname2,
+            nobjects2,
+            info2,
+            options);
+    }
+    
+   /*-------------------------------------------------------------------------
+    * compare all
+    *-------------------------------------------------------------------------
+    */
+    
+    else
+    {
+        nfound=diff_match(file1_id,
+            nobjects1,
+            info1,
+            file2_id,
+            nobjects2,
+            info2,
+            options);
+    }
+    
+    
+    h5trav_freeinfo(info1,nobjects1);
+    h5trav_freeinfo(info2,nobjects2);
+    
 out:
- /* close */
- H5E_BEGIN_TRY {
-  H5Fclose(file1_id);
-  H5Fclose(file2_id);
- } H5E_END_TRY;
-
-
- return nfound;
+    /* close */
+    H5E_BEGIN_TRY 
+    {
+        H5Fclose(file1_id);
+        H5Fclose(file2_id);
+    } H5E_END_TRY;
+    
+    
+    return nfound;
 }
 
 
@@ -187,133 +215,131 @@
                     trav_info_t *info2,
                     diff_opt_t *options )
 {
- int           more_names_exist = (nobjects1>0 && nobjects2>0) ? 1 : 0;
- trav_table_t  *table=NULL;
- int           cmp;
- int           curr1=0;
- int           curr2=0;
- unsigned      infile[2];
- char          c1, c2;
- hsize_t       nfound=0;
- int           i;
-
-/*-------------------------------------------------------------------------
- * build the list
- *-------------------------------------------------------------------------
- */
- trav_table_init( &table );
-
- while ( more_names_exist )
- {
-  /* criteria is string compare */
-  cmp = strcmp( info1[curr1].name, info2[curr2].name );
-  if ( cmp == 0 )
-  {
-   infile[0]=1; infile[1]=1;
-   trav_table_addflags(infile, info1[curr1].name, info1[curr1].type, table );
-
-   curr1++;
-   curr2++;
-  }
-  else if ( cmp < 0 )
-  {
-   infile[0]=1; infile[1]=0;
-   trav_table_addflags(infile, info1[curr1].name, info1[curr1].type, table );
-   curr1++;
-  }
-  else
-  {
-   infile[0]=0; infile[1]=1;
-   trav_table_addflags(infile, info2[curr2].name, info2[curr2].type, table );
-   curr2++;
-  }
-
-  more_names_exist = (curr1<nobjects1 && curr2<nobjects2) ? 1 : 0;
-
-
- } /* end while */
-
- /* list1 did not end */
- if (curr1<nobjects1)
- {
-  while ( curr1<nobjects1 )
-  {
-   infile[0]=1; infile[1]=0;
-   trav_table_addflags(infile, info1[curr1].name, info1[curr1].type, table );
-   curr1++;
-  }
- }
-
- /* list2 did not end */
- if (curr2<nobjects2)
- {
-  while ( curr2<nobjects2 )
-  {
-   infile[0]=0; infile[1]=1;
-   trav_table_addflags(infile, info2[curr2].name, info2[curr2].type, table );
-   curr2++;
-  }
- }
-
-/*-------------------------------------------------------------------------
- * print the list
- *-------------------------------------------------------------------------
- */
-
- if (options->m_verbose)
- {
-  printf("\n");
-  printf("file1     file2\n");
-  printf("---------------------------------------\n");
-  for (i = 0; i < table->nobjs; i++)
-  {
-   c1 = (table->objs[i].flags[0]) ? 'x' : ' ';
-   c2 = (table->objs[i].flags[1]) ? 'x' : ' ';
-   printf("%5c %6c    %-15s\n", c1, c2, table->objs[i].name);
-  }
-  printf("\n");
- }
-
-
-/*-------------------------------------------------------------------------
- * do the diff for common objects
- *-------------------------------------------------------------------------
- */
-
- for (i = 0; i < table->nobjs; i++)
- {
-  if ( table->objs[i].flags[0] && table->objs[i].flags[1] )
-  {
-   options->cmn_objs=1;
-   nfound+=diff( file1_id,
-                 table->objs[i].name,
-                 file2_id,
-                 table->objs[i].name,
-                 options,
-                 table->objs[i].type );
-  }
- }
-
- /* free table */
- trav_table_free(table);
-
-
-/*-------------------------------------------------------------------------
- * do the diff for the root.
- * this is a special case, we get an ID for the root group and call diff()
- * with this ID; it compares only the root group attributes
- *-------------------------------------------------------------------------
- */
-
- nfound+=diff( file1_id,
-               "/",
-               file2_id,
-               "/",
-               options,
-               H5G_GROUP );
-
-
- return nfound;
+    int           more_names_exist = (nobjects1>0 && nobjects2>0) ? 1 : 0;
+    trav_table_t  *table=NULL;
+    int           cmp;
+    int           curr1=0;
+    int           curr2=0;
+    unsigned      infile[2];
+    char          c1, c2;
+    hsize_t       nfound=0;
+    unsigned int  i;
+    
+   /*-------------------------------------------------------------------------
+    * build the list
+    *-------------------------------------------------------------------------
+    */
+    trav_table_init( &table );
+    
+    while ( more_names_exist )
+    {
+        /* criteria is string compare */
+        cmp = strcmp( info1[curr1].name, info2[curr2].name );
+        if ( cmp == 0 )
+        {
+            infile[0]=1; infile[1]=1;
+            trav_table_addflags(infile, info1[curr1].name, info1[curr1].type, table );
+            
+            curr1++;
+            curr2++;
+        }
+        else if ( cmp < 0 )
+        {
+            infile[0]=1; infile[1]=0;
+            trav_table_addflags(infile, info1[curr1].name, info1[curr1].type, table );
+            curr1++;
+        }
+        else
+        {
+            infile[0]=0; infile[1]=1;
+            trav_table_addflags(infile, info2[curr2].name, info2[curr2].type, table );
+            curr2++;
+        }
+        
+        more_names_exist = (curr1<nobjects1 && curr2<nobjects2) ? 1 : 0;
+        
+        
+    } /* end while */
+    
+    /* list1 did not end */
+    if (curr1<nobjects1)
+    {
+        while ( curr1<nobjects1 )
+        {
+            infile[0]=1; infile[1]=0;
+            trav_table_addflags(infile, info1[curr1].name, info1[curr1].type, table );
+            curr1++;
+        }
+    }
+    
+    /* list2 did not end */
+    if (curr2<nobjects2)
+    {
+        while ( curr2<nobjects2 )
+        {
+            infile[0]=0; infile[1]=1;
+            trav_table_addflags(infile, info2[curr2].name, info2[curr2].type, table );
+            curr2++;
+        }
+    }
+    
+   /*-------------------------------------------------------------------------
+    * print the list
+    *-------------------------------------------------------------------------
+    */
+    
+    if (options->m_verbose)
+    {
+        printf("\n");
+        printf("file1     file2\n");
+        printf("---------------------------------------\n");
+        for (i = 0; i < table->nobjs; i++)
+        {
+            c1 = (table->objs[i].flags[0]) ? 'x' : ' ';
+            c2 = (table->objs[i].flags[1]) ? 'x' : ' ';
+            printf("%5c %6c    %-15s\n", c1, c2, table->objs[i].name);
+        }
+        printf("\n");
+    }
+    
+    
+   /*-------------------------------------------------------------------------
+    * do the diff for common objects
+    *-------------------------------------------------------------------------
+    */
+    
+    for (i = 0; i < table->nobjs; i++)
+    {
+        if ( table->objs[i].flags[0] && table->objs[i].flags[1] )
+        {
+            options->cmn_objs=1;
+            nfound+=diff( file1_id,
+                table->objs[i].name,
+                file2_id,
+                table->objs[i].name,
+                options,
+                table->objs[i].type );
+        }
+    }
+    
+    /* free table */
+    trav_table_free(table);
+    
+    
+   /*-------------------------------------------------------------------------
+    * do the diff for the root, it compares only the root group attributes
+    *-------------------------------------------------------------------------
+    */
+    
+    nfound+=diff( file1_id,
+        "/",
+        file2_id,
+        "/",
+        options,
+        H5G_GROUP );
+    
+    
+    return nfound;
 }
 
 
@@ -343,46 +369,52 @@
                       trav_info_t *info2,
                       diff_opt_t *options )
 {
-
- int     f1=0, f2=0;
- hsize_t nfound=0;
-
- int i = h5trav_getindex( obj1_name, nobjects1, info1 );
- int j = h5trav_getindex( obj2_name, nobjects2, info2 );
-
- if ( i == -1 )
- {
-  printf( "Object <%s> could not be found in <%s>\n", obj1_name, file1_name );
-  f1=1;
- }
- if ( j == -1 )
- {
-  printf( "Object <%s> could not be found in <%s>\n", obj2_name, file2_name );
-  f2=1;
- }
- if ( f1 || f2 ) {
-  options->err_stat=1;
-  return 0;
- }
-
-  /* use the name with "/" first, as obtained by iterator function */
- obj1_name=info1[i].name;
- obj2_name=info2[j].name;
-
- /* objects are not the same type */
- if ( info1[i].type != info2[j].type)
- {
-  if (options->m_verbose)
-  printf("Comparison not possible: <%s> is of type %s and <%s> is of type %s\n",
-   obj1_name, get_type(info1[i].type),
-   obj2_name, get_type(info2[j].type) );
-  options->not_cmp=1;
-  return 0;
- }
-
- nfound=diff( file1_id, obj1_name, file2_id, obj2_name, options, info1[i].type );
-
- return nfound;
+    
+    int     f1=0, f2=0;
+    hsize_t nfound=0;
+    
+    int i = h5trav_getindex( obj1_name, nobjects1, info1 );
+    int j = h5trav_getindex( obj2_name, nobjects2, info2 );
+    
+    if ( i == -1 )
+    {
+        printf( "Object <%s> could not be found in <%s>\n", obj1_name, file1_name );
+        f1=1;
+    }
+    if ( j == -1 )
+    {
+        printf( "Object <%s> could not be found in <%s>\n", obj2_name, file2_name );
+        f2=1;
+    }
+    if ( f1 || f2 ) 
+    {
+        options->err_stat=1;
+        return 0;
+    }
+    
+    /* use the name with "/" first, as obtained by iterator function */
+    obj1_name=info1[i].name;
+    obj2_name=info2[j].name;
+    
+    /* objects are not the same type */
+    if ( info1[i].type != info2[j].type)
+    {
+        if (options->m_verbose)
+            printf("Comparison not possible: <%s> is of type %s and <%s> is of type %s\n",
+            obj1_name, get_type(info1[i].type),
+            obj2_name, get_type(info2[j].type) );
+        options->not_cmp=1;
+        return 0;
+    }
+    
+    nfound=diff( file1_id, 
+                 obj1_name, 
+                 file2_id, 
+                 obj2_name, 
+                 options, 
+                 info1[i].type );
+    
+    return nfound;
 }
 
 
@@ -391,10 +423,10 @@
  *
  * Purpose: switch between types and choose the diff function
  * TYPE is either
- *  H5G_LINK     Object is a symbolic link
  *  H5G_GROUP		  Object is a group
- *  H5G_DATASET 	Object is a dataset
- *  H5G_TYPE     Object is a named data type
+ *  H5G_DATASET 	  Object is a dataset
+ *  H5G_TYPE          Object is a named data type
+ *  H5G_LINK          Object is a symbolic link
  *
  * Return: Number of differences found
  *
@@ -405,205 +437,220 @@
  *-------------------------------------------------------------------------
  */
 
-hsize_t diff( hid_t      file1_id,
+hsize_t diff (hid_t file1_id,
               const char *path1,
-              hid_t      file2_id,
-              const char *path2,
-              diff_opt_t *options,
-              H5G_obj_t1  type )
+              hid_t file2_id, 
+              const char *path2, 
+              diff_opt_t * options, 
+              H5G_obj_t1 type)
 {
- hid_t       type1_id=(-1);
- hid_t       type2_id=(-1);
- hid_t       grp1_id=(-1);
- hid_t       grp2_id=(-1);
- int         ret;
- H5G_stat_t  sb1;
- H5G_stat_t  sb2;
- char        *buf1=NULL;
- char        *buf2=NULL;
- hsize_t     nfound=0;
-
- switch ( type )
- {
-/*-------------------------------------------------------------------------
- * H5G_DATASET
- *-------------------------------------------------------------------------
- */
- case H5G_DATASET:
-
-  /* always print name */
-  if (options->m_verbose)
-  {
-   if (print_objname(options,(hsize_t)1))
-    printf( "Dataset:     <%s> and <%s>\n",path1,path2);
-   nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
-
-  }
-  /* check first if we have differences */
-  else
-  {
-   if (options->m_quiet==0)
-   {
-    /* shut up temporarily */
-    options->m_quiet=1;
-    nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
-    /* print again */
-    options->m_quiet=0;
-    if (nfound)
+    hid_t       type1_id=(-1);
+    hid_t       type2_id=(-1);
+    hid_t       grp1_id=(-1);
+    hid_t       grp2_id=(-1);
+    int ret;
+    H5G_stat_t sb1;
+    H5G_stat_t sb2;
+    hsize_t nfound = 0;
+    
+    switch (type)
     {
-     if (print_objname(options,nfound))
-      printf( "Dataset:     <%s> and <%s>\n",path1,path2);
-     nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
-    } /*if*/
-   } /*if*/
-   /* in quiet mode, just count differences */
-   else
-   {
-    nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
-   }
-  }/*else*/
+    
+   /*-------------------------------------------------------------------------
+    * H5G_DATASET
+    *-------------------------------------------------------------------------
+    */
+    case H5G_DATASET:
+        
+       /*-------------------------------------------------------------------------
+        * verbose, always print name
+        *-------------------------------------------------------------------------
+        */
+        if (options->m_verbose)
+        {
+            if (print_objname(options,(hsize_t)1))
+                do_print_objname ("dataset", path1, path2);
+            nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
+            print_found(nfound);
+            
+        }
+       /*-------------------------------------------------------------------------
+        * non verbose, check first if we have differences by enabling quiet mode
+        * so that printing is off, and compare again if differences found,
+        * disabling quite mode
+        *-------------------------------------------------------------------------
+        */
+        else
+        {
+            if (options->m_quiet==0)
+            {
+                /* shut up temporarily */
+                options->m_quiet=1;
+                nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
+                /* print again */
+                options->m_quiet=0;
+                if (nfound)
+                {
+                    if (print_objname(options,nfound))
+                        do_print_objname ("dataset", path1, path2);
+                    nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
+                    print_found(nfound);
+                } 
+            } 
+            /* in quiet mode, just count differences */
+            else
+            {
+                nfound=diff_dataset(file1_id,file2_id,path1,path2,options);
+            }
+        }
+        
+        break;
+        
+   /*-------------------------------------------------------------------------
+    * H5G_TYPE
+    *-------------------------------------------------------------------------
+    */
+    case H5G_TYPE:
 
-  break;
+        if ((type1_id = H5Topen(file1_id, path1))<0)
+            goto out;
+        if ((type2_id = H5Topen(file2_id, path2))<0)
+            goto out;
+        
+        if ((ret = H5Tequal(type1_id,type2_id))<0)
+            goto out;
+        
+        /* if H5Tequal is > 0 then the datatypes refer to the same datatype */
+        nfound = (ret>0) ? 0 : 1;
+        
+        if (print_objname(options,nfound))
+            do_print_objname ("datatype", path1, path2);
 
-/*-------------------------------------------------------------------------
- * H5G_TYPE
- *-------------------------------------------------------------------------
- */
- case H5G_TYPE:
-  if ((type1_id = H5Topen(file1_id, path1))<0)
-   goto out;
-  if ((type2_id = H5Topen(file2_id, path2))<0)
-   goto out;
+        /* always print the number of differences found in verbose mode */
+        if (options->m_verbose)
+            print_found(nfound);
+        
+        /*-------------------------------------------------------------------------
+         * compare attributes
+         * the if condition refers to cases when the dataset is a referenced object
+         *-------------------------------------------------------------------------
+         */
+        if (path1)
+            nfound += diff_attr(type1_id,type2_id,path1,path2,options);
+        
+        if ( H5Tclose(type1_id)<0)
+            goto out;
+        if ( H5Tclose(type2_id)<0)
+            goto out;
+        
+        break;
+        
+   /*-------------------------------------------------------------------------
+    * H5G_GROUP
+    *-------------------------------------------------------------------------
+    */
+    case H5G_GROUP:
 
-  if ((ret = H5Tequal(type1_id,type2_id))<0)
-   goto out;
+        ret = HDstrcmp(path1,path2);
+    
+        /* if "path1" != "path2" then the groups are "different" */
+        nfound = (ret!=0) ? 1 : 0;
+        
+        if (print_objname(options,nfound))
+            do_print_objname ("group", path1, path2);
 
-  /* if H5Tequal is > 0 then the datatypes refer to the same datatype */
-  nfound = (ret>0) ? 0 : 1;
+        /* always print the number of differences found in verbose mode */
+        if (options->m_verbose)
+            print_found(nfound);
+        
+        if ((grp1_id = H5Gopen(file1_id, path1))<0)
+            goto out;
+        if ((grp2_id = H5Gopen(file2_id, path2))<0)
+            goto out;
+        /*-------------------------------------------------------------------------
+         * compare attributes
+         * the if condition refers to cases when the dataset is a referenced object
+         *-------------------------------------------------------------------------
+         */
+        if (path1)
+            nfound += diff_attr(grp1_id,grp2_id,path1,path2,options);
+        
+        if ( H5Gclose(grp1_id)<0)
+            goto out;
+        if ( H5Gclose(grp2_id)<0)
+            goto out;
+        
+        break;
+        
+        
+   /*-------------------------------------------------------------------------
+    * H5G_LINK
+    *-------------------------------------------------------------------------
+    */
+    case H5G_LINK:
+        {
+            char *buf1 = NULL;
+            char *buf2 = NULL;
+            
+            if (H5Gget_objinfo (file1_id, path1, FALSE, &sb1) < 0)
+                goto out;
+            if (H5Gget_objinfo (file1_id, path1, FALSE, &sb2) < 0)
+                goto out;
+            
+            buf1 = HDmalloc (sb1.linklen);
+            buf2 = HDmalloc (sb2.linklen);
+            
+            if (H5Gget_linkval (file1_id, path1, sb1.linklen, buf1) < 0)
+                goto out;
+            if (H5Gget_linkval (file2_id, path2, sb1.linklen, buf2) < 0)
+                goto out;
+            
+            ret = HDstrcmp (buf1, buf2);
+            
+            /* if "buf1" != "buf2" then the links are "different" */
+            nfound = (ret != 0) ? 1 : 0;
+            
+            if (print_objname (options, nfound))
+                do_print_objname ("link", path1, path2);
 
-  if (print_objname(options,nfound))
-   printf( "Datatype:    <%s> and <%s>\n",path1,path2);
-
-/*-------------------------------------------------------------------------
- * compare attributes
- * the if condition refers to cases when the dataset is a referenced object
- *-------------------------------------------------------------------------
- */
-  if (path1)
-   diff_attr(type1_id,type2_id,path1,path2,options);
-
-  if ( H5Tclose(type1_id)<0)
-   goto out;
-  if ( H5Tclose(type2_id)<0)
-   goto out;
-
-  break;
-
-/*-------------------------------------------------------------------------
- * H5G_GROUP
- *-------------------------------------------------------------------------
- */
- case H5G_GROUP:
-  if ((grp1_id = H5Gopen(file1_id, path1))<0)
-   goto out;
-  if ((grp2_id = H5Gopen(file2_id, path2))<0)
-   goto out;
-
-  ret = HDstrcmp(path1,path2);
-
-  /* if "path1" != "path2" then the groups are "different" */
-  nfound = (ret!=0) ? 1 : 0;
-
-  if (print_objname(options,nfound))
-   printf( "Group:       <%s> and <%s>\n",path1,path2);
-
- /*-------------------------------------------------------------------------
-  * compare attributes
-  * the if condition refers to cases when the dataset is a referenced object
-  *-------------------------------------------------------------------------
-  */
-  if (path1)
-   diff_attr(grp1_id,grp2_id,path1,path2,options);
-
-  if ( H5Gclose(grp1_id)<0)
-   goto out;
-  if ( H5Gclose(grp2_id)<0)
-   goto out;
-
-  break;
-
-
-/*-------------------------------------------------------------------------
- * H5G_LINK
- *-------------------------------------------------------------------------
- */
- case H5G_LINK:
-  if (H5Gget_objinfo(file1_id,path1,FALSE,&sb1)<0)
-   goto out;
-  if (H5Gget_objinfo(file1_id,path1,FALSE,&sb2)<0)
-   goto out;
-
-  buf1 = malloc(sb1.linklen);
-  buf2 = malloc(sb2.linklen);
-
-  if (H5Gget_linkval(file1_id,path1,sb1.linklen,buf1)<0)
-   goto out;
-  if (H5Gget_linkval(file2_id,path2,sb1.linklen,buf2)<0)
-   goto out;
-
-  ret = HDstrcmp(buf1,buf2);
-
-  /* if "buf1" != "buf2" then the links are "different" */
-  nfound = (ret!=0) ? 1 : 0;
-
-  if (print_objname(options,nfound))
-   printf( "Link:        <%s> and <%s>\n",path1,path2);
-
-  if (buf1) {
-   free(buf1);
-   buf1=NULL;
-  }
-
-  if (buf2) {
-   free(buf2);
-   buf2=NULL;
-  }
-
-  break;
-
-
- default:
-  nfound=0;
-  if (options->m_verbose) {
-   printf("Comparison not supported: <%s> and <%s> are of type %s\n",
-    path1, path2, get_type(type) );
-  }
-		options->not_cmp=1;
-  break;
+            /* always print the number of differences found in verbose mode */
+            if (options->m_verbose)
+                print_found(nfound);
+            
+            HDfree (buf1);
+            HDfree (buf2);
+        }
+        break;
+        
+    default:
+        if (options->m_verbose) 
+        {
+            printf("Comparison not supported: <%s> and <%s> are of type %s\n",
+                path1, path2, get_type(type) );
+        }
+        options->not_cmp=1;
+        break;
  }
+ 
+ 
+ return nfound;
+ 
+out:
 
-
- out:
-
+ options->err_stat=1;
+ 
  /* close */
  /* disable error reporting */
- H5E_BEGIN_TRY {
-  H5Tclose(type1_id);
-  H5Tclose(type2_id);
-  H5Gclose(grp1_id);
-  H5Tclose(grp2_id);
-   /* enable error reporting */
- } H5E_END_TRY;
-
- if (buf1)
-  free(buf1);
- if (buf2)
-  free(buf2);
-
+ H5E_BEGIN_TRY
+ {
+     H5Tclose (type1_id);
+     H5Tclose (type2_id);
+     H5Gclose (grp1_id);
+     H5Tclose (grp2_id);
+     /* enable error reporting */
+ }
+ H5E_END_TRY;
+ 
  return nfound;
 }
 
-
-
-
-

Modified: packages/hdf5/trunk/tools/lib/h5diff.h
===================================================================
--- packages/hdf5/trunk/tools/lib/h5diff.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5diff.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef H5DIFF_H__
@@ -18,34 +19,7 @@
 #include "hdf5.h"
 #include "h5trav.h"
 
-
-#if 0
-#define H5DIFF_DEBUG
-#endif
-
-
 /*-------------------------------------------------------------------------
- * printf formatting
- *-------------------------------------------------------------------------
- */
-
-#define FFORMAT "%-15f %-15f %-15f\n"
-#define IFORMAT "%-15d %-15d %-15d\n"
-#define CFORMAT "%-16c %-17c\n"
-#define SFORMAT "%-16s %-17s\n"
-#define UIFORMAT "%-15u %-15u %-15u\n"
-#define LIFORMAT "%-15ld %-15ld %-15ld\n"
-#define ULIFORMAT "%-15lu %-15lu %-15lu\n"
-/* with -p option */
-#define FPFORMAT "%-15.10g %-15.10g %-15.10g %-14.10g\n"
-#define IPFORMAT "%-15d %-15d %-15d %-14d\n"
-#define UIPFORMAT "%-15u %-15u %-15u %-14u\n"
-#define LPIFORMAT "%-15ld %-15ld %-15ld %-14ld\n"
-#define ULPIFORMAT "%-15lu %-15lu %-15lu %-14lu\n"
-#define SPACES  "          "
-
-
-/*-------------------------------------------------------------------------
  * command line options
  *-------------------------------------------------------------------------
  */
@@ -59,15 +33,13 @@
  int    p;         /* relative error to compare*/
  double percent;   /* relative error value */
  int    n;         /* count, compare up to count */
- hsize_t count;     /* count value */
+ hsize_t count;    /* count value */
  int    err_stat;  /* an error ocurred (1, error, 0, no error) */
  int    cmn_objs;  /* do we have comparable objects */
-	int    not_cmp;   /* are the objects comparable */
-
+ int    not_cmp;   /* are the objects comparable */
 } diff_opt_t;
 
 
-
 /*-------------------------------------------------------------------------
  * public functions
  *-------------------------------------------------------------------------
@@ -100,13 +72,13 @@
                       hid_t file2_id,
                       const char *obj1_name,
                       const char *obj2_name,
-                      diff_opt_t *options );
+                      diff_opt_t *options);
 
 hsize_t diff_datasetid( hid_t dset1_id,
                         hid_t dset2_id,
                         const char *obj1_name,
                         const char *obj2_name,
-                        diff_opt_t *options );
+                        diff_opt_t *options);
 
 hsize_t diff( hid_t      file1_id,
               const char *path1,
@@ -138,6 +110,7 @@
 hsize_t diff_array( void *_mem1,
                     void *_mem2,
                     hsize_t nelmts,
+                    hsize_t hyper_start,
                     int rank,
                     hsize_t *dims,
                     diff_opt_t *options,
@@ -161,12 +134,11 @@
                    diff_opt_t  *options );
 
 
-int diff_attr(hid_t      loc1_id,
-              hid_t      loc2_id,
-              const char *path1,
-              const char *path2,
-              diff_opt_t *options
-              );
+hsize_t diff_attr(hid_t loc1_id,
+                  hid_t loc2_id,
+                  const char *path1,
+                  const char *path2,
+                  diff_opt_t *options);
 
 
 /*-------------------------------------------------------------------------
@@ -180,54 +152,18 @@
 const char* get_type(int type);
 const char* get_class(H5T_class_t tclass);
 const char* get_sign(H5T_sign_t sign);
-void        print_dims( int r, hsize_t *d );
-void        print_pos( int        *ph,
-                       int        per,
-                       hsize_t    curr_pos,
-                       hsize_t    *acc,
-                       hsize_t    *pos,
-                       int        rank,
-                       const char *obj1,
-                       const char *obj2 );
+void        print_dimensions (int rank, hsize_t *dims);
+int         print_objname(diff_opt_t *options, hsize_t nfound);
+void        do_print_objname (const char *OBJ, const char *path1, const char *path2);
 
-int print_objname(diff_opt_t *options, hsize_t nfound);
 
 
-#if defined (H5DIFF_DEBUG)
-void print_sizes( const char *obj1, const char *obj2,
- hid_t f_type1, hid_t f_type2,
- hid_t m_type1, hid_t m_type2 );
-#endif
-
-
-hsize_t diff_native_uchar(unsigned char *mem1,
-                          unsigned char *mem2,
-                          hsize_t       i,
-                          int           rank,
-                          hsize_t       *acc,
-                          hsize_t       *pos,
-                          diff_opt_t    *options,
-                          const char    *obj1,
-                          const char    *obj2,
-                          int           *ph);
-
-
-hsize_t diff_char(unsigned char *mem1,
-                  unsigned char *mem2,
-                  hsize_t       i,
-                  int           rank,
-                  hsize_t       *acc,
-                  hsize_t       *pos,
-                  diff_opt_t    *options,
-                  const char    *obj1,
-                  const char    *obj2,
-                  int           *ph);
-
 hsize_t diff_datum(void       *_mem1,
                    void       *_mem2,
                    hid_t      m_type,
                    hsize_t    i,
                    int        rank,
+                   hsize_t    *dims,
                    hsize_t    *acc,
                    hsize_t    *pos,
                    diff_opt_t *options,
@@ -240,136 +176,160 @@
 
 
 hsize_t diff_float(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_double(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_schar(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_uchar(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_short(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_ushort(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_int(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_uint(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_long(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_ulong(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_llong(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 hsize_t diff_ullong(unsigned char *mem1,
-																			unsigned char *mem2,
-																			hsize_t       nelmts,
-																			int           rank,
-																			hsize_t       *acc,
-																			hsize_t       *pos,
-																			diff_opt_t    *options,
-																			const char    *obj1,
-																			const char    *obj2,
-																			int           *ph);
+ unsigned char *mem2,
+ hsize_t       nelmts,
+ hsize_t       hyper_start,
+ int           rank,
+ hsize_t       *dims,
+ hsize_t       *acc,
+ hsize_t       *pos,
+ diff_opt_t    *options,
+ const char    *obj1,
+ const char    *obj2,
+ int           *ph);
 
 
 

Modified: packages/hdf5/trunk/tools/lib/h5diff_array.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5diff_array.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5diff_array.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,34 +9,212 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <math.h>
 #include "h5diff.h"
 #include "H5private.h"
 
+/*-------------------------------------------------------------------------
+ * printf formatting
+ *-------------------------------------------------------------------------
+ */
 
-/* local functions */
+#define F_FORMAT      "%-15g %-15g %-15g\n"
+#define I_FORMAT      "%-15d %-15d %-15d\n"
+#define C_FORMAT      "%-16c %-17c\n"
+#define S_FORMAT      "%-16s %-17s\n"
+#define UI_FORMAT     "%-15u %-15u %-15u\n"
+#define LI_FORMAT     "%-15ld %-15ld %-15ld\n"
+#define ULI_FORMAT    "%-15lu %-15lu %-15lu\n"
+#define LLI_FORMAT    "%-15"H5_PRINTF_LL_WIDTH"d %-15"H5_PRINTF_LL_WIDTH"d %-15"H5_PRINTF_LL_WIDTH"d\n"
+#define ULLI_FORMAT   "%-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"u\n"
+
+/* with -p option */
+#define F_FORMAT_P    "%-15.10g %-15.10g %-15.10g %-14.10g\n"
+#define I_FORMAT_P    "%-15d %-15d %-15d %-14f\n"
+#define UI_FORMAT_P   "%-15u %-15u %-15u %-14f\n"
+#define LI_FORMAT_P   "%-15ld %-15ld %-15ld %-14f\n"
+#define ULI_FORMAT_P  "%-15lu %-15lu %-15lu %-14f\n"
+#define LLI_FORMAT_P  "%-15"H5_PRINTF_LL_WIDTH"d %-15"H5_PRINTF_LL_WIDTH"d %-15"H5_PRINTF_LL_WIDTH"d %-14f\n"
+#define ULLI_FORMAT_P "%-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"d %-14f\n"
+#define SPACES        "          "
+
+/* not comparable */
+#define F_FORMAT_P_NOTCOMP  "%-15.10g %-15.10g %-15.10g not comparable\n"
+#define I_FORMAT_P_NOTCOMP  "%-15d %-15d %-15d not comparable\n"
+#define UI_FORMAT_P_NOTCOMP   "%-15u %-15u %-15u not comparable\n"
+#define LI_FORMAT_P_NOTCOMP   "%-15ld %-15ld %-15ld not comparable\n"
+#define ULI_FORMAT_P_NOTCOMP  "%-15lu %-15lu %-15lu not comparable\n"
+#define LLI_FORMAT_P_NOTCOMP  "%-15"H5_PRINTF_LL_WIDTH"d %-15"H5_PRINTF_LL_WIDTH"d %-15"H5_PRINTF_LL_WIDTH"d not comparable\n"
+#define ULLI_FORMAT_P_NOTCOMP "%-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"u %-15"H5_PRINTF_LL_WIDTH"d not comparable\n"
+
+
+/* values for FLT_EPSILON same as C Reference manual */
+#define H5DIFF_FLT_EPSILON  .00001
+#define H5DIFF_DBL_EPSILON  .000000001
+
+static hbool_t equal_float(float value, float expected);
+static hbool_t equal_double(double value, double expected);
+
+/*-------------------------------------------------------------------------
+ * -p relative error formula
+ *
+ * We assume the true value of a quantity to be A (value in first dataset) 
+ *  and the measured or inferred value to be B (value in second dataset). 
+ *  The relative error is defined by 
+ *
+ *  B - A
+ * --------
+ *    A
+ *
+ *-------------------------------------------------------------------------
+ */
+
+static int   not_comparable;
+
+#define PER(A,B) { per=-1;                           \
+    not_comparable=0;                                \
+    both_zero=0;                                     \
+    if (A==0 && B==0)                                \
+    both_zero=1;                                     \
+    if (A!=0)                                        \
+    per = (double)ABS( ( double)(B-A) / (double)A ); \
+    else                                             \
+    not_comparable=1;                                \
+}
+
+
+#define PER_UNSIGN(TYPE,A,B) { per=-1;               \
+    not_comparable=0;                                \
+    both_zero=0;                                     \
+    if (A==0 && B==0)                                \
+    both_zero=1;                                     \
+    if (A!=0)                                        \
+    per = ABS((double)((TYPE)(B-A)) / (double)A) ;   \
+    else                                             \
+    not_comparable=1;                                \
+}
+
+
+
+#define BOTH_ZERO(A,B) { both_zero=0;                \
+    if (A==0 && B==0)                                \
+    both_zero=1;                                     \
+}
+
+#define IS_ZERO(A) { is_zero=0;                      \
+    if (A==0)                                        \
+    is_zero=1;                                       \
+}
+
+#define PDIFF(a,b)      ( (b>a) ? (b-a) : (a-b))
+
+#define NOT_SUPPORTED() { printf("Warning: feature not supported\n"); }
+
+
+/*-------------------------------------------------------------------------
+ * local prototypes
+ *-------------------------------------------------------------------------
+ */
 static void    close_obj(H5G_obj_t1 obj_type, hid_t obj_id);
-static int     diff_region(hid_t region1_id, hid_t region2_id);
-static hbool_t is_zero(const void *_mem, size_t size);
+static hsize_t diff_region(hid_t obj1_id, hid_t obj2_id,hid_t region1_id, hid_t region2_id, diff_opt_t *options);
+static hbool_t all_zero(const void *_mem, size_t size);
+static hsize_t character_compare(unsigned char *mem1,unsigned char *mem2,hsize_t i,int rank,hsize_t *dims,hsize_t *acc,hsize_t *pos,diff_opt_t *options,const char *obj1,const char *obj2,int *ph);
+static hsize_t character_compare_opt(unsigned char *mem1,unsigned char *mem2,hsize_t i,int rank,hsize_t *dims,hsize_t *acc,hsize_t *pos,diff_opt_t *options,const char *obj1,const char *obj2,int *ph);
 
+
 /*-------------------------------------------------------------------------
+ *
+ * Local functions
+ *
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
  * Function: print_data
  *
- * Purpose: print data only in report or verbose modes,
- *  and do not print in quiet mode
+ * Purpose: print data only in report or verbose modes, and do not print in quiet mode
  *-------------------------------------------------------------------------
  */
-static int print_data(diff_opt_t *options)
+static
+int print_data(diff_opt_t *options)
 {
- return ( (options->m_report || options->m_verbose) && !options->m_quiet)?1:0;
+    return ( (options->m_report || options->m_verbose) && !options->m_quiet)?1:0;
 }
 
 
 /*-------------------------------------------------------------------------
+ * Function: print_pos
+ *
+ * Purpose: print in matrix notation, converting from an array index position
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+void print_pos( int        *ph,       /* print header */
+                int        pp,        /* print percentage */
+                hsize_t    curr_pos,
+                hsize_t    *acc,
+                hsize_t    *pos,
+                int        rank,
+                hsize_t    *dims,
+                const char *obj1,
+                const char *obj2 )
+{
+    int i;
+    
+    /* print header */
+    if ( *ph==1 )
+    {
+        *ph=0;
+
+        printf("%-16s","size:");
+        print_dimensions (rank,dims);
+        printf("%-11s","");
+        print_dimensions (rank,dims);
+        printf("\n");
+        
+        if (pp)
+        {
+            printf("%-15s %-15s %-15s %-15s %-15s\n",
+                "position",
+                (obj1!=NULL) ? obj1 : " ",
+                (obj2!=NULL) ? obj2 : " ",
+                "difference",
+                "relative");
+            printf("------------------------------------------------------------------------\n");
+        }
+        else
+        {
+            printf("%-15s %-15s %-15s %-20s\n",
+                "position",
+                (obj1!=NULL) ? obj1 : " ",
+                (obj2!=NULL) ? obj2 : " ",
+                "difference");
+            printf("------------------------------------------------------------\n");
+        }
+    } /* end print header */
+    
+    for ( i = 0; i < rank; i++)
+    {
+        pos[i] = curr_pos/acc[i];
+        curr_pos -= acc[i]*pos[i];
+    }
+    assert( curr_pos == 0 );
+    
+    printf("[ " );
+    for ( i = 0; i < rank; i++)
+    {
+        printf("%"H5_PRINTF_LL_WIDTH"u ", (unsigned long_long)pos[i]);
+    }
+    printf("]" );
+}
+
+
+/*-------------------------------------------------------------------------
  * Function: diff_array
  *
  * Purpose: compare two memory buffers;
@@ -52,6 +231,7 @@
 hsize_t diff_array( void *_mem1,
                     void *_mem2,
                     hsize_t nelmts,
+                    hsize_t hyper_start,
                     int rank,
                     hsize_t *dims,
                     diff_opt_t *options,
@@ -61,133 +241,140 @@
                     hid_t container1_id,
                     hid_t container2_id) /* dataset where the reference came from*/
 {
- hsize_t       nfound=0;          /* number of differences found */
- size_t        size;              /* size of datum */
- unsigned char *mem1 = (unsigned char*)_mem1;
- unsigned char *mem2 = (unsigned char*)_mem2;
- unsigned char *tmp1;
- unsigned char *tmp2;
- hsize_t       acc[32];    /* accumulator position */
- hsize_t       pos[32];    /* matrix position */
- int           ph=1;       /* print header  */
- hsize_t       i;
- int           j;
-
- /* get the size. */
- size = H5Tget_size( m_type );
-
- acc[rank-1]=1;
- for(j=(rank-2); j>=0; j--)
- {
-  acc[j]=acc[j+1]*(int)dims[j+1];
- }
- for ( j = 0; j < rank; j++)
-  pos[j]=0;
-
-
- if(H5Tis_variable_str(m_type))
- {
-  tmp1 = ((unsigned char**)mem1)[0];
-  tmp2 = ((unsigned char**)mem2)[0];
-  nfound+=diff_datum(
-   tmp1,
-   tmp2,
-   m_type,
-   (hsize_t)0,
-   rank,
-   acc,
-   pos,
-   options,
-   name1,
-   name2,
-   container1_id,
-   container2_id,
-   &ph);
- }
-
- else
-
- {
-
-  switch (H5Tget_class(m_type))
-  {
-  default:
-   assert(0);
-   break;
-
-  case H5T_FLOAT:
-   if (H5Tequal(m_type, H5T_NATIVE_FLOAT))
-    nfound=diff_float(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_DOUBLE))
-    nfound=diff_double(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   break;
-
-  case H5T_INTEGER:
-
-   if (H5Tequal(m_type, H5T_NATIVE_SCHAR))
-    nfound=diff_schar(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_UCHAR))
-    nfound=diff_uchar(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_SHORT))
-    nfound=diff_short(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_USHORT))
-    nfound=diff_ushort(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_INT))
-    nfound=diff_int(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_UINT))
-    nfound=diff_uint(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_LONG))
-    nfound=diff_long(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_ULONG))
-    nfound=diff_ulong(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_LLONG))
-    nfound=diff_llong(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-   else if (H5Tequal(m_type, H5T_NATIVE_ULLONG))
-    nfound=diff_ullong(mem1,mem2,nelmts,rank,acc,pos,options,name1,name2,&ph);
-
-   break;
-
-  case H5T_COMPOUND:
-  case H5T_STRING:
-  case H5T_BITFIELD:
-  case H5T_OPAQUE:
-  case H5T_ENUM:
-  case H5T_ARRAY:
-  case H5T_VLEN:
-  case H5T_REFERENCE:
-
-   for ( i = 0; i < nelmts; i++)
-   {
-    nfound+=diff_datum(
-     mem1 + i * size,
-     mem2 + i * size, /* offset */
-     m_type,
-     i,
-     rank,
-     acc,
-     pos,
-     options,
-     name1,
-     name2,
-     container1_id,
-     container2_id,
-     &ph);
-    if (options->n && nfound>=options->count)
-     return nfound;
-   } /* i */
-  } /* switch */
- } /* else */
-
- return nfound;
+    unsigned char *mem1 = (unsigned char*)_mem1;
+    unsigned char *mem2 = (unsigned char*)_mem2;
+    unsigned char *tmp1;
+    unsigned char *tmp2;
+    hsize_t       nfound=0;   /* number of differences found */
+    size_t        size;       /* size of datum */
+    hsize_t       acc[32];    /* accumulator position */
+    hsize_t       pos[32];    /* matrix position */
+    int           ph=1;       /* print header  */
+    hsize_t       i;
+    int           j;
+    
+    /* get the size. */
+    size = H5Tget_size( m_type );
+    
+    acc[rank-1]=1;
+    for(j=(rank-2); j>=0; j--)
+    {
+        acc[j]=acc[j+1]*dims[j+1];
+    }
+    for ( j = 0; j < rank; j++)
+        pos[j]=0;
+    
+    if(H5Tis_variable_str(m_type))
+    {
+        tmp1 = ((unsigned char**)mem1)[0];
+        tmp2 = ((unsigned char**)mem2)[0];
+        nfound+=diff_datum(
+            tmp1,
+            tmp2,
+            m_type,
+            (hsize_t)0,
+            rank,
+            dims,
+            acc,
+            pos,
+            options,
+            name1,
+            name2,
+            container1_id,
+            container2_id,
+            &ph);
+    }
+    
+    else
+    {
+        switch (H5Tget_class(m_type))
+        {
+        default:
+            assert(0);
+            break;
+            
+       /*-------------------------------------------------------------------------
+        * float and integer atomic types
+        *-------------------------------------------------------------------------
+        */
+            
+        case H5T_FLOAT:
+            
+            if (H5Tequal(m_type, H5T_NATIVE_FLOAT))
+                nfound=diff_float(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_DOUBLE))
+                nfound=diff_double(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            break;
+            
+        case H5T_INTEGER:
+            
+            if (H5Tequal(m_type, H5T_NATIVE_SCHAR))
+                nfound=diff_schar(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_UCHAR))
+                nfound=diff_uchar(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_SHORT))
+                nfound=diff_short(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_USHORT))
+                nfound=diff_ushort(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_INT))
+                nfound=diff_int(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_UINT))
+                nfound=diff_uint(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_LONG))
+                nfound=diff_long(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_ULONG))
+                nfound=diff_ulong(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_LLONG))
+                nfound=diff_llong(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            else if (H5Tequal(m_type, H5T_NATIVE_ULLONG))
+                nfound=diff_ullong(mem1,mem2,nelmts,hyper_start,rank,dims,acc,pos,options,name1,name2,&ph);
+            
+            break;
+            
+        /*-------------------------------------------------------------------------
+         * Other types than float and integer
+         *-------------------------------------------------------------------------
+         */
+            
+        case H5T_COMPOUND:
+        case H5T_STRING:
+        case H5T_BITFIELD:
+        case H5T_OPAQUE:
+        case H5T_ENUM:
+        case H5T_ARRAY:
+        case H5T_VLEN:
+        case H5T_REFERENCE:
+            
+            for ( i = 0; i < nelmts; i++)
+            {
+                nfound+=diff_datum(
+                    mem1 + i * size,
+                    mem2 + i * size, /* offset */
+                    m_type,
+                    i,
+                    rank,
+                    dims,
+                    acc,
+                    pos,
+                    options,
+                    name1,
+                    name2,
+                    container1_id,
+                    container2_id,
+                    &ph);
+                if (options->n && nfound>=options->count)
+                    return nfound;
+            } /* i */
+        } /* switch */
+    } /* else */
+    
+    return nfound;
 }
 
-
-
-
 /*-------------------------------------------------------------------------
  * Function: diff_datum
  *
- * Purpose: Compare the values pointed to in _MEM1 and _MEM2 of type M_TYPE
+ * Purpose: compare the values pointed to in _MEM1 and _MEM2 of type M_TYPE
  *
  * Return: number of differences found
  *
@@ -195,7 +382,7 @@
  *
  * Date: October 29, 2003
  *
- * The compare of the 2 buffers read from the files is made datum by datum.
+ * The comparison of the 2 buffers read from the files is made datum by datum.
  *
  * H5T_INTEGER and H5T_FLOAT
  *  Copy the buffer into a compatible local datum and do a numerical
@@ -227,6 +414,7 @@
                    hid_t      m_type,
                    hsize_t    i,
                    int        rank,
+                   hsize_t    *dims,
                    hsize_t    *acc,
                    hsize_t    *pos,
                    diff_opt_t *options,
@@ -236,11 +424,6 @@
                    hid_t      container2_id, /*where the reference came from*/
                    int        *ph)           /*print header */
 {
- static char   fmt_llong[255];
- static char   fmt_ullong[255];
- static char   fmt_llongp[255];
- static char   fmt_ullongp[255];
- hsize_t       dims[H5S_MAX_RANK];
  unsigned char *mem1 = (unsigned char*)_mem1;
  unsigned char *mem2 = (unsigned char*)_mem2;
  unsigned      u;
@@ -250,33 +433,14 @@
  int           nmembs;
  int           j;
  hsize_t       nelmts;
- hsize_t       ndims;
- size_t        size;
+ size_t        size=0;
  int           iszero1;
  int           iszero2;
- H5G_obj_t1     obj1_type;
- H5G_obj_t1     obj2_type;
- hid_t         obj1_id;
- hid_t         obj2_id;
- H5G_stat_t    sb1;
- H5G_stat_t    sb2;
  hsize_t       nfound=0;   /* differences found */
  int           ret=0;      /* check return error */
+ double        per;
+ int           both_zero;
 
- if (!fmt_llong[0]) {
-
-  /* Build default formats for long long types */
-  sprintf(fmt_llong,  "%%%sd              %%%sd               %%%sd\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
-  sprintf(fmt_ullong, "%%%su              %%%su               %%%su\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
-  sprintf(fmt_llongp,  "%%%sd             %%%sd               %%%sd               %%%sd\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
-  sprintf(fmt_ullongp, "%%%su             %%%su               %%%su               %%%su\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
-
- }
-
  type_size = H5Tget_size( m_type );
 
  switch (H5Tget_class(m_type))
@@ -288,10 +452,10 @@
   assert(0);
   break;
 
-/*-------------------------------------------------------------------------
- * H5T_COMPOUND
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_COMPOUND
+  *-------------------------------------------------------------------------
+  */
  case H5T_COMPOUND:
   nmembs = H5Tget_nmembers(m_type);
   for (j = 0; j < nmembs; j++)
@@ -304,6 +468,7 @@
     memb_type,
     i,
     rank,
+    dims,
     acc,
     pos,
     options,
@@ -316,46 +481,65 @@
   }
   break;
 
-/*-------------------------------------------------------------------------
- * H5T_STRING
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_STRING
+  *-------------------------------------------------------------------------
+  */
  case H5T_STRING:
+  {
 
-  if(H5Tis_variable_str(m_type))
-   type_size = HDstrlen((char*)mem1);
-  else
-   type_size = H5Tget_size(m_type);
+   H5T_str_t pad;
+   char      *s;
 
-  for (u=0; u<type_size; u++)
-   nfound+=diff_char(
-   mem1 + u,
-   mem2 + u, /* offset */
-   i,        /* index position */
-   rank,
-   acc,
-   pos,
-   options,
-   obj1,
-   obj2,
-   ph);
+   if(H5Tis_variable_str(m_type))
+   {
+   /* mem1 is the pointer into the struct where a `char*' is stored. So we have
+    * to dereference the pointer to get the `char*' to pass to HDstrlen(). */
+    s = *(char**)mem1;
+    if(s!=NULL)
+     size = HDstrlen(s);
+   }
+   else
+   {
+    s = (char *)mem1;
+    size = H5Tget_size(m_type);
+   }
 
+   pad = H5Tget_strpad(m_type);
 
+   /* check for NULL pointer for string */
+   if(s!=NULL)
+    for (u=0; u<size && (s[u] || pad!=H5T_STR_NULLTERM); u++)
+     nfound+=character_compare(
+     mem1 + u,
+     mem2 + u, /* offset */
+     i,        /* index position */
+     rank,
+     dims,
+     acc,
+     pos,
+     options,
+     obj1,
+     obj2,
+     ph);
+
+  }
   break;
 
-/*-------------------------------------------------------------------------
- * H5T_BITFIELD
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_BITFIELD
+  *-------------------------------------------------------------------------
+  */
  case H5T_BITFIELD:
   {
    /* byte-by-byte comparison */
    for (u=0; u<type_size; u++)
-    nfound+=diff_native_uchar(
+    nfound+=character_compare_opt(
     mem1 + u,
     mem2 + u, /* offset */
     i,        /* index position */
     rank,
+    dims,
     acc,
     pos,
     options,
@@ -365,19 +549,21 @@
 
   }
   break;
-/*-------------------------------------------------------------------------
- * H5T_OPAQUE
- *-------------------------------------------------------------------------
- */
+
+ /*-------------------------------------------------------------------------
+  * H5T_OPAQUE
+  *-------------------------------------------------------------------------
+  */
  case H5T_OPAQUE:
 
- /* byte-by-byte comparison */
+  /* byte-by-byte comparison */
   for (u=0; u<type_size; u++)
-   nfound+=diff_native_uchar(
+   nfound+=character_compare_opt(
    mem1 + u,
    mem2 + u, /* offset */
    i,        /* index position */
    rank,
+   dims,
    acc,
    pos,
    options,
@@ -388,16 +574,17 @@
   break;
 
 
-/*-------------------------------------------------------------------------
- * H5T_ENUM
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_ENUM
+  *-------------------------------------------------------------------------
+  */
  case H5T_ENUM:
 
-/* For enumeration types we compare the names instead of the
-   integer values.  For each pair of elements being
-   compared, we convert both bit patterns to their corresponding
-   enumeration constant and do a string comparison */
+ /* For enumeration types we compare the names instead of the
+    integer values.  For each pair of elements being
+    compared, we convert both bit patterns to their corresponding
+    enumeration constant and do a string comparison
+  */
 
   {
    char enum_name1[1024];
@@ -414,71 +601,78 @@
       nfound=1;
       if ( print_data(options) )
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
+       print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
        printf(SPACES);
-       printf(SFORMAT,enum_name1,enum_name2);
+       printf(S_FORMAT,enum_name1,enum_name2);
       }
      }
+     else
+     {
+      for (u=0; u<type_size; u++)
+       nfound+=character_compare_opt(
+       mem1 + u,
+       mem2 + u, /* offset */
+       i,        /* index position */
+       rank,
+       dims,
+       acc,
+       pos,
+       options,
+       obj1,
+       obj2,
+       ph);
+     }
     }
-    else
-    {
-     for (u=0; u<type_size; u++)
-      nfound+=diff_native_uchar(
-      mem1 + u,
-      mem2 + u, /* offset */
-      i,        /* index position */
-      rank,
-      acc,
-      pos,
-      options,
-      obj1,
-      obj2,
-      ph);
-    }
-
     /* enable error reporting */
    } H5E_END_TRY;
   }
 
 
   break;
-/*-------------------------------------------------------------------------
- * H5T_ARRAY
- *-------------------------------------------------------------------------
- */
+
+ /*-------------------------------------------------------------------------
+  * H5T_ARRAY
+  *-------------------------------------------------------------------------
+  */
  case H5T_ARRAY:
-  /* get the array's base datatype for each element */
-  memb_type = H5Tget_super(m_type);
-  size      = H5Tget_size(memb_type);
-  ndims     = H5Tget_array_ndims(m_type);
-  H5Tget_array_dims(m_type, dims, NULL);
-  assert(ndims >= 1 && ndims <= H5S_MAX_RANK);
-
-  /* calculate the number of array elements */
-  for (u = 0, nelmts = 1; u <ndims; u++)
-   nelmts *= dims[u];
-  for (u = 0; u < nelmts; u++)
-   nfound+=diff_datum(
-    mem1 + u * size,
-    mem2 + u * size, /* offset */
-    memb_type,
-    i,               /* index position */
-    rank,
-    acc,
-    pos,
-    options,
-    obj1,
-    obj2,
-    container1_id,
-    container2_id,
-    ph);
-  H5Tclose(memb_type);
+     {
+         hsize_t adims[H5S_MAX_RANK];
+         hsize_t       ndims;
+         /* get the array's base datatype for each element */
+         memb_type = H5Tget_super(m_type);
+         size      = H5Tget_size(memb_type);
+         ndims     = H5Tget_array_ndims(m_type);
+         H5Tget_array_dims(m_type, adims, NULL);
+         assert(ndims >= 1 && ndims <= H5S_MAX_RANK);
+         
+         /* calculate the number of array elements */
+         for (u = 0, nelmts = 1; u <ndims; u++)
+             nelmts *= adims[u];
+         for (u = 0; u < nelmts; u++)
+             nfound+=diff_datum(
+             mem1 + u * size,
+             mem2 + u * size, /* offset */
+             memb_type,
+             i,               /* index position */
+             rank,
+             dims,
+             acc,
+             pos,
+             options,
+             obj1,
+             obj2,
+             container1_id,
+             container2_id,
+             ph);
+         H5Tclose(memb_type);
+     }
   break;
 
-/*-------------------------------------------------------------------------
- * H5T_VLEN
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_VLEN
+  *-------------------------------------------------------------------------
+  */
+
  case H5T_VLEN:
 
   /* get the VL sequences's base datatype for each element */
@@ -489,20 +683,21 @@
   nelmts = ((hvl_t *)mem1)->len;
 
   for (j = 0; j < (int)nelmts; j++)
-    nfound+=diff_datum(
-    ((char *)(((hvl_t *)mem1)->p)) + j * size,
-    ((char *)(((hvl_t *)mem2)->p)) + j * size, /* offset */
-    memb_type,
-    i,         /* index position */
-    rank,
-    acc,
-    pos,
-    options,
-    obj1,
-    obj2,
-    container1_id,
-    container2_id,
-    ph);
+   nfound+=diff_datum(
+   ((char *)(((hvl_t *)mem1)->p)) + j * size,
+   ((char *)(((hvl_t *)mem2)->p)) + j * size, /* offset */
+   memb_type,
+   i,         /* index position */
+   rank,
+   dims,
+   acc,
+   pos,
+   options,
+   obj1,
+   obj2,
+   container1_id,
+   container2_id,
+   ph);
 
   H5Tclose(memb_type);
 
@@ -511,34 +706,32 @@
 
  case H5T_REFERENCE:
 
-  iszero1=is_zero(_mem1, H5Tget_size(m_type));
-  iszero2=is_zero(_mem2, H5Tget_size(m_type));
-  if (iszero1==1 && iszero2==1)
-   return 0;
-  else if (iszero1!=iszero2)
+  iszero1=all_zero(_mem1, H5Tget_size(m_type));
+  iszero2=all_zero(_mem2, H5Tget_size(m_type));
+  if (iszero1 != iszero2)
+  {
    return 1;
-  else
+  }
+  else if (!iszero1 && !iszero2)
   {
 
-/*-------------------------------------------------------------------------
- * H5T_STD_REF_DSETREG
- * Dataset region reference
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_STD_REF_DSETREG
+  * Dataset region reference
+  *-------------------------------------------------------------------------
+  */
 
    if (H5Tequal(m_type, H5T_STD_REF_DSETREG))
    {
     hid_t  region1_id;
     hid_t  region2_id;
+    hid_t  obj1_id;
+    hid_t  obj2_id;
 
     if ((obj1_id = H5Rdereference(container1_id, H5R_DATASET_REGION, _mem1))<0)
      ret= -1;
     if ((obj2_id = H5Rdereference(container2_id, H5R_DATASET_REGION, _mem2))<0)
      ret= -1;
-    if (H5Gget_objinfo(obj1_id, ".", FALSE, &sb1)<0)
-     ret= -1;
-    if (H5Gget_objinfo(obj2_id, ".", FALSE, &sb2)<0)
-     ret= -1;
     if ((region1_id = H5Rget_region(container1_id, H5R_DATASET_REGION, _mem1))<0)
      ret= -1;
     if ((region2_id = H5Rget_region(container2_id, H5R_DATASET_REGION, _mem2))<0)
@@ -549,10 +742,7 @@
      return 0;
     }
 
-    if (diff_region(region1_id,region2_id))
-    {
-     printf("Different region referenced\n");
-    }
+    nfound = diff_region(obj1_id,obj2_id,region1_id,region2_id,options);
 
     close_obj(H5G_DATASET,obj1_id);
     close_obj(H5G_DATASET,obj2_id);
@@ -562,13 +752,17 @@
    }/*dataset reference*/
 
 
-/*-------------------------------------------------------------------------
- * H5T_STD_REF_OBJ
- * Object references. get the type and OID of the referenced object
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_STD_REF_OBJ
+  * Object references. get the type and OID of the referenced object
+  *-------------------------------------------------------------------------
+  */
    else if (H5Tequal(m_type, H5T_STD_REF_OBJ))
    {
+    H5G_obj_t1  obj1_type;
+    H5G_obj_t1  obj2_type;
+    hid_t      obj1_id;
+    hid_t      obj2_id;
 
     if ((obj1_type = H5Rget_obj_type(container1_id, H5R_OBJECT, _mem1))<0)
      ret= -1;
@@ -583,7 +777,8 @@
     if (obj1_type!=obj2_type)
     {
      printf("Different object types referenced: <%s> and <%s>", obj1, obj2);
-     return 1;
+     options->not_cmp=1;
+     return 0;
     }
 
     if ((obj1_id = H5Rdereference(container1_id, H5R_OBJECT, _mem1))<0)
@@ -595,8 +790,7 @@
      return 0;
     }
 
-
-    /*deep compare */
+    /* compare */
     switch (obj1_type) {
     case H5G_DATASET:
      nfound=diff_datasetid(obj1_id,
@@ -606,9 +800,9 @@
       options);
      break;
     default:
-     printf("Warning: Comparison not possible of object types referenced: <%s> and <%s>",
+     printf("Warning: Comparison not possible of object types referenced: <%s> and <%s>\n",
       obj1, obj2);
-					options->not_cmp=1;
+     options->not_cmp=1;
      break;
     }
 
@@ -626,1068 +820,1208 @@
  case H5T_INTEGER:
 
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_SCHAR
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_SCHAR
+  *-------------------------------------------------------------------------
+  */
   if (H5Tequal(m_type, H5T_NATIVE_SCHAR))
   {
-   char        temp1_char;
-   char        temp2_char;
-   assert(type_size==sizeof(char));
-   memcpy(&temp1_char, mem1, sizeof(char));
-   memcpy(&temp2_char, mem2, sizeof(char));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (abs(temp1_char-temp2_char) > options->delta)
-     {
-      if ( print_data(options) )
+      char        temp1_char;
+      char        temp2_char;
+      assert(type_size==sizeof(char));
+      memcpy(&temp1_char, mem1, sizeof(char));
+      memcpy(&temp2_char, mem2, sizeof(char));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
+          if (ABS(temp1_char-temp2_char) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options->percent )
-     {
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char),
-        abs(1-temp2_char/temp1_char));
+          PER(temp1_char,temp2_char);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_char,temp2_char,ABS(temp1_char-temp2_char),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options->percent &&
-      abs(temp1_char-temp2_char) > options->delta )
-     {
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char),
-        abs(1-temp2_char/temp1_char));
+          PER(temp1_char,temp2_char);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && ABS(temp1_char-temp2_char) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_char,temp2_char,ABS(temp1_char-temp2_char),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_char != temp2_char)
-    {
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(IFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
-     }
-     nfound++;
-    }
-
+      else if (temp1_char != temp2_char)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+          }
+          nfound++;
+      }
+      
   } /*H5T_NATIVE_SCHAR*/
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_UCHAR
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_UCHAR
+  *-------------------------------------------------------------------------
+  */
   else if (H5Tequal(m_type, H5T_NATIVE_UCHAR))
   {
-   unsigned char      temp1_uchar;
-   unsigned char      temp2_uchar;
-   assert(type_size==sizeof(unsigned char));
-
-    memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
-    memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (abs(temp1_uchar-temp2_uchar) > options->delta)
-     {
-     if ( print_data(options) )
+      unsigned char      temp1_uchar;
+      unsigned char      temp2_uchar;
+      assert(type_size==sizeof(unsigned char));
+      
+      memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+      memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
+          if ( PDIFF(temp1_uchar,temp2_uchar) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent )
-     {
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar),
-        abs(1-temp2_uchar/temp1_uchar));
+          PER_UNSIGN(signed char,temp1_uchar,temp2_uchar);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent &&
-      abs(temp1_uchar-temp2_uchar) > options->delta )
-     {
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar),
-        abs(1-temp2_uchar/temp1_uchar));
+          PER_UNSIGN(signed char,temp1_uchar,temp2_uchar);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && PDIFF(temp1_uchar,temp2_uchar) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_uchar != temp2_uchar)
-    {
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(IFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
-     }
-     nfound++;
-    }
-
+      else if (temp1_uchar != temp2_uchar)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(I_FORMAT,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+          }
+          nfound++;
+      }
+      
   } /*H5T_NATIVE_UCHAR*/
 
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_SHORT
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_SHORT
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_SHORT))
   {
-   short       temp1_short;
-   short       temp2_short;
-   assert(type_size==sizeof(short));
-
-    memcpy(&temp1_short, mem1, sizeof(short));
-    memcpy(&temp2_short, mem2, sizeof(short));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (abs(temp1_short-temp2_short) > options->delta)
-     {
-      if ( print_data(options) )
+      short       temp1_short;
+      short       temp2_short;
+      assert(type_size==sizeof(short));
+      
+      memcpy(&temp1_short, mem1, sizeof(short));
+      memcpy(&temp2_short, mem2, sizeof(short));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
+          if (ABS(temp1_short-temp2_short) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options->percent )
-     {
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short),
-        abs(1-temp2_short/temp1_short));
+          PER(temp1_short,temp2_short);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_short,temp2_short,ABS(temp1_short-temp2_short),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options->percent &&
-      abs(temp1_short-temp2_short) > options->delta )
-     {
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short),
-        abs(1-temp2_short/temp1_short));
+          PER(temp1_short,temp2_short);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && ABS(temp1_short-temp2_short) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_short,temp2_short,ABS(temp1_short-temp2_short),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_short != temp2_short)
-    {
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(IFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
-     }
-     nfound++;
-    }
-
-
+      else if (temp1_short != temp2_short)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+          }
+          nfound++;
+      }
+      
+      
   } /*H5T_NATIVE_SHORT*/
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_USHORT
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_USHORT
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_USHORT))
   {
-   unsigned short       temp1_ushort;
-   unsigned short       temp2_ushort;
-   assert(type_size==sizeof(short));
-
-    memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
-    memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (abs(temp1_ushort-temp2_ushort) > options->delta)
-     {
-
-      if ( print_data(options) )
+      unsigned short       temp1_ushort;
+      unsigned short       temp2_ushort;
+      assert(type_size==sizeof(short));
+      
+      memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+      memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
+          if ( PDIFF(temp1_ushort,temp2_ushort) > options->delta)
+          {
+              
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort),
-        abs(1-temp2_ushort/temp1_ushort));
+          PER_UNSIGN(signed short,temp1_ushort,temp2_ushort);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
+                      PDIFF(temp1_ushort,temp2_ushort));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options->percent &&
-      abs(temp1_ushort-temp2_ushort) > options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort),
-        abs(1-temp2_ushort/temp1_ushort));
+          PER_UNSIGN(signed short,temp1_ushort,temp2_ushort);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && PDIFF(temp1_ushort,temp2_ushort) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_ushort != temp2_ushort)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(IFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
-     }
-     nfound++;
-    }
-
-
+      else if (temp1_ushort != temp2_ushort)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(I_FORMAT,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort));
+          }
+          nfound++;
+      }
   } /*H5T_NATIVE_USHORT*/
 
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_INT
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_INT
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_INT))
   {
-   int         temp1_int;
-   int         temp2_int;
-   assert(type_size==sizeof(int));
-
-    memcpy(&temp1_int, mem1, sizeof(int));
-    memcpy(&temp2_int, mem2, sizeof(int));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (abs(temp1_int-temp2_int) > options->delta)
-     {
-
-      if ( print_data(options) )
+      int         temp1_int;
+      int         temp2_int;
+      assert(type_size==sizeof(int));
+      
+      memcpy(&temp1_int, mem1, sizeof(int));
+      memcpy(&temp2_int, mem2, sizeof(int));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
+          if (ABS(temp1_int-temp2_int) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int),
-        abs(1-temp2_int/temp1_int));
+          PER(temp1_int,temp2_int);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_int,temp2_int,ABS(temp1_int-temp2_int),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options->percent &&
-      abs(temp1_int-temp2_int) > options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(IPFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int),
-        abs(1-temp2_int/temp1_int));
+          PER(temp1_int,temp2_int);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && ABS(temp1_int-temp2_int) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_int,temp2_int,ABS(temp1_int-temp2_int),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_int != temp2_int)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(IFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
-     }
-     nfound++;
-    }
-
-
+      else if (temp1_int != temp2_int)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+          }
+          nfound++;
+      }
   } /*H5T_NATIVE_INT*/
 
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_UINT
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_UINT
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_UINT))
   {
-   unsigned int         temp1_uint;
-   unsigned int         temp2_uint;
-   assert(type_size==sizeof(int));
-
-    memcpy(&temp1_uint, mem1, sizeof(unsigned int));
-    memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (abs((int)(temp1_uint-temp2_uint)) > options->delta)
-     {
-
-      if ( print_data(options) )
+      unsigned int         temp1_uint;
+      unsigned int         temp2_uint;
+      assert(type_size==sizeof(int));
+      
+      memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+      memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(UIFORMAT,temp1_uint,temp2_uint,abs((int)(temp1_uint-temp2_uint)));
+          if ( PDIFF(temp1_uint,temp2_uint) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(UI_FORMAT,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_uint!=0 && abs((int)(1-temp2_uint/temp1_uint)) > options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(UIPFORMAT,temp1_uint,temp2_uint,abs((int)(temp1_uint-temp2_uint)),
-        abs((int)(1-temp2_uint/temp1_uint)));
+          PER_UNSIGN(signed int,temp1_uint,temp2_uint);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_uint!=0 && abs((int)(1-temp2_uint/temp1_uint)) > options->percent &&
-      abs((int)(temp1_uint-temp2_uint)) > options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(UIPFORMAT,temp1_uint,temp2_uint,abs((int)(temp1_uint-temp2_uint)),
-        abs((int)(1-temp2_uint/temp1_uint)));
+          PER_UNSIGN(signed int,temp1_uint,temp2_uint);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && PDIFF(temp1_uint,temp2_uint) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(I_FORMAT_P,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_uint != temp2_uint)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(UIFORMAT,temp1_uint,temp2_uint,abs((int)(temp1_uint-temp2_uint)));
-     }
-     nfound++;
-    }
-
-
-
+      else if (temp1_uint != temp2_uint)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(UI_FORMAT,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+          }
+          nfound++;
+      }
   } /*H5T_NATIVE_UINT*/
 
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_LONG
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_LONG
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_LONG))
   {
-   long        temp1_long;
-   long        temp2_long;
-   assert(type_size==sizeof(long));
-
-    memcpy(&temp1_long, mem1, sizeof(long));
-    memcpy(&temp2_long, mem2, sizeof(long));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (labs(temp1_long-temp2_long) > (long)options->delta)
-     {
-
-      if ( print_data(options) )
+      long        temp1_long;
+      long        temp2_long;
+      assert(type_size==sizeof(long));
+      
+      memcpy(&temp1_long, mem1, sizeof(long));
+      memcpy(&temp2_long, mem2, sizeof(long));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(LIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
+          if (ABS(temp1_long-temp2_long) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > (long)options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(LPIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long),
-        labs(1-temp2_long/temp1_long));
+          PER(temp1_long,temp2_long);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
+                      ABS(temp1_long-temp2_long));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(LI_FORMAT_P,temp1_long,temp2_long,ABS(temp1_long-temp2_long),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > (long)options->percent &&
-      labs(temp1_long-temp2_long) > (long)options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(LPIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long),
-        labs(1-temp2_long/temp1_long));
+          PER(temp1_long,temp2_long);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && ABS(temp1_long-temp2_long) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(LI_FORMAT_P,temp1_long,temp2_long,
+                          ABS(temp1_long-temp2_long),
+                          per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_long != temp2_long)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(LIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
-     }
-     nfound++;
-    }
-
-
-
+      else if (temp1_long != temp2_long)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+          }
+          nfound++;
+      }
   } /*H5T_NATIVE_LONG*/
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_ULONG
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_ULONG
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_ULONG))
   {
-   unsigned long        temp1_ulong;
-   unsigned long        temp2_ulong;
-   assert(type_size==sizeof(unsigned long));
-
-    memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
-    memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta)
-     {
-
-      if ( print_data(options) )
+      unsigned long        temp1_ulong;
+      unsigned long        temp2_ulong;
+      assert(type_size==sizeof(unsigned long));
+      
+      memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+      memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(ULIFORMAT,temp1_ulong,temp2_ulong,labs((long)(temp1_ulong-temp2_ulong)));
+          if ( PDIFF(temp1_ulong,temp2_ulong) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(ULI_FORMAT,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_ulong!=0 && labs((long)(1-temp2_ulong/temp1_ulong)) > (long)options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(ULPIFORMAT,temp1_ulong,temp2_ulong,labs((long)(temp1_ulong-temp2_ulong)),
-        labs((long)(1-temp2_ulong/temp1_ulong)));
+          PER_UNSIGN(signed long,temp1_ulong,temp2_ulong);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(ULI_FORMAT_P,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_ulong!=0 && labs((long)(1-temp2_ulong/temp1_ulong)) > (long)options->percent &&
-      labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(ULPIFORMAT,temp1_ulong,temp2_ulong,labs((long)(temp1_ulong-temp2_ulong)),
-        labs((long)(1-temp2_ulong/temp1_ulong)));
+          PER_UNSIGN(signed long,temp1_ulong,temp2_ulong);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && PDIFF(temp1_ulong,temp2_ulong) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(ULI_FORMAT_P,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_ulong != temp2_ulong)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(ULIFORMAT,temp1_ulong,temp2_ulong,labs((long)(temp1_ulong-temp2_ulong)));
-     }
-     nfound++;
-    }
-
-
+      else if (temp1_ulong != temp2_ulong)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(ULI_FORMAT,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+          }
+          nfound++;
+      }
+      
+      
   } /*H5T_NATIVE_ULONG*/
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_LLONG
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_LLONG
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_LLONG))
   {
-   long_long        temp1_llong;
-   long_long        temp2_llong;
-   assert(type_size==sizeof(long_long));
-
-    memcpy(&temp1_llong, mem1, sizeof(long_long));
-    memcpy(&temp2_llong, mem2, sizeof(long_long));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (labs((long)(temp1_llong-temp2_llong)) > (long)options->delta)
-     {
-
-      if ( print_data(options) )
+      long_long        temp1_llong;
+      long_long        temp2_llong;
+      assert(type_size==sizeof(long_long));
+      
+      memcpy(&temp1_llong, mem1, sizeof(long_long));
+      memcpy(&temp2_llong, mem2, sizeof(long_long));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(fmt_llong,temp1_llong,temp2_llong,(long_long)labs((long)(temp1_llong-temp2_llong)));
+          if (ABS(temp1_llong-temp2_llong) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > (long)options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(fmt_llongp,temp1_llong,temp2_llong,(long_long)labs((long)(temp1_llong-temp2_llong)),
-        (long_long)labs((long)(1-temp2_llong/temp1_llong)));
+          PER(temp1_llong,temp2_llong);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > (long)options->percent &&
-      labs((long)(temp1_llong-temp2_llong)) > (long)options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(fmt_llongp,temp1_llong,temp2_llong,(long_long)labs((long)(temp1_llong-temp2_llong)),
-        (long_long)labs((long)(1-temp2_llong/temp1_llong)));
+          PER(temp1_llong,temp2_llong);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent  && ABS(temp1_llong-temp2_llong) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_llong != temp2_llong)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(fmt_llong,temp1_llong,temp2_llong,(long_long)labs((long)(temp1_llong-temp2_llong)));
-     }
-     nfound++;
-    }
-
-
+      else if (temp1_llong != temp2_llong)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+          }
+          nfound++;
+      }
+      
   } /*H5T_NATIVE_LLONG*/
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_ULLONG
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_ULLONG
+  *-------------------------------------------------------------------------
+  */
 
   else if (H5Tequal(m_type, H5T_NATIVE_ULLONG))
   {
-   unsigned long_long        temp1_ullong;
-   unsigned long_long        temp2_ullong;
-   assert(type_size==sizeof(unsigned long_long));
-
-    memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
-    memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (labs((long)(temp1_ullong-temp2_ullong)) > (long)options->delta)
-     {
-
-      if ( print_data(options) )
+      unsigned long_long        temp1_ullong;
+      unsigned long_long        temp2_ullong;
+      assert(type_size==sizeof(unsigned long_long));
+      
+      memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+      memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(fmt_ullong,temp1_ullong,temp2_ullong,
-        (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
+          if ( PDIFF(temp1_ullong,temp2_ullong) > (unsigned long_long)options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(ULLI_FORMAT,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > (long)options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(fmt_ullongp,temp1_ullong,temp2_ullong,
-        (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)),
-        (unsigned long_long)labs((long)(1-temp2_ullong/temp1_ullong)));
+          if ( print_data(options) )
+          {
+              NOT_SUPPORTED();
+          }
+          options->not_cmp=1;
+          return nfound;
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > (long)options->percent &&
-      labs((long)(temp1_ullong-temp2_ullong)) > (long)options->delta )
-     {
-
-      if ( print_data(options) )
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(fmt_ullongp,temp1_ullong,temp2_ullong,
-        (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)),
-        (unsigned long_long)labs((long)(1-temp2_ullong/temp1_ullong)));
+          if ( print_data(options) )
+          {
+              NOT_SUPPORTED();
+          }
+          options->not_cmp=1;
+          return nfound;
       }
-      nfound++;
-     }
-    }
-    else if (temp1_ullong != temp2_ullong)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(fmt_ullong,temp1_ullong,temp2_ullong,
-       (unsigned long_long)labs((long)(temp1_ullong-temp2_ullong)));
-     }
-     nfound++;
-    }
-
+      else if (temp1_ullong != temp2_ullong)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(ULLI_FORMAT,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
+          }
+          nfound++;
+      }
+      
   } /*H5T_NATIVE_ULLONG*/
 
 
   break; /* H5T_INTEGER class */
+
  case H5T_FLOAT:
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_FLOAT
- *-------------------------------------------------------------------------
- */
+ /*-------------------------------------------------------------------------
+  * H5T_NATIVE_FLOAT
+  *-------------------------------------------------------------------------
+  */
 
   if (H5Tequal(m_type, H5T_NATIVE_FLOAT))
   {
-   float       temp1_float;
-   float       temp2_float;
-   assert(type_size==sizeof(float));
-
-    memcpy(&temp1_float, mem1, sizeof(float));
-    memcpy(&temp2_float, mem2, sizeof(float));
-
-
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (fabs(temp1_float-temp2_float) > options->delta)
-     {
-
-      if ( print_data(options) )
+      float       temp1_float;
+      float       temp2_float;
+      assert(type_size==sizeof(float));
+      memcpy(&temp1_float, mem1, sizeof(float));
+      memcpy(&temp2_float, mem2, sizeof(float));
+      
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(FFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
+          if (ABS(temp1_float-temp2_float) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options->percent )
-     {
+      /* !-d and -p */
+      else if (!options->d && options->p)
+      {
 
-      if ( print_data(options) )
+          PER(temp1_float,temp2_float);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && ABS(temp1_float-temp2_float) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(F_FORMAT_P,temp1_float,temp2_float,
+                          ABS(temp1_float-temp2_float),
+                          ABS(1-temp2_float/temp1_float));
+                  }
+                  nfound++;
+              }
+      }
+      
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(FPFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float),
-        fabs(1-temp2_float/temp1_float));
+          
+          PER(temp1_float,temp2_float);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
+                      ABS(temp1_float-temp2_float));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(F_FORMAT_P,temp1_float,temp2_float,
+                          ABS(temp1_float-temp2_float), 
+                          ABS(1-temp2_float/temp1_float));
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options->percent &&
-      fabs(temp1_float-temp2_float) > options->delta )
-     {
-
-      if ( print_data(options) )
+      
+      else if (equal_float(temp1_float,temp2_float)==FALSE)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(FPFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float),
-        fabs(1-temp2_float/temp1_float));
+          
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+          }
+          nfound++;
       }
-      nfound++;
-     }
-    }
-    else if (temp1_float != temp2_float)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(FFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
-     }
-     nfound++;
-    }
-
+      
   } /*H5T_NATIVE_FLOAT*/
 
-/*-------------------------------------------------------------------------
- * H5T_NATIVE_DOUBLE
- *-------------------------------------------------------------------------
- */
+  /*-------------------------------------------------------------------------
+   * H5T_NATIVE_DOUBLE
+   *-------------------------------------------------------------------------
+   */
 
   else if (H5Tequal(m_type, H5T_NATIVE_DOUBLE))
   {
-   double      temp1_double;
-   double      temp2_double;
-   assert(type_size==sizeof(double));
-
-    memcpy(&temp1_double, mem1, sizeof(double));
-    memcpy(&temp2_double, mem2, sizeof(double));
-    /* -d and !-p */
-    if (options->d && !options->p)
-    {
-     if (fabs(temp1_double-temp2_double) > options->delta)
-     {
-
-      if ( print_data(options) )
+      double      temp1_double;
+      double      temp2_double;
+      assert(type_size==sizeof(double));
+      
+      memcpy(&temp1_double, mem1, sizeof(double));
+      memcpy(&temp2_double, mem2, sizeof(double));
+      /* -d and !-p */
+      if (options->d && !options->p)
       {
-       print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(FFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
+          if (ABS(temp1_double-temp2_double) > options->delta)
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+              }
+              nfound++;
+          }
       }
-      nfound++;
-     }
-    }
-    /* !-d and -p */
-    else if (!options->d && options->p)
-    {
-     if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options->percent )
-     {
-
-      if ( print_data(options) )
+      /* !-d and -p */
+      else if (!options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(FPFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double),
-        fabs(1-temp2_double/temp1_double));
+          
+          PER(temp1_double,temp2_double);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+                      ABS(temp1_double-temp2_double));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(F_FORMAT_P,temp1_double,temp2_double,
+                          ABS(temp1_double-temp2_double),
+                          ABS(1-temp2_double/temp1_double));
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    /* -d and -p */
-    else if ( options->d && options->p)
-    {
-     if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options->percent &&
-      fabs(temp1_double-temp2_double) > options->delta )
-     {
-
-      if ( print_data(options) )
+      
+      
+      /* -d and -p */
+      else if ( options->d && options->p)
       {
-       print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-       printf(SPACES);
-       printf(FPFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double),
-        fabs(1-temp2_double/temp1_double));
+          
+          PER(temp1_double,temp2_double);
+          
+          if (not_comparable && !both_zero) /* not comparable */
+          {
+              if ( print_data(options) )
+              {
+                  print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                  printf(SPACES);
+                  printf(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+                      ABS(temp1_double-temp2_double));
+              }
+              options->not_cmp=1;
+              nfound++;
+          }
+          
+          else
+              
+              if ( per > options->percent && 
+                  ABS(temp1_double-temp2_double) > options->delta )
+              {
+                  if ( print_data(options) )
+                  {
+                      print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+                      printf(SPACES);
+                      printf(F_FORMAT_P,temp1_double,temp2_double,
+                          ABS(temp1_double-temp2_double),
+                          ABS(1-temp2_double/temp1_double));
+                  }
+                  nfound++;
+              }
       }
-      nfound++;
-     }
-    }
-    else if (temp1_double != temp2_double)
-    {
-
-     if ( print_data(options) )
-     {
-      print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-      printf(SPACES);
-      printf(FFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
-     }
-     nfound++;
-    }
-
+      
+      else if (equal_double(temp1_double,temp2_double)==FALSE)
+      {
+          if ( print_data(options) )
+          {
+              print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+              printf(SPACES);
+              printf(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+          }
+          nfound++;
+      }
   } /*H5T_NATIVE_DOUBLE*/
 
 
   break;   /* H5T_FLOAT class */
 
-  } /* switch */
+ } /* switch */
 
-
-  return nfound;
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Function: diff_native_uchar
- *
- * Purpose: do a byte-by-byte comparison and print in numerical format
- *
- * Return: number of differences found
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: October 29, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-hsize_t diff_native_uchar(unsigned char *mem1,
-                          unsigned char *mem2,
-                          hsize_t       i,
-                          int           rank,
-                          hsize_t       *acc,
-                          hsize_t       *pos,
-                          diff_opt_t    *options,
-                          const char    *obj1,
-                          const char    *obj2,
-                          int           *ph)
-{
- hsize_t            nfound=0;  /* differences found */
- unsigned char      temp1_uchar;
- unsigned char      temp2_uchar;
-
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-  if (abs(temp1_uchar-temp2_uchar) > options->delta)
-  {
-   if ( print_data(options) )
-   {
-    print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-    printf(SPACES);
-    printf(IFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
-   }
-   nfound++;
-  }
- }
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-  if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent )
-  {
-   if ( print_data(options) )
-   {
-    print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-    printf(SPACES);
-    printf(IPFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar),
-     abs(1-temp2_uchar/temp1_uchar));
-   }
-   nfound++;
-  }
- }
- /* -d and -p */
- else if ( options->d && options->p)
- {
-  if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent &&
-   abs(temp1_uchar-temp2_uchar) > options->delta )
-  {
-   if ( print_data(options) )
-   {
-    print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-    printf(SPACES);
-    printf(IPFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar),
-     abs(1-temp2_uchar/temp1_uchar));
-   }
-   nfound++;
-  }
- }
- else if (temp1_uchar != temp2_uchar)
- {
-  if ( print_data(options) )
-  {
-   print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-   printf(SPACES);
-   printf(IFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
-  }
-  nfound++;
- }
-
  return nfound;
-}
 
-
-/*-------------------------------------------------------------------------
- * Function: diff_char
- *
- * Purpose: do a byte-by-byte comparison and print in char format
- *
- * Return: number of differences found
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: October 29, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-hsize_t diff_char(unsigned char *mem1,
-                  unsigned char *mem2,
-                  hsize_t       i,
-                  int           rank,
-                  hsize_t       *acc,
-                  hsize_t       *pos,
-                  diff_opt_t    *options,
-                  const char    *obj1,
-                  const char    *obj2,
-                  int           *ph)
-{
- hsize_t            nfound=0;  /* differences found */
- unsigned char      temp1_uchar;
- unsigned char      temp2_uchar;
-
- memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
- memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
- if (temp1_uchar != temp2_uchar)
- {
-  if ( print_data(options) )
-  {
-   print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-   printf(SPACES);
-   printf(CFORMAT,temp1_uchar,temp2_uchar);
-  }
-  nfound++;
- }
-
- return nfound;
 }
 
 
-
-
 /*-------------------------------------------------------------------------
- * Function: is_zero
+ * Function: all_zero
  *
  * Purpose: Determines if memory is initialized to all zero bytes.
  *
@@ -1695,8 +2029,8 @@
  *
  *-------------------------------------------------------------------------
  */
-static hbool_t
-is_zero(const void *_mem, size_t size)
+
+static hbool_t all_zero(const void *_mem, size_t size)
 {
  const unsigned char *mem = (const unsigned char *)_mem;
 
@@ -1715,10 +2049,8 @@
  *-------------------------------------------------------------------------
  */
 
-static
-void close_obj(H5G_obj_t1 obj_type, hid_t obj_id)
+static void close_obj(H5G_obj_t1 obj_type, hid_t obj_id)
 {
-
  switch (obj_type) {
  case H5G_GROUP:
   H5Gclose(obj_id);
@@ -1735,32 +2067,97 @@
  }
 }
 
+/*-------------------------------------------------------------------------
+ * Function: print_region_block
+ *
+ * Purpose: print start coordinates and opposite corner of a region block
+ *
+ * Return: void
+ *
+ *-------------------------------------------------------------------------
+ */
 
+static
+void print_region_block(int i, hsize_t *ptdata, int ndims)
+{
+ int j;
 
+ printf("        ");
+ for (j = 0; j < ndims; j++)
+  printf("%s%lu", j ? "," : "   (",
+  (unsigned long)ptdata[i * 2 * ndims + j]);
+ for (j = 0; j < ndims; j++)
+  printf("%s%lu", j ? "," : ")-(",
+  (unsigned long)ptdata[i * 2 * ndims + j + ndims]);
+ printf(")");
+
+}
+
+
 /*-------------------------------------------------------------------------
+ * Function: print_points
+ *
+ * Purpose: print points of a region reference
+ *
+ * Return: void
+ *
+ *-------------------------------------------------------------------------
+ */
+
+static
+void print_points(int i, hsize_t *ptdata, int ndims)
+{
+ int j;
+
+ printf("              ");
+ for (j = 0; j < ndims; j++)
+  printf("%s%lu", j ? "," : "(",
+  (unsigned long)(ptdata[i * ndims + j]));
+ printf(")");
+
+}
+
+/*-------------------------------------------------------------------------
  * Function: diff_region
  *
  * Purpose: diff a dataspace region
  *
- * Return: 0, diff not found, 1 found
+ * Return: number of differences
  *
  *-------------------------------------------------------------------------
  */
-static int diff_region(hid_t region1_id, hid_t region2_id)
+
+static
+hsize_t diff_region(hid_t obj1_id,
+                    hid_t obj2_id,
+                    hid_t region1_id,
+                    hid_t region2_id,
+                    diff_opt_t *options)
+
 {
- hssize_t  nblocks1, npoints1;
- hssize_t  nblocks2, npoints2;
- hsize_t   alloc_size;
- hsize_t   *ptdata1;
- hsize_t   *ptdata2;
- int       ndims1 = H5Sget_simple_extent_ndims(region1_id);
- int       ndims2 = H5Sget_simple_extent_ndims(region2_id);
- int       ret=0;
+ hssize_t   nblocks1, npoints1;
+ hssize_t   nblocks2, npoints2;
+ H5G_stat_t sb1;
+ H5G_stat_t sb2;
+ hsize_t    alloc_size;
+ hsize_t    *ptdata1;
+ hsize_t    *ptdata2;
+ int        ndims1;
+ int        ndims2;
+ int        i, j;
+ haddr_t    objno1, objno2; /* compact form of object's location */
+ hsize_t    nfound_b=0;     /* block differences found */
+ hsize_t    nfound_p=0;     /* point differences found */
 
-#if defined (H5DIFF_DEBUG)
- int i;
-#endif
+ ndims1 = H5Sget_simple_extent_ndims(region1_id);
+ ndims2 = H5Sget_simple_extent_ndims(region2_id);
 
+ H5Gget_objinfo(obj1_id, ".", FALSE, &sb1);
+ H5Gget_objinfo(obj2_id, ".", FALSE, &sb2);
+
+ objno1 = (haddr_t)sb1.objno[0] | ((haddr_t)sb1.objno[1] << (8 * sizeof(long)));
+ objno2 = (haddr_t)sb2.objno[0] | ((haddr_t)sb2.objno[1] << (8 * sizeof(long)));
+
 /*
  * These two functions fail if the region does not have blocks or points,
  * respectively. They do not currently know how to translate from one to
@@ -1775,9 +2172,15 @@
  } H5E_END_TRY;
 
  if (nblocks1!=nblocks2 || npoints1!=npoints2 || ndims1!=ndims2)
-  return 1;
+ {
+  options->not_cmp=1;
+  return 0;
+ }
 
- /* compare block information */
+/*-------------------------------------------------------------------------
+ * compare block information
+ *-------------------------------------------------------------------------
+ */
  if (nblocks1 > 0)
  {
 
@@ -1792,32 +2195,51 @@
   H5_CHECK_OVERFLOW(nblocks2, hssize_t, hsize_t);
   H5Sget_select_hyper_blocklist(region2_id, (hsize_t)0, (hsize_t)nblocks2, ptdata2);
 
-  ret=HDmemcmp(ptdata1,ptdata2,(size_t)alloc_size);
-
-#if defined (H5DIFF_DEBUG)
   for (i = 0; i < nblocks1; i++)
   {
-   int j;
-
    /* start coordinates and opposite corner */
    for (j = 0; j < ndims1; j++)
-    printf("%s%lu", j ? "," : "(",
-    (unsigned long)ptdata1[i * 2 * ndims1 + j]);
+   {
+    hsize_t start1, start2, end1, end2;
+    start1 = ptdata1[i * 2 * ndims1 + j];
+    start2 = ptdata2[i * 2 * ndims1 + j];
+    end1   = ptdata1[i * 2 * ndims1 + j + ndims1];
+    end2   = ptdata2[i * 2 * ndims1 + j + ndims1];
+    if (start1 != start2 || end1 != end2)
+    {
+     nfound_b++;
+    }
+   }
+  }
 
-   for (j = 0; j < ndims1; j++)
-    printf("%s%lu", j ? "," : ")-(",
-    (unsigned long)ptdata1[i * 2 * ndims1 + j + ndims1]);
 
-   printf(")\n");
+  /* print differences if found */
+  if (nfound_b && options->m_verbose)
+  {
+   printf("Referenced dataset      %lu            %lu\n",
+    (unsigned long)objno1,(unsigned long)objno2);
+   printf("------------------------------------------------------------\n");
+
+   printf("Region blocks\n");
+   for (i = 0; i < nblocks1; i++)
+   {
+    printf("block #%d", i);
+    print_region_block(i, ptdata1, ndims1);
+    print_region_block(i, ptdata2, ndims1);
+    printf("\n");
+
+   }
   }
-#endif
 
-
   HDfree(ptdata1);
   HDfree(ptdata2);
  }
 
- /* Print point information */
+/*-------------------------------------------------------------------------
+ * compare point information
+ *-------------------------------------------------------------------------
+ */
+
  if (npoints1 > 0)
  {
   alloc_size = npoints1 * ndims1 * sizeof(ptdata1[0]);
@@ -1831,8 +2253,47 @@
   H5_CHECK_OVERFLOW(npoints1,hssize_t,hsize_t);
   H5Sget_select_elem_pointlist(region2_id, (hsize_t)0, (hsize_t)npoints2, ptdata2);
 
-  ret=HDmemcmp(ptdata1,ptdata2,(size_t)alloc_size);
+  for (i = 0; i < npoints1; i++)
+  {
+   hsize_t pt1, pt2;
 
+   for (j = 0; j < ndims1; j++)
+   {
+    pt1 = ptdata1[i * ndims1 + j];
+    pt2 = ptdata2[i * ndims1 + j];
+    if (pt1 != pt2)
+     nfound_p++;
+   }
+  }
+
+  if (nfound_p && options->m_verbose)
+  {
+   printf("Region points\n");
+   for (i = 0; i < npoints1; i++)
+   {
+    hsize_t pt1, pt2;
+    int     diff_data = 0;
+    for (j = 0; j < ndims1; j++)
+    {
+     pt1 = ptdata1[i * ndims1 + j];
+     pt2 = ptdata2[i * ndims1 + j];
+     if (pt1 != pt2)
+     {
+      diff_data = 1;
+      break;
+     }
+    }
+    if (diff_data)
+    {
+     printf("point #%d", i);
+     print_points(i, ptdata1, ndims1);
+     print_points(i, ptdata2, ndims1);
+     printf("\n");
+    }
+   }
+  }
+
+
 #if defined (H5DIFF_DEBUG)
   for (i = 0; i < npoints1; i++)
   {
@@ -1854,12 +2315,150 @@
   HDfree(ptdata2);
  }
 
- return ret;
+ nfound_b = nfound_b/ndims1;
+ nfound_p = nfound_p/ndims1;
+ return (nfound_p + nfound_b);
 }
 
 
+/*-------------------------------------------------------------------------
+ * Function: character_compare
+ *
+ * Purpose: do a byte-by-byte comparison and print in char format
+ *
+ * Return: number of differences found
+ *
+ *-------------------------------------------------------------------------
+ */
 
+static
+hsize_t character_compare(unsigned char *mem1,
+                  unsigned char *mem2,
+                  hsize_t       i,
+                  int           rank,
+                  hsize_t       *dims,
+                  hsize_t       *acc,
+                  hsize_t       *pos,
+                  diff_opt_t    *options,
+                  const char    *obj1,
+                  const char    *obj2,
+                  int           *ph)
+{
+ hsize_t            nfound=0;  /* differences found */
+ unsigned char      temp1_uchar;
+ unsigned char      temp2_uchar;
+
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+
+ if (temp1_uchar != temp2_uchar)
+ {
+  if ( print_data(options) )
+  {
+   print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+   printf(SPACES);
+   printf(C_FORMAT,temp1_uchar,temp2_uchar);
+  }
+  nfound++;
+ }
+
+ return nfound;
+}
+
+
 /*-------------------------------------------------------------------------
+ * Function: character_compare_opt
+ *
+ * Purpose: do a byte-by-byte comparison and print in numerical format
+ *
+ * Return: number of differences found
+ *
+ *-------------------------------------------------------------------------
+ */
+
+hsize_t character_compare_opt(unsigned char *mem1,
+                          unsigned char *mem2,
+                          hsize_t       i,
+                          int           rank,
+                          hsize_t       *dims,
+                          hsize_t       *acc,
+                          hsize_t       *pos,
+                          diff_opt_t    *options,
+                          const char    *obj1,
+                          const char    *obj2,
+                          int           *ph)
+{
+ hsize_t            nfound=0;  /* differences found */
+ unsigned char      temp1_uchar;
+ unsigned char      temp2_uchar;
+ double             per;
+ int                both_zero;
+    
+ memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+ memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+ 
+ /* -d and !-p */
+ 
+ if (options->d && !options->p)
+ {
+     if ( PDIFF(temp1_uchar,temp2_uchar) > options->delta)
+     {
+         if ( print_data(options) )
+         {
+             print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+             printf(SPACES);
+             printf(I_FORMAT,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+         }
+         nfound++;
+     }
+ }
+ /* !-d and -p */
+ else if (!options->d && options->p)
+ {
+     PER_UNSIGN(signed char,temp1_uchar,temp2_uchar);
+     if ( per > options->percent )
+     {
+         if ( print_data(options) )
+         {
+             print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+             printf(SPACES);
+             printf(I_FORMAT_P,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar),per);
+         }
+         nfound++;
+     }
+ }
+ /* -d and -p */
+ else if ( options->d && options->p)
+ {
+     PER_UNSIGN(signed char,temp1_uchar,temp2_uchar);
+     if ( per > options->percent && PDIFF(temp1_uchar,temp2_uchar) > options->delta )
+     {
+         if ( print_data(options) )
+         {
+             print_pos(ph,1,i,acc,pos,rank,dims,obj1,obj2);
+             printf(SPACES);
+             printf(I_FORMAT_P,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar),per);
+         }
+         nfound++;
+     }
+ }
+ else if (temp1_uchar != temp2_uchar)
+ {
+     if ( print_data(options) )
+     {
+         print_pos(ph,0,i,acc,pos,rank,dims,obj1,obj2);
+         printf(SPACES);
+         printf(I_FORMAT,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+     }
+     nfound++;
+ }
+ 
+ return nfound;
+ 
+}
+
+
+/*-------------------------------------------------------------------------
  * Function: diff_float
  *
  * Purpose: diff a H5T_NATIVE_FLOAT type
@@ -1871,7 +2470,9 @@
 hsize_t diff_float(unsigned char *mem1,
                    unsigned char *mem2,
                    hsize_t       nelmts,
+                   hsize_t       hyper_start,
                    int           rank,
+                   hsize_t       *dims,
                    hsize_t       *acc,
                    hsize_t       *pos,
                    diff_opt_t    *options,
@@ -1880,120 +2481,155 @@
                    int           *ph)
 
 {
- hsize_t     nfound=0;          /* number of differences found */
- float       temp1_float;
- float       temp2_float;
- hsize_t     i;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_float, mem1, sizeof(float));
-   memcpy(&temp2_float, mem2, sizeof(float));
-
-   if (fabs(temp1_float-temp2_float) > options->delta)
-   {
-    if ( print_data(options) )
+    hsize_t     nfound=0;          /* number of differences found */
+    float       temp1_float;
+    float       temp2_float;
+    hsize_t     i;
+    double      per;
+    int         both_zero;
+    
+    
+    /* -d and !-p */
+    if (options->d && !options->p)
     {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_float, mem1, sizeof(float));
+            memcpy(&temp2_float, mem2, sizeof(float));
+            
+            if (ABS(temp1_float-temp2_float) > options->delta)
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+                }
+                nfound++;
+            }
+            mem1+=sizeof(float);
+            mem2+=sizeof(float);
+            if (options->n && nfound>=options->count)
+                return nfound;
+        }
     }
-    nfound++;
-   }
-  mem1+=sizeof(float);
-  mem2+=sizeof(float);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_float, mem1, sizeof(float));
-   memcpy(&temp2_float, mem2, sizeof(float));
-
-   if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options->percent )
-   {
-    if ( print_data(options) )
+    
+    /* !-d and -p */
+    else if (!options->d && options->p)
     {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FPFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float),
-      fabs(1-temp2_float/temp1_float));
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_float, mem1, sizeof(float));
+            memcpy(&temp2_float, mem2, sizeof(float));
+            
+            PER(temp1_float,temp2_float);
+            
+            if (not_comparable && !both_zero) /* not comparable */
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
+                        ABS(temp1_float-temp2_float));
+                }
+                options->not_cmp=1;
+                nfound++;
+            }
+            
+            else
+                
+                if ( per > options->percent )
+                {
+                    if ( print_data(options) )
+                    {
+                        print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                        printf(SPACES);
+                        printf(F_FORMAT_P,temp1_float,temp2_float,
+                            ABS(temp1_float-temp2_float),
+                            ABS(1-temp2_float/temp1_float));
+                    }
+                    nfound++;
+                }
+                mem1+=sizeof(float);
+                mem2+=sizeof(float);
+                if (options->n && nfound>=options->count)
+                    return nfound;
+        }
     }
-    nfound++;
-   }
-  mem1+=sizeof(float);
-  mem2+=sizeof(float);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_float, mem1, sizeof(float));
-   memcpy(&temp2_float, mem2, sizeof(float));
-
-   if ( temp1_float!=0 && fabs(1-temp2_float/temp1_float) > options->percent &&
-    fabs(temp1_float-temp2_float) > options->delta )
-   {
-    if ( print_data(options) )
+    
+    /* -d and -p */
+    else if ( options->d && options->p)
     {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FPFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float),
-      fabs(1-temp2_float/temp1_float));
+        
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_float, mem1, sizeof(float));
+            memcpy(&temp2_float, mem2, sizeof(float));
+            
+            PER(temp1_float,temp2_float);
+            
+            if (not_comparable && !both_zero) /* not comparable */
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT_P_NOTCOMP,temp1_float,temp2_float,
+                        ABS(temp1_float-temp2_float));
+                }
+                options->not_cmp=1;
+                nfound++;
+            }
+            
+            else
+                
+                if ( per > options->percent && ABS(temp1_float-temp2_float) > options->delta )
+                {
+                    if ( print_data(options) )
+                    {
+                        print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                        printf(SPACES);
+                        printf(F_FORMAT_P,temp1_float,temp2_float,
+                            ABS(temp1_float-temp2_float),
+                            ABS(1-temp2_float/temp1_float));
+                    }
+                    nfound++;
+                }
+                mem1+=sizeof(float);
+                mem2+=sizeof(float);
+                if (options->n && nfound>=options->count)
+                    return nfound;
+        }
     }
-    nfound++;
-   }
-  mem1+=sizeof(float);
-  mem2+=sizeof(float);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
- }
- else
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_float, mem1, sizeof(float));
-   memcpy(&temp2_float, mem2, sizeof(float));
-
-   if (temp1_float != temp2_float)
-   {
-    if ( print_data(options) )
+    else
     {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FFORMAT,temp1_float,temp2_float,fabs(temp1_float-temp2_float));
+        
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_float, mem1, sizeof(float));
+            memcpy(&temp2_float, mem2, sizeof(float));
+            
+            if (equal_float(temp1_float,temp2_float)==FALSE)
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT,temp1_float,temp2_float,ABS(temp1_float-temp2_float));
+                }
+                nfound++;
+            }
+            
+            mem1+=sizeof(float);
+            mem2+=sizeof(float);
+            if (options->n && nfound>=options->count)
+                return nfound;
+        } /* nelmts */
+        
     }
-    nfound++;
-   }
-
-   mem1+=sizeof(float);
-   mem2+=sizeof(float);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
- }
-
- return nfound;
+    
+    return nfound;
 }
 
 
@@ -2010,7 +2646,9 @@
 hsize_t diff_double(unsigned char *mem1,
                     unsigned char *mem2,
                     hsize_t       nelmts,
+                    hsize_t       hyper_start,
                     int           rank,
+                    hsize_t       *dims,
                     hsize_t       *acc,
                     hsize_t       *pos,
                     diff_opt_t    *options,
@@ -2019,126 +2657,159 @@
                     int           *ph)
 
 {
- hsize_t     nfound=0;          /* number of differences found */
- double      temp1_double;
- double      temp2_double;
- hsize_t     i;
-
-
- /* -d and !-p */
- if (options->d && !options->p)
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_double, mem1, sizeof(double));
-   memcpy(&temp2_double, mem2, sizeof(double));
-
-   if (fabs(temp1_double-temp2_double) > options->delta)
-   {
-
-    if ( print_data(options) )
+    hsize_t     nfound=0;          /* number of differences found */
+    double      temp1_double;
+    double      temp2_double;
+    hsize_t     i;
+    double      per;
+    int         both_zero;
+    
+    
+    /* -d and !-p */
+    if (options->d && !options->p)
     {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
+        
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_double, mem1, sizeof(double));
+            memcpy(&temp2_double, mem2, sizeof(double));
+            
+            if (ABS(temp1_double-temp2_double) > options->delta)
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+                }
+                nfound++;
+            }
+            mem1+=sizeof(double);
+            mem2+=sizeof(double);
+            if (options->n && nfound>=options->count)
+                return nfound;
+        }
     }
-    nfound++;
-   }
-  mem1+=sizeof(double);
-  mem2+=sizeof(double);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
- }
-
- /* !-d and -p */
- else if (!options->d && options->p)
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_double, mem1, sizeof(double));
-   memcpy(&temp2_double, mem2, sizeof(double));
-
-   if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options->percent )
-   {
-    if ( print_data(options) )
+    
+    /* !-d and -p */
+    else if (!options->d && options->p)
     {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FPFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double),
-      fabs(1-temp2_double/temp1_double));
+        
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_double, mem1, sizeof(double));
+            memcpy(&temp2_double, mem2, sizeof(double));
+            
+            PER(temp1_double,temp2_double);
+            
+            if (not_comparable && !both_zero) /* not comparable */
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+                        ABS(temp1_double-temp2_double));
+                }
+                options->not_cmp=1;
+                nfound++;
+            }
+            
+            else
+                
+                if ( per > options->percent )
+                {
+                    if ( print_data(options) )
+                    {
+                        print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                        printf(SPACES);
+                        printf(F_FORMAT_P,temp1_double,temp2_double,
+                            ABS(temp1_double-temp2_double),
+                            ABS(1-temp2_double/temp1_double));
+                    }
+                    nfound++;
+                }
+                mem1+=sizeof(double);
+                mem2+=sizeof(double);
+                if (options->n && nfound>=options->count)
+                    return nfound;
+        }
     }
-    nfound++;
-   }
-  mem1+=sizeof(double);
-  mem2+=sizeof(double);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
- }
-
- /* -d and -p */
- else if ( options->d && options->p)
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_double, mem1, sizeof(double));
-   memcpy(&temp2_double, mem2, sizeof(double));
-
-   if ( temp1_double!=0 && fabs(1-temp2_double/temp1_double) > options->percent &&
-    fabs(temp1_double-temp2_double) > options->delta )
-   {
-    if ( print_data(options) )
+    
+    /* -d and -p */
+    else if ( options->d && options->p)
     {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FPFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double),
-      fabs(1-temp2_double/temp1_double));
+        
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_double, mem1, sizeof(double));
+            memcpy(&temp2_double, mem2, sizeof(double));
+            
+            PER(temp1_double,temp2_double);
+            
+            if (not_comparable && !both_zero) /* not comparable */
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT_P_NOTCOMP,temp1_double,temp2_double,
+                        ABS(temp1_double-temp2_double));
+                }
+                options->not_cmp=1;
+                nfound++;
+            }
+            
+            else
+                
+                if ( per > options->percent && ABS(temp1_double-temp2_double) > options->delta )
+                {
+                    if ( print_data(options) )
+                    {
+                        print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                        printf(SPACES);
+                        printf(F_FORMAT_P,temp1_double,temp2_double,
+                            ABS(temp1_double-temp2_double),
+                            ABS(1-temp2_double/temp1_double));
+                    }
+                    nfound++;
+                }
+                mem1+=sizeof(double);
+                mem2+=sizeof(double);
+                if (options->n && nfound>=options->count)
+                    return nfound;
+        }
     }
-    nfound++;
-   }
-   mem1+=sizeof(double);
-   mem2+=sizeof(double);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  }
- }
- else
- {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_double, mem1, sizeof(double));
-   memcpy(&temp2_double, mem2, sizeof(double));
-
-   if (temp1_double != temp2_double)
-   {
-    if ( print_data(options) )
+    else
     {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(FFORMAT,temp1_double,temp2_double,fabs(temp1_double-temp2_double));
+        
+        for ( i = 0; i < nelmts; i++)
+        {
+            memcpy(&temp1_double, mem1, sizeof(double));
+            memcpy(&temp2_double, mem2, sizeof(double));
+            
+            if (equal_double(temp1_double,temp2_double)==FALSE)
+            {
+                if ( print_data(options) )
+                {
+                    print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                    printf(SPACES);
+                    printf(F_FORMAT,temp1_double,temp2_double,ABS(temp1_double-temp2_double));
+                }
+                nfound++;
+            }
+            
+            mem1+=sizeof(double);
+            mem2+=sizeof(double);
+            if (options->n && nfound>=options->count)
+                return nfound;
+        } /* nelmts */
+        
     }
-    nfound++;
-   }
-
-   mem1+=sizeof(double);
-   mem2+=sizeof(double);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
- }
-
- return nfound;
+    
+    return nfound;
 }
 
-
-
-
 /*-------------------------------------------------------------------------
  * Function: diff_schar
  *
@@ -2151,7 +2822,9 @@
 hsize_t diff_schar(unsigned char *mem1,
                    unsigned char *mem2,
                    hsize_t       nelmts,
+                   hsize_t       hyper_start,
                    int           rank,
+                   hsize_t       *dims,
                    hsize_t       *acc,
                    hsize_t       *pos,
                    diff_opt_t    *options,
@@ -2164,116 +2837,153 @@
  char        temp1_char;
  char        temp2_char;
  hsize_t     i;
-
-
+ double      per;
+ int         both_zero;
+ 
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_char, mem1, sizeof(char));
-   memcpy(&temp2_char, mem2, sizeof(char));
-
-   if (abs(temp1_char-temp2_char) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
-    }
-    nfound++;
-   }
-  mem1+=sizeof(char);
-  mem2+=sizeof(char);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_char, mem1, sizeof(char));
+         memcpy(&temp2_char, mem2, sizeof(char));
+         
+         if (ABS(temp1_char-temp2_char) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(char);
+         mem2+=sizeof(char);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_char, mem1, sizeof(char));
-   memcpy(&temp2_char, mem2, sizeof(char));
-
-   if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char),
-      abs(1-temp2_char/temp1_char));
-    }
-    nfound++;
-   }
-  mem1+=sizeof(char);
-  mem2+=sizeof(char);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_char, mem1, sizeof(char));
+         memcpy(&temp2_char, mem2, sizeof(char));
+         
+         PER(temp1_char,temp2_char);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
+                     ABS(temp1_char-temp2_char));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_char,temp2_char,
+                         ABS(temp1_char-temp2_char),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(char);
+             mem2+=sizeof(char);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_char, mem1, sizeof(char));
-   memcpy(&temp2_char, mem2, sizeof(char));
-
-   if ( temp1_char!=0 && abs(1-temp2_char/temp1_char) > options->percent &&
-    abs(temp1_char-temp2_char) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char),
-      abs(1-temp2_char/temp1_char));
-    }
-    nfound++;
-   }
-  mem1+=sizeof(char);
-  mem2+=sizeof(char);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_char, mem1, sizeof(char));
+         memcpy(&temp2_char, mem2, sizeof(char));
+         
+         PER(temp1_char,temp2_char);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_char,temp2_char,
+                     ABS(temp1_char-temp2_char));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && ABS(temp1_char-temp2_char) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_char,temp2_char,
+                         ABS(temp1_char-temp2_char),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(char);
+             mem2+=sizeof(char);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_char, mem1, sizeof(char));
-   memcpy(&temp2_char, mem2, sizeof(char));
-
-   if (temp1_char != temp2_char)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_char,temp2_char,abs(temp1_char-temp2_char));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(char);
-   mem2+=sizeof(char);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_char, mem1, sizeof(char));
+         memcpy(&temp2_char, mem2, sizeof(char));
+         
+         if (temp1_char != temp2_char)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_char,temp2_char,ABS(temp1_char-temp2_char));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(char);
+         mem2+=sizeof(char);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -2291,7 +3001,9 @@
 hsize_t diff_uchar(unsigned char *mem1,
                    unsigned char *mem2,
                    hsize_t       nelmts,
+                   hsize_t       hyper_start,
                    int           rank,
+                   hsize_t       *dims,
                    hsize_t       *acc,
                    hsize_t       *pos,
                    diff_opt_t    *options,
@@ -2304,123 +3016,157 @@
  unsigned char temp1_uchar;
  unsigned char temp2_uchar;
  hsize_t       i;
-
-
+ double        per;
+ int           both_zero;
+    
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
-   memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
-   if (abs(temp1_uchar-temp2_uchar) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
-    }
-    nfound++;
-   }
-  mem1+=sizeof(unsigned char);
-  mem2+=sizeof(unsigned char);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+         memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+         
+         if ( PDIFF(temp1_uchar,temp2_uchar) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(unsigned char);
+         mem2+=sizeof(unsigned char);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
-   memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
-   if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar),
-      abs(1-temp2_uchar/temp1_uchar));
-    }
-    nfound++;
-   }
-  mem1+=sizeof(unsigned char);
-  mem2+=sizeof(unsigned char);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+         memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+         
+         PER_UNSIGN(signed char,temp1_uchar,temp2_uchar);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
+                     PDIFF(temp1_uchar,temp2_uchar));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_uchar,temp2_uchar,
+                         PDIFF(temp1_uchar,temp2_uchar),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned char);
+             mem2+=sizeof(unsigned char);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
-   memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
-   if ( temp1_uchar!=0 && abs(1-temp2_uchar/temp1_uchar) > options->percent &&
-    abs(temp1_uchar-temp2_uchar) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar),
-      abs(1-temp2_uchar/temp1_uchar));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(unsigned char);
-  mem2+=sizeof(unsigned char);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+         memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+         
+         PER_UNSIGN(signed char,temp1_uchar,temp2_uchar);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_uchar,temp2_uchar,
+                     PDIFF(temp1_uchar,temp2_uchar));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && PDIFF(temp1_uchar,temp2_uchar) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_uchar,temp2_uchar,
+                         PDIFF(temp1_uchar,temp2_uchar),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned char);
+             mem2+=sizeof(unsigned char);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
-   memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
-
-   if (temp1_uchar != temp2_uchar)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_uchar,temp2_uchar,abs(temp1_uchar-temp2_uchar));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(unsigned char);
-   mem2+=sizeof(unsigned char);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uchar, mem1, sizeof(unsigned char));
+         memcpy(&temp2_uchar, mem2, sizeof(unsigned char));
+         
+         if (temp1_uchar != temp2_uchar)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_uchar,temp2_uchar,PDIFF(temp1_uchar,temp2_uchar));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(unsigned char);
+         mem2+=sizeof(unsigned char);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
-
-
-
 /*-------------------------------------------------------------------------
  * Function: diff_short
  *
@@ -2433,7 +3179,9 @@
 hsize_t diff_short(unsigned char *mem1,
                    unsigned char *mem2,
                    hsize_t       nelmts,
+                   hsize_t       hyper_start,
                    int           rank,
+                   hsize_t       *dims,
                    hsize_t       *acc,
                    hsize_t       *pos,
                    diff_opt_t    *options,
@@ -2446,119 +3194,155 @@
  short         temp1_short;
  short         temp2_short;
  hsize_t       i;
-
-
+ double        per;
+ int           both_zero;
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_short, mem1, sizeof(short));
-   memcpy(&temp2_short, mem2, sizeof(short));
-
-   if (abs(temp1_short-temp2_short) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(short);
-  mem2+=sizeof(short);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_short, mem1, sizeof(short));
+         memcpy(&temp2_short, mem2, sizeof(short));
+         
+         if (ABS(temp1_short-temp2_short) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(short);
+         mem2+=sizeof(short);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_short, mem1, sizeof(short));
-   memcpy(&temp2_short, mem2, sizeof(short));
-
-   if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short),
-      abs(1-temp2_short/temp1_short));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(short);
-  mem2+=sizeof(short);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_short, mem1, sizeof(short));
+         memcpy(&temp2_short, mem2, sizeof(short));
+         
+         PER(temp1_short,temp2_short);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
+                     ABS(temp1_short-temp2_short));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_short,temp2_short,
+                         ABS(temp1_short-temp2_short),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(short);
+             mem2+=sizeof(short);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_short, mem1, sizeof(short));
-   memcpy(&temp2_short, mem2, sizeof(short));
-
-   if ( temp1_short!=0 && abs(1-temp2_short/temp1_short) > options->percent &&
-    abs(temp1_short-temp2_short) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short),
-      abs(1-temp2_short/temp1_short));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(short);
-  mem2+=sizeof(short);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_short, mem1, sizeof(short));
+         memcpy(&temp2_short, mem2, sizeof(short));
+         
+         PER(temp1_short,temp2_short);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_short,temp2_short,
+                     ABS(temp1_short-temp2_short));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && ABS(temp1_short-temp2_short) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_short,temp2_short,
+                         ABS(temp1_short-temp2_short),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(short);
+             mem2+=sizeof(short);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_short, mem1, sizeof(short));
-   memcpy(&temp2_short, mem2, sizeof(short));
-
-   if (temp1_short != temp2_short)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_short,temp2_short,abs(temp1_short-temp2_short));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(short);
-   mem2+=sizeof(short);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_short, mem1, sizeof(short));
+         memcpy(&temp2_short, mem2, sizeof(short));
+         
+         if (temp1_short != temp2_short)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_short,temp2_short,ABS(temp1_short-temp2_short));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(short);
+         mem2+=sizeof(short);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -2575,7 +3359,9 @@
 hsize_t diff_ushort(unsigned char *mem1,
                     unsigned char *mem2,
                     hsize_t       nelmts,
+                    hsize_t       hyper_start,
                     int           rank,
+                    hsize_t       *dims,
                     hsize_t       *acc,
                     hsize_t       *pos,
                     diff_opt_t    *options,
@@ -2588,119 +3374,155 @@
  unsigned short temp1_ushort;
  unsigned short temp2_ushort;
  hsize_t        i;
-
-
+ double         per;
+ int            both_zero;
+    
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
-   memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
-   if (abs(temp1_ushort-temp2_ushort) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned short);
-  mem2+=sizeof(unsigned short);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+         memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+         
+         if ( PDIFF(temp1_ushort,temp2_ushort) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(unsigned short);
+         mem2+=sizeof(unsigned short);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
-   memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
-   if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort),
-      abs(1-temp2_ushort/temp1_ushort));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned short);
-  mem2+=sizeof(unsigned short);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+         memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+         
+         PER_UNSIGN(signed short,temp1_ushort,temp2_ushort);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
+                     PDIFF(temp1_ushort,temp2_ushort));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_ushort,temp2_ushort,
+                         PDIFF(temp1_ushort,temp2_ushort),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned short);
+             mem2+=sizeof(unsigned short);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
-   memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
-   if ( temp1_ushort!=0 && abs(1-temp2_ushort/temp1_ushort) > options->percent &&
-    abs(temp1_ushort-temp2_ushort) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort),
-      abs(1-temp2_ushort/temp1_ushort));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned short);
-  mem2+=sizeof(unsigned short);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+         memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+         
+         PER_UNSIGN(signed short,temp1_ushort,temp2_ushort);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_ushort,temp2_ushort,
+                     PDIFF(temp1_ushort,temp2_ushort));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && PDIFF(temp1_ushort,temp2_ushort) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_ushort,temp2_ushort,
+                         PDIFF(temp1_ushort,temp2_ushort),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned short);
+             mem2+=sizeof(unsigned short);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
-   memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
-
-   if (temp1_ushort != temp2_ushort)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_ushort,temp2_ushort,abs(temp1_ushort-temp2_ushort));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(unsigned short);
-   mem2+=sizeof(unsigned short);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ushort, mem1, sizeof(unsigned short));
+         memcpy(&temp2_ushort, mem2, sizeof(unsigned short));
+         
+         if (temp1_ushort != temp2_ushort)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_ushort,temp2_ushort,PDIFF(temp1_ushort,temp2_ushort));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(unsigned short);
+         mem2+=sizeof(unsigned short);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -2718,7 +3540,9 @@
 hsize_t diff_int(unsigned char *mem1,
                  unsigned char *mem2,
                  hsize_t       nelmts,
+                 hsize_t       hyper_start,
                  int           rank,
+                 hsize_t       *dims,
                  hsize_t       *acc,
                  hsize_t       *pos,
                  diff_opt_t    *options,
@@ -2731,119 +3555,155 @@
  int           temp1_int;
  int           temp2_int;
  hsize_t       i;
-
-
+ double        per;
+ int           both_zero;
+    
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_int, mem1, sizeof(int));
-   memcpy(&temp2_int, mem2, sizeof(int));
-
-   if (abs(temp1_int-temp2_int) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(int);
-  mem2+=sizeof(int);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_int, mem1, sizeof(int));
+         memcpy(&temp2_int, mem2, sizeof(int));
+         
+         if (ABS(temp1_int-temp2_int) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(int);
+         mem2+=sizeof(int);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_int, mem1, sizeof(int));
-   memcpy(&temp2_int, mem2, sizeof(int));
-
-   if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int),
-      abs(1-temp2_int/temp1_int));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(int);
-  mem2+=sizeof(int);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_int, mem1, sizeof(int));
+         memcpy(&temp2_int, mem2, sizeof(int));
+         
+         PER(temp1_int,temp2_int);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
+                     ABS(temp1_int-temp2_int));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_int,temp2_int,
+                         ABS(temp1_int-temp2_int),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(int);
+             mem2+=sizeof(int);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_int, mem1, sizeof(int));
-   memcpy(&temp2_int, mem2, sizeof(int));
-
-   if ( temp1_int!=0 && abs(1-temp2_int/temp1_int) > options->percent &&
-    abs(temp1_int-temp2_int) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int),
-      abs(1-temp2_int/temp1_int));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(int);
-  mem2+=sizeof(int);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_int, mem1, sizeof(int));
+         memcpy(&temp2_int, mem2, sizeof(int));
+         
+         PER(temp1_int,temp2_int);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_int,temp2_int,
+                     ABS(temp1_int-temp2_int));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && ABS(temp1_int-temp2_int) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_int,temp2_int,
+                         ABS(temp1_int-temp2_int),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(int);
+             mem2+=sizeof(int);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_int, mem1, sizeof(int));
-   memcpy(&temp2_int, mem2, sizeof(int));
-
-   if (temp1_int != temp2_int)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_int,temp2_int,abs(temp1_int-temp2_int));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(int);
-   mem2+=sizeof(int);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_int, mem1, sizeof(int));
+         memcpy(&temp2_int, mem2, sizeof(int));
+         
+         if (temp1_int != temp2_int)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_int,temp2_int,ABS(temp1_int-temp2_int));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(int);
+         mem2+=sizeof(int);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -2861,7 +3721,9 @@
 hsize_t diff_uint(unsigned char *mem1,
                   unsigned char *mem2,
                   hsize_t       nelmts,
+                  hsize_t       hyper_start,
                   int           rank,
+                  hsize_t       *dims,
                   hsize_t       *acc,
                   hsize_t       *pos,
                   diff_opt_t    *options,
@@ -2871,122 +3733,156 @@
 
 {
  hsize_t        nfound=0;          /* number of differences found */
- unsigned int temp1_uint;
- unsigned int temp2_uint;
+ unsigned int   temp1_uint;
+ unsigned int   temp2_uint;
  hsize_t        i;
-
-
+ double         per;
+ int            both_zero;
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uint, mem1, sizeof(unsigned int));
-   memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
-   if (abs(temp1_uint-temp2_uint) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_uint,temp2_uint,abs(temp1_uint-temp2_uint));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned int);
-  mem2+=sizeof(unsigned int);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+         memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+         
+         if ( PDIFF(temp1_uint,temp2_uint) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(unsigned int);
+         mem2+=sizeof(unsigned int);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uint, mem1, sizeof(unsigned int));
-   memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
-   if ( temp1_uint!=0 && abs(1-temp2_uint/temp1_uint) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_uint,temp2_uint,abs(temp1_uint-temp2_uint),
-      abs(1-temp2_uint/temp1_uint));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(unsigned int);
-  mem2+=sizeof(unsigned int);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+         memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+         
+         PER_UNSIGN(signed int,temp1_uint,temp2_uint);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_uint,temp2_uint,
+                         PDIFF(temp1_uint,temp2_uint),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned int);
+             mem2+=sizeof(unsigned int);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uint, mem1, sizeof(unsigned int));
-   memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
-   if ( temp1_uint!=0 && abs(1-temp2_uint/temp1_uint) > options->percent &&
-    abs(temp1_uint-temp2_uint) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IPFORMAT,temp1_uint,temp2_uint,abs(temp1_uint-temp2_uint),
-      abs(1-temp2_uint/temp1_uint));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned int);
-  mem2+=sizeof(unsigned int);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+         memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+         
+         PER_UNSIGN(signed int,temp1_uint,temp2_uint);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT_P_NOTCOMP,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && PDIFF(temp1_uint,temp2_uint) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(I_FORMAT_P,temp1_uint,temp2_uint,
+                         PDIFF(temp1_uint,temp2_uint),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned int);
+             mem2+=sizeof(unsigned int);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_uint, mem1, sizeof(unsigned int));
-   memcpy(&temp2_uint, mem2, sizeof(unsigned int));
-
-   if (temp1_uint != temp2_uint)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(IFORMAT,temp1_uint,temp2_uint,abs(temp1_uint-temp2_uint));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(unsigned int);
-   mem2+=sizeof(unsigned int);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_uint, mem1, sizeof(unsigned int));
+         memcpy(&temp2_uint, mem2, sizeof(unsigned int));
+         
+         if (temp1_uint != temp2_uint)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(I_FORMAT,temp1_uint,temp2_uint,PDIFF(temp1_uint,temp2_uint));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(unsigned int);
+         mem2+=sizeof(unsigned int);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -3004,7 +3900,9 @@
 hsize_t diff_long(unsigned char *mem1,
                   unsigned char *mem2,
                   hsize_t       nelmts,
+                  hsize_t       hyper_start,
                   int           rank,
+                  hsize_t       *dims,
                   hsize_t       *acc,
                   hsize_t       *pos,
                   diff_opt_t    *options,
@@ -3017,124 +3915,164 @@
  long          temp1_long;
  long          temp2_long;
  hsize_t       i;
-
-
+ double        per;
+ int           both_zero;
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_long, mem1, sizeof(long));
-   memcpy(&temp2_long, mem2, sizeof(long));
-
-   if (labs(temp1_long-temp2_long) > (long)options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(long);
-  mem2+=sizeof(long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         
+         for ( i = 0; i < nelmts; i++)
+         {
+             memcpy(&temp1_long, mem1, sizeof(long));
+             memcpy(&temp2_long, mem2, sizeof(long));
+             
+             if (ABS(temp1_long-temp2_long) > options->delta)
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(long);
+             mem2+=sizeof(long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+         }
+     }
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_long, mem1, sizeof(long));
-   memcpy(&temp2_long, mem2, sizeof(long));
-
-   if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LPIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long),
-      labs(1-temp2_long/temp1_long));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(long);
-  mem2+=sizeof(long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_long, mem1, sizeof(long));
+         memcpy(&temp2_long, mem2, sizeof(long));
+         
+         PER(temp1_long,temp2_long);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
+                     ABS(temp1_long-temp2_long));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LI_FORMAT_P,temp1_long,temp2_long,
+                         ABS(temp1_long-temp2_long),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(long);
+             mem2+=sizeof(long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_long, mem1, sizeof(long));
-   memcpy(&temp2_long, mem2, sizeof(long));
-
-   if ( temp1_long!=0 && labs(1-temp2_long/temp1_long) > options->percent &&
-    labs(temp1_long-temp2_long) > (long)options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LPIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long),
-      labs(1-temp2_long/temp1_long));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(long);
-  mem2+=sizeof(long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_long, mem1, sizeof(long));
+         memcpy(&temp2_long, mem2, sizeof(long));
+         
+         PER(temp1_long,temp2_long);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LI_FORMAT_P_NOTCOMP,temp1_long,temp2_long,
+                     ABS(temp1_long-temp2_long));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && ABS(temp1_long-temp2_long) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LI_FORMAT_P,temp1_long,temp2_long,
+                         ABS(temp1_long-temp2_long),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(long);
+             mem2+=sizeof(long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_long, mem1, sizeof(long));
-   memcpy(&temp2_long, mem2, sizeof(long));
-
-   if (temp1_long != temp2_long)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LIFORMAT,temp1_long,temp2_long,labs(temp1_long-temp2_long));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(long);
-   mem2+=sizeof(long);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_long, mem1, sizeof(long));
+         memcpy(&temp2_long, mem2, sizeof(long));
+         
+         if (temp1_long != temp2_long)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LI_FORMAT,temp1_long,temp2_long,ABS(temp1_long-temp2_long));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(long);
+         mem2+=sizeof(long);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
 
 
+
 /*-------------------------------------------------------------------------
  * Function: diff_ulong
  *
@@ -3147,7 +4085,9 @@
 hsize_t diff_ulong(unsigned char *mem1,
                    unsigned char *mem2,
                    hsize_t       nelmts,
+                   hsize_t       hyper_start,
                    int           rank,
+                   hsize_t       *dims,
                    hsize_t       *acc,
                    hsize_t       *pos,
                    diff_opt_t    *options,
@@ -3160,119 +4100,159 @@
  unsigned long  temp1_ulong;
  unsigned long  temp2_ulong;
  hsize_t        i;
-
-
+ double         per;
+ int            both_zero;
+    
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
-   memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
-   if (labs((long)(temp1_ulong-temp2_ulong)) > (long)options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LIFORMAT,temp1_ulong,temp2_ulong,labs(temp1_ulong-temp2_ulong));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned long);
-  mem2+=sizeof(unsigned long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         
+         for ( i = 0; i < nelmts; i++)
+         {
+             memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+             memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+             
+             if ( PDIFF(temp1_ulong,temp2_ulong) > options->delta)
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LI_FORMAT,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned long);
+             mem2+=sizeof(unsigned long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+         }
+         
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
-   memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
-   if ( temp1_ulong!=0 && labs(1-temp2_ulong/temp1_ulong) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LPIFORMAT,temp1_ulong,temp2_ulong,labs(temp1_ulong-temp2_ulong),
-      labs(1-temp2_ulong/temp1_ulong));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned long);
-  mem2+=sizeof(unsigned long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+         memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+         
+         PER_UNSIGN(signed long,temp1_ulong,temp2_ulong);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LI_FORMAT_P,temp1_ulong,temp2_ulong,
+                         PDIFF(temp1_ulong,temp2_ulong),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned long);
+             mem2+=sizeof(unsigned long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
-   memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
-   if ( temp1_ulong!=0 && labs(1-temp2_ulong/temp1_ulong) > options->percent &&
-    labs(temp1_ulong-temp2_ulong) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LPIFORMAT,temp1_ulong,temp2_ulong,labs(temp1_ulong-temp2_ulong),
-      labs(1-temp2_ulong/temp1_ulong));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(unsigned long);
-  mem2+=sizeof(unsigned long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+         memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+         
+         PER_UNSIGN(signed long,temp1_ulong,temp2_ulong);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(ULI_FORMAT_P_NOTCOMP,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && PDIFF(temp1_ulong,temp2_ulong) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LI_FORMAT_P,temp1_ulong,temp2_ulong,
+                         PDIFF(temp1_ulong,temp2_ulong),
+                         per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(unsigned long);
+             mem2+=sizeof(unsigned long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
-   memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
-
-   if (temp1_ulong != temp2_ulong)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(LIFORMAT,temp1_ulong,temp2_ulong,labs(temp1_ulong-temp2_ulong));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(unsigned long);
-   mem2+=sizeof(unsigned long);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ulong, mem1, sizeof(unsigned long));
+         memcpy(&temp2_ulong, mem2, sizeof(unsigned long));
+         
+         if (temp1_ulong != temp2_ulong)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LI_FORMAT,temp1_ulong,temp2_ulong,PDIFF(temp1_ulong,temp2_ulong));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(unsigned long);
+         mem2+=sizeof(unsigned long);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -3290,7 +4270,9 @@
 hsize_t diff_llong(unsigned char *mem1,
                    unsigned char *mem2,
                    hsize_t       nelmts,
+                   hsize_t       hyper_start,
                    int           rank,
+                   hsize_t       *dims,
                    hsize_t       *acc,
                    hsize_t       *pos,
                    diff_opt_t    *options,
@@ -3303,129 +4285,149 @@
  long_long     temp1_llong;
  long_long     temp2_llong;
  hsize_t       i;
- static char   fmt_llong[255];
- static char   fmt_llongp[255];
-
-  if (!fmt_llong[0]) {
-  /* build default formats for long long types */
-  sprintf(fmt_llong,  "%%%sd              %%%sd               %%%sd\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
-  sprintf(fmt_llongp,  "%%%sd             %%%sd               %%%sd               %%%sd\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
- }
-
-
+ double        per;
+ int           both_zero;
+ 
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_llong, mem1, sizeof(long_long));
-   memcpy(&temp2_llong, mem2, sizeof(long_long));
-
-   if (labs( (long) (temp1_llong-temp2_llong)) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_llong,temp1_llong,temp2_llong,labs((long)(temp1_llong-temp2_llong)));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(long_long);
-  mem2+=sizeof(long_long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_llong, mem1, sizeof(long_long));
+         memcpy(&temp2_llong, mem2, sizeof(long_long));
+         
+         if (ABS( temp1_llong-temp2_llong) > options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(long_long);
+         mem2+=sizeof(long_long);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_llong, mem1, sizeof(long_long));
-   memcpy(&temp2_llong, mem2, sizeof(long_long));
-
-   if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_llongp,temp1_llong,temp2_llong,labs((long)(temp1_llong-temp2_llong)),
-      labs((long)(1-temp2_llong/temp1_llong)));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(long_long);
-  mem2+=sizeof(long_long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_llong, mem1, sizeof(long_long));
+         memcpy(&temp2_llong, mem2, sizeof(long_long));
+         
+         PER(temp1_llong,temp2_llong);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(long_long);
+             mem2+=sizeof(long_long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_llong, mem1, sizeof(long_long));
-   memcpy(&temp2_llong, mem2, sizeof(long_long));
-
-   if ( temp1_llong!=0 && labs((long)(1-temp2_llong/temp1_llong)) > options->percent &&
-    labs((long)(temp1_llong-temp2_llong)) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_llongp,temp1_llong,temp2_llong,labs((long)(temp1_llong-temp2_llong)),
-      labs((long)(1-temp2_llong/temp1_llong)));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(long_long);
-  mem2+=sizeof(long_long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_llong, mem1, sizeof(long_long));
+         memcpy(&temp2_llong, mem2, sizeof(long_long));
+         
+         PER(temp1_llong,temp2_llong);
+         
+         if (not_comparable && !both_zero) /* not comparable */
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LLI_FORMAT_P_NOTCOMP,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+             }
+             options->not_cmp=1;
+             nfound++;
+         }
+         
+         else
+             
+             if ( per > options->percent && ABS(temp1_llong-temp2_llong) > options->delta )
+             {
+                 if ( print_data(options) )
+                 {
+                     print_pos(ph,1,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                     printf(SPACES);
+                     printf(LLI_FORMAT_P,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong),per);
+                 }
+                 nfound++;
+             }
+             mem1+=sizeof(long_long);
+             mem2+=sizeof(long_long);
+             if (options->n && nfound>=options->count)
+                 return nfound;
+     }
+     
  }
  else
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_llong, mem1, sizeof(long_long));
-   memcpy(&temp2_llong, mem2, sizeof(long_long));
-
-   if (temp1_llong != temp2_llong)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_llong,temp1_llong,temp2_llong,labs((long)(temp1_llong-temp2_llong)));
-    }
-    nfound++;
-   }
-
-   mem1+=sizeof(long_long);
-   mem2+=sizeof(long_long);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_llong, mem1, sizeof(long_long));
+         memcpy(&temp2_llong, mem2, sizeof(long_long));
+         
+         if (temp1_llong != temp2_llong)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(LLI_FORMAT,temp1_llong,temp2_llong,ABS(temp1_llong-temp2_llong));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(long_long);
+         mem2+=sizeof(long_long);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
  }
-
+ 
  return nfound;
 }
 
@@ -3443,7 +4445,9 @@
 hsize_t diff_ullong(unsigned char *mem1,
                     unsigned char *mem2,
                     hsize_t       nelmts,
+                    hsize_t       hyper_start,
                     int           rank,
+                    hsize_t       *dims,
                     hsize_t       *acc,
                     hsize_t       *pos,
                     diff_opt_t    *options,
@@ -3456,129 +4460,143 @@
  unsigned long_long  temp1_ullong;
  unsigned long_long  temp2_ullong;
  hsize_t             i;
- static char         fmt_ullong[255];
- static char         fmt_ullongp[255];
-
- if (!fmt_ullong[0]) {
-  /* build default formats for long long types */
-  sprintf(fmt_ullong, "%%%su              %%%su               %%%su\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
-  sprintf(fmt_ullongp, "%%%su             %%%su               %%%su               %%%su\n",
-   H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH, H5_PRINTF_LL_WIDTH);
- }
-
-
+     
  /* -d and !-p */
  if (options->d && !options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
-   memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
-   if (labs((long)(temp1_ullong-temp2_ullong)) > options->delta)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_ullong,temp1_ullong,temp2_ullong,labs((long)(temp1_ullong-temp2_ullong)));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned long_long);
-  mem2+=sizeof(unsigned long_long);
-   if (options->n && nfound>=options->count)
-     return nfound;
-  }
-
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+         memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+         
+         if ( PDIFF(temp1_ullong,temp2_ullong) > (unsigned long_long) options->delta)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(ULLI_FORMAT,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
+             }
+             nfound++;
+         }
+         mem1+=sizeof(unsigned long_long);
+         mem2+=sizeof(unsigned long_long);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     }
+     
  }
-
+ 
  /* !-d and -p */
  else if (!options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
-   memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
-   if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > options->percent )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_ullongp,temp1_ullong,temp2_ullong,labs((long)(temp1_ullong-temp2_ullong)),
-      labs((long)(1-temp2_ullong/temp1_ullong)));
-    }
-    nfound++;
-   }
-    mem1+=sizeof(unsigned long_long);
-  mem2+=sizeof(unsigned long_long);
-   if (options->n && nfound>=options->count)
+     
+     if ( print_data(options) )
+     {
+         NOT_SUPPORTED();
+     }
+     options->not_cmp=1;
      return nfound;
-  }
-
-
+     
+     
  }
-
+ 
  /* -d and -p */
  else if ( options->d && options->p)
  {
-
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
-   memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
-
-   if ( temp1_ullong!=0 && labs((long)(1-temp2_ullong/temp1_ullong)) > options->percent &&
-    labs((long)(temp1_ullong-temp2_ullong)) > options->delta )
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,1,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_ullongp,temp1_ullong,temp2_ullong,labs((long)(temp1_ullong-temp2_ullong)),
-      labs((long)(1-temp2_ullong/temp1_ullong)));
-    }
-    nfound++;
-   }
-   mem1+=sizeof(unsigned long_long);
-  mem2+=sizeof(unsigned long_long);
-   if (options->n && nfound>=options->count)
+     
+     if ( print_data(options) )
+     {
+         NOT_SUPPORTED();
+     }
+     options->not_cmp=1;
      return nfound;
-  }
-
+     
  }
  else
  {
+     
+     for ( i = 0; i < nelmts; i++)
+     {
+         memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
+         memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+         
+         if (temp1_ullong != temp2_ullong)
+         {
+             if ( print_data(options) )
+             {
+                 print_pos(ph,0,hyper_start+i,acc,pos,rank,dims,obj1,obj2);
+                 printf(SPACES);
+                 printf(ULLI_FORMAT,temp1_ullong,temp2_ullong,PDIFF(temp1_ullong,temp2_ullong));
+             }
+             nfound++;
+         }
+         
+         mem1+=sizeof(unsigned long_long);
+         mem2+=sizeof(unsigned long_long);
+         if (options->n && nfound>=options->count)
+             return nfound;
+     } /* nelmts */
+     
+ }
+ 
+ return nfound;
+}
 
-  for ( i = 0; i < nelmts; i++)
-  {
-   memcpy(&temp1_ullong, mem1, sizeof(unsigned long_long));
-   memcpy(&temp2_ullong, mem2, sizeof(unsigned long_long));
+/*-------------------------------------------------------------------------
+ * Function:    equal_float, equal_double
+ *
+ * Purpose:     use a relative error formula to deal with floating point 
+ *              uncertainty 
+ *
+ * Programmer:  pvn
+ *              October 24, 2006
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static 
+hbool_t equal_double(double value, double expected)                               
+{
+    int both_zero;
+    int is_zero;
 
-   if (temp1_ullong != temp2_ullong)
-   {
-    if ( print_data(options) )
-    {
-     print_pos(ph,0,i,acc,pos,rank,obj1,obj2);
-     printf(SPACES);
-     printf(fmt_ullong,temp1_ullong,temp2_ullong,labs((long)(temp1_ullong-temp2_ullong)));
-    }
-    nfound++;
-   }
+    BOTH_ZERO(value,expected)
+    if (both_zero)
+        return TRUE;
 
-   mem1+=sizeof(unsigned long_long);
-   mem2+=sizeof(unsigned long_long);
-    if (options->n && nfound>=options->count)
-     return nfound;
-  } /* nelmts */
+    IS_ZERO(expected)
+    if (is_zero)
+        return(equal_double(expected,value));
 
- }
+    if ( ABS( (value-expected) / expected) < H5DIFF_DBL_EPSILON)
+        return TRUE;
+    else
+        return FALSE;
+    
+}
 
- return nfound;
+
+static 
+hbool_t equal_float(float value, float expected)                               
+{
+    int both_zero;
+    int is_zero;
+
+    BOTH_ZERO(value,expected)
+    if (both_zero)
+        return TRUE;
+
+    IS_ZERO(expected)
+    if (is_zero)
+        return(equal_float(expected,value));
+
+    if ( ABS( (value-expected) / expected) < H5DIFF_FLT_EPSILON)
+        return TRUE;
+    else
+        return FALSE;
+    
 }
 

Modified: packages/hdf5/trunk/tools/lib/h5diff_attr.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5diff_attr.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5diff_attr.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,15 +9,14 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "h5tools.h"
 #include "h5diff.h"
 #include "H5private.h"
 
-
 /*-------------------------------------------------------------------------
  * Function: diff_attr
  *
@@ -26,23 +26,23 @@
  * loc_id = H5Dopen( fid, name);
  * loc_id = H5Topen( fid, name);
  *
- * Return:
- *  0 : no differences found
- *  1 : differences found
+ * Return: number of differences found
  *
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
  * Date: November, 03, 2003
  *
+ * Modifications:
+ *  March, 02, 2007: return the number of differences found
+ *
  *-------------------------------------------------------------------------
  */
 
-int diff_attr(hid_t      loc1_id,
-              hid_t      loc2_id,
-              const char *path1,
-              const char *path2,
-              diff_opt_t *options
-              )
+hsize_t diff_attr(hid_t loc1_id,
+                  hid_t loc2_id,
+                  const char *path1,
+                  const char *path2,
+                  diff_opt_t *options)
 {
  hid_t      attr1_id=-1;     /* attr ID */
  hid_t      attr2_id=-1;     /* attr ID */
@@ -52,20 +52,22 @@
  hid_t      ftype2_id=-1;    /* file data type ID */
  hid_t      mtype1_id=-1;    /* memory data type ID */
  hid_t      mtype2_id=-1;    /* memory data type ID */
- size_t     msize1;       /* memory size of memory type */
- size_t     msize2;       /* memory size of memory type */
- void       *buf1=NULL;   /* data buffer */
- void       *buf2=NULL;   /* data buffer */
- hsize_t    nelmts1;      /* number of elements in dataset */
- int        rank1;        /* rank of dataset */
- int        rank2;        /* rank of dataset */
+ size_t     msize1;          /* memory size of memory type */
+ size_t     msize2;          /* memory size of memory type */
+ void       *buf1=NULL;      /* data buffer */
+ void       *buf2=NULL;      /* data buffer */
+ hsize_t    nelmts1;         /* number of elements in dataset */
+ int        rank1;           /* rank of dataset */
+ int        rank2;           /* rank of dataset */
  hsize_t    dims1[H5S_MAX_RANK];/* dimensions of dataset */
  hsize_t    dims2[H5S_MAX_RANK];/* dimensions of dataset */
- char       name1[255];
- char       name2[255];
+ char       name1[512];
+ char       name2[512];
+ char       np1[512];
+ char       np2[512];
  int        n1, n2, i, j;
- int        ret=0;
- hsize_t    nfound;
+ hsize_t    nfound=0;
+ hsize_t    nfound_total=0;
  int        cmp=1;
 
  if ((n1 = H5Aget_num_attrs(loc1_id))<0)
@@ -78,39 +80,30 @@
 
  for ( i = 0; i < n1; i++)
  {
-
   /* reset buffers for every attribute, we might goto out and call free */
   buf1=NULL;
   buf2=NULL;
 
-/*-------------------------------------------------------------------------
- * open
- *-------------------------------------------------------------------------
- */
   /* open attribute */
   if ((attr1_id = H5Aopen_idx(loc1_id, (unsigned)i))<0)
    goto error;
-  if ((attr2_id = H5Aopen_idx(loc2_id, (unsigned)i))<0)
-   goto error;
-
-  /* get name */
+   /* get name */
   if (H5Aget_name( attr1_id, 255, name1 )<0)
    goto error;
-  if (H5Aget_name( attr2_id, 255, name2 )<0)
-   goto error;
 
-  if (HDstrcmp(name1,name2)!=0)
+  /* use the name on the first file to open the second file */
+  H5E_BEGIN_TRY 
   {
-   if (options->m_verbose)
+   if ((attr2_id = H5Aopen_name(loc2_id, name1))<0)
    {
-    printf("Different name for attributes: <%s> and <%s>\n", name1, name2);
+    goto error;
    }
-   H5Aclose(attr1_id);
-   H5Aclose(attr2_id);
-   ret=1;
-   continue;
-  }
+  } H5E_END_TRY;
 
+  /* get name */
+  if (H5Aget_name( attr2_id, 255, name2 )<0)
+   goto error;
+
   /* get the file datatype  */
   if ((ftype1_id = H5Aget_type( attr1_id )) < 0 )
    goto error;
@@ -129,171 +122,174 @@
   if ( (rank2 = H5Sget_simple_extent_dims(space2_id, dims2, NULL)) < 0 )
    goto error;
 
+ /*-------------------------------------------------------------------------
+  * check for comparable TYPE and SPACE
+  *-------------------------------------------------------------------------
+  */
 
-/*-------------------------------------------------------------------------
- * check for comparable TYPE and SPACE
- *-------------------------------------------------------------------------
- */
+  if (diff_can_type(ftype1_id,
+   ftype2_id,
+   rank1,
+   rank2,
+   dims1,
+   dims2,
+   NULL,
+   NULL,
+   name1,
+   name2,
+   options)!=1)
+  {
+   cmp=0;
+   options->not_cmp=1;
+  }
+ /*-------------------------------------------------------------------------
+  * only attempt to compare if possible
+  *-------------------------------------------------------------------------
+  */
+  if (cmp)
+  {
 
- if (diff_can_type(ftype1_id,
-  ftype2_id,
-  rank1,
-  rank2,
-  dims1,
-  dims2,
-  NULL,
-  NULL,
-  name1,
-  name2,
-  options)!=1)
-	{
-		cmp=0;
-		options->not_cmp=1;
- }
+  /*-------------------------------------------------------------------------
+   * read to memory
+   *-------------------------------------------------------------------------
+   */
+   nelmts1=1;
+   for (j=0; j<rank1; j++)
+    nelmts1*=dims1[j];
 
+   if ((mtype1_id=h5tools_get_native_type(ftype1_id))<0)
+    goto error;
 
-/*-------------------------------------------------------------------------
- * only attempt to compare if possible
- *-------------------------------------------------------------------------
- */
- if (cmp)
- {
-
-/*-------------------------------------------------------------------------
- * read to memory
- *-------------------------------------------------------------------------
- */
- nelmts1=1;
- for (j=0; j<rank1; j++)
-  nelmts1*=dims1[j];
-
- if ((mtype1_id=h5tools_get_native_type(ftype1_id))<0)
+   if ((mtype2_id=h5tools_get_native_type(ftype2_id))<0)
     goto error;
 
- if ((mtype2_id=h5tools_get_native_type(ftype2_id))<0)
+   if ((msize1=H5Tget_size(mtype1_id))==0)
     goto error;
+   if ((msize2=H5Tget_size(mtype2_id))==0)
+    goto error;
 
- if ((msize1=H5Tget_size(mtype1_id))==0)
-  goto error;
- if ((msize2=H5Tget_size(mtype2_id))==0)
-  goto error;
+   assert(msize1==msize2);
 
- assert(msize1==msize2);
+   buf1=(void *) HDmalloc((unsigned)(nelmts1*msize1));
+   buf2=(void *) HDmalloc((unsigned)(nelmts1*msize2));
+   if ( buf1==NULL || buf2==NULL){
+    printf( "cannot read into memory\n" );
+    goto error;
+   }
+   if (H5Aread(attr1_id,mtype1_id,buf1)<0)
+    goto error;
+   if (H5Aread(attr2_id,mtype2_id,buf2)<0)
+    goto error;
 
- buf1=(void *) HDmalloc((unsigned)(nelmts1*msize1));
- buf2=(void *) HDmalloc((unsigned)(nelmts1*msize2));
- if ( buf1==NULL || buf2==NULL){
-  printf( "cannot read into memory\n" );
-  goto error;
- }
- if (H5Aread(attr1_id,mtype1_id,buf1)<0)
-  goto error;
- if (H5Aread(attr2_id,mtype2_id,buf2)<0)
-  goto error;
+   /* format output string */
+   sprintf(np1,"%s of <%s>",name1,path1);
+   sprintf(np2,"%s of <%s>",name2,path2);
 
+  /*-------------------------------------------------------------------------
+   * array compare
+   *-------------------------------------------------------------------------
+   */
 
-/*-------------------------------------------------------------------------
- * array compare
- *-------------------------------------------------------------------------
- */
- sprintf(name1,"%s of <%s>",name1,path1);
- sprintf(name2,"%s of <%s>",name2,path2);
-
- /* always print name */
- if (options->m_verbose)
- {
-  printf( "Attribute:   <%s> and <%s>\n",name1,name2);
-  nfound = diff_array(buf1,
-                     buf2,
-                     nelmts1,
-                     rank1,
-                     dims1,
-                     options,
-                     name1,
-                     name2,
-                     mtype1_id,
-                     attr1_id,
-                     attr2_id);
-  print_found(nfound);
-
- }
- /* check first if we have differences */
- else
- {
-  if (options->m_quiet==0)
-  {
-   /* shut up temporarily */
-   options->m_quiet=1;
-   nfound = diff_array(buf1,
-                     buf2,
-                     nelmts1,
-                     rank1,
-                     dims1,
-                     options,
-                     name1,
-                     name2,
-                     mtype1_id,
-                     attr1_id,
-                     attr2_id);
-   /* print again */
-   options->m_quiet=0;
-   if (nfound)
+   /* always print name */
+   if (options->m_verbose)
    {
-    printf( "Attribute:   <%s> and <%s>\n",name1,name2);
+    do_print_objname ("attribute", np1, np2);
     nfound = diff_array(buf1,
-                     buf2,
-                     nelmts1,
-                     rank1,
-                     dims1,
-                     options,
-                     name1,
-                     name2,
-                     mtype1_id,
-                     attr1_id,
-                     attr2_id);
+     buf2,
+     nelmts1,
+     (hsize_t)0,
+     rank1,
+     dims1,
+     options,
+     np1,
+     np2,
+     mtype1_id,
+     attr1_id,
+     attr2_id);
     print_found(nfound);
-   } /*if*/
-  } /*if*/
-  /* in quiet mode, just count differences */
-  else
-  {
-   nfound = diff_array(buf1,
-                     buf2,
-                     nelmts1,
-                     rank1,
-                     dims1,
-                     options,
-                     name1,
-                     name2,
-                     mtype1_id,
-                     attr1_id,
-                     attr2_id);
-  } /*else quiet */
- } /*else verbose */
+
+   }
+   /* check first if we have differences */
+   else
+   {
+    if (options->m_quiet==0)
+    {
+     /* shut up temporarily */
+     options->m_quiet=1;
+     nfound = diff_array(buf1,
+      buf2,
+      nelmts1,
+      (hsize_t)0,
+      rank1,
+      dims1,
+      options,
+      np1,
+      np2,
+      mtype1_id,
+      attr1_id,
+      attr2_id);
+     /* print again */
+     options->m_quiet=0;
+     if (nfound)
+     {
+      do_print_objname ("attribute", np1, np2);
+      nfound = diff_array(buf1,
+       buf2,
+       nelmts1,
+       (hsize_t)0,
+       rank1,
+       dims1,
+       options,
+       np1,
+       np2,
+       mtype1_id,
+       attr1_id,
+       attr2_id);
+      print_found(nfound);
+     } /*if*/
+    } /*if*/
+    /* in quiet mode, just count differences */
+    else
+    {
+     nfound = diff_array(buf1,
+      buf2,
+      nelmts1,
+      (hsize_t)0,
+      rank1,
+      dims1,
+      options,
+      np1,
+      np2,
+      mtype1_id,
+      attr1_id,
+      attr2_id);
+    } /*else quiet */
+   } /*else verbose */
  }/*cmp*/
 
 
+ /*-------------------------------------------------------------------------
+  * close
+  *-------------------------------------------------------------------------
+  */
 
-/*-------------------------------------------------------------------------
- * close
- *-------------------------------------------------------------------------
- */
+  if (H5Tclose(ftype1_id)<0) goto error;
+  if (H5Tclose(ftype2_id)<0) goto error;
+  if (H5Tclose(mtype1_id)<0) goto error;
+  if (H5Tclose(mtype2_id)<0) goto error;
+  if (H5Sclose(space1_id)<0) goto error;
+  if (H5Sclose(space2_id)<0) goto error;
+  if (H5Aclose(attr1_id)<0) goto error;
+  if (H5Aclose(attr2_id)<0) goto error;
+  if (buf1)
+   HDfree(buf1);
+  if (buf2)
+   HDfree(buf2);
 
- if (H5Tclose(ftype1_id)<0) goto error;
- if (H5Tclose(ftype2_id)<0) goto error;
- if (H5Tclose(mtype1_id)<0) goto error;
- if (H5Tclose(mtype2_id)<0) goto error;
- if (H5Sclose(space1_id)<0) goto error;
- if (H5Sclose(space2_id)<0) goto error;
- if (H5Aclose(attr1_id)<0) goto error;
- if (H5Aclose(attr2_id)<0) goto error;
- if (buf1)
-  HDfree(buf1);
- if (buf2)
-  HDfree(buf2);
+  nfound_total += nfound;
  } /* i */
 
- return ret;
+ return nfound_total;
 
 error:
  H5E_BEGIN_TRY {
@@ -312,7 +308,7 @@
  } H5E_END_TRY;
 
  options->err_stat=1;
- return 0;
+ return nfound_total;
 }
 
 

Modified: packages/hdf5/trunk/tools/lib/h5diff_dset.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5diff_dset.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5diff_dset.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,14 +9,15 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "h5diff.h"
 #include "H5private.h"
 #include "h5tools.h"
 
+
 /*-------------------------------------------------------------------------
  * Function: diff_dataset
  *
@@ -34,12 +36,12 @@
                       hid_t file2_id,
                       const char *obj1_name,
                       const char *obj2_name,
-                      diff_opt_t *options )
+                      diff_opt_t *options)
 {
- hid_t   dset1_id=-1;
- hid_t   dset2_id=-1;
- hid_t   dcpl1_id=-1;
- hid_t   dcpl2_id=-1;
+ hid_t   did1=-1;
+ hid_t   did2=-1;
+ hid_t   dcpl1=-1;
+ hid_t   dcpl2=-1;
  hsize_t nfound=0;
 
 /*-------------------------------------------------------------------------
@@ -49,12 +51,12 @@
  /* disable error reporting */
  H5E_BEGIN_TRY {
  /* Open the datasets */
- if ( (dset1_id = H5Dopen(file1_id,obj1_name)) < 0 )
+ if ( (did1 = H5Dopen(file1_id,obj1_name)) < 0 )
  {
   printf("Cannot open dataset <%s>\n", obj1_name );
   goto error;
  }
- if ( (dset2_id = H5Dopen(file2_id,obj2_name)) < 0 )
+ if ( (did2 = H5Dopen(file2_id,obj2_name)) < 0 )
  {
   printf("Cannot open dataset <%s>\n", obj2_name );
   goto error;
@@ -63,9 +65,9 @@
  } H5E_END_TRY;
 
 
- if ((dcpl1_id=H5Dget_create_plist(dset1_id))<0)
+ if ((dcpl1=H5Dget_create_plist(did1))<0)
   goto error;
- if ((dcpl2_id=H5Dget_create_plist(dset2_id))<0)
+ if ((dcpl2=H5Dget_create_plist(did2))<0)
   goto error;
 
 /*-------------------------------------------------------------------------
@@ -75,14 +77,14 @@
  * 2) the internal filters might be turned off
  *-------------------------------------------------------------------------
  */
- if ((h5tools_canreadf((options->m_verbose?obj1_name:NULL),dcpl1_id)==1) &&
-     (h5tools_canreadf((options->m_verbose?obj2_name:NULL),dcpl2_id)==1))
+ if ((h5tools_canreadf((options->m_verbose?obj1_name:NULL),dcpl1)==1) &&
+     (h5tools_canreadf((options->m_verbose?obj2_name:NULL),dcpl2)==1))
  {
-  nfound=diff_datasetid(dset1_id,
-                       dset2_id,
-                       obj1_name,
-                       obj2_name,
-                       options);
+  nfound=diff_datasetid(did1,
+                        did2,
+                        obj1_name,
+                        obj2_name,
+                        options);
  }
 /*-------------------------------------------------------------------------
  * close
@@ -90,10 +92,10 @@
  */
  /* disable error reporting */
  H5E_BEGIN_TRY {
-  H5Pclose(dcpl1_id);
-  H5Pclose(dcpl2_id);
-  H5Dclose(dset1_id);
-  H5Dclose(dset2_id);
+  H5Pclose(dcpl1);
+  H5Pclose(dcpl2);
+  H5Dclose(did1);
+  H5Dclose(did2);
    /* enable error reporting */
  } H5E_END_TRY;
 
@@ -103,20 +105,16 @@
  options->err_stat=1;
  /* disable error reporting */
  H5E_BEGIN_TRY {
-  H5Pclose(dcpl1_id);
-  H5Pclose(dcpl2_id);
-  H5Dclose(dset1_id);
-  H5Dclose(dset2_id);
+  H5Pclose(dcpl1);
+  H5Pclose(dcpl2);
+  H5Dclose(did1);
+  H5Dclose(did2);
    /* enable error reporting */
  } H5E_END_TRY;
 
  return nfound;
-
 }
 
-
-
-
 /*-------------------------------------------------------------------------
  * Function: diff_datasetid
  *
@@ -129,57 +127,110 @@
  *
  * Date: May 9, 2003
  *
+ * Modifications: 
+ *
+ * October 2006:  Read by hyperslabs for big datasets.
+ *
+ *  A threshold of H5TOOLS_MALLOCSIZE (128 MB) is the limit upon which I/O hyperslab is done
+ *  i.e., if the memory needed to read a dataset is greater than this limit, 
+ *  then hyperslab I/O is done instead of one operation I/O 
+ *  For each dataset, the memory needed is calculated according to
+ *
+ *  memory needed = number of elements * size of each element
+ *
+ *  if the memory needed is lower than H5TOOLS_MALLOCSIZE, then the following operations 
+ *  are done
+ *
+ *  H5Dread( input_dataset1 )
+ *  H5Dread( input_dataset2 )
+ *
+ *  with all elements in the datasets selected. If the memory needed is greater than 
+ *  H5TOOLS_MALLOCSIZE, then the following operations are done instead:
+ *
+ *  a strip mine is defined for each dimension k (a strip mine is defined as a 
+ *  hyperslab whose size is memory manageable) according to the formula
+ *
+ *  (1) strip_mine_size[k ] = MIN(dimension[k ], H5TOOLS_BUFSIZE / size of memory type)
+ *
+ *  where H5TOOLS_BUFSIZE is a constant currently defined as 1MB. This formula assures 
+ *  that for small datasets (small relative to the H5TOOLS_BUFSIZE constant), the strip 
+ *  mine size k is simply defined as its dimension k, but for larger datasets the 
+ *  hyperslab size is still memory manageable.
+ *  a cycle is done until the number of elements in the dataset is reached. In each 
+ *  iteration, two parameters are defined for the function H5Sselect_hyperslab, 
+ *  the start and size of each hyperslab, according to
+ *
+ *  (2) hyperslab_size [k] = MIN(dimension[k] - hyperslab_offset[k], strip_mine_size [k])
+ *
+ *  where hyperslab_offset [k] is initially set to zero, and later incremented in 
+ *  hyperslab_size[k] offsets. The reason for the operation 
+ *
+ *  dimension[k] - hyperslab_offset[k]
+ *
+ *  in (2) is that, when using the strip mine size, it assures that the "remaining" part 
+ *  of the dataset that does not fill an entire strip mine is processed.
+ *
  *-------------------------------------------------------------------------
  */
-hsize_t diff_datasetid( hid_t dset1_id,
-                        hid_t dset2_id,
+hsize_t diff_datasetid( hid_t did1,
+                        hid_t did2,
                         const char *obj1_name,
                         const char *obj2_name,
-                        diff_opt_t *options )
+                        diff_opt_t *options)
 {
- hid_t        space1_id =-1;
- hid_t        space2_id =-1;
- hid_t        f_type1=-1, f_type2=-1; /* file data type */
- hid_t        m_type1=-1, m_type2=-1; /* memory data type */
- size_t       m_size1, m_size2;       /* size of type in memory */
- H5T_sign_t   sign1, sign2;           /* sign of type */
- int          rank1, rank2;
- void         *buf1=NULL, *buf2=NULL;
- hsize_t      nelmts1, nelmts2;
- hsize_t      dims1[H5S_MAX_RANK];
- hsize_t      dims2[H5S_MAX_RANK];
- hsize_t      maxdim1[H5S_MAX_RANK];
- hsize_t      maxdim2[H5S_MAX_RANK];
- const char   *name1=NULL;            /* relative names */
- const char   *name2=NULL;
- hsize_t      storage_size1;
- hsize_t      storage_size2;
- hsize_t      nfound=0;               /* number of differences found */
- int          cmp=1;                  /* do diff or not */
- int          i;
+ hid_t      sid1=-1;
+ hid_t      sid2=-1;
+ hid_t      f_tid1=-1;
+ hid_t      f_tid2=-1;                
+ hid_t      m_tid1=-1;
+ hid_t      m_tid2=-1;                
+ size_t     m_size1;
+ size_t     m_size2;               
+ H5T_sign_t sign1;
+ H5T_sign_t sign2;                 
+ int        rank1;
+ int        rank2;
+ hsize_t    nelmts1;
+ hsize_t    nelmts2;
+ hsize_t    dims1[H5S_MAX_RANK];
+ hsize_t    dims2[H5S_MAX_RANK];
+ hsize_t    maxdim1[H5S_MAX_RANK];
+ hsize_t    maxdim2[H5S_MAX_RANK];
+ const char *name1=NULL;            /* relative names */
+ const char *name2=NULL;
+ hsize_t    storage_size1;
+ hsize_t    storage_size2;
+ hsize_t    nfound=0;               /* number of differences found */
+ int        cmp=1;                  /* do diff or not */
+ void       *buf1=NULL;                  
+ void       *buf2=NULL; 
+ void       *sm_buf1=NULL;                
+ void       *sm_buf2=NULL;
+ size_t     need;                   /* bytes needed for malloc */
+ int        i;
 
   /* Get the dataspace handle */
- if ( (space1_id = H5Dget_space(dset1_id)) < 0 )
+ if ( (sid1 = H5Dget_space(did1)) < 0 )
   goto error;
 
  /* Get rank */
- if ( (rank1 = H5Sget_simple_extent_ndims(space1_id)) < 0 )
+ if ( (rank1 = H5Sget_simple_extent_ndims(sid1)) < 0 )
   goto error;
 
  /* Get the dataspace handle */
- if ( (space2_id = H5Dget_space(dset2_id)) < 0 )
+ if ( (sid2 = H5Dget_space(did2)) < 0 )
   goto error;
 
  /* Get rank */
- if ( (rank2 = H5Sget_simple_extent_ndims(space2_id)) < 0 )
+ if ( (rank2 = H5Sget_simple_extent_ndims(sid2)) < 0 )
   goto error;
 
  /* Get dimensions */
- if ( H5Sget_simple_extent_dims(space1_id,dims1,maxdim1) < 0 )
+ if ( H5Sget_simple_extent_dims(sid1,dims1,maxdim1) < 0 )
   goto error;
 
  /* Get dimensions */
- if ( H5Sget_simple_extent_dims(space2_id,dims2,maxdim2) < 0 )
+ if ( H5Sget_simple_extent_dims(sid2,dims2,maxdim2) < 0 )
   goto error;
 
 /*-------------------------------------------------------------------------
@@ -188,120 +239,108 @@
  */
 
  /* Get the data type */
- if ( (f_type1 = H5Dget_type(dset1_id)) < 0 )
+ if ( (f_tid1 = H5Dget_type(did1)) < 0 )
   goto error;
 
  /* Get the data type */
- if ( (f_type2 = H5Dget_type(dset2_id)) < 0 )
+ if ( (f_tid2 = H5Dget_type(did2)) < 0 )
   goto error;
 
-
 /*-------------------------------------------------------------------------
  * check for empty datasets
  *-------------------------------------------------------------------------
  */
 
- storage_size1=H5Dget_storage_size(dset1_id);
- storage_size2=H5Dget_storage_size(dset2_id);
- if (storage_size1<=0 && storage_size2<=0)
+ storage_size1=H5Dget_storage_size(did1);
+ storage_size2=H5Dget_storage_size(did2);
+ if (storage_size1<0 || storage_size2<0)
+  goto error;
+
+ if (storage_size1==0 || storage_size2==0)
  {
   if (options->m_verbose && obj1_name && obj2_name)
-   printf("<%s> and <%s> are empty datasets\n", obj1_name, obj2_name);
+   printf("<%s> or <%s> are empty datasets\n", obj1_name, obj2_name);
   cmp=0;
-		options->not_cmp=1;
+  options->not_cmp=1;
  }
 
-
 /*-------------------------------------------------------------------------
  * check for comparable TYPE and SPACE
  *-------------------------------------------------------------------------
  */
 
- if (diff_can_type(f_type1,
-  f_type2,
-  rank1,
-  rank2,
-  dims1,
-  dims2,
-  maxdim1,
-  maxdim2,
-  obj1_name,
-  obj2_name,
-  options)!=1)
-	{
+ if (diff_can_type(f_tid1,
+                   f_tid2,
+                   rank1,
+                   rank2,
+                   dims1,
+                   dims2,
+                   maxdim1,
+                   maxdim2,
+                   obj1_name,
+                   obj2_name,
+                   options)!=1)
+ {
   cmp=0;
   options->not_cmp=1;
  }
 
 /*-------------------------------------------------------------------------
- * get number of elements
+ * memory type and sizes
  *-------------------------------------------------------------------------
  */
- nelmts1 = 1;
- for (i = 0; i < rank1; i++)
- {
-  nelmts1 *= dims1[i];
- }
+ if ((m_tid1=h5tools_get_native_type(f_tid1))<0)
+  goto error;
 
- nelmts2 = 1;
- for (i = 0; i < rank2; i++)
- {
-  nelmts2 *= dims2[i];
- }
+ if ((m_tid2=h5tools_get_native_type(f_tid2))<0)
+  goto error;
 
- assert(nelmts1==nelmts2);
+ m_size1 = H5Tget_size( m_tid1 );
+ m_size2 = H5Tget_size( m_tid2 );
 
 /*-------------------------------------------------------------------------
- * check for equal file datatype; warning only
+ * check for different signed/unsigned types
  *-------------------------------------------------------------------------
  */
 
- if ( (H5Tequal(f_type1, f_type2)==0) && options->m_verbose && obj1_name)
+ sign1=H5Tget_sign(m_tid1);
+ sign2=H5Tget_sign(m_tid2);
+ if ( sign1 != sign2 )
  {
-  printf("Warning: Different storage datatype\n");
-  printf("<%s> has file datatype ", obj1_name);
-  print_type(f_type1);
-  printf("\n");
-  printf("<%s> has file datatype ", obj2_name);
-  print_type(f_type2);
-  printf("\n");
+  if (options->m_verbose && obj1_name) {
+   printf("Comparison not supported: <%s> has sign %s ", obj1_name, get_sign(sign1));
+   printf("and <%s> has sign %s\n", obj2_name, get_sign(sign2));
+  }
+
+  cmp=0;
+  options->not_cmp=1;
  }
 
 /*-------------------------------------------------------------------------
- * memory type and sizes
+ * only attempt to compare if possible
  *-------------------------------------------------------------------------
  */
- if ((m_type1=h5tools_get_native_type(f_type1))<0)
-    goto error;
+ if (cmp)
+ {
 
- if ((m_type2=h5tools_get_native_type(f_type2))<0)
-    goto error;
-
- m_size1 = H5Tget_size( m_type1 );
- m_size2 = H5Tget_size( m_type2 );
-
-#if defined (H5DIFF_DEBUG)
- if (obj1_name)
-  print_sizes(obj1_name,obj2_name,f_type1,f_type2,m_type1,m_type2);
-#endif
-
 /*-------------------------------------------------------------------------
- * check for different signed/unsigned types
+ * get number of elements
  *-------------------------------------------------------------------------
  */
+ nelmts1 = 1;
+ for (i = 0; i < rank1; i++)
+ {
+  nelmts1 *= dims1[i];
+ }
 
- sign1=H5Tget_sign(m_type1);
- sign2=H5Tget_sign(m_type2);
- if ( sign1 != sign2 )
+ nelmts2 = 1;
+ for (i = 0; i < rank2; i++)
  {
-  if (options->m_verbose && obj1_name) {
-   printf("Comparison not supported: <%s> has sign %s ", obj1_name, get_sign(sign1));
-   printf("and <%s> has sign %s\n", obj2_name, get_sign(sign2));
-  }
-  cmp=0;
-		options->not_cmp=1;
+  nelmts2 *= dims2[i];
  }
 
+ assert(nelmts1==nelmts2);
+
 /*-------------------------------------------------------------------------
  * "upgrade" the smaller memory size
  *-------------------------------------------------------------------------
@@ -311,124 +350,275 @@
  {
   if ( m_size1 < m_size2 )
   {
-   H5Tclose(m_type1);
+   H5Tclose(m_tid1);
 
-   if ((m_type1=h5tools_get_native_type(f_type2))<0)
-        goto error;
+   if ((m_tid1=h5tools_get_native_type(f_tid2))<0)
+    goto error;
 
-   m_size1 = H5Tget_size( m_type1 );
+   m_size1 = H5Tget_size( m_tid1 );
   }
   else
   {
-   H5Tclose(m_type2);
+   H5Tclose(m_tid2);
 
-   if ((m_type2=h5tools_get_native_type(f_type1))<0)
-        goto error;
+   if ((m_tid2=h5tools_get_native_type(f_tid1))<0)
+    goto error;
 
-   m_size2 = H5Tget_size( m_type2 );
+   m_size2 = H5Tget_size( m_tid2 );
   }
-#if defined (H5DIFF_DEBUG)
-  printf("WARNING: Size was upgraded\n");
-  if (obj1_name)
-  print_sizes(obj1_name,obj2_name,f_type1,f_type2,m_type1,m_type2);
-#endif
  }
  assert(m_size1==m_size2);
 
+ /* print names */
+ if (obj1_name) {
+  name1=diff_basename(obj1_name);
+ }
+ if (obj2_name) {
+  name2=diff_basename(obj2_name);
+ }
+
+ 
 /*-------------------------------------------------------------------------
- * only attempt to compare if possible
+ * read/compare
  *-------------------------------------------------------------------------
  */
- if (cmp)
+
+ need = (size_t)(nelmts1*m_size1);  /* bytes needed */
+ if ( need < H5TOOLS_MALLOCSIZE)
  {
+  buf1 = HDmalloc(need);
+  buf2 = HDmalloc(need);
+ }
 
- buf1 = (void *) HDmalloc((unsigned) (nelmts1*m_size1));
- buf2 = (void *) HDmalloc((unsigned) (nelmts2*m_size2));
+ if ( buf1!=NULL && buf2!=NULL)
+ {
+  if ( H5Dread(did1,m_tid1,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf1) < 0 )
+   goto error;
+  if ( H5Dread(did2,m_tid2,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf2) < 0 )
+   goto error;
 
- if ( buf1 == NULL || buf2 == NULL )
+  /* array diff */
+  nfound = diff_array(buf1,
+                      buf2,
+                      nelmts1,
+                      (hsize_t)0,
+                      rank1,
+                      dims1,
+                      options,
+                      name1,
+                      name2,
+                      m_tid1,
+                      did1,
+                      did2);
+ }
+ 
+ else /* possibly not enough memory, read/compare by hyperslabs */
+  
  {
-  printf( "cannot read into memory\n" );
-  goto error;
- }
+  size_t        p_type_nbytes = m_size1; /*size of memory type */
+  hsize_t       p_nelmts = nelmts1;      /*total selected elmts */
+  hsize_t       elmtno;                  /*counter  */
+  int           carry;                   /*counter carry value */
+  unsigned int  vl_data = 0;             /*contains VL datatypes */
+  
+  /* stripmine info */
+  hsize_t       sm_size[H5S_MAX_RANK];   /*stripmine size */
+  hsize_t       sm_nbytes;               /*bytes per stripmine */
+  hsize_t       sm_nelmts;               /*elements per stripmine*/
+  hid_t         sm_space;                /*stripmine data space */
+  
+  /* hyperslab info */
+  hsize_t       hs_offset[H5S_MAX_RANK]; /*starting offset */
+  hsize_t       hs_size[H5S_MAX_RANK];   /*size this pass */
+  hsize_t       hs_nelmts;               /*elements in request */
+  hsize_t       zero[8];                 /*vector of zeros */
+  
+  /* check if we have VL data in the dataset's datatype */
+  if (H5Tdetect_class(m_tid1, H5T_VLEN) == TRUE)
+   vl_data = TRUE;
+  
+  /*
+   * 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 (i = rank1; i > 0; --i) {
+   sm_size[i - 1] = MIN(dims1[i - 1], H5TOOLS_BUFSIZE / sm_nbytes);
+   sm_nbytes *= sm_size[i - 1];
+   assert(sm_nbytes > 0);
+  }
+  
+  sm_buf1 = malloc((size_t)sm_nbytes);
+  sm_buf2 = malloc((size_t)sm_nbytes);
+  
+  sm_nelmts = sm_nbytes / p_type_nbytes;
+  sm_space = H5Screate_simple(1, &sm_nelmts, NULL);
+  
+  /* the stripmine loop */
+  memset(hs_offset, 0, sizeof hs_offset);
+  memset(zero, 0, sizeof zero);
 
-/*-------------------------------------------------------------------------
- * read
- *-------------------------------------------------------------------------
- */
+  for (elmtno = 0; elmtno < p_nelmts; elmtno += hs_nelmts) 
+  {
+   /* calculate the hyperslab size */
+   if (rank1 > 0) 
+   {
+    for (i = 0, hs_nelmts = 1; i < rank1; i++) 
+    {
+     hs_size[i] = MIN(dims1[i] - hs_offset[i], sm_size[i]);
+     hs_nelmts *= hs_size[i];
+    }
+    if (H5Sselect_hyperslab(sid1, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL)<0)
+     goto error;
+    if (H5Sselect_hyperslab(sid2, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL)<0)
+     goto error;
+    if (H5Sselect_hyperslab(sm_space, H5S_SELECT_SET, zero, NULL, &hs_nelmts, NULL)<0)
+     goto error;
+   } 
+   else 
+   {
+    H5Sselect_all(sid1);
+    H5Sselect_all(sid2);
+    H5Sselect_all(sm_space);
+    hs_nelmts = 1;
+   } /* rank */
 
- if ( H5Dread(dset1_id,m_type1,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf1) < 0 )
-  goto error;
+   if ( H5Dread(did1,m_tid1,sm_space,sid1,H5P_DEFAULT,sm_buf1) < 0 )
+    goto error;
+   if ( H5Dread(did2,m_tid2,sm_space,sid2,H5P_DEFAULT,sm_buf2) < 0 )
+    goto error;
+   
+   /* get array differences. in the case of hyperslab read, increment the number of differences 
+      found in each hyperslab and pass the position at the beggining for printing */
+   nfound += diff_array(sm_buf1,
+                        sm_buf2,
+                        hs_nelmts,
+                        elmtno,
+                        rank1,
+                        dims1,
+                        options,
+                        name1,
+                        name2,
+                        m_tid1,
+                        did1,
+                        did2);
 
- if ( H5Dread(dset2_id,m_type2,H5S_ALL,H5S_ALL,H5P_DEFAULT,buf2) < 0 )
-  goto error;
+   /* reclaim any VL memory, if necessary */
+   if(vl_data)
+   {
+    H5Dvlen_reclaim(m_tid1, sm_space, H5P_DEFAULT, sm_buf1);
+    H5Dvlen_reclaim(m_tid1, sm_space, H5P_DEFAULT, sm_buf2);
+   }
+   
+   /* calculate the next hyperslab offset */
+   for (i = rank1, carry = 1; i > 0 && carry; --i) 
+   {
+    hs_offset[i - 1] += hs_size[i - 1];
+    if (hs_offset[i - 1] == dims1[i - 1])
+     hs_offset[i - 1] = 0;
+    else
+     carry = 0;
+   } /* i */
+  } /* elmtno */
+  
+  H5Sclose(sm_space);
+  /* free */
+  if (sm_buf1!=NULL)
+  {
+   free(sm_buf1);
+   sm_buf1=NULL;
+  }
+  if (sm_buf2!=NULL)
+  {
+   free(sm_buf2);
+   sm_buf2=NULL;
+  }
+  
+ } /* hyperslab read */
 
-/*-------------------------------------------------------------------------
- * array compare
- *-------------------------------------------------------------------------
- */
+ }/*cmp*/
 
- if (obj1_name!=NULL)
-  name1=diff_basename(obj1_name);
- if (obj2_name!=NULL)
-  name2=diff_basename(obj2_name);
-
- nfound = diff_array(buf1,
-                     buf2,
-                     nelmts1,
-                     rank1,
-                     dims1,
-                     options,
-                     name1,
-                     name2,
-                     m_type1,
-                     dset1_id,
-                     dset2_id);
 /*-------------------------------------------------------------------------
  * compare attributes
  * the if condition refers to cases when the dataset is a referenced object
  *-------------------------------------------------------------------------
  */
 
- if (obj1_name!=NULL)
-  diff_attr(dset1_id,dset2_id,obj1_name,obj2_name,options);
+ if (obj1_name)
+  nfound += diff_attr(did1,did2,obj1_name,obj2_name,options);
 
- }/*cmp*/
-
 /*-------------------------------------------------------------------------
  * close
  *-------------------------------------------------------------------------
  */
+ 
+ /* free */
+ if (buf1!=NULL)
+ {
+  free(buf1);
+  buf1=NULL;
+ }
+ if (buf2!=NULL)
+ {
+  free(buf2);
+  buf2=NULL;
+ }
+ if (sm_buf1!=NULL)
+ {
+  free(sm_buf1);
+  sm_buf1=NULL;
+ }
+ if (sm_buf2!=NULL)
+ {
+  free(sm_buf2);
+  sm_buf2=NULL;
+ }
 
-
- if ( buf1) HDfree(buf1);
- if ( buf2) HDfree(buf2);
- /* close */
- /* disable error reporting */
  H5E_BEGIN_TRY {
-  H5Sclose(space1_id);
-  H5Sclose(space2_id);
-  H5Tclose(f_type1);
-  H5Tclose(f_type2);
-  H5Tclose(m_type1);
-  H5Tclose(m_type2);
-   /* enable error reporting */
+  H5Sclose(sid1);
+  H5Sclose(sid2);
+  H5Tclose(f_tid1);
+  H5Tclose(f_tid2);
+  H5Tclose(m_tid1);
+  H5Tclose(m_tid2);
  } H5E_END_TRY;
 
  return nfound;
 
 error:
  options->err_stat=1;
- if ( buf1) HDfree(buf1);
- if ( buf2) HDfree(buf2);
- /* close */
+ 
+ /* free */
+ if (buf1!=NULL)
+ {
+  free(buf1);
+  buf1=NULL;
+ }
+ if (buf2!=NULL)
+ {
+  free(buf2);
+  buf2=NULL;
+ }
+ if (sm_buf1!=NULL)
+ {
+  free(sm_buf1);
+  sm_buf1=NULL;
+ }
+ if (sm_buf2!=NULL)
+ {
+  free(sm_buf2);
+  sm_buf2=NULL;
+ }
+
  /* disable error reporting */
  H5E_BEGIN_TRY {
-  H5Sclose(space1_id);
-  H5Sclose(space2_id);
-  H5Tclose(f_type1);
-  H5Tclose(f_type2);
-  H5Tclose(m_type1);
-  H5Tclose(m_type2);
+  H5Sclose(sid1);
+  H5Sclose(sid2);
+  H5Tclose(f_tid1);
+  H5Tclose(f_tid2);
+  H5Tclose(m_tid1);
+  H5Tclose(m_tid2);
    /* enable error reporting */
  } H5E_END_TRY;
 
@@ -452,8 +642,8 @@
  *-------------------------------------------------------------------------
  */
 
-int diff_can_type( hid_t       f_type1, /* file data type */
-                   hid_t       f_type2, /* file data type */
+int diff_can_type( hid_t       f_tid1, /* file data type */
+                   hid_t       f_tid2, /* file data type */
                    int         rank1,
                    int         rank2,
                    hsize_t     *dims1,
@@ -477,10 +667,10 @@
  *-------------------------------------------------------------------------
  */
 
- if ((tclass1=H5Tget_class(f_type1))<0)
+ if ((tclass1=H5Tget_class(f_tid1))<0)
   return -1;
 
- if ((tclass2=H5Tget_class(f_type2))<0)
+ if ((tclass2=H5Tget_class(f_tid2))<0)
   return -1;
 
  if ( tclass1 != tclass2 )
@@ -526,14 +716,14 @@
  *-------------------------------------------------------------------------
  */
 
- if ( (H5Tequal(f_type1, f_type2)==0) && options->m_verbose && obj1_name)
+ if ( (H5Tequal(f_tid1, f_tid2)==0) && options->m_verbose && obj1_name)
  {
-  printf("Warning: Different storage datatype\n");
+  printf("Warning: different storage datatype\n");
   printf("<%s> has file datatype ", obj1_name);
-  print_type(f_type1);
+  print_type(f_tid1);
   printf("\n");
   printf("<%s> has file datatype ", obj2_name);
-  print_type(f_type2);
+  print_type(f_tid2);
   printf("\n");
  }
 
@@ -546,14 +736,14 @@
  {
   if (options->m_verbose && obj1_name) {
    printf("Comparison not supported: <%s> has rank %d, dimensions ", obj1_name, rank1);
-   print_dims(rank1,dims1);
+   print_dimensions(rank1,dims1);
    printf(", max dimensions ");
-   print_dims(rank1,maxdim1);
+   print_dimensions(rank1,maxdim1);
    printf("\n" );
    printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
-   print_dims(rank2,dims2);
+   print_dimensions(rank2,dims2);
    printf(", max dimensions ");
-   print_dims(rank2,maxdim2);
+   print_dimensions(rank2,maxdim2);
   }
   return 0;
  }
@@ -584,15 +774,15 @@
  {
   if (options->m_verbose && obj1_name) {
    printf("Comparison not supported: <%s> has rank %d, dimensions ", obj1_name, rank1);
-   print_dims(rank1,dims1);
+   print_dimensions(rank1,dims1);
    if (maxdim1 && maxdim2) {
     printf(", max dimensions ");
-    print_dims(rank1,maxdim1);
+    print_dimensions(rank1,maxdim1);
     printf("\n" );
     printf("<%s> has rank %d, dimensions ", obj2_name, rank2);
-    print_dims(rank2,dims2);
+    print_dimensions(rank2,dims2);
     printf(", max dimensions ");
-    print_dims(rank2,maxdim2);
+    print_dimensions(rank2,maxdim2);
    }
   }
   return 0;
@@ -605,15 +795,69 @@
  if (maxdim1 && maxdim2 && maxdim_diff==1 && obj1_name )
  {
   if (options->m_verbose) {
-   printf( "Warning: Different maximum dimensions\n");
+   printf( "Warning: different maximum dimensions\n");
    printf("<%s> has max dimensions ", obj1_name);
-   print_dims(rank1,maxdim1);
+   print_dimensions(rank1,maxdim1);
    printf("\n");
    printf("<%s> has max dimensions ", obj2_name);
-   print_dims(rank2,maxdim2);
+   print_dimensions(rank2,maxdim2);
    printf("\n");
   }
  }
 
  return 1;
 }
+
+/*-------------------------------------------------------------------------
+ * Function: print_sizes
+ *
+ * Purpose: Print datatype sizes
+ *
+ *-------------------------------------------------------------------------
+ */
+#if defined (H5DIFF_DEBUG)
+void print_sizes( const char *obj1,
+                  const char *obj2,
+                  hid_t f_tid1,
+                  hid_t f_tid2,
+                  hid_t m_tid1,
+                  hid_t m_tid2 )
+{
+ size_t  f_size1, f_size2;       /* size of type in file */
+ size_t  m_size1, m_size2;       /* size of type in memory */
+
+ f_size1 = H5Tget_size( f_tid1 );
+ f_size2 = H5Tget_size( f_tid2 );
+ m_size1 = H5Tget_size( m_tid1 );
+ m_size2 = H5Tget_size( m_tid2 );
+
+ printf("\n");
+ printf("------------------\n");
+ printf("sizeof(char)   %u\n", sizeof(char) );
+ printf("sizeof(short)  %u\n", sizeof(short) );
+ printf("sizeof(int)    %u\n", sizeof(int) );
+ printf("sizeof(long)   %u\n", sizeof(long) );
+ printf("<%s> ------------------\n", obj1);
+ printf("type on file   ");
+ print_type(f_tid1);
+ printf("\n");
+ printf("size on file   %u\n", f_size1 );
+
+ printf("type on memory ");
+ print_type(m_tid1);
+ printf("\n");
+ printf("size on memory %u\n", m_size1 );
+
+ printf("<%s> ------------------\n", obj2);
+ printf("type on file   ");
+ print_type(f_tid2);
+ printf("\n");
+ printf("size on file   %u\n", f_size2 );
+
+ printf("type on memory ");
+ print_type(m_tid2);
+ printf("\n");
+ printf("size on memory %u\n", m_size2 );
+ printf("\n");
+}
+#endif /* H5DIFF_DEBUG */

Modified: packages/hdf5/trunk/tools/lib/h5diff_util.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5diff_util.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5diff_util.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,99 +9,37 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "h5diff.h"
 #include "H5private.h"
 
-
 /*-------------------------------------------------------------------------
- * Function: print_pos
+ * Function: print_dimensions
  *
- * Purpose: convert an array index position to matrix notation
+ * Purpose: print dimensions 
  *
- * Return: pos matrix array
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: May 9, 2003
- *
  *-------------------------------------------------------------------------
  */
-void print_pos( int        *ph,
-                int        per,
-                hsize_t    curr_pos,
-                hsize_t    *acc,
-                hsize_t    *pos,
-                int        rank,
-                const char *obj1,
-                const char *obj2 )
+void
+print_dimensions (int rank, hsize_t *dims)
 {
- int i;
+    int i;
 
- /* print header */
- if ( *ph==1 )
- {
-  *ph=0;
-  if (per)
-  {
-   printf("%-15s %-15s %-15s %-15s %-15s\n",
-    "position",
-    (obj1!=NULL) ? obj1 : " ",
-    (obj2!=NULL) ? obj2 : " ",
-    "difference",
-    "relative");
-   printf("------------------------------------------------------------------------\n");
-  }
-  else
-  {
-   printf("%-15s %-15s %-15s %-20s\n",
-    "position",
-    (obj1!=NULL) ? obj1 : " ",
-    (obj2!=NULL) ? obj2 : " ",
-    "difference");
-   printf("------------------------------------------------------------\n");
-  }
- }
-
- for ( i = 0; i < rank; i++)
- {
-  pos[i] = curr_pos/acc[i];
-  curr_pos -= acc[i]*pos[i];
- }
- assert( curr_pos == 0 );
-
- printf("[ " );
- for ( i = 0; i < rank; i++)
- {
-  HDfprintf(stdout,"%Hu ", pos[i]  );
- }
- printf("]" );
+    printf("[" );
+    for ( i = 0; i < rank-1; i++)
+    {
+        printf("%"H5_PRINTF_LL_WIDTH"u", (unsigned long_long)dims[i]);
+        printf("x");
+    }
+    printf("%"H5_PRINTF_LL_WIDTH"u", (unsigned long_long)dims[rank-1]);
+    printf("]" );
+    
 }
 
-/*-------------------------------------------------------------------------
- * Function: print_dims
- *
- * Purpose: print dimensions
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: May 9, 2003
- *
- *-------------------------------------------------------------------------
- */
-void print_dims( int r, hsize_t *d )
-{
- int i;
- printf("[ " );
- for ( i=0; i<r; i++ )
-  printf("%d ",(int)d[i]  );
- printf("] " );
-}
 
-
 /*-------------------------------------------------------------------------
  * Function: print_type
  *

Modified: packages/hdf5/trunk/tools/lib/h5tools.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,16 +9,16 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
  * Programmer:  Robb Matzke <matzke at llnl.gov>
  *              Thursday, July 23, 1998
  *
- * Purpose:	A library for displaying the values of a dataset in a human
- *		readable format.
+ * Purpose: A library for displaying the values of a dataset in a human
+ *      readable format.
  */
 
 #include <stdio.h>
@@ -29,25 +30,21 @@
 #include "h5tools_utils.h"
 #include "H5private.h"
 
-/*
- * The output functions need a temporary buffer to hold a piece of the
- * dataset while it's being printed. This constant sets the limit on the
- * size of that temporary buffer in bytes. For efficiency's sake, choose the
- * largest value suitable for your machine (for testing use a small value).
- */
-#if 1
-#define H5TOOLS_BUFSIZE         (1024 * 1024)
-#else
-#define H5TOOLS_BUFSIZE         (1024)
-#endif  /* 1 */
 
-#define ALIGN(A,Z)		((((A) + (Z) - 1) / (Z)) * (Z))
 
+#define ALIGN(A,Z)      ((((A) + (Z) - 1) / (Z)) * (Z))
+
 /* global variables */
-int         indent;
 int         compound_data;
-FILE       *rawdatastream;	/* should initialize to stdout but gcc moans about it */
+FILE       *rawdatastream;  /* should initialize to stdout but gcc moans about it */
+int         bin_output;    /* binary output */
+int         bin_form;      /* binary form */
 
+
+/* local prototypes */
+static int do_bin_output(FILE *stream, hsize_t nelmts, hid_t tid, void *_mem);
+static int render_bin_output(FILE *stream, hid_t tid, void *_mem);
+
 /* module-scoped variables */
 static int  h5tools_init_g;     /* if h5tools lib has been initialized */
 #ifdef H5_HAVE_PARALLEL
@@ -62,7 +59,7 @@
     "multi",
 #ifdef H5_HAVE_STREAM
     "stream",
-#endif	/* H5_HAVE_STREAM */
+#endif  /* H5_HAVE_STREAM */
 #ifdef H5_HAVE_PARALLEL
     "mpio",
     "mpiposix"
@@ -78,7 +75,7 @@
    ,MULTI_IDX
 #ifdef H5_HAVE_STREAM
    ,STREAM_IDX
-#endif	/* H5_HAVE_STREAM */
+#endif  /* H5_HAVE_STREAM */
 #ifdef H5_HAVE_PARALLEL
    ,MPIO_IDX
    ,MPIPOSIX_IDX
@@ -105,17 +102,17 @@
 h5tools_init(void)
 {
     if (!h5tools_init_g) {
-	if (!rawdatastream)
-	    rawdatastream = stdout;
+    if (!rawdatastream)
+        rawdatastream = stdout;
 
-	h5tools_init_g++;
+    h5tools_init_g++;
     }
 }
 
 /*-------------------------------------------------------------------------
  * Audience:    Public
  * Chapter:     H5Tools Library
- * Purpose:	Close the H5 Tools library
+ * Purpose: Close the H5 Tools library
  * Description:
  *      Close or release resources such as files opened by the library. This
  *      should be called after all other h5tools functions have been called.
@@ -132,12 +129,12 @@
 h5tools_close(void)
 {
     if (h5tools_init_g) {
-	if (rawdatastream && rawdatastream != stdout) {
-	    if (fclose(rawdatastream))
-		perror("closing rawdatastream");
-	    else
-		rawdatastream = NULL;
-	}
+    if (rawdatastream && rawdatastream != stdout) {
+        if (fclose(rawdatastream))
+        perror("closing rawdatastream");
+        else
+        rawdatastream = NULL;
+    }
 
         /* Clean up the reference path table, if it's been used */
         term_ref_path_table();
@@ -145,22 +142,14 @@
         /* Shut down the library */
         H5close();
 
-#ifdef H5_HAVE_PARALLEL
-        /* Check if we need to shut down MPI */
-        if(h5tools_mpi_init_g) {
-            MPI_Finalize();
-            h5tools_mpi_init_g=0;
-        } /* end if */
-#endif
-
-	h5tools_init_g = 0;
+    h5tools_init_g = 0;
     }
 }
 
 /*-------------------------------------------------------------------------
  * Audience:    Private
  * Chapter:     H5Tools Library
- * Purpose:	Get a FAPL for a driver
+ * Purpose: Get a FAPL for a driver
  * Description:
  *      Get a FAPL for a given VFL driver name.
  * Return:
@@ -171,13 +160,7 @@
  *-------------------------------------------------------------------------
  */
 static hid_t
-h5tools_get_fapl(const char *driver, unsigned *drivernum,
-#ifdef H5_HAVE_PARALLEL
-int argc, const char *argv[]
-#else /* H5_HAVE_PARALLEL */
-int UNUSED argc, const char UNUSED *argv[]
-#endif /* H5_HAVE_PARALLEL */
-)
+h5tools_get_fapl(const char *driver, unsigned *drivernum)
 {
     hid_t               fapl = H5P_DEFAULT;
 
@@ -222,35 +205,33 @@
             if(drivernum)
                 *drivernum = STREAM_IDX;
         } /* end if */
-#endif	/* H5_HAVE_STREAM */
+#endif  /* H5_HAVE_STREAM */
 #ifdef H5_HAVE_PARALLEL
     } else if (!strcmp(driver, drivernames[MPIO_IDX])) {
         /* MPI-I/O Driver */
-        if((fapl = H5Pcreate(H5P_FILE_ACCESS))>=0) {
-            H5Pset_fapl_mpio(fapl, MPI_COMM_WORLD, MPI_INFO_NULL);
+    /* check if MPI has been initialized. */
+    if (!h5tools_mpi_init_g)
+        MPI_Initialized(&h5tools_mpi_init_g);
+        if (h5tools_mpi_init_g && ((fapl = H5Pcreate(H5P_FILE_ACCESS))>=0)) {
+            if (H5Pset_fapl_mpio(fapl, MPI_COMM_WORLD, MPI_INFO_NULL)<0)
+        goto error;
 
-            /* Initialize the MPI library, if it wasn't already */
-            if(!h5tools_mpi_init_g) {
-                MPI_Init(&argc, (char ***)&argv);
-
-                h5tools_mpi_init_g=1;
-            } /* end if */
-
             if(drivernum)
                 *drivernum = MPIO_IDX;
         } /* end if */
     } else if (!strcmp(driver, drivernames[MPIPOSIX_IDX])) {
         /* MPI-I/O Driver */
-        if((fapl = H5Pcreate(H5P_FILE_ACCESS))>=0) {
-            H5Pset_fapl_mpiposix(fapl, MPI_COMM_WORLD, TRUE);
+    /* check if MPI has been initialized. */
+    if (!h5tools_mpi_init_g)
+        MPI_Initialized(&h5tools_mpi_init_g);
+        if (h5tools_mpi_init_g && ((fapl = H5Pcreate(H5P_FILE_ACCESS))>=0)) {
+#ifdef H5_WANT_H5_V1_4_COMPAT
+            if (H5Pset_fapl_mpiposix(fapl, MPI_COMM_WORLD)<0)
+#else
+        if (H5Pset_fapl_mpiposix(fapl, MPI_COMM_WORLD, TRUE)<0)
+#endif
+        goto error;
 
-            /* Initialize the MPI library, if it wasn't already */
-            if(!h5tools_mpi_init_g) {
-                MPI_Init(&argc, (char ***)&argv);
-
-                h5tools_mpi_init_g=1;
-            } /* end if */
-
             if(drivernum)
                 *drivernum = MPIPOSIX_IDX;
         } /* end if */
@@ -260,6 +241,11 @@
     }
 
     return(fapl);
+
+error:
+    if(fapl!=H5P_DEFAULT)
+     H5Pclose(fapl);
+    return -1;
 }
 
 /*-------------------------------------------------------------------------
@@ -319,7 +305,7 @@
  */
 hid_t
 h5tools_fopen(const char *fname, const char *driver, char *drivername,
-              size_t drivername_size, int argc, const char *argv[])
+              size_t drivername_size)
 {
     unsigned    drivernum;
     hid_t       fid = FAIL;
@@ -327,7 +313,7 @@
 
     if (driver && *driver) {
         /* Get the correct FAPL for the given driver */
-        if((fapl=h5tools_get_fapl(driver,&drivernum,argc,argv))<0)
+        if((fapl=h5tools_get_fapl(driver,&drivernum))<0)
             goto done;
 
         H5E_BEGIN_TRY {
@@ -341,7 +327,7 @@
         /* Try to open the file using each of the drivers */
         for (drivernum = 0; drivernum < NUM_DRIVERS; drivernum++) {
             /* Get the correct FAPL for the given driver */
-            if((fapl=h5tools_get_fapl(drivernames[drivernum],NULL,argc,argv))<0)
+            if((fapl=h5tools_get_fapl(drivernames[drivernum],NULL))<0)
                 goto done;
 
             H5E_BEGIN_TRY {
@@ -416,8 +402,8 @@
  *      Robb Matzke, Monday, April 26, 1999
  * Modifications:
  *      Robb Matzke, 1999-09-29
- *	If a new prefix is printed then the current element number is set back
- *	to zero.
+ *  If a new prefix is printed then the current element number is set back
+ *  to zero.
  *      pvn, 2004-07-08
  * Added support for printing array indices:
  *  the indentation is printed before the prefix (printed one indentation
@@ -425,7 +411,7 @@
  *-------------------------------------------------------------------------
  */
 static void
-h5tools_simple_prefix(FILE *stream, const h5dump_t *info,
+h5tools_simple_prefix(FILE *stream, const h5tool_format_t *info,
                       h5tools_context_t *ctx, hsize_t elmtno, int secnum)
 {
     h5tools_str_t prefix;
@@ -434,16 +420,16 @@
     int i, indentlevel = 0;
 
     if (!ctx->need_prefix)
-	return;
+    return;
 
     memset(&prefix, 0, sizeof(h5tools_str_t));
     memset(&str, 0, sizeof(h5tools_str_t));
 
     /* Terminate previous line, if any */
     if (ctx->cur_column) {
-	    fputs(OPT(info->line_suf, ""), stream);
+        fputs(OPT(info->line_suf, ""), stream);
      putc('\n', stream);
-	    fputs(OPT(info->line_sep, ""), stream);
+        fputs(OPT(info->line_sep, ""), stream);
     }
 
     /* Calculate new prefix */
@@ -460,7 +446,7 @@
          * the ctx->indent_level is negative so we need to skip the above and
          * just print out the default indent levels.
          */
-	indentlevel = ctx->default_indent_level;
+    indentlevel = ctx->default_indent_level;
     }
 
     /* when printing array indices, print the indentation before the prefix
@@ -518,39 +504,39 @@
  * Programmer:
  *      Robb Matzke, Monday, April 26, 1999
  * Modifications:
- * 	Robb Matzke, 1999-06-04
- *	The `container' argument is the optional dataset for reference types.
+ *  Robb Matzke, 1999-06-04
+ * The `container' argument is the optional dataset for reference types.
  *
- * 	Robb Matzke, 1999-09-29
- *	Understands the `per_line' property which indicates that every Nth
- *	element should begin a new line.
+ *  Robb Matzke, 1999-09-29
+ * Understands the `per_line' property which indicates that every Nth
+ * element should begin a new line.
  *
  *      Robb Matzke, LLNL, 2003-06-05
  *      Do not dereference the memory for a variable-length string here.
  *      Deref in h5tools_str_sprint() instead so recursive types are
  *      handled correctly.
-	*
-	*      Pedro Vicente Nunes, THG, 2005-10-19
+ *
+ *      Pedro Vicente Nunes, THG, 2005-10-19
  *        pass to the prefix in h5tools_simple_prefix the total position
-	*								instead of the current stripmine position i; this is necessary 
-	*								to print the array indices 
-	*        new field sm_pos in h5tools_context_t, the current stripmine element position 
+ *        instead of the current stripmine position i; this is necessary
+ *        to print the array indices
+ *        new field sm_pos in h5tools_context_t, the current stripmine element position
  *-------------------------------------------------------------------------
  */
 void
-h5tools_dump_simple_data(FILE *stream, const h5dump_t *info, hid_t container,
+h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, hid_t container,
                          h5tools_context_t *ctx/*in,out*/, unsigned flags,
                          hsize_t nelmts, hid_t type, void *_mem)
 {
-    unsigned char	*mem = (unsigned char*)_mem;
-    hsize_t		i;		/*element counter		*/
-    char		*s, *section;	/*a section of output		*/
-    int			secnum;		/*section sequence number	*/
-    size_t		size;		/*size of each datum		*/
-    size_t		ncols = 80;	/*available output width	*/
-    h5tools_str_t	buffer;		/*string into which to render	*/
-    int			multiline;	/*datum was multiline		*/
-				hsize_t		curr_pos;		/* total data element position 		*/
+    unsigned char *mem = (unsigned char*)_mem;
+    hsize_t  i;  /*element counter  */
+    char  *s, *section; /*a section of output  */
+    int   secnum;  /*section sequence number */
+    size_t  size;  /*size of each datum  */
+    size_t  ncols = 80; /*available output width */
+    h5tools_str_t buffer;  /*string into which to render */
+    int   multiline; /*datum was multiline  */
+    hsize_t  curr_pos;  /* total data element position   */
     int                 elmt_counter = 0;/*counts the # elements printed.
                                           *I (ptl?) needed something that
                                           *isn't going to get reset when a new
@@ -559,16 +545,30 @@
                                           *break after we see a number equal
                                           *to the ctx->size_last_dim.   */
 
-    /* Setup */
-    memset(&buffer, 0, sizeof(h5tools_str_t));
-    size = H5Tget_size(type);
+     /* binary dump */
+    if (bin_output)
+    {
+     do_bin_output(stream,nelmts,type,_mem);
+     bin_output=0;
+    }
+    else
+    {
+     /* Setup */
+     memset(&buffer, 0, sizeof(h5tools_str_t));
+     size = H5Tget_size(type);
 
-    if (info->line_ncols > 0)
-	ncols = info->line_ncols;
+     if (info->line_ncols > 0)
+      ncols = info->line_ncols;
 
-    h5tools_simple_prefix(stream, info, ctx, (hsize_t)0, 0);
 
-    for (i = 0; i < nelmts; i++, ctx->cur_elmt++, elmt_counter++) {
+    /* pass to the prefix in h5tools_simple_prefix the total position
+      instead of the current stripmine position i; this is necessary
+      to print the array indices */
+     curr_pos = ctx->sm_pos;
+
+     h5tools_simple_prefix(stream, info, ctx, curr_pos, 0);
+
+     for (i = 0; i < nelmts; i++, ctx->cur_elmt++, elmt_counter++) {
         /* Render the element */
         h5tools_str_reset(&buffer);
         h5tools_str_sprint(&buffer, info, container, type, mem + i * size, ctx);
@@ -669,9 +669,9 @@
                 if (secnum)
                     multiline++;
 
-																  /* pass to the prefix the total position instead of the current
-                   stripmine position i; this is necessary to print the array
-                   indices */
+                  /* pass to the prefix in h5tools_simple_prefix the total position
+       instead of the current stripmine position i; this is necessary
+       to print the array indices */
                 curr_pos = ctx->sm_pos + i;
 
                 h5tools_simple_prefix(stream, info, ctx, curr_pos, secnum);
@@ -689,6 +689,9 @@
     }
 
     h5tools_str_close(&buffer);
+
+ }/* else bin */
+
 }
 
 /*-------------------------------------------------------------------------
@@ -706,30 +709,34 @@
  *-------------------------------------------------------------------------
  */
 static herr_t
-h5tools_dump_simple_subset(FILE *stream, const h5dump_t *info, hid_t dset,
+h5tools_dump_simple_subset(FILE *stream, const h5tool_format_t *info, hid_t dset,
                            hid_t p_type, struct subset_t *sset,
                            int indentlevel)
 {
     herr_t              ret;                    /*the value to return   */
-    hid_t		f_space;		/*file data space	*/
-    int			i;                      /*counters		*/
-    hsize_t		zero = 0;               /*vector of zeros	*/
-    unsigned int	flags;			/*buffer extent flags	*/
-    hsize_t		total_size[H5S_MAX_RANK];/*total size of dataset*/
+    hid_t       f_space;        /*file data space   */
+    int         i, j;                      /*counters       */
+    hsize_t     zero = 0;               /*vector of zeros   */
+    unsigned int    flags;          /*buffer extent flags   */
+    hsize_t     total_size[H5S_MAX_RANK];/*total size of dataset*/
 
     /* Print info */
-    h5tools_context_t	ctx;			/*print context		*/
-    size_t		p_type_nbytes;		/*size of memory type	*/
+    h5tools_context_t   ctx;            /*print context     */
+    size_t      p_type_nbytes;      /*size of memory type   */
 
     /* Stripmine info */
-    hsize_t		sm_size[H5S_MAX_RANK];	/*stripmine size	*/
-    hsize_t		sm_nbytes;		/*bytes per stripmine	*/
-    hsize_t		sm_nelmts;		/*elements per stripmine*/
-    unsigned char      *sm_buf = NULL;		/*buffer for raw data	*/
-    hid_t		sm_space;		/*stripmine data space	*/
+    hsize_t     sm_size[H5S_MAX_RANK];  /*stripmine size    */
+    hsize_t     sm_nbytes;      /*bytes per stripmine   */
+    hsize_t     sm_nelmts;      /*elements per stripmine*/
+    unsigned char      *sm_buf = NULL;      /*buffer for raw data   */
+    hid_t       sm_space;       /*stripmine data space  */
 
     hsize_t             count;
 
+    hsize_t           elmtno;                  /* elemnt index  */
+    hsize_t           low[H5S_MAX_RANK];       /* low bound of hyperslab */
+    hsize_t           high[H5S_MAX_RANK];      /* higher bound of hyperslab */
+
     ret = FAIL;     /* be pessimistic */
     f_space = H5Dget_space(dset);
 
@@ -755,8 +762,7 @@
             ctx.p_min_idx[i] = 0;
 
     H5Sget_simple_extent_dims(f_space, total_size, NULL);
-	assert(total_size[ctx.ndims - 1]==(hsize_t)((int)(total_size[ctx.ndims - 1])));
-    ctx.size_last_dim = (int)(total_size[ctx.ndims - 1]);
+    ctx.size_last_dim = total_size[ctx.ndims - 1];
 
     count = sset->count[ctx.ndims - 1];
     sset->count[ctx.ndims - 1] = 1;
@@ -833,6 +839,23 @@
             ctx.p_max_idx[i] = ctx.p_min_idx[i] + MIN(total_size[i], sm_size[i]);
         }
 
+        /* print array indices. get the lower bound of the hyperslab and calulate
+        the element position at the start of hyperslab */
+        H5Sget_select_bounds(f_space,low,high);
+        elmtno=0;
+        for (i = 0; i < ctx.ndims-1; i++) 
+        {
+            hsize_t offset = 1; /* accumulation of the previous dimensions */
+            for (j = i+1; j < ctx.ndims; j++) 
+                offset *= total_size[j];
+            elmtno+= low[i] * offset;
+        }
+        elmtno+= low[ctx.ndims - 1];
+
+        /* initialize the current stripmine position; this is necessary to print the array
+        indices */
+        ctx.sm_pos = elmtno;
+
         h5tools_dump_simple_data(stream, info, dset, &ctx, flags, sm_nelmts,
                                  p_type, sm_buf);
         free(sm_buf);
@@ -857,7 +880,7 @@
 /*-------------------------------------------------------------------------
  * Audience:    Public
  * Chapter:     H5Tools Library
- * Purpose:	Print some values from a dataset with a simple data space.
+ * Purpose: Print some values from a dataset with a simple data space.
  * Description:
  *      This is a special case of h5tools_dump_dset(). This function only
  *      intended for dumping datasets -- it does strip mining and some other
@@ -873,36 +896,36 @@
  *-------------------------------------------------------------------------
  */
 static int
-h5tools_dump_simple_dset(FILE *stream, const h5dump_t *info, hid_t dset,
+h5tools_dump_simple_dset(FILE *stream, const h5tool_format_t *info, hid_t dset,
                          hid_t p_type, int indentlevel)
 {
-    hid_t		f_space;		/*file data space	*/
-    hsize_t		elmtno;			/*counter		*/
-    int			i;			/*counter		*/
-    int			carry;			/*counter carry value	*/
-    hsize_t		zero[8];		/*vector of zeros	*/
-    unsigned int	flags;			/*buffer extent flags	*/
-    hsize_t		total_size[H5S_MAX_RANK];/*total size of dataset*/
+    hid_t               f_space;                  /* file data space */
+    hsize_t             elmtno;                   /* counter  */
+    size_t             i;                        /* counter  */
+    int                 carry;                    /* counter carry value */
+    hsize_t             zero[8];                  /* vector of zeros */
+    unsigned int        flags;                    /* buffer extent flags */
+    hsize_t             total_size[H5S_MAX_RANK]; /* total size of dataset*/
 
     /* Print info */
-    h5tools_context_t	ctx;			/*print context		*/
-    size_t		p_type_nbytes;		/*size of memory type	*/
-    hsize_t		p_nelmts;		/*total selected elmts	*/
+    h5tools_context_t   ctx;                      /* print context  */
+    size_t              p_type_nbytes;            /* size of memory type */
+    hsize_t             p_nelmts;                 /* total selected elmts */
 
     /* Stripmine info */
-    hsize_t		sm_size[H5S_MAX_RANK];	/*stripmine size	*/
-    hsize_t		sm_nbytes;		/*bytes per stripmine	*/
-    hsize_t		sm_nelmts;		/*elements per stripmine*/
-    unsigned char      *sm_buf = NULL;		/*buffer for raw data	*/
-    hid_t		sm_space;		/*stripmine data space	*/
+    hsize_t             sm_size[H5S_MAX_RANK];    /* stripmine size */
+    hsize_t             sm_nbytes;                /* bytes per stripmine */
+    hsize_t             sm_nelmts;                /* elements per stripmine*/
+    unsigned char       *sm_buf = NULL;           /* buffer for raw data */
+    hid_t               sm_space;                 /* stripmine data space */
 
     /* Hyperslab info */
-    hsize_t		hs_offset[H5S_MAX_RANK];/*starting offset	*/
-    hsize_t		hs_size[H5S_MAX_RANK];	/*size this pass	*/
-    hsize_t		hs_nelmts;		/*elements in request	*/
+    hsize_t            hs_offset[H5S_MAX_RANK];   /* starting offset */
+    hsize_t            hs_size[H5S_MAX_RANK];     /* size this pass */
+    hsize_t            hs_nelmts;                 /* elements in request */
 
     /* VL data special information */
-    unsigned int        vl_data = 0;            /*contains VL datatypes */
+    unsigned int       vl_data = 0;               /* contains VL datatypes */
 
     f_space = H5Dget_space(dset);
 
@@ -918,7 +941,7 @@
     ctx.indent_level = indentlevel;
     ctx.need_prefix = 1;
     ctx.ndims = H5Sget_simple_extent_ndims(f_space);
-
+    
     if ((size_t)ctx.ndims > NELMTS(sm_size)) {
         H5Sclose(f_space);
         return FAIL;
@@ -1010,7 +1033,7 @@
         flags = (elmtno == 0) ? START_OF_DATA : 0;
         flags |= ((elmtno + hs_nelmts) >= p_nelmts) ? END_OF_DATA : 0;
 
-         /* initialize the current stripmine position; this is necessary to print the array
+        /* initialize the current stripmine position; this is necessary to print the array
            indices */
         ctx.sm_pos = elmtno;
 
@@ -1051,16 +1074,16 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_dump_simple_mem
+ * Function:    h5tools_dump_simple_mem
  *
- * Purpose:	Print some values from memory with a simple data space.
- *		This is a special case of h5tools_dump_mem().
+ * Purpose: Print some values from memory with a simple data space.
+ *      This is a special case of h5tools_dump_mem().
  *
- * Return:	Success:    SUCCEED
+ * Return:  Success:    SUCCEED
  *
- *		Failure:    FAIL
+ *      Failure:    FAIL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Thursday, July 23, 1998
  *
  * Modifications:
@@ -1068,12 +1091,12 @@
  *-------------------------------------------------------------------------
  */
 static int
-h5tools_dump_simple_mem(FILE *stream, const h5dump_t *info, hid_t obj_id,
+h5tools_dump_simple_mem(FILE *stream, const h5tool_format_t *info, hid_t obj_id,
                         hid_t type, hid_t space, void *mem, int indentlevel)
 {
-    int			i;			/*counters		*/
-    hsize_t		nelmts;			/*total selected elmts	*/
-    h5tools_context_t	ctx;			/*printing context	*/
+    int         i;          /*counters      */
+    hsize_t     nelmts;         /*total selected elmts  */
+    h5tools_context_t   ctx;            /*printing context  */
 
     /*
      * Check that everything looks okay.  The dimensionality must not be too
@@ -1125,39 +1148,39 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_dump_dset
+ * Function:    h5tools_dump_dset
  *
- * Purpose:	Print some values from a dataset DSET to the file STREAM
- *		after converting all types to P_TYPE (which should be a
- *		native type).  If P_TYPE is a negative value then it will be
- *		computed from the dataset type using only native types.
+ * Purpose: Print some values from a dataset DSET to the file STREAM
+ *      after converting all types to P_TYPE (which should be a
+ *      native type).  If P_TYPE is a negative value then it will be
+ *      computed from the dataset type using only native types.
  *
- * Note:	This function is intended only for datasets since it does
- *		some things like strip mining which are unnecessary for
- *		smaller objects such as attributes. The easiest way to print
- *		small objects is to read the object into memory and call
- *		h5tools_dump_mem().
+ * Note:    This function is intended only for datasets since it does
+ *      some things like strip mining which are unnecessary for
+ *      smaller objects such as attributes. The easiest way to print
+ *      small objects is to read the object into memory and call
+ *      h5tools_dump_mem().
  *
- * Return:	Success:    SUCCEED
+ * Return:  Success:    SUCCEED
  *
- *		Failure:    FAIL
+ *      Failure:    FAIL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Thursday, July 23, 1998
  *
  * Modifications:
- * 		Robb Matzke, 1999-06-07
- *		If info->raw is set then the memory datatype will be the same
- *		as the file datatype.
+ *      Robb Matzke, 1999-06-07
+ *      If info->raw is set then the memory datatype will be the same
+ *      as the file datatype.
  *
- *		Bill Wendling, 2001-02-27
- *		Renamed to ``h5tools_dump_dset'' and added the subsetting
- *		parameter.
+ *      Bill Wendling, 2001-02-27
+ *      Renamed to ``h5tools_dump_dset'' and added the subsetting
+ *      parameter.
  *
  *-------------------------------------------------------------------------
  */
 int
-h5tools_dump_dset(FILE *stream, const h5dump_t *info, hid_t dset, hid_t _p_type,
+h5tools_dump_dset(FILE *stream, const h5tool_format_t *info, hid_t dset, hid_t _p_type,
                   struct subset_t *sset, int indentlevel)
 {
     hid_t     f_space;
@@ -1165,7 +1188,7 @@
     hid_t     f_type;
     H5S_class_t space_type;
     int       status = FAIL;
-    h5dump_t  info_dflt;
+    h5tool_format_t  info_dflt;
 
     /* Use default values */
     if (!stream)
@@ -1179,8 +1202,12 @@
     if (p_type < 0) {
         f_type = H5Dget_type(dset);
 
-        if (info->raw)
+        if (info->raw || bin_form == 1 )
             p_type = H5Tcopy(f_type);
+        else if (bin_form == 2 )
+            p_type = h5tools_get_little_endian_type(f_type);
+        else if (bin_form == 3 )
+            p_type = h5tools_get_big_endian_type(f_type);
         else
             p_type = h5tools_get_native_type(f_type);
 
@@ -1203,7 +1230,7 @@
         else
             status = h5tools_dump_simple_subset(rawdatastream, info, dset, p_type,
                                                 sset, indentlevel);
-    } else /* space is H5S_NULL */
+    } else 
         status = SUCCEED;
 
     /* Close the dataspace */
@@ -1217,17 +1244,17 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_dump_mem
+ * Function:    h5tools_dump_mem
  *
- * Purpose:	Displays the data contained in MEM. MEM must have the
- *		specified data TYPE and SPACE.  Currently only simple data
- *		spaces are allowed and only the `all' selection.
+ * Purpose: Displays the data contained in MEM. MEM must have the
+ *      specified data TYPE and SPACE.  Currently only simple data
+ *      spaces are allowed and only the `all' selection.
  *
- * Return:	Success:    SUCCEED
+ * Return:  Success:    SUCCEED
  *
- *		Failure:    FAIL
+ *      Failure:    FAIL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Wednesday, January 20, 1999
  *
  * Modifications:
@@ -1235,23 +1262,23 @@
  *-------------------------------------------------------------------------
  */
 int
-h5tools_dump_mem(FILE *stream, const h5dump_t *info, hid_t obj_id, hid_t type,
+h5tools_dump_mem(FILE *stream, const h5tool_format_t *info, hid_t obj_id, hid_t type,
                  hid_t space, void *mem, int indentlevel)
 {
-    h5dump_t    info_dflt;
+    h5tool_format_t    info_dflt;
 
     /* Use default values */
     if (!stream)
-	stream = stdout;
+    stream = stdout;
 
     if (!info) {
-	memset(&info_dflt, 0, sizeof(info_dflt));
-	info = &info_dflt;
+    memset(&info_dflt, 0, sizeof(info_dflt));
+    info = &info_dflt;
     }
 
     /* Check the data space */
     if (H5Sis_simple(space) <= 0)
-	return -1;
+    return -1;
 
     return h5tools_dump_simple_mem(stream, info, obj_id, type, space, mem,
                                    indentlevel);
@@ -1270,7 +1297,7 @@
  *
  *-------------------------------------------------------------------------
  */
-void init_acc_pos(h5tools_context_t	*ctx, hsize_t *dims)
+void init_acc_pos(h5tools_context_t *ctx, hsize_t *dims)
 {
  int i;
 
@@ -1285,3 +1312,442 @@
   ctx->pos[i]=0;
 }
 
+/*-------------------------------------------------------------------------
+ * Function: do_bin_output
+ *
+ * Purpose: Dump memory buffer to a binary file stream
+ *
+ * Return: Success:    SUCCEED
+ *         Failure:    FAIL
+ *
+ * Programmer: Pedro Vicente Nunes
+ *             Friday, June 2, 2006
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int do_bin_output(FILE *stream, hsize_t nelmts, hid_t tid, void *_mem)
+{
+ unsigned char *mem  = (unsigned char*)_mem;
+ size_t         size; /* datum size */
+ hsize_t        i;    /* element counter  */
+
+ size = H5Tget_size(tid);
+
+ for (i = 0; i < nelmts; i++)
+ {
+  if (render_bin_output(stream,tid,mem + i * size)<0)
+  {
+   printf("\nError in writing binary stream\n");
+   return FAIL;
+  }
+ }
+
+ return SUCCEED;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: render_bin_output
+ *
+ * Purpose: Write one element of memory buffer to a binary file stream
+ *
+ * Return: Success:    SUCCEED
+ *         Failure:    FAIL
+ *
+ * Programmer: Pedro Vicente Nunes
+ *             Friday, June 2, 2006
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static
+int render_bin_output(FILE *stream, hid_t tid, void *_mem)
+{
+#if 0
+ #define DEBUG_H5DUMP_BIN 1
+#endif
+ unsigned char     *mem  = (unsigned char*)_mem;
+ size_t             size;   /* datum size */
+ float              tempfloat;
+ double             tempdouble;
+ unsigned long_long tempullong;
+ long_long          templlong;
+ unsigned long      tempulong;
+ long               templong;
+ unsigned int       tempuint;
+ int                tempint;
+ unsigned short     tempushort;
+ short              tempshort;
+ unsigned char      tempuchar;
+ char               tempschar;
+#if H5_SIZEOF_LONG_DOUBLE !=0
+ long double        templdouble;
+#endif
+#ifdef DEBUG_H5DUMP_BIN
+ static char        fmt_llong[8], fmt_ullong[8];
+ if (!fmt_llong[0]) {
+  sprintf(fmt_llong, "%%%sd", H5_PRINTF_LL_WIDTH);
+  sprintf(fmt_ullong, "%%%su", H5_PRINTF_LL_WIDTH);
+ }
+#endif
+
+ size = H5Tget_size(tid);
+
+ if (H5Tequal(tid, H5T_NATIVE_FLOAT))
+ {
+  memcpy(&tempfloat, mem, sizeof(float));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%g ", tempfloat);
+#else
+  if (1 != fwrite(&tempfloat, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_DOUBLE))
+ {
+  memcpy(&tempdouble, mem, sizeof(double));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%g ", tempdouble);
+#else
+  if (1 != fwrite(&tempdouble, size, 1, stream))
+   return FAIL;
+#endif
+ }
+#if H5_SIZEOF_LONG_DOUBLE !=0
+ else if (H5Tequal(tid, H5T_NATIVE_LDOUBLE))
+ {
+  memcpy(&templdouble, mem, sizeof(long double));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%Lf ", templdouble);
+#else
+  if (1 != fwrite(&templdouble, size, 1, stream))
+   return FAIL;
+#endif
+ }
+#endif
+ else if (H5T_STRING == H5Tget_class(tid))
+ {
+  unsigned int i;
+  H5T_str_t    pad;
+  char        *s;
+
+  pad = H5Tget_strpad(tid);
+
+  if(H5Tis_variable_str(tid))
+  {
+   s = *(char**)mem;
+   if(s!=NULL)
+    size = HDstrlen(s);
+  }
+  else
+  {
+   s = (char *)mem;
+   size = H5Tget_size(tid);
+  }
+  for (i=0; i<size && (s[i] || pad!=H5T_STR_NULLTERM); i++)
+  {
+   memcpy(&tempuchar, &s[i], sizeof(unsigned char));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "%d", tempuchar);
+#else
+   if (1 != fwrite(&tempuchar, size, 1, stream))
+    return FAIL;
+#endif
+  } /* i */
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_INT))
+ {
+  memcpy(&tempint, mem, sizeof(int));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%d ", tempint);
+#else
+  if (1 != fwrite(&tempint, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_UINT))
+ {
+  memcpy(&tempuint, mem, sizeof(unsigned int));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%u ", tempuint);
+#else
+  if (1 != fwrite(&tempuint, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_SCHAR))
+ {
+  memcpy(&tempschar, mem, sizeof(char));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%d ", tempschar);
+#else
+  if (1 != fwrite(&tempschar, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_UCHAR))
+ {
+  memcpy(&tempuchar, mem, sizeof(unsigned char));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%u ", tempuchar);
+#else
+  if (1 != fwrite(&tempuchar, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_SHORT))
+ {
+  memcpy(&tempshort, mem, sizeof(short));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%d ", tempshort);
+#else
+  if (1 != fwrite(&tempshort, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_USHORT))
+ {
+  memcpy(&tempushort, mem, sizeof(unsigned short));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%u ", tempushort);
+#else
+  if (1 != fwrite(&tempushort, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_LONG))
+ {
+  memcpy(&templong, mem, sizeof(long));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%ld ", templong);
+#else
+  if (1 != fwrite(&templong, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_ULONG))
+ {
+  memcpy(&tempulong, mem, sizeof(unsigned long));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, "%lu ", tempulong);
+#else
+  if (1 != fwrite(&tempulong, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_LLONG))
+ {
+  memcpy(&templlong, mem, sizeof(long_long));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, fmt_llong, templlong);
+#else
+  if (1 != fwrite(&templlong, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_ULLONG))
+ {
+  memcpy(&tempullong, mem, sizeof(unsigned long_long));
+#ifdef DEBUG_H5DUMP_BIN
+  fprintf(stream, fmt_ullong, tempullong);
+#else
+  if (1 != fwrite(&tempullong, size, 1, stream))
+   return FAIL;
+#endif
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_HSSIZE))
+ {
+  if (sizeof(hssize_t) == sizeof(int))
+  {
+   memcpy(&tempint, mem, sizeof(int));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "%d ", tempint);
+#else
+   if (1 != fwrite(&tempint, size, 1, stream))
+    return FAIL;
+#endif
+  }
+  else if (sizeof(hssize_t) == sizeof(long))
+  {
+   memcpy(&templong, mem, sizeof(long));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "%ld ", templong);
+#else
+   if (1 != fwrite(&templong, size, 1, stream))
+    return FAIL;
+#endif
+  }
+  else
+  {
+   memcpy(&templlong, mem, sizeof(long_long));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, fmt_llong, templlong);
+#else
+   if (1 != fwrite(&templlong, size, 1, stream))
+    return FAIL;
+#endif
+  }
+ }
+ else if (H5Tequal(tid, H5T_NATIVE_HSIZE))
+ {
+  if (sizeof(hsize_t) == sizeof(int))
+  {
+   memcpy(&tempuint, mem, sizeof(unsigned int));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "%u ", tempuint);
+#else
+   if (1 != fwrite(&tempuint, size, 1, stream))
+    return FAIL;
+#endif
+  }
+  else if (sizeof(hsize_t) == sizeof(long))
+  {
+   memcpy(&tempulong, mem, sizeof(unsigned long));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "%lu ", tempulong);
+#else
+   if (1 != fwrite(&tempulong, size, 1, stream))
+    return FAIL;
+#endif
+  }
+  else
+  {
+   memcpy(&tempullong, mem, sizeof(unsigned long_long));
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, fmt_ullong, tempullong);
+#else
+   if (1 != fwrite(&tempullong, size, 1, stream))
+    return FAIL;
+#endif
+  }
+ }
+ else if (H5Tget_class(tid) == H5T_COMPOUND)
+ {
+  unsigned j;
+  hid_t    memb;
+  unsigned nmembs;
+  size_t   offset;
+
+  nmembs = H5Tget_nmembers(tid);
+
+  for (j = 0; j < nmembs; j++)
+  {
+   offset = H5Tget_member_offset(tid, j);
+   memb   = H5Tget_member_type(tid, j);
+
+   if (render_bin_output(stream,memb,mem + offset)<0)
+    return FAIL;
+
+   H5Tclose(memb);
+  }
+ }
+ else if (H5Tget_class(tid) == H5T_ENUM)
+ {
+  unsigned int i;
+  if (1==size)
+  {
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "0x%02x", mem[0]);
+#else
+   if (1 != fwrite(&mem[0], size, 1, stream))
+    return FAIL;
+#endif
+  }
+  else
+  {
+   for (i = 0; i < size; i++)
+   {
+#ifdef DEBUG_H5DUMP_BIN
+    fprintf(stream, "%s%02x", i?":":"", mem[i]);
+#else
+    if (1 != fwrite(&mem[i], sizeof(char), 1, stream))
+     return FAIL;
+#endif
+   } /*i*/
+  }/*else 1 */
+ }
+ else if (H5Tget_class(tid) == H5T_ARRAY)
+ {
+  int     k, ndims;
+  hsize_t i, dims[H5S_MAX_RANK], temp_nelmts, nelmts;
+  hid_t   memb;
+
+  /* get the array's base datatype for each element */
+  memb = H5Tget_super(tid);
+  size = H5Tget_size(memb);
+  ndims = H5Tget_array_ndims(tid);
+  H5Tget_array_dims(tid, dims, NULL);
+  assert(ndims >= 1 && ndims <= H5S_MAX_RANK);
+
+  /* calculate the number of array elements */
+  for (k = 0, nelmts = 1; k < ndims; k++)
+  {
+   temp_nelmts = nelmts;
+   temp_nelmts *= dims[k];
+   nelmts = (size_t)temp_nelmts;
+  }
+
+  /* dump the array element */
+  for (i = 0; i < nelmts; i++)
+  {
+   if (render_bin_output(stream,memb,mem + i * size)<0)
+    return FAIL;
+  }
+
+  H5Tclose(memb);
+ }
+ else if (H5Tget_class(tid) == H5T_VLEN)
+ {
+  unsigned int i;
+  hsize_t nelmts;
+  hid_t   memb;
+
+  /* get the VL sequences's base datatype for each element */
+  memb = H5Tget_super(tid);
+  size = H5Tget_size(memb);
+
+  /* Get the number of sequence elements */
+  nelmts = ((hvl_t *)mem)->len;
+
+  for (i = 0; i < nelmts; i++)
+  {
+   /* dump the array element */
+   if (render_bin_output(stream,memb,((char *)(((hvl_t *)mem)->p)) + i * size)<0)
+    return FAIL;
+  }
+  H5Tclose(memb);
+ }
+ else
+ {
+  size_t i;
+  if (1==size)
+  {
+#ifdef DEBUG_H5DUMP_BIN
+   fprintf(stream, "0x%02x", mem[0]);
+#else
+   if (1 != fwrite(&mem[0], size, 1, stream))
+    return FAIL;
+#endif
+  }
+  else
+  {
+   for (i = 0; i < size; i++)
+   {
+#ifdef DEBUG_H5DUMP_BIN
+    fprintf(stream, "%s%02x", i?":":"", mem[i]);
+#else
+    if (1 != fwrite(&mem[i], sizeof(char), 1, stream))
+     return FAIL;
+#endif
+   } /*i*/
+  }/*else 1 */
+ }
+
+
+ return SUCCEED;
+}
+

Modified: packages/hdf5/trunk/tools/lib/h5tools.h
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -26,13 +27,34 @@
 #define ESCAPE_HTML             1
 #define OPT(X,S)                ((X) ? (X) : (S))
 #define OPTIONAL_LINE_BREAK     "\001"  /* Special strings embedded in the output */
-#define START_OF_DATA		0x0001
-#define END_OF_DATA		0x0002
+#define START_OF_DATA       0x0001
+#define END_OF_DATA     0x0002
 
 /*
+ * The output functions need a temporary buffer to hold a piece of the
+ * dataset while it's being printed. This constant sets the limit on the
+ * size of that temporary buffer in bytes. For efficiency's sake, choose the
+ * largest value suitable for your machine (for testing use a small value).
+ */
+#if 1
+#define H5TOOLS_BUFSIZE         (1024 * 1024)
+#else
+#define H5TOOLS_BUFSIZE         (1024)
+#endif 
+
+/*
+ * Maximum size used in a call to malloc
+ */
+#define H5TOOLS_MALLOCSIZE      (128 * 1024 * 1024)
+
+
+/* format for hsize_t */
+#define HSIZE_T_FORMAT   "%"H5_PRINTF_LL_WIDTH"u"
+
+/*
  * Information about how to format output.
  */
-typedef struct h5dump_t {
+typedef struct h5tool_format_t {
     /*
      * Fields associated with formatting numeric data.  If a datatype matches
      * multiple formats based on its size, then the first applicable format
@@ -321,102 +343,27 @@
     /*escape non printable characters */
     int do_escape;
 
-} h5dump_t;
+} h5tool_format_t;
 
-typedef struct dump_header{
-    const char *name;
-    const char *filebegin;
-    const char *fileend;
-    const char *bootblockbegin;
-    const char *bootblockend;
-    const char *groupbegin;
-    const char *groupend;
-    const char *datasetbegin;
-    const char *datasetend;
-    const char *attributebegin;
-    const char *attributeend;
-    const char *datatypebegin;
-    const char *datatypeend;
-    const char *dataspacebegin;
-    const char *dataspaceend;
-    const char *databegin;
-    const char *dataend;
-    const char *softlinkbegin;
-    const char *softlinkend;
-    const char *subsettingbegin;
-    const char *subsettingend;
-    const char *startbegin;
-    const char *startend;
-    const char *stridebegin;
-    const char *strideend;
-    const char *countbegin;
-    const char *countend;
-    const char *blockbegin;
-    const char *blockend;
-
-    const char *fileblockbegin;
-    const char *fileblockend;
-    const char *bootblockblockbegin;
-    const char *bootblockblockend;
-    const char *groupblockbegin;
-    const char *groupblockend;
-    const char *datasetblockbegin;
-    const char *datasetblockend;
-    const char *attributeblockbegin;
-    const char *attributeblockend;
-    const char *datatypeblockbegin;
-    const char *datatypeblockend;
-    const char *dataspaceblockbegin;
-    const char *dataspaceblockend;
-    const char *datablockbegin;
-    const char *datablockend;
-    const char *softlinkblockbegin;
-    const char *softlinkblockend;
-    const char *strblockbegin;
-    const char *strblockend;
-    const char *enumblockbegin;
-    const char *enumblockend;
-    const char *structblockbegin;
-    const char *structblockend;
-    const char *vlenblockbegin;
-    const char *vlenblockend;
-    const char *subsettingblockbegin;
-    const char *subsettingblockend;
-    const char *startblockbegin;
-    const char *startblockend;
-    const char *strideblockbegin;
-    const char *strideblockend;
-    const char *countblockbegin;
-    const char *countblockend;
-    const char *blockblockbegin;
-    const char *blockblockend;
-
-    const char *dataspacedescriptionbegin;
-    const char *dataspacedescriptionend;
-    const char *dataspacedimbegin;
-    const char *dataspacedimend;
-
-} dump_header;
-
 typedef struct h5tools_context_t {
-    size_t	cur_column;	/*current column for output	*/
-    size_t	cur_elmt;	/*current element/output line	*/
-    int		need_prefix;	/*is line prefix needed?	*/
-    int		ndims;		/*dimensionality		*/
-    hsize_t	p_min_idx[H5S_MAX_RANK]; /*min selected index	*/
-    hsize_t	p_max_idx[H5S_MAX_RANK]; /*max selected index	*/
-    int		prev_multiline;	/*was prev datum multiline?	*/
-    size_t	prev_prefix_len;/*length of previous prefix	*/
-    int		continuation;	/*continuation of previous data?*/
-    hsize_t	size_last_dim;  /*the size of the last dimension,
-                                 *needed so we can break after each
-                                 *row */
-    int		indent_level;   /*the number of times we need some
-                                 *extra indentation */
-    int		default_indent_level; /*this is used when the indent level gets changed */
-    hsize_t acc[H5S_MAX_RANK];    /* accumulator position */
-    hsize_t pos[H5S_MAX_RANK];    /* matrix position */
-				hsize_t sm_pos;               /* current stripmine element position */
+    size_t cur_column;                       /*current column for output */
+    size_t cur_elmt;                         /*current element/output line */
+    int  need_prefix;                        /*is line prefix needed? */
+    int  ndims;                              /*dimensionality  */
+    hsize_t p_min_idx[H5S_MAX_RANK];         /*min selected index */
+    hsize_t p_max_idx[H5S_MAX_RANK];         /*max selected index */
+    int  prev_multiline;                     /*was prev datum multiline? */
+    size_t prev_prefix_len;                  /*length of previous prefix */
+    int  continuation;                       /*continuation of previous data?*/
+    hsize_t size_last_dim;                   /*the size of the last dimension,
+                                              *needed so we can break after each
+                                              *row */
+    int  indent_level;                 /*the number of times we need some
+                                       *extra indentation */
+    int  default_indent_level;        /*this is used when the indent level gets changed */
+    hsize_t acc[H5S_MAX_RANK];        /* accumulator position */
+    hsize_t pos[H5S_MAX_RANK];        /* matrix position */
+    hsize_t sm_pos;                   /* current stripmine element position */
 } h5tools_context_t;
 
 /* a structure to hold the subsetting particulars for a dataset */
@@ -427,84 +374,29 @@
     hsize_t *block;
 };
 
-/*if we get a new program that needs to use the library add its name here*/
-typedef enum {
-    UNKNOWN = 0,
-    H5LS,
-    H5DUMP
-} ProgType;
-
-/* taken from h5dump.h */
-#define ATTRIBUTE_DATA  0
-#define DATASET_DATA    1
-#define ENUM_DATA       2
-
-#define COL             3
-
-extern int     indent;              /*how far in to indent the line         */
 extern FILE   *rawdatastream;       /*output stream for raw data            */
+extern int     bin_output;          /* binary output */
+extern int     bin_form;            /* binary form */
 
-/* taken from h5dump.h*/
-#define ATTRIBUTE       "ATTRIBUTE"
-#define BLOCK           "BLOCK"
-#define SUPER_BLOCK     "SUPER_BLOCK"
-#define COMPRESSION     "COMPRESSION"
-#define CONCATENATOR    "//"
-#define COMPLEX         "COMPLEX"
-#define COUNT           "COUNT"
-#define CSET            "CSET"
-#define CTYPE           "CTYPE"
-#define DATA            "DATA"
-#define DATASET         "DATASET"
-#define DATASPACE       "DATASPACE"
-#define DATATYPE        "DATATYPE"
-#define EXTERNAL        "EXTERNAL"
-#define FILENO          "FILENO"
-#define GROUPNAME       "GROUP"
-#define HARDLINK        "HARDLINK"
-#define NLINK           "NLINK"
-#define OBJID           "OBJECTID"
-#define OBJNO           "OBJNO"
-#define S_SCALAR        "SCALAR"
-#define S_SIMPLE        "SIMPLE"
-#define SOFTLINK        "SOFTLINK"
-#define STORAGELAYOUT   "STORAGELAYOUT"
-#define START           "START"
-#define STRIDE          "STRIDE"
-#define STRSIZE         "STRSIZE"
-#define STRPAD          "STRPAD"
-#define SUBSET          "SUBSET"
-#define FILTERS         "FILTERS"
-#define DEFLATE         "COMPRESSION DEFLATE"
-#define DEFLATE_LEVEL   "LEVEL"
-#define SHUFFLE         "PREPROCESSING SHUFFLE"
-#define FLETCHER32      "CHECKSUM FLETCHER32"
-#define SZIP            "COMPRESSION SZIP"
-#define STORAGE_LAYOUT  "STORAGE_LAYOUT"
-#define CONTIGUOUS      "CONTIGUOUS"
-#define COMPACT         "COMPACT"
-#define CHUNKED         "CHUNKED"
-#define EXTERNAL_FILE   "EXTERNAL_FILE"
-#define FILLVALUE       "FILLVALUE"
-#define FILE_CONTENTS   "FILE_CONTENTS"
+/* Strings for output */
+#define H5_TOOLS_GROUP           "GROUP"
+#define H5_TOOLS_DATASET         "DATASET"
+#define H5_TOOLS_DATATYPE        "DATATYPE"
 
-
-#define BEGIN           "{"
-#define END             "}"
-
 /* Definitions of useful routines */
 extern void     h5tools_init(void);
 extern void     h5tools_close(void);
 extern hid_t    h5tools_fopen(const char *fname, const char *driver,
-                              char *drivername, size_t drivername_len,
-                              int argc, const char *argv[]);
-extern int      h5tools_dump_dset(FILE *stream, const h5dump_t *info, hid_t dset,
+                              char *drivername, size_t drivername_len);
+extern int      h5tools_dump_dset(FILE *stream, const h5tool_format_t *info, hid_t dset,
                                   hid_t p_typ, struct subset_t *sset, int indentlevel);
-extern int      h5tools_dump_mem(FILE *stream, const h5dump_t *info, hid_t obj_id,
+extern int      h5tools_dump_mem(FILE *stream, const h5tool_format_t *info, hid_t obj_id,
                                  hid_t type, hid_t space, void *mem, int indentlevel);
 extern hid_t    h5tools_get_native_type(hid_t type);
+extern hid_t    h5tools_get_little_endian_type(hid_t type);
+extern hid_t    h5tools_get_big_endian_type(hid_t type);
 
-extern void     h5tools_dump_simple_data(FILE *stream, const h5dump_t *info, hid_t container,
+extern void     h5tools_dump_simple_data(FILE *stream, const h5tool_format_t *info, hid_t container,
                          h5tools_context_t *ctx/*in,out*/, unsigned flags,
                          hsize_t nelmts, hid_t type, void *_mem);
 
@@ -512,7 +404,7 @@
                                  hid_t dcpl_id);
 extern int      h5tools_can_encode(H5Z_filter_t filtn);
 
-void            init_acc_pos(h5tools_context_t	*ctx, hsize_t *dims);
+void            init_acc_pos(h5tools_context_t *ctx, hsize_t *dims);
 
+#endif  /* H5TOOLS_H__ */
 
-#endif	/* H5TOOLS_H__ */

Modified: packages/hdf5/trunk/tools/lib/h5tools_filters.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_filters.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_filters.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "hdf5.h"
@@ -92,7 +93,7 @@
     return 0;
 
 /*-------------------------------------------------------------------------
- * H5Z_FILTER_DEFLATE	   1 , deflation like gzip
+ * H5Z_FILTER_DEFLATE      1 , deflation like gzip
  *-------------------------------------------------------------------------
  */
   case H5Z_FILTER_DEFLATE:
@@ -185,7 +186,7 @@
 
   switch (filtn)
   {
-    /* user defined filter	   */
+    /* user defined filter     */
   default:
     return 0;
 

Modified: packages/hdf5/trunk/tools/lib/h5tools_ref.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_ref.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_ref.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include <stdio.h>
@@ -74,15 +75,15 @@
 
     /* Create skip list to store reference path information */
     if((ref_path_table = H5SL_create(H5SL_TYPE_HADDR, 0.5, (size_t)16))==NULL)
-	return (-1);
+    return (-1);
 
     if((root_path = HDstrdup("/")) == NULL)
-	return (-1);
+    return (-1);
 
     if(H5Gget_objinfo(fid, "/", TRUE, &sb)<0) {
-	/* fatal error? */
-	HDfree(root_path);
-	return (-1);
+    /* fatal error? */
+    HDfree(root_path);
+    return (-1);
     }
 
     /* Insert into table (takes ownership of path) */
@@ -110,7 +111,7 @@
 {
     ref_path_node_t *node = (ref_path_node_t *)item;
 
-    HDfree(node->path);
+    HDfree((void *)node->path);
     HDfree(node);
 
     return(0);
@@ -163,8 +164,8 @@
 
     /* Get object ID for object at path */
     if(H5Gget_objinfo(thefile, thepath, TRUE, &sb)<0)
-	/*  fatal error ? */
-	return HADDR_UNDEF;
+    /*  fatal error ? */
+    return HADDR_UNDEF;
 
     /* Return OID or HADDR_UNDEF */
     objno = ((haddr_t)sb.objno[1] << (8*sizeof(long))) | (haddr_t)sb.objno[0];
@@ -299,10 +300,10 @@
 {
     uint8_t                *p;          /* Pointer to reference to translate */
     haddr_t                 addr;       /* Resulting address */
-    unsigned		    i;          /* Local index variable */
-    haddr_t		    tmp;        /* Temporary portion of address */
-    uint8_t		    c;          /* Byte from address */
-    hbool_t		    all_zero = TRUE;    /* If the address is all zeros, make into HADDR_UNDEF */
+    unsigned            i;          /* Local index variable */
+    haddr_t         tmp;        /* Temporary portion of address */
+    uint8_t         c;          /* Byte from address */
+    hbool_t         all_zero = TRUE;    /* If the address is all zeros, make into HADDR_UNDEF */
     ref_path_node_t        *node;       /* Ref path node found for address */
 
     /* Be safer for h5ls */
@@ -314,18 +315,18 @@
     addr = 0;
 
     for (i=0; i<sizeof(haddr_t); i++) {
-	c = *p++;
-	if (c != 0xff)
+    c = *p++;
+    if (c != 0xff)
             all_zero = FALSE;
 
-	if (i<sizeof(haddr_t)) {
-	    tmp = c;
-	    tmp <<= (i * 8);	/*use tmp to get casting right */
-	    addr |= tmp;
-	} else if (!all_zero) {
-	    assert(0 == *p);	/*overflow */
-	}
+    if (i<sizeof(haddr_t)) {
+        tmp = c;
+        tmp <<= (i * 8);    /*use tmp to get casting right */
+        addr |= tmp;
+    } else if (!all_zero) {
+        assert(0 == *p);    /*overflow */
     }
+    }
     if (all_zero)
         addr = HADDR_UNDEF;
 

Modified: packages/hdf5/trunk/tools/lib/h5tools_ref.h
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_ref.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_ref.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef H5TOOLS_REF_H__

Modified: packages/hdf5/trunk/tools/lib/h5tools_str.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_str.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_str.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -24,7 +25,7 @@
 #include <string.h>
 
 #include "H5private.h"
-#include "h5tools.h"            /*for h5dump_t structure    */
+#include "h5tools.h"            /*for h5tool_format_t structure    */
 #include "h5tools_ref.h"
 #include "h5tools_str.h"        /*function prototypes       */
 
@@ -32,11 +33,11 @@
  * If REPEAT_VERBOSE is defined then character strings will be printed so
  * that repeated character sequences like "AAAAAAAAAA" are displayed as
  *
- * 	'A' repeates 9 times
+ *  'A' repeates 9 times
  *
  * Otherwise the format is more Perl-like
  *
- * 	'A'*10
+ *  'A'*10
  *
  */
 #define REPEAT_VERBOSE
@@ -46,16 +47,18 @@
 
 static char    *h5tools_escape(char *s, size_t size);
 static hbool_t  h5tools_is_zero(const void *_mem, size_t size);
+static void     h5tools_print_char(h5tools_str_t *str, const h5tool_format_t *info, char ch);
 
+
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_close
+ * Function:    h5tools_str_close
  *
- * Purpose:	Closes a string by releasing it's memory and setting the size
- *		information to zero.
+ * Purpose: Closes a string by releasing it's memory and setting the size
+ *      information to zero.
  *
- * Return:	void
+ * Return:  void
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -72,16 +75,16 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_len
+ * Function:    h5tools_str_len
  *
- * Purpose:	Returns the length of the string, not counting the null
- *		terminator.
+ * Purpose: Returns the length of the string, not counting the null
+ *      terminator.
  *
- * Return:	Success:	Length of string
+ * Return:  Success:    Length of string
  *
- *		Failure:	0
+ *      Failure:    0
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -95,16 +98,16 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_append
+ * Function:    h5tools_str_append
  *
- * Purpose:	Formats variable arguments according to printf() format
- *		string and appends the result to variable length string STR.
+ * Purpose: Formats variable arguments according to printf() format
+ *      string and appends the result to variable length string STR.
  *
- * Return:	Success:	Pointer to buffer containing result.
+ * Return:  Success:    Pointer to buffer containing result.
  *
- *		Failure:	NULL
+ *      Failure:    NULL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -112,7 +115,7 @@
  *              Major change:  need to check results of vsnprintf to
  *              handle errors, empty format, and overflows.
  *
- * Programmer:	REMcG Matzke
+ * Programmer:  REMcG Matzke
  *              June 16, 2004
  *
  *-------------------------------------------------------------------------
@@ -126,11 +129,11 @@
 
     /* Make sure we have some memory into which to print */
     if (!str->s || str->nalloc <= 0) {
-	str->nalloc = STR_INIT_LEN;
-	str->s = malloc(str->nalloc);
-	assert(str->s);
-	str->s[0] = '\0';
-	str->len = 0;
+    str->nalloc = STR_INIT_LEN;
+    str->s = malloc(str->nalloc);
+    assert(str->s);
+    str->s[0] = '\0';
+    str->len = 0;
     }
 
     if (strlen(fmt) == 0) {
@@ -142,37 +145,37 @@
      /* Format the arguments and append to the value already in `str' */
      while (1) {
         /* How many bytes available for new value, counting the new NUL */
-	size_t avail = str->nalloc - str->len;
+    size_t avail = str->nalloc - str->len;
 
-	int nchars = HDvsnprintf(str->s + str->len, avail, fmt, ap);
+    int nchars = HDvsnprintf(str->s + str->len, avail, fmt, ap);
 
-	if (nchars<0) {
+    if (nchars<0) {
             /* failure, such as bad format */
             va_end(ap);
-	    return NULL;
+        return NULL;
         }
 
-	if ((size_t)nchars>=avail ||
-	    (0==nchars && (strcmp(fmt,"%s") ))) {
-	   /* Truncation return value as documented by C99, or zero return value with either of the
+    if ((size_t)nchars>=avail ||
+        (0==nchars && (strcmp(fmt,"%s") ))) {
+       /* Truncation return value as documented by C99, or zero return value with either of the
             * following conditions, each of which indicates that the proper C99 return value probably
             *  should have been positive when the format string is
             *  something other than "%s"
             * Alocate at least twice as much space and try again.
             */
-	   size_t newsize = MAX(str->len+nchars+1, 2*str->nalloc);
-	   assert(newsize > str->nalloc); /*overflow*/
+       size_t newsize = MAX(str->len+nchars+1, 2*str->nalloc);
+       assert(newsize > str->nalloc); /*overflow*/
 #ifndef H5_HAVE_VSNPRINTF
-	   /* If we even made it this far... the HDvsnprintf() clobbered memory: SIGSEGV probable*/
-	   abort();
+       /* If we even made it this far... the HDvsnprintf() clobbered memory: SIGSEGV probable*/
+       abort();
 #endif
-	   str->s = realloc(str->s, newsize);
-	   assert(str->s);
-	   str->nalloc = newsize;
-	} else {
-	   /* Success */
-	   str->len += nchars;
-	   break;
+       str->s = realloc(str->s, newsize);
+       assert(str->s);
+       str->nalloc = newsize;
+    } else {
+       /* Success */
+       str->len += nchars;
+       break;
         }
      }
      va_end(ap);
@@ -180,17 +183,17 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_reset
+ * Function:    h5tools_str_reset
  *
- * Purpose:	Reset the string to the empty value. If no memory is
- *		allocated yet then initialize the h5tools_str_t struct.
+ * Purpose: Reset the string to the empty value. If no memory is
+ *      allocated yet then initialize the h5tools_str_t struct.
  *
- * Return:	Success:	Ptr to the buffer which contains a null
- *				character as the first element.
+ * Return:  Success:    Ptr to the buffer which contains a null
+ *              character as the first element.
  *
- *		Failure:	NULL
+ *      Failure:    NULL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -201,9 +204,9 @@
 h5tools_str_reset(h5tools_str_t *str/*in,out*/)
 {
     if (!str->s || str->nalloc <= 0) {
-	str->nalloc = STR_INIT_LEN;
-	str->s = malloc(str->nalloc);
-	assert(str->s);
+    str->nalloc = STR_INIT_LEN;
+    str->s = malloc(str->nalloc);
+    assert(str->s);
     }
 
     str->s[0] = '\0';
@@ -212,15 +215,15 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_trunc
+ * Function:    h5tools_str_trunc
  *
- * Purpose:	Truncate a string to be at most SIZE characters.
+ * Purpose: Truncate a string to be at most SIZE characters.
  *
- * Return:	Success:	Pointer to the string
+ * Return:  Success:    Pointer to the string
  *
- *		Failure:	NULL
+ *      Failure:    NULL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -231,27 +234,27 @@
 h5tools_str_trunc(h5tools_str_t *str/*in,out*/, size_t size)
 {
     if (size < str->len) {
-	str->len = size;
-	str->s[size] = '\0';
+    str->len = size;
+    str->s[size] = '\0';
     }
 
     return str->s;
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_fmt
+ * Function:    h5tools_str_fmt
  *
- * Purpose:	Reformat a string contents beginning at character START
- *		according to printf format FMT. FMT should contain no format
- *		specifiers except possibly the `%s' variety. For example, if
- *		the input string is `hello' and the format is "<<%s>>" then
- *		the output value will be "<<hello>>".
+ * Purpose: Reformat a string contents beginning at character START
+ *      according to printf format FMT. FMT should contain no format
+ *      specifiers except possibly the `%s' variety. For example, if
+ *      the input string is `hello' and the format is "<<%s>>" then
+ *      the output value will be "<<hello>>".
  *
- * Return:	Success:	A pointer to the resulting string.
+ * Return:  Success:    A pointer to the resulting string.
  *
- *		Failure:	NULL
+ *      Failure:    NULL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -292,15 +295,15 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_prefix
+ * Function:    h5tools_str_prefix
  *
- * Purpose:	Renders the line prefix value into string STR.
+ * Purpose: Renders the line prefix value into string STR.
  *
- * Return:	Success:	Pointer to the prefix.
+ * Return:  Success:    Pointer to the prefix.
  *
- * 		Failure:	NULL
+ *      Failure:    NULL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Thursday, July 23, 1998
  *
  * Modifications:
@@ -308,12 +311,12 @@
  *-------------------------------------------------------------------------
  */
 char *
-h5tools_str_prefix(h5tools_str_t *str/*in,out*/, const h5dump_t *info,
+h5tools_str_prefix(h5tools_str_t *str/*in,out*/, const h5tool_format_t *info,
                    hsize_t elmtno, int ndims, hsize_t min_idx[],
                    hsize_t max_idx[], h5tools_context_t *ctx)
 {
     hsize_t p_prod[H5S_MAX_RANK];
-    hsize_t i = 0;
+    size_t i = 0;
     hsize_t curr_pos=elmtno;
 
     h5tools_str_reset(str);
@@ -338,12 +341,12 @@
             if (i)
                 h5tools_str_append(str, "%s", OPT(info->idx_sep, ","));
 
-            h5tools_str_append(str, OPT(info->idx_n_fmt, "%lu"),
-                               (unsigned long)ctx->pos[i]);
+            h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT),
+                               (hsize_t)ctx->pos[i]);
         }
     } else {
         /* Scalar */
-        h5tools_str_append(str, OPT(info->idx_n_fmt, "%lu"), (unsigned long)0);
+        h5tools_str_append(str, OPT(info->idx_n_fmt, HSIZE_T_FORMAT), (hsize_t)0);
     }
 
     /* Add prefix and suffix to the index */
@@ -351,16 +354,16 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_dump_region
+ * Function:    h5tools_str_dump_region
  *
- * Purpose:	Prints information about a dataspace region by appending
- *		the information to the specified string.
+ * Purpose: Prints information about a dataspace region by appending
+ *      the information to the specified string.
  *
- * Return:	Success:	0
+ * Return:  Success:    0
  *
- *		Failure:	NULL
+ *      Failure:    NULL
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, June  7, 1999
  *
  * Modifications:
@@ -368,12 +371,12 @@
  *-------------------------------------------------------------------------
  */
 int
-h5tools_str_dump_region(h5tools_str_t *str, hid_t region, const h5dump_t *info)
+h5tools_str_dump_region(h5tools_str_t *str, hid_t region, const h5tool_format_t *info)
 {
-    hssize_t	nblocks, npoints;
+    hssize_t    nblocks, npoints;
     hsize_t     alloc_size;
     hsize_t    *ptdata;
-    int		ndims = H5Sget_simple_extent_ndims(region);
+    int     ndims = H5Sget_simple_extent_ndims(region);
 
     /*
      * These two functions fail if the region does not have blocks or points,
@@ -451,124 +454,128 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_print_char
+ * Function:    h5tools_print_char
  *
- * Purpose:	Shove a character into the STR.
+ * Purpose: Shove a character into the STR.
  *
- * Return:	Nothing
+ * Return:  Nothing
  *
- * Programmer:	Bill Wendling
+ * Programmer:  Bill Wendling
  *              Tuesday, 20. February 2001
  *
  * Modifications:
  *
  *-------------------------------------------------------------------------
  */
-void
-h5tools_print_char(h5tools_str_t *str, const h5dump_t *info, unsigned char ch)
+
+static void
+h5tools_print_char(h5tools_str_t *str, const h5tool_format_t *info, char ch)
 {
     if (info->str_locale == ESCAPE_HTML) {
         if (ch <= ' ' || ch > '~')
             h5tools_str_append(str, "%%%02x", ch);
         else
-            h5tools_str_append(str, "%c", (char)ch);
+            h5tools_str_append(str, "%c", ch);
     } else {
         switch (ch) {
-        case '"':
-           if (!info->do_escape)
-            h5tools_str_append(str, "\"");
-           else
-            h5tools_str_append(str, "\\\"");
-            break;
-        case '\\':
-          if (!info->do_escape)
-            h5tools_str_append(str, "\\");
-          else
-            h5tools_str_append(str, "\\\\");
-            break;
-        case '\b':
-           if (!info->do_escape)
-            h5tools_str_append(str, "\b");
-           else
-            h5tools_str_append(str, "\\b");
-            break;
-        case '\f':
-           if (!info->do_escape)
-             h5tools_str_append(str, "\f");
-           else
-             h5tools_str_append(str, "\\f");
-            break;
-        case '\n':
-           if (!info->do_escape) {
-             h5tools_str_append(str, "\n");
-             h5tools_str_append(str, "           ");
-           }
-           else
-            h5tools_str_append(str, "\\n");
-         break;
-        case '\r':
-         if (!info->do_escape) {
-           h5tools_str_append(str, "\r");
-           h5tools_str_append(str, "           ");
-         }
-          else
-            h5tools_str_append(str, "\\r");
-            break;
-        case '\t':
-          if (!info->do_escape)
-           h5tools_str_append(str, "\t");
-          else
-           h5tools_str_append(str, "\\t");
-            break;
-        default:
-            if (isprint(ch))
-                h5tools_str_append(str, "%c", (char)ch);
-            else
-                h5tools_str_append(str, "\\%03o", ch);
+            case '"':
+               if (!info->do_escape)
+                h5tools_str_append(str, "\"");
+               else
+                h5tools_str_append(str, "\\\"");
+                break;
+            case '\\':
+              if (!info->do_escape)
+                h5tools_str_append(str, "\\");
+              else
+                h5tools_str_append(str, "\\\\");
+                break;
+            case '\b':
+               if (!info->do_escape)
+                h5tools_str_append(str, "\b");
+               else
+                h5tools_str_append(str, "\\b");
+                break;
+            case '\f':
+               if (!info->do_escape)
+                 h5tools_str_append(str, "\f");
+               else
+                 h5tools_str_append(str, "\\f");
+                break;
+            case '\n':
+               if (!info->do_escape) {
+                 h5tools_str_append(str, "\n");
+                 h5tools_str_append(str, "           ");
+               }
+               else
+                h5tools_str_append(str, "\\n");
+             break;
+            case '\r':
+             if (!info->do_escape) {
+               h5tools_str_append(str, "\r");
+               h5tools_str_append(str, "           ");
+             }
+              else
+                h5tools_str_append(str, "\\r");
+                break;
+            case '\t':
+              if (!info->do_escape)
+               h5tools_str_append(str, "\t");
+              else
+               h5tools_str_append(str, "\\t");
+                break;
+            default:
+                if (isprint(ch))
+                    h5tools_str_append(str, "%c", ch);
+                else
+                    h5tools_str_append(str, "\\%03o", ch);
 
-            break;
+                break;
         }
     }
 }
 
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_str_sprint
+ * Function:    h5tools_str_sprint
  *
- * Purpose:	Renders the value pointed to by VP of type TYPE into variable
- *		length string STR.
+ * Purpose: Renders the value pointed to by VP of type TYPE into variable
+ *      length string STR.
  *
- * Return:	A pointer to memory containing the result or NULL on error.
+ * Return:  A pointer to memory containing the result or NULL on error.
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Thursday, July 23, 1998
  *
  * Modifications:
- * 		Robb Matzke, 1999-04-26
- *		Made this function safe from overflow problems by allowing it
- *		to reallocate the output string.
+ *      Robb Matzke, 1999-04-26
+ *      Made this function safe from overflow problems by allowing it
+ *      to reallocate the output string.
  *
- * 		Robb Matzke, 1999-06-04
- *		Added support for object references. The new `container'
- *		argument is the dataset where the reference came from.
+ *      Robb Matzke, 1999-06-04
+ *      Added support for object references. The new `container'
+ *      argument is the dataset where the reference came from.
  *
- * 		Robb Matzke, 1999-06-07
- *		Added support for printing raw data. If info->raw is non-zero
- *		then data is printed in hexadecimal format.
+ *      Robb Matzke, 1999-06-07
+ *      Added support for printing raw data. If info->raw is non-zero
+ *      then data is printed in hexadecimal format.
  *
- *              Robb Matzke, 2003-01-10
- *              Binary output format is dd:dd:... instead of 0xdddd... so it
- *              doesn't look like a hexadecimal integer, and thus users will
- *              be less likely to complain that HDF5 didn't properly byte
- *              swap their data during type conversion.
+ *  Robb Matzke, 2003-01-10
+ *  Binary output format is dd:dd:... instead of 0xdddd... so it
+ *  doesn't look like a hexadecimal integer, and thus users will
+ *  be less likely to complain that HDF5 didn't properly byte
+ *  swap their data during type conversion.
  *
- *              Robb Matzke, LLNL, 2003-06-05
- *              If TYPE is a variable length string then the pointer to
- *              the value to pring (VP) is a pointer to a `char*'.
+ *  Robb Matzke, LLNL, 2003-06-05
+ *  If TYPE is a variable length string then the pointer to
+ *  the value to pring (VP) is a pointer to a `char*'.
+ *
+ *  PVN, 28 March 2006
+ *  added H5T_NATIVE_LDOUBLE case
  *-------------------------------------------------------------------------
  */
 char *
-h5tools_str_sprint(h5tools_str_t *str, const h5dump_t *info, hid_t container,
+h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t container,
                    hid_t type, void *vp, h5tools_context_t *ctx)
 {
     size_t         n, offset, size=0, nelmts, start;
@@ -577,7 +584,7 @@
     char          *cp_vp = (char *)vp;
     hid_t          memb, obj, region;
     unsigned       nmembs;
-    int	           otype;
+    int            otype;
     static char    fmt_llong[8], fmt_ullong[8];
     H5T_str_t      pad;
     H5G_stat_t     sb;
@@ -596,6 +603,9 @@
     int                tempint;
     unsigned short     tempushort;
     short              tempshort;
+#if H5_SIZEOF_LONG_DOUBLE !=0
+    long double        templdouble;
+#endif
 
     /* Build default formats for long long types */
     if (!fmt_llong[0]) {
@@ -623,9 +633,14 @@
     } else if (H5Tequal(type, H5T_NATIVE_DOUBLE)) {
         memcpy(&tempdouble, vp, sizeof(double));
         h5tools_str_append(str, OPT(info->fmt_double, "%g"), tempdouble);
+#if H5_SIZEOF_LONG_DOUBLE !=0
+    } else if (H5Tequal(type, H5T_NATIVE_LDOUBLE)) {
+      memcpy(&templdouble, vp, sizeof(long double));
+      h5tools_str_append(str, "%Lf", templdouble);
+#endif
     } else if (info->ascii && (H5Tequal(type, H5T_NATIVE_SCHAR) ||
                                H5Tequal(type, H5T_NATIVE_UCHAR))) {
-        h5tools_print_char(str, info, (unsigned char)(*ucp_vp));
+        h5tools_print_char(str, info, (char)(*ucp_vp));
     } else if (H5T_STRING == H5Tget_class(type)) {
         unsigned int i;
         char quote = '\0';
@@ -679,7 +694,7 @@
                 }
 
                 /* Print the character */
-                h5tools_print_char(str, info, (unsigned char)(s[i]));
+                h5tools_print_char(str, info, s[i]);
 
                 /* Print the repeat count */
                 if (info->str_repeat && j > info->str_repeat) {
@@ -864,15 +879,15 @@
             /* Print object type and close object */
             switch (otype) {
                 case H5G_GROUP:
-                    h5tools_str_append(str, GROUPNAME);
+                    h5tools_str_append(str, H5_TOOLS_GROUP);
                     H5Gclose(obj);
                     break;
                 case H5G_DATASET:
-                    h5tools_str_append(str, DATASET);
+                    h5tools_str_append(str, H5_TOOLS_DATASET);
                     H5Dclose(obj);
                     break;
                 case H5G_TYPE:
-                    h5tools_str_append(str, DATATYPE);
+                    h5tools_str_append(str, H5_TOOLS_DATATYPE);
                     H5Tclose(obj);
                     break;
                 default:
@@ -897,7 +912,7 @@
         }
     } else if (H5Tget_class(type) == H5T_ARRAY) {
         int k, ndims;
-        hsize_t	i, dims[H5S_MAX_RANK],temp_nelmts;
+        hsize_t i, dims[H5S_MAX_RANK],temp_nelmts;
 
         /* Get the array's base datatype for each element */
         memb = H5Tget_super(type);
@@ -908,11 +923,11 @@
 
         /* Calculate the number of array elements */
         for (k = 0, nelmts = 1; k < ndims; k++){
-			temp_nelmts = nelmts;
-			temp_nelmts *= dims[k];
-			assert(temp_nelmts==(hsize_t)((size_t)temp_nelmts));
+            temp_nelmts = nelmts;
+            temp_nelmts *= dims[k];
+            assert(temp_nelmts==(hsize_t)((size_t)temp_nelmts));
             nelmts = (size_t)temp_nelmts;
-		}
+        }
         /* Print the opening bracket */
         h5tools_str_append(str, "%s", OPT(info->arr_pre, "["));
 
@@ -948,7 +963,7 @@
         } /* end for */
 
         /* Print the closing bracket */
- 	h5tools_str_append(str, "%s", OPT(info->arr_suf, "]"));
+    h5tools_str_append(str, "%s", OPT(info->arr_suf, "]"));
         H5Tclose(memb);
     } else if (H5Tget_class(type) == H5T_VLEN) {
         unsigned int i;
@@ -1011,18 +1026,18 @@
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_escape
+ * Function:    h5tools_escape
  *
- * Purpose:	Changes all "funny" characters in S into standard C escape
- *		sequences.
+ * Purpose: Changes all "funny" characters in S into standard C escape
+ *      sequences.
  *
- * Return:	Success:	S
+ * Return:  Success:    S
  *
- *		Failure:	NULL if the buffer would overflow. The
- *				buffer has as many left-to-right escapes as
- *				possible before overflow would have happened.
+ *      Failure:    NULL if the buffer would overflow. The
+ *              buffer has as many left-to-right escapes as
+ *              possible before overflow would have happened.
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, April 26, 1999
  *
  * Modifications:
@@ -1038,76 +1053,76 @@
     char octal[8];
 
     for (i = 0; i < n; i++) {
-	switch (s[i]) {
-	case '\'':
-	    escape = "\\\'";
-	    break;
-	case '\"':
-	    escape = "\\\"";
-	    break;
-	case '\\':
-	    escape = "\\\\";
-	    break;
-	case '\?':
-	    escape = "\\\?";
-	    break;
-	case '\a':
-	    escape = "\\a";
-	    break;
-	case '\b':
-	    escape = "\\b";
-	    break;
-	case '\f':
-	    escape = "\\f";
-	    break;
-	case '\n':
-	    escape = "\\n";
-	    break;
-	case '\r':
-	    escape = "\\r";
-	    break;
-	case '\t':
-	    escape = "\\t";
-	    break;
-	case '\v':
-	    escape = "\\v";
-	    break;
-	default:
-	    if (!isprint(s[i])) {
-		sprintf(octal, "\\%03o", (unsigned char)s[i]);
-		escape = octal;
-	    } else {
-		escape = NULL;
-	    }
+    switch (s[i]) {
+    case '\'':
+        escape = "\\\'";
+        break;
+    case '\"':
+        escape = "\\\"";
+        break;
+    case '\\':
+        escape = "\\\\";
+        break;
+    case '\?':
+        escape = "\\\?";
+        break;
+    case '\a':
+        escape = "\\a";
+        break;
+    case '\b':
+        escape = "\\b";
+        break;
+    case '\f':
+        escape = "\\f";
+        break;
+    case '\n':
+        escape = "\\n";
+        break;
+    case '\r':
+        escape = "\\r";
+        break;
+    case '\t':
+        escape = "\\t";
+        break;
+    case '\v':
+        escape = "\\v";
+        break;
+    default:
+        if (!isprint(s[i])) {
+        sprintf(octal, "\\%03o", (unsigned char)s[i]);
+        escape = octal;
+        } else {
+        escape = NULL;
+        }
 
-	    break;
-	}
+        break;
+    }
 
-	if (escape) {
-	    size_t esc_size = strlen(escape);
+    if (escape) {
+        size_t esc_size = strlen(escape);
 
-	    if (n + esc_size + 1 > size)
-		/*would overflow*/
-		return NULL;
+        if (n + esc_size + 1 > size)
+        /*would overflow*/
+        return NULL;
 
-	    memmove(s + i + esc_size, s + i + 1, n - i); /*make room*/
-	    memcpy(s + i, escape, esc_size); /*insert*/
-	    n += esc_size - 1;  /* adjust total string size */
-	    i += esc_size;      /* adjust string position */
-	}
+        memmove(s + i + esc_size, s + i + 1, n - i); /*make room*/
+        memcpy(s + i, escape, esc_size); /*insert*/
+        n += esc_size - 1;  /* adjust total string size */
+        i += esc_size;      /* adjust string position */
     }
+    }
 
     return s;
 }
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_is_zero
+ * Function:    h5tools_is_zero
  *
- * Purpose:	Determines if memory is initialized to all zero bytes.
+ * Purpose: Determines if memory is initialized to all zero bytes.
  *
- * Return:	TRUE if all bytes are zero; FALSE otherwise
+ * Return:  TRUE if all bytes are zero; FALSE otherwise
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Monday, June  7, 1999
  *
  * Modifications:
@@ -1120,8 +1135,8 @@
     const unsigned char *mem = (const unsigned char *)_mem;
 
     while (size-- > 0)
-	if (mem[size])
-	    return FALSE;
+    if (mem[size])
+        return FALSE;
 
     return TRUE;
 }

Modified: packages/hdf5/trunk/tools/lib/h5tools_str.h
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_str.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_str.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -20,9 +21,9 @@
 #define H5TOOLS_STR_H__
 
 typedef struct h5tools_str_t {
-    char	*s;		/*allocate string		*/
-    size_t	len;		/*length of actual value	*/
-    size_t	nalloc;		/*allocated size of string	*/
+    char    *s;     /*allocate string       */
+    size_t  len;        /*length of actual value    */
+    size_t  nalloc;     /*allocated size of string  */
 } h5tools_str_t;
 
 extern void     h5tools_str_close(h5tools_str_t *str);
@@ -31,12 +32,11 @@
 extern char    *h5tools_str_reset(h5tools_str_t *str);
 extern char    *h5tools_str_trunc(h5tools_str_t *str, size_t size);
 extern char    *h5tools_str_fmt(h5tools_str_t *str, size_t start, const char *fmt);
-extern char    *h5tools_str_prefix(h5tools_str_t *str, const h5dump_t *info,
+extern char    *h5tools_str_prefix(h5tools_str_t *str, const h5tool_format_t *info,
                                    hsize_t elmtno, int ndims, hsize_t min_idx[],
-                                   hsize_t max_idx[],h5tools_context_t *ctx);
-extern int      h5tools_str_dump_region(h5tools_str_t *, hid_t, const h5dump_t *);
-extern void     h5tools_print_char(h5tools_str_t *str, const h5dump_t *info, unsigned char ch);
-extern char    *h5tools_str_sprint(h5tools_str_t *str, const h5dump_t *info,
+                                   hsize_t max_idx[], h5tools_context_t *ctx);
+extern int      h5tools_str_dump_region(h5tools_str_t *, hid_t, const h5tool_format_t *);
+extern char    *h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info,
                                    hid_t container, hid_t type, void *vp,
                                    h5tools_context_t *ctx);
 

Modified: packages/hdf5/trunk/tools/lib/h5tools_type.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_type.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_type.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,23 +9,23 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #include "h5tools.h"
 
 /*-------------------------------------------------------------------------
- * Function:	h5tools_get_native_type
+ * Function:    h5tools_get_native_type
  *
- * Purpose:	Wrapper around H5Tget_native_type() to work around
- *		Problems with bitfields.
+ * Purpose: Wrapper around H5Tget_native_type() to work around
+ *      Problems with bitfields.
  *
- * Return:	Success:    datatype ID
+ * Return:  Success:    datatype ID
  *
- *		Failure:    FAIL
+ *      Failure:    FAIL
  *
- * Programmer:	Quincey Koziol
+ * Programmer:  Quincey Koziol
  *              Tuesday, October  5, 2004
  *
  * Modifications:
@@ -46,3 +47,156 @@
     return(p_type);
 }
 
+/*-------------------------------------------------------------------------
+ * Function: h5tools_get_little_endian_type
+ *
+ * Purpose: Get a little endian type from a file type
+ *
+ * Return: Success:    datatype ID
+ *         Failure:    FAIL
+ *
+ * Programmer: Pedro Vicente Nunes
+ *             Tuesday, July 18, 2006
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+h5tools_get_little_endian_type(hid_t tid)
+{
+ hid_t       p_type=-1;
+ H5T_class_t type_class;
+ size_t      size;
+ H5T_sign_t  sign;
+
+ type_class = H5Tget_class(tid);
+ size       = H5Tget_size(tid);
+ sign       = H5Tget_sign(tid);
+
+ switch( type_class ) 
+ {
+ case H5T_INTEGER:
+  {
+   if ( size == 1 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I8LE);
+   else if ( size == 2 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I16LE);
+   else if ( size == 4 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I32LE);
+   else if ( size == 8 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I64LE);
+   else if ( size == 1 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U8LE); 
+   else if ( size == 2 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U16LE);
+   else if ( size == 4 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U32LE);
+   else if ( size == 8 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U64LE);
+  }
+  break;
+  
+ case H5T_FLOAT:
+  if ( size == 4)
+   p_type=H5Tcopy(H5T_IEEE_F32LE);
+  else if ( size == 8)
+   p_type=H5Tcopy(H5T_IEEE_F64LE);
+  break;
+  
+ case H5T_TIME:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_STRING:
+ case H5T_COMPOUND:
+ case H5T_REFERENCE:
+ case H5T_ENUM:
+ case H5T_VLEN:
+ case H5T_ARRAY:
+  break;
+   
+ default:
+  break;
+  
+ }
+
+ return(p_type);
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: h5tools_get_big_endian_type
+ *
+ * Purpose: Get a big endian type from a file type
+ *
+ * Return: Success:    datatype ID
+ *         Failure:    FAIL
+ *
+ * Programmer: Pedro Vicente Nunes
+ *             Tuesday, July 18, 2006
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+h5tools_get_big_endian_type(hid_t tid)
+{
+ hid_t       p_type=-1;
+ H5T_class_t type_class;
+ size_t      size;
+ H5T_sign_t  sign;
+
+ type_class = H5Tget_class(tid);
+ size       = H5Tget_size(tid);
+ sign       = H5Tget_sign(tid);
+
+ switch( type_class ) 
+ {
+ case H5T_INTEGER:
+  {
+   if ( size == 1 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I8BE);
+   else if ( size == 2 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I16BE);
+   else if ( size == 4 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I32BE);
+   else if ( size == 8 && sign == H5T_SGN_2)
+    p_type=H5Tcopy(H5T_STD_I64BE);
+   else if ( size == 1 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U8BE); 
+   else if ( size == 2 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U16BE);
+   else if ( size == 4 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U32BE);
+   else if ( size == 8 && sign == H5T_SGN_NONE)
+    p_type=H5Tcopy(H5T_STD_U64BE);
+  }
+  break;
+  
+ case H5T_FLOAT:
+  if ( size == 4)
+   p_type=H5Tcopy(H5T_IEEE_F32BE);
+  else if ( size == 8)
+   p_type=H5Tcopy(H5T_IEEE_F64BE);
+  break;
+  
+ case H5T_TIME:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_STRING:
+ case H5T_COMPOUND:
+ case H5T_REFERENCE:
+ case H5T_ENUM:
+ case H5T_VLEN:
+ case H5T_ARRAY:
+  break;
+   
+ default:
+  break;
+  
+ }
+
+ 
+ return(p_type);
+}

Modified: packages/hdf5/trunk/tools/lib/h5tools_utils.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_utils.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_utils.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -49,14 +50,14 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	error_msg
+ * Function:    error_msg
  *
- * Purpose:	Print a nicely formatted error message to stderr flushing the
+ * Purpose: Print a nicely formatted error message to stderr flushing the
  *              stdout stream first.
  *
- * Return:	Nothing
+ * Return:  Nothing
  *
- * Programmer:	Bill Wendling
+ * Programmer:  Bill Wendling
  *              Tuesday, 20. February 2001
  *
  * Modifications:
@@ -78,14 +79,14 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	warn_msg
+ * Function:    warn_msg
  *
- * Purpose:	Print a nicely formatted warning message to stderr flushing
+ * Purpose: Print a nicely formatted warning message to stderr flushing
  *              the stdout stream first.
  *
- * Return:	Nothing
+ * Return:  Nothing
  *
- * Programmer:	Bill Wendling
+ * Programmer:  Bill Wendling
  *              Tuesday, 20. February 2001
  *
  * Modifications:
@@ -111,18 +112,18 @@
 
 
 /*-------------------------------------------------------------------------
- * Function:	get_option
+ * Function:    get_option
  *
- * Purpose:	Determine the command-line options a user specified. We can
- *		accept both short and long type command-lines.
+ * Purpose: Determine the command-line options a user specified. We can
+ *      accept both short and long type command-lines.
  *
- * Return:	Success:	The short valued "name" of the command line
- * 				parameter or EOF if there are no more
- * 				parameters to process.
+ * Return:  Success:    The short valued "name" of the command line
+ *              parameter or EOF if there are no more
+ *              parameters to process.
  *
- *		Failure:	A question mark.
+ *      Failure:    A question mark.
  *
- * Programmer:	Bill Wendling
+ * Programmer:  Bill Wendling
  *              Friday, 5. January 2001
  *
  * Modifications:
@@ -282,7 +283,7 @@
  * Function:    print_version
  *
  * Purpose:     Print the program name and the version information which is
- *		defined the same as the HDF5 library version.
+ *      defined the same as the HDF5 library version.
  *
  * Return:      void
  *
@@ -377,9 +378,9 @@
 
     printf("%s: # of entries = %d\n", tablename,table->nobjs);
     for (u = 0; u < table->nobjs; u++)
-	HDfprintf(stdout,"%a %s %d %d\n", table->objs[u].objno,
-	       table->objs[u].objname,
-	       table->objs[u].displayed, table->objs[u].recorded);
+    HDfprintf(stdout,"%a %s %d %d\n", table->objs[u].objno,
+           table->objs[u].objname,
+           table->objs[u].displayed, table->objs[u].recorded);
 }
 
 
@@ -429,7 +430,7 @@
 
     for (u = 0; u < table->nobjs; u++)
         if (table->objs[u].objno == objno)
-	    return &(table->objs[u]);
+        return &(table->objs[u]);
 
     return NULL;
 }
@@ -486,81 +487,83 @@
     find_objs_t *info = (find_objs_t*)op_data;
     herr_t ret_value = 0;
 
-    H5Gget_objinfo(group, name, TRUE, &statbuf);
+    if(H5Gget_objinfo(group, name, FALSE, &statbuf) < 0)
+        ;     /* keep going */
+    else {
+        switch (statbuf.type) {
+            char *tmp;
 
-    switch (statbuf.type) {
-        char *tmp;
+            case H5G_GROUP:
+                if (search_obj(info->group_table, statbuf.objno) == NULL) {
+                    char *old_prefix;
 
-        case H5G_GROUP:
-            if (search_obj(info->group_table, statbuf.objno) == NULL) {
-                char *old_prefix;
+                    tmp = build_obj_path_name(info->prefix, name);
+                    add_obj(info->group_table, statbuf.objno, tmp, TRUE);
 
-                tmp = build_obj_path_name(info->prefix, name);
-                add_obj(info->group_table, statbuf.objno, tmp, TRUE);
+                    old_prefix = info->prefix;
+                    info->prefix = tmp;
 
-                old_prefix = info->prefix;
-                info->prefix = tmp;
+                    if(H5Giterate(group, name, NULL, find_objs_cb, (void *)info) < 0)
+                        ret_value = FAIL;
 
-                if(H5Giterate(group, name, NULL, find_objs_cb, (void *)info) < 0)
-                    ret_value = FAIL;
+                    info->prefix = old_prefix;
+                } /* end if */
+                break;
 
-                info->prefix = old_prefix;
-            } /* end if */
-            break;
+            case H5G_DATASET:
+                if (search_obj(info->dset_table, statbuf.objno) == NULL) {
+                    hid_t dset;
 
-        case H5G_DATASET:
-            if (search_obj(info->dset_table, statbuf.objno) == NULL) {
-                hid_t dset;
+                    tmp = build_obj_path_name(info->prefix, name);
+                    add_obj(info->dset_table, statbuf.objno, tmp, TRUE);
 
-                tmp = build_obj_path_name(info->prefix, name);
-                add_obj(info->dset_table, statbuf.objno, tmp, TRUE);
+                    if ((dset = H5Dopen (group, name)) >= 0) {
+                        hid_t type;
 
-                if ((dset = H5Dopen (group, name)) >= 0) {
-                    hid_t type;
+                        type = H5Dget_type(dset);
 
-                    type = H5Dget_type(dset);
+                        if (H5Tcommitted(type) > 0) {
+                            H5Gget_objinfo(type, ".", TRUE, &statbuf);
 
-                    if (H5Tcommitted(type) > 0) {
-                        H5Gget_objinfo(type, ".", TRUE, &statbuf);
+                            if (search_obj(info->type_table, statbuf.objno) == NULL) {
+                                char *type_name = HDstrdup(tmp);
 
-                        if (search_obj(info->type_table, statbuf.objno) == NULL) {
-                            char *type_name = HDstrdup(tmp);
+                                add_obj(info->type_table, statbuf.objno, type_name, FALSE);
+                            } /* end if */
+                        }
 
-                            add_obj(info->type_table, statbuf.objno, type_name, FALSE);
-                        } /* end if */
+                        H5Tclose(type);
+                        H5Dclose(dset);
+                    } else {
+                        ret_value = FAIL;
                     }
+                } /* end if */
+                break;
 
-                    H5Tclose(type);
-                    H5Dclose(dset);
-                } else {
-                    ret_value = FAIL;
-                }
-            } /* end if */
-            break;
+            case H5G_TYPE:
+            {
+                obj_t *found_obj;
 
-        case H5G_TYPE:
-        {
-            obj_t *found_obj;
+                tmp = build_obj_path_name(info->prefix, name);
+                if ((found_obj = search_obj(info->type_table, statbuf.objno)) == NULL)
+                    add_obj(info->type_table, statbuf.objno, tmp, TRUE);
+                else {
+                    /* Use latest version of name */
+                    HDfree(found_obj->objname);
+                    found_obj->objname = HDstrdup(tmp);
 
-            tmp = build_obj_path_name(info->prefix, name);
-            if ((found_obj = search_obj(info->type_table, statbuf.objno)) == NULL)
-                add_obj(info->type_table, statbuf.objno, tmp, TRUE);
-            else {
-                /* Use latest version of name */
-                HDfree(found_obj->objname);
-                found_obj->objname = HDstrdup(tmp);
+                    /* Mark named datatype as having valid name */
+                    found_obj->recorded = TRUE;
+                } /* end else */
+                break;
+            }
 
-                /* Mark named datatype as having valid name */
-                found_obj->recorded = TRUE;
-            } /* end else */
-            break;
+            default:
+                /* Ignore links, etc. */
+                break;
         }
+    } /* end else */
 
-        default:
-            /* Ignore links, etc. */
-            break;
-    }
-
     return ret_value;
 }
 
@@ -590,11 +593,35 @@
     init_table(type_table);
 
     /* Init the find_objs_t */
-    info->prefix = "";
+    info->prefix = (char *)"";
     info->group_table = *group_table;
     info->type_table = *type_table;
     info->dset_table = *dset_table;
 
+    {
+     /* add the root group as an object, it may have hard links to it */
+     
+     H5G_stat_t statbuf;
+     unsigned long   objno[2];   /*object number         */
+     char*      tmp;
+     
+     if(H5Gget_objinfo(fid, "/", FALSE, &statbuf) < 0)
+         return FAIL;
+     else 
+     {
+         objno[0] = (unsigned long)(statbuf.objno[0]);
+#if H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG
+         objno[1] = (unsigned long)(statbuf.objno[1] >> 8*sizeof(long));
+#else /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
+         objno[1] = 0;
+#endif /* H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG */
+
+         /* call with an empty string, it appends group separator */
+         tmp = build_obj_path_name(info->prefix, "");
+         add_obj(info->group_table, objno, tmp, TRUE);
+     }
+    }
+
     /* Find all shared objects */
     return(H5Giterate(fid, "/", NULL, find_objs_cb, (void *)info));
 }

Modified: packages/hdf5/trunk/tools/lib/h5tools_utils.h
===================================================================
--- packages/hdf5/trunk/tools/lib/h5tools_utils.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5tools_utils.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -32,7 +33,7 @@
 
 enum {
     no_arg = 0,         /* doesn't take an argument     */
-    require_arg,        /* requires an argument	        */
+    require_arg,        /* requires an argument         */
     optional_arg        /* argument is optional         */
 };
 
@@ -43,23 +44,23 @@
  * the option. The long options are specified in the following way:
  *
  * struct long_options foo[] = {
- * 	{ "filename", require_arg, 'f' },
- * 	{ "append", no_arg, 'a' },
- * 	{ "width", require_arg, 'w' },
- * 	{ NULL, 0, 0 }
+ *  { "filename", require_arg, 'f' },
+ *  { "append", no_arg, 'a' },
+ *  { "width", require_arg, 'w' },
+ *  { NULL, 0, 0 }
  * };
  *
  * Long named options can have arguments specified as either:
  *
- * 	``--param=arg'' or ``--param arg''
+ *  ``--param=arg'' or ``--param arg''
  *
  * Short named options can have arguments specified as either:
  *
- * 	``-w80'' or ``-w 80''
+ *  ``-w80'' or ``-w 80''
  *
  * and can have more than one short named option specified at one time:
  *
- * 	-aw80
+ *  -aw80
  *
  * in which case those options which expect an argument need to come at the
  * end.
@@ -115,4 +116,4 @@
     table_t **dset_table, table_t **type_table);
 extern obj_t   *search_obj(table_t *temp, unsigned long *objno);
 
-#endif	/* H5TOOLS_UTILS_H__ */
+#endif  /* H5TOOLS_UTILS_H__ */

Modified: packages/hdf5/trunk/tools/lib/h5trav.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5trav.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5trav.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,32 +9,41 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 
 #include "h5trav.h"
 #include "H5private.h"
 
-/* functions for traversal */
-int traverse( hid_t loc_id,
-              const char *group_name,
-              trav_table_t *table,
-              trav_info_t *info,
-              int *idx,
-              int print);
+/*-------------------------------------------------------------------------
+ * local functions
+ *-------------------------------------------------------------------------
+ */
+static int traverse( hid_t loc_id,
+                     const char *group_name,
+                     trav_table_t *table,
+                     trav_info_t *info,
+                     int *idx,
+                     int print);
 
-herr_t get_nnames( hid_t loc_id,
-                   const char *group_name );
+static hssize_t get_nnames( hid_t loc_id,
+                            const char *group_name );
 
-herr_t get_name_type( hid_t loc_id,
-                      const char *group_name,
-                      int idx,
-                      char **name,
-                      H5G_obj_t1 *type );
+static herr_t get_name_type( hid_t loc_id,
+                             const char *group_name,
+                             int idx,
+                             char **name,
+                             H5G_obj_t1 *type );
 
+
 /*-------------------------------------------------------------------------
+ * "h5trav info" public functions. used in h5diff
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
  * Function: h5trav_getinfo
  *
  * Purpose: get an array of "trav_info_t" , containing the name and type of
@@ -67,38 +77,9 @@
  trav_table_free( table );
 
  return nnames;
-
 }
 
-
 /*-------------------------------------------------------------------------
- * Function: h5trav_gettable
- *
- * Purpose: get the trav_table_t struct
- *
- * Return: 0, -1 on error
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: December 17, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-int h5trav_gettable(hid_t fid, trav_table_t *travt)
-{
- int nnames=0;
-
- /* iterate starting on the root group */
- if (( nnames = traverse(fid,"/",travt,NULL,&nnames,0))<0)
-  return -1;
-
- return 0;
-
-}
-
-
-/*-------------------------------------------------------------------------
  * Function: h5trav_getindex
  *
  * Purpose: get index of OBJ in list
@@ -133,8 +114,6 @@
  return -1;
 }
 
-
-
 /*-------------------------------------------------------------------------
  * Function: h5trav_freeinfo
  *
@@ -146,49 +125,193 @@
 void h5trav_freeinfo( trav_info_t *info, int nobjs )
 {
  int i;
-	if ( info )
-	{
-		for ( i = 0; i < nobjs; i++)
-		{
-			if (info[i].name)
-		 	HDfree( info[i].name );
-		}
-		HDfree(info);
-	}
+    if ( info )
+    {
+        for ( i = 0; i < nobjs; i++)
+        {
+            if (info[i].name)
+            HDfree( info[i].name );
+        }
+        HDfree(info);
+    }
 }
 
-
 /*-------------------------------------------------------------------------
- * Function: count_names
+ * Function: h5trav_printinfo
  *
- * Purpose: operator function
+ * Purpose: print list of names in file
  *
+ * Return: void
+ *
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
- * Date: October 10, 2002
+ * Date: May 9, 2003
  *
- * Comments:
+ *-------------------------------------------------------------------------
+ */
+void h5trav_printinfo(int nobjs, trav_info_t *travi)
+{
+ int i;
+ for ( i = 0; i < nobjs; i++)
+ {
+  switch ( travi[i].type )
+  {
+  case H5G_GROUP:
+   printf(" %-10s %s\n", "group", travi[i].name  );
+   break;
+  case H5G_DATASET:
+   printf(" %-10s %s\n", "dataset", travi[i].name );
+   break;
+  case H5G_TYPE:
+   printf(" %-10s %s\n", "datatype", travi[i].name );
+   break;
+  case H5G_LINK:
+   printf(" %-10s %s\n", "link", travi[i].name );
+   break;
+ 
+  default:
+   printf(" %-10s %s\n", "User defined object", travi[i].name );
+   break;
+  }
+ }
+}
+
+/*-------------------------------------------------------------------------
+ * "h5trav table" public functions. used in h5repack
+ *-------------------------------------------------------------------------
+ */
+
+/*-------------------------------------------------------------------------
+ * Function: h5trav_getindext
  *
- * Modifications:
+ * Purpose: get index of NAME in list
  *
+ * Return: index, -1 if not found
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: December 18, 2003
+ *
  *-------------------------------------------------------------------------
  */
 
-static herr_t count_names( hid_t loc_id, const char *name, void *op_data)
+int h5trav_getindext(const char *name, trav_table_t *table)
 {
+ char *pdest;
+ int  result;
+ unsigned int  i, j;
 
- H5G_stat_t statbuf;
+ for ( i = 0; i < table->nobjs; i++)
+ {
+  if ( strcmp(name,table->objs[i].name)==0 )
+   return i;
 
- if (H5Gget_objinfo( loc_id, name, 0, &statbuf) < 0 )
-  return 1;
+  pdest  = strstr( table->objs[i].name, name );
+  result = (int)(pdest - table->objs[i].name);
 
- (*(int *)op_data)++;
+  /* found at position 1, meaning without '/' */
+  if( pdest != NULL && result==1 && strlen(table->objs[i].name)-1==strlen(name))
+   return i;
 
- /* Define a default zero value for return. This will cause the iterator to continue */
+  /* search also in the list of links */
+  if (table->objs[i].nlinks)
+  {
+   for ( j=0; j<table->objs[i].nlinks; j++)
+   {
+    if ( strcmp(name,table->objs[i].links[j].new_name)==0 )
+     return i;
+
+    pdest  = strstr( table->objs[i].links[j].new_name, name );
+    result = (int)(pdest - table->objs[i].links[j].new_name);
+
+    /* found at position 1, meaning without '/' */
+    if( pdest != NULL && result==1 )
+     return i;
+
+   }
+  }
+
+ }
+ return -1;
+}
+
+/*-------------------------------------------------------------------------
+ * Function: h5trav_gettable
+ *
+ * Purpose: get the trav_table_t struct
+ *
+ * Return: 0, -1 on error
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: December 17, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+int h5trav_gettable(hid_t fid, trav_table_t *travt)
+{
+ int nnames=0;
+
+ /* iterate starting on the root group */
+ if (( nnames = traverse(fid,"/",travt,NULL,&nnames,0))<0)
+  return -1;
+
  return 0;
+
 }
 
 /*-------------------------------------------------------------------------
+ * Function: h5trav_printtable
+ *
+ * Purpose: print list of objects in file
+ *
+ * Return: void
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: May 9, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+void h5trav_printtable(trav_table_t *table)
+{
+ unsigned int i, j;
+
+ for ( i = 0; i < table->nobjs; i++)
+ {
+  switch ( table->objs[i].type )
+  {
+  case H5G_GROUP:
+   printf(" %-10s %s\n", "group", table->objs[i].name  );
+   break;
+  case H5G_DATASET:
+   printf(" %-10s %s\n", "dataset", table->objs[i].name );
+   break;
+  case H5G_TYPE:
+   printf(" %-10s %s\n", "datatype", table->objs[i].name );
+   break;
+  case H5G_LINK:
+   printf(" %-10s %s\n", "link", table->objs[i].name );
+   break;
+  default:
+   printf(" %-10s %s\n", "User defined object", table->objs[i].name );
+   break;
+  }
+
+  if (table->objs[i].nlinks)
+  {
+   for ( j=0; j<table->objs[i].nlinks; j++)
+   {
+    printf(" %-10s %s\n", "    hardlink", table->objs[i].links[j].new_name );
+   }
+  }
+
+ }
+}
+
+
+/*-------------------------------------------------------------------------
  * Function: get_nnames
  *
  * Purpose:  Counts the number of names in the group GROUP_NAME
@@ -209,15 +332,24 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t get_nnames( hid_t loc_id, const char *group_name )
+static hssize_t get_nnames( hid_t loc_id, const char *group_name )
 {
+    hid_t gid;
+    hsize_t nobjs = 0;
 
- int nobjs = 0;
+    /* Open the group */
+    if((gid = H5Gopen(loc_id, group_name)) < 0)
+        return(-1);
 
- if ( H5Giterate( loc_id, group_name, NULL, count_names, (void *)&nobjs ) < 0 )
-  return -1;
+    /* Retrieve the number of objects in it */
+    if(H5Gget_num_objs(gid, &nobjs) < 0)
+        return(-1);
 
- return nobjs;
+    /* Close the group */
+    if(H5Gclose(gid) < 0)
+        return(-1);
+
+    return((hssize_t)nobjs);
 }
 
 
@@ -242,7 +374,7 @@
 
  H5G_stat_t statbuf;
 
- if (H5Gget_objinfo( loc_id, name, 0, &statbuf) < 0 )
+ if (H5Gget_objinfo( loc_id, name, FALSE, &statbuf) < 0 )
   return -1;
 
  ((trav_info_t *)op_data)->type = statbuf.type;
@@ -274,11 +406,11 @@
  *-------------------------------------------------------------------------
  */
 
-herr_t get_name_type( hid_t loc_id,
-                      const char *group_name,
-                      int idx,
-                      char **name,
-                      H5G_obj_t1 *type )
+static herr_t get_name_type( hid_t loc_id,
+                             const char *group_name,
+                             int idx,
+                             char **name,
+                             H5G_obj_t1 *type )
 {
 
  trav_info_t info;
@@ -306,16 +438,16 @@
  *-------------------------------------------------------------------------
  */
 
-int traverse( hid_t loc_id,
-              const char *group_name,
-              trav_table_t *table,
-              trav_info_t *info,
-              int *idx,
-              int print)
+static int traverse( hid_t loc_id,
+                     const char *group_name,
+                     trav_table_t *table,
+                     trav_info_t *info,
+                     int *idx,
+                     int print)
 {
-
+ haddr_t       objno;              /* Compact form of object's location */
  char          *name=NULL;
- H5G_obj_t1     type;
+ H5G_obj_t1    type;
  int           n_names;
  char          *path=NULL;
  H5G_stat_t    statbuf;
@@ -323,7 +455,7 @@
  int           i, j;
 
  /* get the number of names */
- if (( n_names = get_nnames( loc_id, group_name )) < 0 )
+ if (( n_names = (int)get_nnames( loc_id, group_name )) < 0 )
   return -1;
 
  for ( i = 0; i < n_names; i++)
@@ -332,13 +464,13 @@
    return -1;
 
   /* allocate path buffer */
-  path = (char*) HDmalloc(strlen(group_name) + strlen(name) + 2);
+  path = (char*) HDmalloc(HDstrlen(group_name) + HDstrlen(name) + 2);
 
   /* initialize path */
-  strcpy( path, group_name );
-  if ( strcmp(group_name,"/")!=0 )
-   strcat( path, "/" );
-  strcat( path, name );
+  HDstrcpy( path, group_name );
+  if ( HDstrcmp(group_name, "/") != 0 )
+   HDstrcat( path, "/" );
+  HDstrcat( path, name );
 
   /* disable error reporting */
   H5E_BEGIN_TRY {
@@ -346,6 +478,7 @@
   /* get info */
    H5Gget_objinfo( loc_id, path, FALSE, &statbuf);
   } H5E_END_TRY;
+  objno = (haddr_t)statbuf.objno[0] | ((haddr_t)statbuf.objno[1] << (8 * sizeof(long)));
 
   /* add to array */
   if ( info )
@@ -370,10 +503,10 @@
    inserted_objs++;
 
    /* nlink is number of hard links to object */
-   if (statbuf.nlink > 0  && trav_table_search(statbuf.objno, table ) == -1)
+   if (statbuf.nlink > 0  && trav_table_search(objno, table ) == -1)
    {
     /* add object to table */
-    trav_table_add(statbuf.objno, path, H5G_GROUP, table );
+    trav_table_add(objno, path, H5G_GROUP, table );
 
     /* print it */
     if (print)
@@ -387,7 +520,7 @@
        group with more than one link to it */
    if (statbuf.nlink > 1)
    {
-    if ((j = trav_table_search(statbuf.objno, table )) < 0 )
+    if ((j = trav_table_search(objno, table )) < 0 )
      return -1;
 
     trav_table_addlink(table,j,path);
@@ -418,10 +551,10 @@
    inserted_objs++;
 
    /* nlink is number of hard links to object */
-   if (statbuf.nlink > 0  && trav_table_search(statbuf.objno, table ) == -1)
+   if (statbuf.nlink > 0  && trav_table_search(objno, table ) == -1)
    {
     /* add object to table */
-    trav_table_add(statbuf.objno, path, H5G_DATASET, table );
+    trav_table_add(objno, path, H5G_DATASET, table );
 
     /* print it */
     if (print)
@@ -432,7 +565,7 @@
        dataset with more than one link to it */
    if (statbuf.nlink > 1)
    {
-    if ((j = trav_table_search(statbuf.objno, table )) < 0 )
+    if ((j = trav_table_search(objno, table )) < 0 )
      return -1;
 
     trav_table_addlink(table,j,path);
@@ -463,10 +596,10 @@
    inserted_objs++;
 
    /* nlink is number of hard links to object */
-   if (statbuf.nlink > 0  && trav_table_search(statbuf.objno, table ) == -1)
+   if (statbuf.nlink > 0  && trav_table_search(objno, table ) == -1)
    {
     /* add object to table */
-    trav_table_add(statbuf.objno, path, H5G_TYPE, table );
+    trav_table_add(objno, path, H5G_TYPE, table );
 
      /* print it */
     if (print)
@@ -482,23 +615,23 @@
    */
 
   case H5G_LINK:
-   {
-    char *targbuf=NULL;
-
+  {
     /* increment */
     inserted_objs++;
 
     /* add object to table */
-    trav_table_add(statbuf.objno, path, H5G_LINK, table );
+    trav_table_add(HADDR_UNDEF, path, H5G_LINK, table );
 
     if (statbuf.linklen>0)
     {
-     targbuf=malloc(statbuf.linklen);
+     char *targbuf;
+
+     targbuf = HDmalloc(statbuf.linklen);
+     assert(targbuf);
      H5Gget_linkval(loc_id,path,statbuf.linklen,targbuf);
      if (print)
       printf(" %-10s %s -> %s\n", "link", path, targbuf);
-     if (targbuf)
-      free(targbuf);
+     free(targbuf);
     }
     else
     {
@@ -509,8 +642,12 @@
 
    break;
 
+  
 
+
   default:
+    HDfprintf(stderr, "traverse: Unknown object %d!\n", type);
+    return (-1);
    break;
 
   }
@@ -532,150 +669,249 @@
 }
 
 
+/*-------------------------------------------------------------------------
+ * Function: trav_table_search
+ *
+ * Purpose: Search in the table for OBJNO
+ *
+ * Return: index of object in table
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 4, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
 
+int trav_table_search(haddr_t objno, trav_table_t *table )
+{
+ unsigned int i;
 
+ for (i = 0; i < table->nobjs; i++)
+  if (table->objs[i].objno == objno)
+   return i;
+
+  return -1;
+}
+
+
 /*-------------------------------------------------------------------------
- * Function: h5trav_printinfo
+ * Function: trav_table_add
  *
- * Purpose: print list of names in file
+ * Purpose: Add OBJNO, NAME and TYPE of object to table
  *
  * Return: void
  *
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
- * Date: May 9, 2003
+ * Date: November 4, 2002
  *
  *-------------------------------------------------------------------------
  */
-void h5trav_printinfo(int nobjs, trav_info_t *travi)
+
+void trav_table_add(haddr_t objno,
+                    char *name,
+                    H5G_obj_t1 type,
+                    trav_table_t *table)
 {
- int i;
- for ( i = 0; i < nobjs; i++)
- {
-  switch ( travi[i].type )
-  {
-  case H5G_GROUP:
-   printf(" %-10s %s\n", "group", travi[i].name  );
-   break;
-  case H5G_DATASET:
-   printf(" %-10s %s\n", "dataset", travi[i].name );
-   break;
-  case H5G_TYPE:
-   printf(" %-10s %s\n", "datatype", travi[i].name );
-   break;
-  case H5G_LINK:
-   printf(" %-10s %s\n", "link", travi[i].name );
-   break;
-  default:
-   printf(" %-10s %s\n", "User defined object", travi[i].name );
-   break;
+ unsigned int i;
+
+ if (table->nobjs == table->size) {
+  table->size *= 2;
+  table->objs =
+   (trav_obj_t*)HDrealloc(table->objs, table->size * sizeof(trav_obj_t));
+
+  for (i = table->nobjs; i < table->size; i++) {
+   table->objs[i].objno = 0;
+   table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
+   table->objs[i].displayed = 0;
+   table->objs[i].type = H5G_UNKNOWN;
+   table->objs[i].name = NULL;
+   table->objs[i].links = NULL;
+   table->objs[i].nlinks = 0;
+   table->objs[i].sizelinks = 0;
   }
  }
+
+ i = table->nobjs++;
+ table->objs[i].objno = objno;
+ table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
+ HDfree(table->objs[i].name);
+ table->objs[i].name = (char *)HDstrdup(name);
+ table->objs[i].type = type;
+ table->objs[i].links = NULL;
+ table->objs[i].nlinks = 0;
 }
 
 
-
 /*-------------------------------------------------------------------------
- * Function: h5trav_printtable
+ * Function: trav_table_addflags
  *
- * Purpose: print list of objects in file
+ * Purpose: Add FLAGS, NAME and TYPE of object to table
  *
  * Return: void
  *
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
- * Date: May 9, 2003
+ * Date: November 4, 2002
  *
  *-------------------------------------------------------------------------
  */
-void h5trav_printtable(trav_table_t *table)
+
+void trav_table_addflags(unsigned *flags,
+                         char *name,
+                         H5G_obj_t1 type,
+                         trav_table_t *table)
 {
- int i, j;
+ unsigned int i;
 
- for ( i = 0; i < table->nobjs; i++)
- {
-  switch ( table->objs[i].type )
-  {
-  case H5G_GROUP:
-   printf(" %-10s %s\n", "group", table->objs[i].name  );
-   break;
-  case H5G_DATASET:
-   printf(" %-10s %s\n", "dataset", table->objs[i].name );
-   break;
-  case H5G_TYPE:
-   printf(" %-10s %s\n", "datatype", table->objs[i].name );
-   break;
-  case H5G_LINK:
-   printf(" %-10s %s\n", "link", table->objs[i].name );
-   break;
-  default:
-   printf(" %-10s %s\n", "User defined object", table->objs[i].name );
-   break;
-  }
+ if (table->nobjs == table->size) {
+  table->size *= 2;
+  table->objs =
+   (trav_obj_t*)HDrealloc(table->objs, table->size * sizeof(trav_obj_t));
 
-  if (table->objs[i].nlinks)
-  {
-   for ( j=0; j<table->objs[i].nlinks; j++)
-   {
-    printf(" %-10s %s\n", "    hardlink", table->objs[i].links[j].new_name );
-   }
+  for (i = table->nobjs; i < table->size; i++) {
+   table->objs[i].objno = 0;
+   table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
+   table->objs[i].displayed = 0;
+   table->objs[i].type = H5G_UNKNOWN;
+   table->objs[i].name = NULL;
+   table->objs[i].links = NULL;
+   table->objs[i].nlinks = 0;
+   table->objs[i].sizelinks = 0;
   }
+ }
 
+ i = table->nobjs++;
+ table->objs[i].objno = 0;
+ table->objs[i].flags[0] = flags[0];
+ table->objs[i].flags[1] = flags[1];
+ HDfree(table->objs[i].name);
+ table->objs[i].name = (char *)HDstrdup(name);
+ table->objs[i].type = type;
+ table->objs[i].links = NULL;
+ table->objs[i].nlinks = 0;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: trav_table_init
+ *
+ * Purpose: Initialize the table
+ *
+ * Return: void
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: November 4, 2002
+ *
+ *-------------------------------------------------------------------------
+ */
+
+void trav_table_init( trav_table_t **tbl )
+{
+ unsigned int i;
+ trav_table_t* table = (trav_table_t*) HDmalloc(sizeof(trav_table_t));
+
+ table->size = 20;
+ table->nobjs = 0;
+ table->objs =
+  (trav_obj_t*)HDmalloc(table->size * sizeof(trav_obj_t));
+
+ for (i = 0; i < table->size; i++) {
+  table->objs[i].objno = 0;
+  table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
+  table->objs[i].displayed = 0;
+  table->objs[i].type = H5G_UNKNOWN;
+  table->objs[i].name = NULL;
+  table->objs[i].links = NULL;
+  table->objs[i].nlinks = 0;
+  table->objs[i].sizelinks = 0;
  }
+
+ *tbl = table;
 }
 
 
+
 /*-------------------------------------------------------------------------
- * Function: h5trav_getindext
+ * Function: trav_table_free
  *
- * Purpose: get index of NAME in list
+ * Purpose: free table memory
  *
- * Return: index, -1 if not found
+ * Return: void
  *
  * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
  *
- * Date: December 18, 2003
+ * Date: November 4, 2002
  *
  *-------------------------------------------------------------------------
  */
 
-int h5trav_getindext(const char *name, trav_table_t *table)
+void trav_table_free( trav_table_t *table )
 {
- char *pdest;
- int  result;
- int  i, j;
+ unsigned int i, j;
 
  for ( i = 0; i < table->nobjs; i++)
  {
-  if ( strcmp(name,table->objs[i].name)==0 )
-   return i;
-
-  pdest  = strstr( table->objs[i].name, name );
-  result = (int)(pdest - table->objs[i].name);
-
-  /* found at position 1, meaning without '/' */
-  if( pdest != NULL && result==1 && strlen(table->objs[i].name)-1==strlen(name))
-   return i;
-
-  /* search also in the list of links */
+  HDfree( table->objs[i].name );
   if (table->objs[i].nlinks)
   {
    for ( j=0; j<table->objs[i].nlinks; j++)
-   {
-    if ( strcmp(name,table->objs[i].links[j].new_name)==0 )
-     return i;
+    HDfree( table->objs[i].links[j].new_name );
 
-    pdest  = strstr( table->objs[i].links[j].new_name, name );
-    result = (int)(pdest - table->objs[i].links[j].new_name);
+   HDfree(table->objs[i].links);
+  }
+ }
+ HDfree(table->objs);
+ HDfree(table);
 
-    /* found at position 1, meaning without '/' */
-    if( pdest != NULL && result==1 )
-     return i;
+}
 
-   }
-  }
 
+/*-------------------------------------------------------------------------
+ * Function: trav_table_addlink
+ *
+ * Purpose: Add a hardlink name to the object
+ *
+ * Return: void
+ *
+ * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
+ *
+ * Date: December 17, 2003
+ *
+ *-------------------------------------------------------------------------
+ */
+
+void trav_table_addlink(trav_table_t *table,
+                        int j /* the object index */,
+                        char *path )
+{
+ unsigned int k;
+
+ /* already inserted */
+ if (strcmp(table->objs[j].name,path)==0)
+  return;
+
+ /* allocate space if necessary */
+ if (table->objs[j].nlinks == (unsigned)table->objs[j].sizelinks) {
+  table->objs[j].sizelinks += 2;
+  table->objs[j].links =
+   (trav_link_t*)HDrealloc(table->objs[j].links,
+   table->objs[j].sizelinks * sizeof(trav_link_t));
  }
- return -1;
+
+ /* insert it */
+ k=table->objs[j].nlinks++;
+ table->objs[j].links[k].new_name = (char*)HDstrdup(path);
 }
 
+
+
+
+
+
+
+
+
+

Modified: packages/hdf5/trunk/tools/lib/h5trav.h
===================================================================
--- packages/hdf5/trunk/tools/lib/h5trav.h	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5trav.h	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 #ifndef H5TRAV_H__
@@ -17,19 +18,14 @@
 
 #include "hdf5.h"
 
-#if 0
-#define H5_TRAV_DEBUG
-#endif
-
-
 /*-------------------------------------------------------------------------
  * public struct to store name and type of an object
  * the TYPE can be:
  *    H5G_UNKNOWN = -1,
- *    H5G_LINK,		        Object is a symbolic link
- *    H5G_GROUP,		    Object is a group
- *    H5G_DATASET,		    Object is a dataset
- *    H5G_TYPE,			    Object is a named data type
+ *    H5G_GROUP,            Object is a group
+ *    H5G_DATASET,          Object is a dataset
+ *    H5G_TYPE,             Object is a named data type
+ *    H5G_LINK,             Object is a symbolic link
  *-------------------------------------------------------------------------
  */
 
@@ -41,8 +37,8 @@
 #endif
 
 typedef struct trav_info_t {
-	char      *name;
-	H5G_obj_t1 type;
+    char      *name;
+    H5G_obj_t1 type;
 } trav_info_t;
 
 
@@ -51,7 +47,7 @@
  *-------------------------------------------------------------------------
  */
 typedef struct trav_link_t {
-	char      *new_name;
+    char      *new_name;
 } trav_link_t;
 
 
@@ -61,14 +57,14 @@
  */
 
 typedef struct trav_obj_t {
-    unsigned long objno[2];/* object number from H5Gget_objinfo */
+    haddr_t     objno;     /* object number from H5Gget_objinfo */
     unsigned    flags[2];  /* h5diff.object is present or not in both files*/
     char        *name;     /* name */
     int         displayed; /* hard link already traversed once */
     H5G_obj_t1  type;      /* type of object */
     trav_link_t *links;    /* array of possible link names */
     int         sizelinks; /* size of links array */
-    int         nlinks;    /* number of links */
+    unsigned    nlinks;    /* number of links */
 } trav_obj_t;
 
 
@@ -78,9 +74,9 @@
  */
 
 typedef struct trav_table_t {
-	int        size;
-	int        nobjs;
-	trav_obj_t *objs;
+    unsigned        size;
+    unsigned        nobjs;
+    trav_obj_t *objs;
 } trav_table_t;
 
 
@@ -124,10 +120,10 @@
 
 void trav_table_free(trav_table_t *table);
 
-int  trav_table_search(unsigned long *objno,
+int  trav_table_search(haddr_t objno,
                        trav_table_t *table );
 
-void trav_table_add(unsigned long *objno,
+void trav_table_add(haddr_t objno,
                     char *objname,
                     H5G_obj_t1 type,
                     trav_table_t *table);
@@ -144,3 +140,5 @@
 
 
 #endif  /* H5TRAV_H__ */
+
+

Deleted: packages/hdf5/trunk/tools/lib/h5trav_table.c
===================================================================
--- packages/hdf5/trunk/tools/lib/h5trav_table.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/h5trav_table.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,258 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by the Board of Trustees of the University of Illinois.         *
- * All rights reserved.                                                      *
- *                                                                           *
- * This file is part of HDF5.  The full HDF5 copyright notice, including     *
- * terms governing use, modification, and redistribution, is contained in    *
- * the files COPYING and Copyright.html.  COPYING can be found at the root   *
- * of the source code distribution tree; Copyright.html can be found at the  *
- * root level of an installed copy of the electronic HDF5 document set and   *
- * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-
-#include "h5trav.h"
-#include "H5private.h"
-
-/*-------------------------------------------------------------------------
- * Function: trav_table_search
- *
- * Purpose: Search in the table for OBJNO
- *
- * Return: index of object in table
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 4, 2002
- *
- *-------------------------------------------------------------------------
- */
-
-int trav_table_search(unsigned long *objno, trav_table_t *table )
-{
- int i;
-
- for (i = 0; i < table->nobjs; i++)
-   if (table->objs[i].objno[0] == *objno && table->objs[i].objno[1] == *(objno + 1))
-   return i;
-
-  return -1;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: trav_table_add
- *
- * Purpose: Add OBJNO, NAME and TYPE of object to table
- *
- * Return: void
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 4, 2002
- *
- *-------------------------------------------------------------------------
- */
-
-void trav_table_add(unsigned long *objno,
-                    char *name,
-                    H5G_obj_t1 type,
-                    trav_table_t *table)
-{
- int i;
-
- if (table->nobjs == table->size) {
-  table->size *= 2;
-  table->objs =
-   (trav_obj_t*)HDrealloc(table->objs, table->size * sizeof(trav_obj_t));
-
-  for (i = table->nobjs; i < table->size; i++) {
-   table->objs[i].objno[0] = table->objs[i].objno[1] = 0;
-   table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
-   table->objs[i].displayed = 0;
-   table->objs[i].type = H5G_UNKNOWN;
-   table->objs[i].name = NULL;
-   table->objs[i].links = NULL;
-   table->objs[i].nlinks = 0;
-   table->objs[i].sizelinks = 0;
-  }
- }
-
- i = table->nobjs++;
- table->objs[i].objno[0] = objno[0];
- table->objs[i].objno[1] = objno[1];
- table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
- HDfree(table->objs[i].name);
- table->objs[i].name = (char *)HDstrdup(name);
- table->objs[i].type = type;
- table->objs[i].links = NULL;
- table->objs[i].nlinks = 0;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: trav_table_addflags
- *
- * Purpose: Add FLAGS, NAME and TYPE of object to table
- *
- * Return: void
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 4, 2002
- *
- *-------------------------------------------------------------------------
- */
-
-void trav_table_addflags(unsigned *flags,
-                         char *name,
-                         H5G_obj_t1 type,
-                         trav_table_t *table)
-{
- int i;
-
- if (table->nobjs == table->size) {
-  table->size *= 2;
-  table->objs =
-   (trav_obj_t*)HDrealloc(table->objs, table->size * sizeof(trav_obj_t));
-
-  for (i = table->nobjs; i < table->size; i++) {
-   table->objs[i].objno[0] = table->objs[i].objno[1] = 0;
-   table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
-   table->objs[i].displayed = 0;
-   table->objs[i].type = H5G_UNKNOWN;
-   table->objs[i].name = NULL;
-   table->objs[i].links = NULL;
-   table->objs[i].nlinks = 0;
-   table->objs[i].sizelinks = 0;
-  }
- }
-
- i = table->nobjs++;
- table->objs[i].objno[0] = 0;
- table->objs[i].objno[1] = 0;
- table->objs[i].flags[0] = flags[0];
- table->objs[i].flags[1] = flags[1];
- HDfree(table->objs[i].name);
- table->objs[i].name = (char *)HDstrdup(name);
- table->objs[i].type = type;
- table->objs[i].links = NULL;
- table->objs[i].nlinks = 0;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: trav_table_init
- *
- * Purpose: Initialize the table
- *
- * Return: void
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 4, 2002
- *
- *-------------------------------------------------------------------------
- */
-
-void trav_table_init( trav_table_t **tbl )
-{
- int i;
- trav_table_t* table = (trav_table_t*) HDmalloc(sizeof(trav_table_t));
-
- table->size = 20;
- table->nobjs = 0;
- table->objs =
-  (trav_obj_t*)HDmalloc(table->size * sizeof(trav_obj_t));
-
- for (i = 0; i < table->size; i++) {
-  table->objs[i].objno[0] = table->objs[i].objno[1] = 0;
-  table->objs[i].flags[0] = table->objs[i].flags[1] = 0;
-  table->objs[i].displayed = 0;
-  table->objs[i].type = H5G_UNKNOWN;
-  table->objs[i].name = NULL;
-  table->objs[i].links = NULL;
-  table->objs[i].nlinks = 0;
-  table->objs[i].sizelinks = 0;
- }
-
- *tbl = table;
-}
-
-
-
-/*-------------------------------------------------------------------------
- * Function: trav_table_free
- *
- * Purpose: free table memory
- *
- * Return: void
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: November 4, 2002
- *
- *-------------------------------------------------------------------------
- */
-
-void trav_table_free( trav_table_t *table )
-{
- int i, j;
-
- for ( i = 0; i < table->nobjs; i++)
- {
-  HDfree( table->objs[i].name );
-  if (table->objs[i].nlinks)
-  {
-   for ( j=0; j<table->objs[i].nlinks; j++)
-    HDfree( table->objs[i].links[j].new_name );
-
-   HDfree(table->objs[i].links);
-  }
- }
- HDfree(table->objs);
- HDfree(table);
-
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: trav_table_addlink
- *
- * Purpose: Add a hardlink name to the object
- *
- * Return: void
- *
- * Programmer: Pedro Vicente, pvn at ncsa.uiuc.edu
- *
- * Date: December 17, 2003
- *
- *-------------------------------------------------------------------------
- */
-
-void trav_table_addlink(trav_table_t *table,
-                        int j /* the object index */,
-                        char *path )
-{
- int k;
-
- /* already inserted */
- if (strcmp(table->objs[j].name,path)==0)
-  return;
-
- /* allocate space if necessary */
- if (table->objs[j].nlinks == table->objs[j].sizelinks) {
-  table->objs[j].sizelinks += 2;
-  table->objs[j].links =
-   (trav_link_t*)HDrealloc(table->objs[j].links,
-   table->objs[j].sizelinks * sizeof(trav_link_t));
- }
-
- /* insert it */
- k=table->objs[j].nlinks++;
- table->objs[j].links[k].new_name = (char*)HDstrdup(path);
-}
-
-

Modified: packages/hdf5/trunk/tools/lib/talign.c
===================================================================
--- packages/hdf5/trunk/tools/lib/talign.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/lib/talign.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*

Modified: packages/hdf5/trunk/tools/misc/Dependencies
===================================================================
--- packages/hdf5/trunk/tools/misc/Dependencies	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/misc/Dependencies	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,17 +2,18 @@
 ## This file is machine generated on GNU systems.
 ## Only temporary changes may be made here.
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
-##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 
 h5debug.lo: \
    $(srcdir)/h5debug.c \
@@ -31,6 +32,7 @@
    $(top_srcdir)/src/H5FDpublic.h \
    $(top_srcdir)/src/H5Cprivate.h \
    $(top_srcdir)/src/H5Cpublic.h \
+   $(top_srcdir)/src/H5FLprivate.h \
    $(top_srcdir)/src/H5RCprivate.h \
    $(top_srcdir)/src/H5Dprivate.h \
    $(top_srcdir)/src/H5Dpublic.h \
@@ -41,8 +43,6 @@
    $(top_srcdir)/src/H5Oprivate.h \
    $(top_srcdir)/src/H5Opublic.h \
    $(top_srcdir)/src/H5Spublic.h \
-   $(top_srcdir)/src/H5HGprivate.h \
-   $(top_srcdir)/src/H5HGpublic.h \
    $(top_srcdir)/src/H5Tprivate.h \
    $(top_srcdir)/src/H5Tpublic.h \
    $(top_srcdir)/src/H5MMpublic.h \
@@ -56,6 +56,8 @@
    $(top_srcdir)/src/H5Fpkg.h \
    $(top_srcdir)/src/H5FOprivate.h \
    $(top_srcdir)/src/H5SLprivate.h \
+   $(top_srcdir)/src/H5HGprivate.h \
+   $(top_srcdir)/src/H5HGpublic.h \
    $(top_srcdir)/src/H5HLprivate.h \
    $(top_srcdir)/src/H5HLpublic.h \
    $(top_srcdir)/src/H5Iprivate.h \

Modified: packages/hdf5/trunk/tools/misc/Makefile.in
===================================================================
--- packages/hdf5/trunk/tools/misc/Makefile.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/misc/Makefile.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,16 +1,17 @@
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 ## HDF5 Library Makefile(.in)
 ## 
 top_srcdir=@top_srcdir@

Modified: packages/hdf5/trunk/tools/misc/h5cc.in
===================================================================
--- packages/hdf5/trunk/tools/misc/h5cc.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/misc/h5cc.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,18 +1,21 @@
 #! /bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 
+# This tool is adapted from the mpicc command of the MPICH Software.
+
 ############################################################################
 ##                                                                        ##
 ## Things You May Have to Modify:                                         ##
@@ -234,6 +237,11 @@
   esac
 done
 
+if test "$dash_c" = "yes" -a "$do_compile" = no -a "$do_link" = no ; then
+    # -c was specified.  Force do_compile on.
+    do_compile=yes
+fi
+
 if test "x$do_compile" = "xyes"; then
   if test "x$dash_c" != "xyes"; then
     compile_args="-c $compile_args"

Modified: packages/hdf5/trunk/tools/misc/h5debug.c
===================================================================
--- packages/hdf5/trunk/tools/misc/h5debug.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/misc/h5debug.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*-------------------------------------------------------------------------
@@ -203,6 +204,7 @@
 
     if (status < 0) {
         fprintf(stderr, "An error occurred\n");
+        H5Eprint(stderr);
         HDexit(5);
     }
     H5Pclose(dxpl);

Modified: packages/hdf5/trunk/tools/misc/h5redeploy.in
===================================================================
--- packages/hdf5/trunk/tools/misc/h5redeploy.in	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/misc/h5redeploy.in	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,17 +1,18 @@
 #! /bin/sh
 ##
-## Copyright by the Board of Trustees of the University of Illinois.
-## All rights reserved.
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5.  The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html.  COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page.  It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have
+# access to either file, you may request a copy from help at hdfgroup.org.
 ##
-## This file is part of HDF5.  The full HDF5 copyright notice, including
-## terms governing use, modification, and redistribution, is contained in
-## the files COPYING and Copyright.html.  COPYING can be found at the root
-## of the source code distribution tree; Copyright.html can be found at the
-## root level of an installed copy of the electronic HDF5 document set and
-## is linked from the top-level documents page.  It can also be found at
-## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have
-## access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu.
-##
 
 ## Update HDF5 compiler tools after the HDF5 software has been installed
 ## in a new location.

Modified: packages/hdf5/trunk/tools/misc/h5repart.c
===================================================================
--- packages/hdf5/trunk/tools/misc/h5repart.c	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/misc/h5repart.c	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,5 @@
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group.                                               *
  * Copyright by the Board of Trustees of the University of Illinois.         *
  * All rights reserved.                                                      *
  *                                                                           *
@@ -8,8 +9,8 @@
  * of the source code distribution tree; Copyright.html can be found at the  *
  * root level of an installed copy of the electronic HDF5 document set and   *
  * is linked from the top-level documents page.  It can also be found at     *
- * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
- * access to either file, you may request a copy from hdfhelp at ncsa.uiuc.edu. *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
+ * access to either file, you may request a copy from help at hdfgroup.org.     *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
 /*
@@ -209,12 +210,12 @@
     int		dst_membno=0;		/*destination member number	*/
 
 #if defined(WIN32) && ! defined (__MWERKS__)
-    _int64	left_overs=0;		/*amount of zeros left over	*/
-    _int64	src_offset=0;		/*offset in source member	*/
-    _int64	dst_offset=0;		/*offset in destination member	*/
-    _int64	src_size;		/*source logical member size	*/
-    _int64	src_act_size;		/*source actual member size	*/
-    _int64	dst_size=1 GB;		/*destination logical memb size	*/
+    __int64	left_overs=0;		/*amount of zeros left over	*/
+    __int64	src_offset=0;		/*offset in source member	*/
+    __int64	dst_offset=0;		/*offset in destination member	*/
+    __int64	src_size;		/*source logical member size	*/
+    __int64	src_act_size;		/*source actual member size	*/
+    __int64	dst_size=1 GB;		/*destination logical memb size	*/
 #else
     off_t	left_overs=0;		/*amount of zeros left over	*/
     off_t	src_offset=0;		/*offset in source member	*/

Deleted: packages/hdf5/trunk/tools/testfiles/file1.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file2.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file3.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file4.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file5.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file6.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file7.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/file8.h5
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_10.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_10.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_10.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,7 @@
 #############################
 Expected output for 'h5diff -h'
 #############################
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -9,19 +9,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -48,3 +48,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_100.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_100.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_100.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_100.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,1039 @@
+#############################
+Expected output for 'h5diff h5diff_hyper1.h5 h5diff_hyper2.h5 -v'
+#############################
+
+file1     file2
+---------------------------------------
+    x      x    /big           
+
+dataset: </big> and </big>
+size:           [1073741824]           [1073741824]
+position        big             big             difference          
+------------------------------------------------------------
+[ 268435456 ]          31              0               31             
+[ 268435457 ]          31              0               31             
+[ 268435458 ]          31              0               31             
+[ 268435459 ]          31              0               31             
+[ 268435460 ]          31              0               31             
+[ 268435461 ]          31              0               31             
+[ 268435462 ]          31              0               31             
+[ 268435463 ]          31              0               31             
+[ 268435464 ]          31              0               31             
+[ 268435465 ]          31              0               31             
+[ 268435466 ]          31              0               31             
+[ 268435467 ]          31              0               31             
+[ 268435468 ]          31              0               31             
+[ 268435469 ]          31              0               31             
+[ 268435470 ]          31              0               31             
+[ 268435471 ]          31              0               31             
+[ 268435472 ]          31              0               31             
+[ 268435473 ]          31              0               31             
+[ 268435474 ]          31              0               31             
+[ 268435475 ]          31              0               31             
+[ 268435476 ]          31              0               31             
+[ 268435477 ]          31              0               31             
+[ 268435478 ]          31              0               31             
+[ 268435479 ]          31              0               31             
+[ 268435480 ]          31              0               31             
+[ 268435481 ]          31              0               31             
+[ 268435482 ]          31              0               31             
+[ 268435483 ]          31              0               31             
+[ 268435484 ]          31              0               31             
+[ 268435485 ]          31              0               31             
+[ 268435486 ]          31              0               31             
+[ 268435487 ]          31              0               31             
+[ 268435488 ]          31              0               31             
+[ 268435489 ]          31              0               31             
+[ 268435490 ]          31              0               31             
+[ 268435491 ]          31              0               31             
+[ 268435492 ]          31              0               31             
+[ 268435493 ]          31              0               31             
+[ 268435494 ]          31              0               31             
+[ 268435495 ]          31              0               31             
+[ 268435496 ]          31              0               31             
+[ 268435497 ]          31              0               31             
+[ 268435498 ]          31              0               31             
+[ 268435499 ]          31              0               31             
+[ 268435500 ]          31              0               31             
+[ 268435501 ]          31              0               31             
+[ 268435502 ]          31              0               31             
+[ 268435503 ]          31              0               31             
+[ 268435504 ]          31              0               31             
+[ 268435505 ]          31              0               31             
+[ 268435506 ]          31              0               31             
+[ 268435507 ]          31              0               31             
+[ 268435508 ]          31              0               31             
+[ 268435509 ]          31              0               31             
+[ 268435510 ]          31              0               31             
+[ 268435511 ]          31              0               31             
+[ 268435512 ]          31              0               31             
+[ 268435513 ]          31              0               31             
+[ 268435514 ]          31              0               31             
+[ 268435515 ]          31              0               31             
+[ 268435516 ]          31              0               31             
+[ 268435517 ]          31              0               31             
+[ 268435518 ]          31              0               31             
+[ 268435519 ]          31              0               31             
+[ 268435520 ]          31              0               31             
+[ 268435521 ]          31              0               31             
+[ 268435522 ]          31              0               31             
+[ 268435523 ]          31              0               31             
+[ 268435524 ]          31              0               31             
+[ 268435525 ]          31              0               31             
+[ 268435526 ]          31              0               31             
+[ 268435527 ]          31              0               31             
+[ 268435528 ]          31              0               31             
+[ 268435529 ]          31              0               31             
+[ 268435530 ]          31              0               31             
+[ 268435531 ]          31              0               31             
+[ 268435532 ]          31              0               31             
+[ 268435533 ]          31              0               31             
+[ 268435534 ]          31              0               31             
+[ 268435535 ]          31              0               31             
+[ 268435536 ]          31              0               31             
+[ 268435537 ]          31              0               31             
+[ 268435538 ]          31              0               31             
+[ 268435539 ]          31              0               31             
+[ 268435540 ]          31              0               31             
+[ 268435541 ]          31              0               31             
+[ 268435542 ]          31              0               31             
+[ 268435543 ]          31              0               31             
+[ 268435544 ]          31              0               31             
+[ 268435545 ]          31              0               31             
+[ 268435546 ]          31              0               31             
+[ 268435547 ]          31              0               31             
+[ 268435548 ]          31              0               31             
+[ 268435549 ]          31              0               31             
+[ 268435550 ]          31              0               31             
+[ 268435551 ]          31              0               31             
+[ 268435552 ]          31              0               31             
+[ 268435553 ]          31              0               31             
+[ 268435554 ]          31              0               31             
+[ 268435555 ]          31              0               31             
+[ 268435556 ]          31              0               31             
+[ 268435557 ]          31              0               31             
+[ 268435558 ]          31              0               31             
+[ 268435559 ]          31              0               31             
+[ 268435560 ]          31              0               31             
+[ 268435561 ]          31              0               31             
+[ 268435562 ]          31              0               31             
+[ 268435563 ]          31              0               31             
+[ 268435564 ]          31              0               31             
+[ 268435565 ]          31              0               31             
+[ 268435566 ]          31              0               31             
+[ 268435567 ]          31              0               31             
+[ 268435568 ]          31              0               31             
+[ 268435569 ]          31              0               31             
+[ 268435570 ]          31              0               31             
+[ 268435571 ]          31              0               31             
+[ 268435572 ]          31              0               31             
+[ 268435573 ]          31              0               31             
+[ 268435574 ]          31              0               31             
+[ 268435575 ]          31              0               31             
+[ 268435576 ]          31              0               31             
+[ 268435577 ]          31              0               31             
+[ 268435578 ]          31              0               31             
+[ 268435579 ]          31              0               31             
+[ 268435580 ]          31              0               31             
+[ 268435581 ]          31              0               31             
+[ 268435582 ]          31              0               31             
+[ 268435583 ]          31              0               31             
+[ 268435584 ]          31              0               31             
+[ 268435585 ]          31              0               31             
+[ 268435586 ]          31              0               31             
+[ 268435587 ]          31              0               31             
+[ 268435588 ]          31              0               31             
+[ 268435589 ]          31              0               31             
+[ 268435590 ]          31              0               31             
+[ 268435591 ]          31              0               31             
+[ 268435592 ]          31              0               31             
+[ 268435593 ]          31              0               31             
+[ 268435594 ]          31              0               31             
+[ 268435595 ]          31              0               31             
+[ 268435596 ]          31              0               31             
+[ 268435597 ]          31              0               31             
+[ 268435598 ]          31              0               31             
+[ 268435599 ]          31              0               31             
+[ 268435600 ]          31              0               31             
+[ 268435601 ]          31              0               31             
+[ 268435602 ]          31              0               31             
+[ 268435603 ]          31              0               31             
+[ 268435604 ]          31              0               31             
+[ 268435605 ]          31              0               31             
+[ 268435606 ]          31              0               31             
+[ 268435607 ]          31              0               31             
+[ 268435608 ]          31              0               31             
+[ 268435609 ]          31              0               31             
+[ 268435610 ]          31              0               31             
+[ 268435611 ]          31              0               31             
+[ 268435612 ]          31              0               31             
+[ 268435613 ]          31              0               31             
+[ 268435614 ]          31              0               31             
+[ 268435615 ]          31              0               31             
+[ 268435616 ]          31              0               31             
+[ 268435617 ]          31              0               31             
+[ 268435618 ]          31              0               31             
+[ 268435619 ]          31              0               31             
+[ 268435620 ]          31              0               31             
+[ 268435621 ]          31              0               31             
+[ 268435622 ]          31              0               31             
+[ 268435623 ]          31              0               31             
+[ 268435624 ]          31              0               31             
+[ 268435625 ]          31              0               31             
+[ 268435626 ]          31              0               31             
+[ 268435627 ]          31              0               31             
+[ 268435628 ]          31              0               31             
+[ 268435629 ]          31              0               31             
+[ 268435630 ]          31              0               31             
+[ 268435631 ]          31              0               31             
+[ 268435632 ]          31              0               31             
+[ 268435633 ]          31              0               31             
+[ 268435634 ]          31              0               31             
+[ 268435635 ]          31              0               31             
+[ 268435636 ]          31              0               31             
+[ 268435637 ]          31              0               31             
+[ 268435638 ]          31              0               31             
+[ 268435639 ]          31              0               31             
+[ 268435640 ]          31              0               31             
+[ 268435641 ]          31              0               31             
+[ 268435642 ]          31              0               31             
+[ 268435643 ]          31              0               31             
+[ 268435644 ]          31              0               31             
+[ 268435645 ]          31              0               31             
+[ 268435646 ]          31              0               31             
+[ 268435647 ]          31              0               31             
+[ 268435648 ]          31              0               31             
+[ 268435649 ]          31              0               31             
+[ 268435650 ]          31              0               31             
+[ 268435651 ]          31              0               31             
+[ 268435652 ]          31              0               31             
+[ 268435653 ]          31              0               31             
+[ 268435654 ]          31              0               31             
+[ 268435655 ]          31              0               31             
+[ 268435656 ]          31              0               31             
+[ 268435657 ]          31              0               31             
+[ 268435658 ]          31              0               31             
+[ 268435659 ]          31              0               31             
+[ 268435660 ]          31              0               31             
+[ 268435661 ]          31              0               31             
+[ 268435662 ]          31              0               31             
+[ 268435663 ]          31              0               31             
+[ 268435664 ]          31              0               31             
+[ 268435665 ]          31              0               31             
+[ 268435666 ]          31              0               31             
+[ 268435667 ]          31              0               31             
+[ 268435668 ]          31              0               31             
+[ 268435669 ]          31              0               31             
+[ 268435670 ]          31              0               31             
+[ 268435671 ]          31              0               31             
+[ 268435672 ]          31              0               31             
+[ 268435673 ]          31              0               31             
+[ 268435674 ]          31              0               31             
+[ 268435675 ]          31              0               31             
+[ 268435676 ]          31              0               31             
+[ 268435677 ]          31              0               31             
+[ 268435678 ]          31              0               31             
+[ 268435679 ]          31              0               31             
+[ 268435680 ]          31              0               31             
+[ 268435681 ]          31              0               31             
+[ 268435682 ]          31              0               31             
+[ 268435683 ]          31              0               31             
+[ 268435684 ]          31              0               31             
+[ 268435685 ]          31              0               31             
+[ 268435686 ]          31              0               31             
+[ 268435687 ]          31              0               31             
+[ 268435688 ]          31              0               31             
+[ 268435689 ]          31              0               31             
+[ 268435690 ]          31              0               31             
+[ 268435691 ]          31              0               31             
+[ 268435692 ]          31              0               31             
+[ 268435693 ]          31              0               31             
+[ 268435694 ]          31              0               31             
+[ 268435695 ]          31              0               31             
+[ 268435696 ]          31              0               31             
+[ 268435697 ]          31              0               31             
+[ 268435698 ]          31              0               31             
+[ 268435699 ]          31              0               31             
+[ 268435700 ]          31              0               31             
+[ 268435701 ]          31              0               31             
+[ 268435702 ]          31              0               31             
+[ 268435703 ]          31              0               31             
+[ 268435704 ]          31              0               31             
+[ 268435705 ]          31              0               31             
+[ 268435706 ]          31              0               31             
+[ 268435707 ]          31              0               31             
+[ 268435708 ]          31              0               31             
+[ 268435709 ]          31              0               31             
+[ 268435710 ]          31              0               31             
+[ 268435711 ]          31              0               31             
+[ 268435712 ]          31              0               31             
+[ 268435713 ]          31              0               31             
+[ 268435714 ]          31              0               31             
+[ 268435715 ]          31              0               31             
+[ 268435716 ]          31              0               31             
+[ 268435717 ]          31              0               31             
+[ 268435718 ]          31              0               31             
+[ 268435719 ]          31              0               31             
+[ 268435720 ]          31              0               31             
+[ 268435721 ]          31              0               31             
+[ 268435722 ]          31              0               31             
+[ 268435723 ]          31              0               31             
+[ 268435724 ]          31              0               31             
+[ 268435725 ]          31              0               31             
+[ 268435726 ]          31              0               31             
+[ 268435727 ]          31              0               31             
+[ 268435728 ]          31              0               31             
+[ 268435729 ]          31              0               31             
+[ 268435730 ]          31              0               31             
+[ 268435731 ]          31              0               31             
+[ 268435732 ]          31              0               31             
+[ 268435733 ]          31              0               31             
+[ 268435734 ]          31              0               31             
+[ 268435735 ]          31              0               31             
+[ 268435736 ]          31              0               31             
+[ 268435737 ]          31              0               31             
+[ 268435738 ]          31              0               31             
+[ 268435739 ]          31              0               31             
+[ 268435740 ]          31              0               31             
+[ 268435741 ]          31              0               31             
+[ 268435742 ]          31              0               31             
+[ 268435743 ]          31              0               31             
+[ 268435744 ]          31              0               31             
+[ 268435745 ]          31              0               31             
+[ 268435746 ]          31              0               31             
+[ 268435747 ]          31              0               31             
+[ 268435748 ]          31              0               31             
+[ 268435749 ]          31              0               31             
+[ 268435750 ]          31              0               31             
+[ 268435751 ]          31              0               31             
+[ 268435752 ]          31              0               31             
+[ 268435753 ]          31              0               31             
+[ 268435754 ]          31              0               31             
+[ 268435755 ]          31              0               31             
+[ 268435756 ]          31              0               31             
+[ 268435757 ]          31              0               31             
+[ 268435758 ]          31              0               31             
+[ 268435759 ]          31              0               31             
+[ 268435760 ]          31              0               31             
+[ 268435761 ]          31              0               31             
+[ 268435762 ]          31              0               31             
+[ 268435763 ]          31              0               31             
+[ 268435764 ]          31              0               31             
+[ 268435765 ]          31              0               31             
+[ 268435766 ]          31              0               31             
+[ 268435767 ]          31              0               31             
+[ 268435768 ]          31              0               31             
+[ 268435769 ]          31              0               31             
+[ 268435770 ]          31              0               31             
+[ 268435771 ]          31              0               31             
+[ 268435772 ]          31              0               31             
+[ 268435773 ]          31              0               31             
+[ 268435774 ]          31              0               31             
+[ 268435775 ]          31              0               31             
+[ 268435776 ]          31              0               31             
+[ 268435777 ]          31              0               31             
+[ 268435778 ]          31              0               31             
+[ 268435779 ]          31              0               31             
+[ 268435780 ]          31              0               31             
+[ 268435781 ]          31              0               31             
+[ 268435782 ]          31              0               31             
+[ 268435783 ]          31              0               31             
+[ 268435784 ]          31              0               31             
+[ 268435785 ]          31              0               31             
+[ 268435786 ]          31              0               31             
+[ 268435787 ]          31              0               31             
+[ 268435788 ]          31              0               31             
+[ 268435789 ]          31              0               31             
+[ 268435790 ]          31              0               31             
+[ 268435791 ]          31              0               31             
+[ 268435792 ]          31              0               31             
+[ 268435793 ]          31              0               31             
+[ 268435794 ]          31              0               31             
+[ 268435795 ]          31              0               31             
+[ 268435796 ]          31              0               31             
+[ 268435797 ]          31              0               31             
+[ 268435798 ]          31              0               31             
+[ 268435799 ]          31              0               31             
+[ 268435800 ]          31              0               31             
+[ 268435801 ]          31              0               31             
+[ 268435802 ]          31              0               31             
+[ 268435803 ]          31              0               31             
+[ 268435804 ]          31              0               31             
+[ 268435805 ]          31              0               31             
+[ 268435806 ]          31              0               31             
+[ 268435807 ]          31              0               31             
+[ 268435808 ]          31              0               31             
+[ 268435809 ]          31              0               31             
+[ 268435810 ]          31              0               31             
+[ 268435811 ]          31              0               31             
+[ 268435812 ]          31              0               31             
+[ 268435813 ]          31              0               31             
+[ 268435814 ]          31              0               31             
+[ 268435815 ]          31              0               31             
+[ 268435816 ]          31              0               31             
+[ 268435817 ]          31              0               31             
+[ 268435818 ]          31              0               31             
+[ 268435819 ]          31              0               31             
+[ 268435820 ]          31              0               31             
+[ 268435821 ]          31              0               31             
+[ 268435822 ]          31              0               31             
+[ 268435823 ]          31              0               31             
+[ 268435824 ]          31              0               31             
+[ 268435825 ]          31              0               31             
+[ 268435826 ]          31              0               31             
+[ 268435827 ]          31              0               31             
+[ 268435828 ]          31              0               31             
+[ 268435829 ]          31              0               31             
+[ 268435830 ]          31              0               31             
+[ 268435831 ]          31              0               31             
+[ 268435832 ]          31              0               31             
+[ 268435833 ]          31              0               31             
+[ 268435834 ]          31              0               31             
+[ 268435835 ]          31              0               31             
+[ 268435836 ]          31              0               31             
+[ 268435837 ]          31              0               31             
+[ 268435838 ]          31              0               31             
+[ 268435839 ]          31              0               31             
+[ 268435840 ]          31              0               31             
+[ 268435841 ]          31              0               31             
+[ 268435842 ]          31              0               31             
+[ 268435843 ]          31              0               31             
+[ 268435844 ]          31              0               31             
+[ 268435845 ]          31              0               31             
+[ 268435846 ]          31              0               31             
+[ 268435847 ]          31              0               31             
+[ 268435848 ]          31              0               31             
+[ 268435849 ]          31              0               31             
+[ 268435850 ]          31              0               31             
+[ 268435851 ]          31              0               31             
+[ 268435852 ]          31              0               31             
+[ 268435853 ]          31              0               31             
+[ 268435854 ]          31              0               31             
+[ 268435855 ]          31              0               31             
+[ 268435856 ]          31              0               31             
+[ 268435857 ]          31              0               31             
+[ 268435858 ]          31              0               31             
+[ 268435859 ]          31              0               31             
+[ 268435860 ]          31              0               31             
+[ 268435861 ]          31              0               31             
+[ 268435862 ]          31              0               31             
+[ 268435863 ]          31              0               31             
+[ 268435864 ]          31              0               31             
+[ 268435865 ]          31              0               31             
+[ 268435866 ]          31              0               31             
+[ 268435867 ]          31              0               31             
+[ 268435868 ]          31              0               31             
+[ 268435869 ]          31              0               31             
+[ 268435870 ]          31              0               31             
+[ 268435871 ]          31              0               31             
+[ 268435872 ]          31              0               31             
+[ 268435873 ]          31              0               31             
+[ 268435874 ]          31              0               31             
+[ 268435875 ]          31              0               31             
+[ 268435876 ]          31              0               31             
+[ 268435877 ]          31              0               31             
+[ 268435878 ]          31              0               31             
+[ 268435879 ]          31              0               31             
+[ 268435880 ]          31              0               31             
+[ 268435881 ]          31              0               31             
+[ 268435882 ]          31              0               31             
+[ 268435883 ]          31              0               31             
+[ 268435884 ]          31              0               31             
+[ 268435885 ]          31              0               31             
+[ 268435886 ]          31              0               31             
+[ 268435887 ]          31              0               31             
+[ 268435888 ]          31              0               31             
+[ 268435889 ]          31              0               31             
+[ 268435890 ]          31              0               31             
+[ 268435891 ]          31              0               31             
+[ 268435892 ]          31              0               31             
+[ 268435893 ]          31              0               31             
+[ 268435894 ]          31              0               31             
+[ 268435895 ]          31              0               31             
+[ 268435896 ]          31              0               31             
+[ 268435897 ]          31              0               31             
+[ 268435898 ]          31              0               31             
+[ 268435899 ]          31              0               31             
+[ 268435900 ]          31              0               31             
+[ 268435901 ]          31              0               31             
+[ 268435902 ]          31              0               31             
+[ 268435903 ]          31              0               31             
+[ 268435904 ]          31              0               31             
+[ 268435905 ]          31              0               31             
+[ 268435906 ]          31              0               31             
+[ 268435907 ]          31              0               31             
+[ 268435908 ]          31              0               31             
+[ 268435909 ]          31              0               31             
+[ 268435910 ]          31              0               31             
+[ 268435911 ]          31              0               31             
+[ 268435912 ]          31              0               31             
+[ 268435913 ]          31              0               31             
+[ 268435914 ]          31              0               31             
+[ 268435915 ]          31              0               31             
+[ 268435916 ]          31              0               31             
+[ 268435917 ]          31              0               31             
+[ 268435918 ]          31              0               31             
+[ 268435919 ]          31              0               31             
+[ 268435920 ]          31              0               31             
+[ 268435921 ]          31              0               31             
+[ 268435922 ]          31              0               31             
+[ 268435923 ]          31              0               31             
+[ 268435924 ]          31              0               31             
+[ 268435925 ]          31              0               31             
+[ 268435926 ]          31              0               31             
+[ 268435927 ]          31              0               31             
+[ 268435928 ]          31              0               31             
+[ 268435929 ]          31              0               31             
+[ 268435930 ]          31              0               31             
+[ 268435931 ]          31              0               31             
+[ 268435932 ]          31              0               31             
+[ 268435933 ]          31              0               31             
+[ 268435934 ]          31              0               31             
+[ 268435935 ]          31              0               31             
+[ 268435936 ]          31              0               31             
+[ 268435937 ]          31              0               31             
+[ 268435938 ]          31              0               31             
+[ 268435939 ]          31              0               31             
+[ 268435940 ]          31              0               31             
+[ 268435941 ]          31              0               31             
+[ 268435942 ]          31              0               31             
+[ 268435943 ]          31              0               31             
+[ 268435944 ]          31              0               31             
+[ 268435945 ]          31              0               31             
+[ 268435946 ]          31              0               31             
+[ 268435947 ]          31              0               31             
+[ 268435948 ]          31              0               31             
+[ 268435949 ]          31              0               31             
+[ 268435950 ]          31              0               31             
+[ 268435951 ]          31              0               31             
+[ 268435952 ]          31              0               31             
+[ 268435953 ]          31              0               31             
+[ 268435954 ]          31              0               31             
+[ 268435955 ]          31              0               31             
+[ 268435956 ]          31              0               31             
+[ 268435957 ]          31              0               31             
+[ 268435958 ]          31              0               31             
+[ 268435959 ]          31              0               31             
+[ 268435960 ]          31              0               31             
+[ 268435961 ]          31              0               31             
+[ 268435962 ]          31              0               31             
+[ 268435963 ]          31              0               31             
+[ 268435964 ]          31              0               31             
+[ 268435965 ]          31              0               31             
+[ 268435966 ]          31              0               31             
+[ 268435967 ]          31              0               31             
+[ 268435968 ]          31              0               31             
+[ 268435969 ]          31              0               31             
+[ 268435970 ]          31              0               31             
+[ 268435971 ]          31              0               31             
+[ 268435972 ]          31              0               31             
+[ 268435973 ]          31              0               31             
+[ 268435974 ]          31              0               31             
+[ 268435975 ]          31              0               31             
+[ 268435976 ]          31              0               31             
+[ 268435977 ]          31              0               31             
+[ 268435978 ]          31              0               31             
+[ 268435979 ]          31              0               31             
+[ 268435980 ]          31              0               31             
+[ 268435981 ]          31              0               31             
+[ 268435982 ]          31              0               31             
+[ 268435983 ]          31              0               31             
+[ 268435984 ]          31              0               31             
+[ 268435985 ]          31              0               31             
+[ 268435986 ]          31              0               31             
+[ 268435987 ]          31              0               31             
+[ 268435988 ]          31              0               31             
+[ 268435989 ]          31              0               31             
+[ 268435990 ]          31              0               31             
+[ 268435991 ]          31              0               31             
+[ 268435992 ]          31              0               31             
+[ 268435993 ]          31              0               31             
+[ 268435994 ]          31              0               31             
+[ 268435995 ]          31              0               31             
+[ 268435996 ]          31              0               31             
+[ 268435997 ]          31              0               31             
+[ 268435998 ]          31              0               31             
+[ 268435999 ]          31              0               31             
+[ 268436000 ]          31              0               31             
+[ 268436001 ]          31              0               31             
+[ 268436002 ]          31              0               31             
+[ 268436003 ]          31              0               31             
+[ 268436004 ]          31              0               31             
+[ 268436005 ]          31              0               31             
+[ 268436006 ]          31              0               31             
+[ 268436007 ]          31              0               31             
+[ 268436008 ]          31              0               31             
+[ 268436009 ]          31              0               31             
+[ 268436010 ]          31              0               31             
+[ 268436011 ]          31              0               31             
+[ 268436012 ]          31              0               31             
+[ 268436013 ]          31              0               31             
+[ 268436014 ]          31              0               31             
+[ 268436015 ]          31              0               31             
+[ 268436016 ]          31              0               31             
+[ 268436017 ]          31              0               31             
+[ 268436018 ]          31              0               31             
+[ 268436019 ]          31              0               31             
+[ 268436020 ]          31              0               31             
+[ 268436021 ]          31              0               31             
+[ 268436022 ]          31              0               31             
+[ 268436023 ]          31              0               31             
+[ 268436024 ]          31              0               31             
+[ 268436025 ]          31              0               31             
+[ 268436026 ]          31              0               31             
+[ 268436027 ]          31              0               31             
+[ 268436028 ]          31              0               31             
+[ 268436029 ]          31              0               31             
+[ 268436030 ]          31              0               31             
+[ 268436031 ]          31              0               31             
+[ 268436032 ]          31              0               31             
+[ 268436033 ]          31              0               31             
+[ 268436034 ]          31              0               31             
+[ 268436035 ]          31              0               31             
+[ 268436036 ]          31              0               31             
+[ 268436037 ]          31              0               31             
+[ 268436038 ]          31              0               31             
+[ 268436039 ]          31              0               31             
+[ 268436040 ]          31              0               31             
+[ 268436041 ]          31              0               31             
+[ 268436042 ]          31              0               31             
+[ 268436043 ]          31              0               31             
+[ 268436044 ]          31              0               31             
+[ 268436045 ]          31              0               31             
+[ 268436046 ]          31              0               31             
+[ 268436047 ]          31              0               31             
+[ 268436048 ]          31              0               31             
+[ 268436049 ]          31              0               31             
+[ 268436050 ]          31              0               31             
+[ 268436051 ]          31              0               31             
+[ 268436052 ]          31              0               31             
+[ 268436053 ]          31              0               31             
+[ 268436054 ]          31              0               31             
+[ 268436055 ]          31              0               31             
+[ 268436056 ]          31              0               31             
+[ 268436057 ]          31              0               31             
+[ 268436058 ]          31              0               31             
+[ 268436059 ]          31              0               31             
+[ 268436060 ]          31              0               31             
+[ 268436061 ]          31              0               31             
+[ 268436062 ]          31              0               31             
+[ 268436063 ]          31              0               31             
+[ 268436064 ]          31              0               31             
+[ 268436065 ]          31              0               31             
+[ 268436066 ]          31              0               31             
+[ 268436067 ]          31              0               31             
+[ 268436068 ]          31              0               31             
+[ 268436069 ]          31              0               31             
+[ 268436070 ]          31              0               31             
+[ 268436071 ]          31              0               31             
+[ 268436072 ]          31              0               31             
+[ 268436073 ]          31              0               31             
+[ 268436074 ]          31              0               31             
+[ 268436075 ]          31              0               31             
+[ 268436076 ]          31              0               31             
+[ 268436077 ]          31              0               31             
+[ 268436078 ]          31              0               31             
+[ 268436079 ]          31              0               31             
+[ 268436080 ]          31              0               31             
+[ 268436081 ]          31              0               31             
+[ 268436082 ]          31              0               31             
+[ 268436083 ]          31              0               31             
+[ 268436084 ]          31              0               31             
+[ 268436085 ]          31              0               31             
+[ 268436086 ]          31              0               31             
+[ 268436087 ]          31              0               31             
+[ 268436088 ]          31              0               31             
+[ 268436089 ]          31              0               31             
+[ 268436090 ]          31              0               31             
+[ 268436091 ]          31              0               31             
+[ 268436092 ]          31              0               31             
+[ 268436093 ]          31              0               31             
+[ 268436094 ]          31              0               31             
+[ 268436095 ]          31              0               31             
+[ 268436096 ]          31              0               31             
+[ 268436097 ]          31              0               31             
+[ 268436098 ]          31              0               31             
+[ 268436099 ]          31              0               31             
+[ 268436100 ]          31              0               31             
+[ 268436101 ]          31              0               31             
+[ 268436102 ]          31              0               31             
+[ 268436103 ]          31              0               31             
+[ 268436104 ]          31              0               31             
+[ 268436105 ]          31              0               31             
+[ 268436106 ]          31              0               31             
+[ 268436107 ]          31              0               31             
+[ 268436108 ]          31              0               31             
+[ 268436109 ]          31              0               31             
+[ 268436110 ]          31              0               31             
+[ 268436111 ]          31              0               31             
+[ 268436112 ]          31              0               31             
+[ 268436113 ]          31              0               31             
+[ 268436114 ]          31              0               31             
+[ 268436115 ]          31              0               31             
+[ 268436116 ]          31              0               31             
+[ 268436117 ]          31              0               31             
+[ 268436118 ]          31              0               31             
+[ 268436119 ]          31              0               31             
+[ 268436120 ]          31              0               31             
+[ 268436121 ]          31              0               31             
+[ 268436122 ]          31              0               31             
+[ 268436123 ]          31              0               31             
+[ 268436124 ]          31              0               31             
+[ 268436125 ]          31              0               31             
+[ 268436126 ]          31              0               31             
+[ 268436127 ]          31              0               31             
+[ 268436128 ]          31              0               31             
+[ 268436129 ]          31              0               31             
+[ 268436130 ]          31              0               31             
+[ 268436131 ]          31              0               31             
+[ 268436132 ]          31              0               31             
+[ 268436133 ]          31              0               31             
+[ 268436134 ]          31              0               31             
+[ 268436135 ]          31              0               31             
+[ 268436136 ]          31              0               31             
+[ 268436137 ]          31              0               31             
+[ 268436138 ]          31              0               31             
+[ 268436139 ]          31              0               31             
+[ 268436140 ]          31              0               31             
+[ 268436141 ]          31              0               31             
+[ 268436142 ]          31              0               31             
+[ 268436143 ]          31              0               31             
+[ 268436144 ]          31              0               31             
+[ 268436145 ]          31              0               31             
+[ 268436146 ]          31              0               31             
+[ 268436147 ]          31              0               31             
+[ 268436148 ]          31              0               31             
+[ 268436149 ]          31              0               31             
+[ 268436150 ]          31              0               31             
+[ 268436151 ]          31              0               31             
+[ 268436152 ]          31              0               31             
+[ 268436153 ]          31              0               31             
+[ 268436154 ]          31              0               31             
+[ 268436155 ]          31              0               31             
+[ 268436156 ]          31              0               31             
+[ 268436157 ]          31              0               31             
+[ 268436158 ]          31              0               31             
+[ 268436159 ]          31              0               31             
+[ 268436160 ]          31              0               31             
+[ 268436161 ]          31              0               31             
+[ 268436162 ]          31              0               31             
+[ 268436163 ]          31              0               31             
+[ 268436164 ]          31              0               31             
+[ 268436165 ]          31              0               31             
+[ 268436166 ]          31              0               31             
+[ 268436167 ]          31              0               31             
+[ 268436168 ]          31              0               31             
+[ 268436169 ]          31              0               31             
+[ 268436170 ]          31              0               31             
+[ 268436171 ]          31              0               31             
+[ 268436172 ]          31              0               31             
+[ 268436173 ]          31              0               31             
+[ 268436174 ]          31              0               31             
+[ 268436175 ]          31              0               31             
+[ 268436176 ]          31              0               31             
+[ 268436177 ]          31              0               31             
+[ 268436178 ]          31              0               31             
+[ 268436179 ]          31              0               31             
+[ 268436180 ]          31              0               31             
+[ 268436181 ]          31              0               31             
+[ 268436182 ]          31              0               31             
+[ 268436183 ]          31              0               31             
+[ 268436184 ]          31              0               31             
+[ 268436185 ]          31              0               31             
+[ 268436186 ]          31              0               31             
+[ 268436187 ]          31              0               31             
+[ 268436188 ]          31              0               31             
+[ 268436189 ]          31              0               31             
+[ 268436190 ]          31              0               31             
+[ 268436191 ]          31              0               31             
+[ 268436192 ]          31              0               31             
+[ 268436193 ]          31              0               31             
+[ 268436194 ]          31              0               31             
+[ 268436195 ]          31              0               31             
+[ 268436196 ]          31              0               31             
+[ 268436197 ]          31              0               31             
+[ 268436198 ]          31              0               31             
+[ 268436199 ]          31              0               31             
+[ 268436200 ]          31              0               31             
+[ 268436201 ]          31              0               31             
+[ 268436202 ]          31              0               31             
+[ 268436203 ]          31              0               31             
+[ 268436204 ]          31              0               31             
+[ 268436205 ]          31              0               31             
+[ 268436206 ]          31              0               31             
+[ 268436207 ]          31              0               31             
+[ 268436208 ]          31              0               31             
+[ 268436209 ]          31              0               31             
+[ 268436210 ]          31              0               31             
+[ 268436211 ]          31              0               31             
+[ 268436212 ]          31              0               31             
+[ 268436213 ]          31              0               31             
+[ 268436214 ]          31              0               31             
+[ 268436215 ]          31              0               31             
+[ 268436216 ]          31              0               31             
+[ 268436217 ]          31              0               31             
+[ 268436218 ]          31              0               31             
+[ 268436219 ]          31              0               31             
+[ 268436220 ]          31              0               31             
+[ 268436221 ]          31              0               31             
+[ 268436222 ]          31              0               31             
+[ 268436223 ]          31              0               31             
+[ 268436224 ]          31              0               31             
+[ 268436225 ]          31              0               31             
+[ 268436226 ]          31              0               31             
+[ 268436227 ]          31              0               31             
+[ 268436228 ]          31              0               31             
+[ 268436229 ]          31              0               31             
+[ 268436230 ]          31              0               31             
+[ 268436231 ]          31              0               31             
+[ 268436232 ]          31              0               31             
+[ 268436233 ]          31              0               31             
+[ 268436234 ]          31              0               31             
+[ 268436235 ]          31              0               31             
+[ 268436236 ]          31              0               31             
+[ 268436237 ]          31              0               31             
+[ 268436238 ]          31              0               31             
+[ 268436239 ]          31              0               31             
+[ 268436240 ]          31              0               31             
+[ 268436241 ]          31              0               31             
+[ 268436242 ]          31              0               31             
+[ 268436243 ]          31              0               31             
+[ 268436244 ]          31              0               31             
+[ 268436245 ]          31              0               31             
+[ 268436246 ]          31              0               31             
+[ 268436247 ]          31              0               31             
+[ 268436248 ]          31              0               31             
+[ 268436249 ]          31              0               31             
+[ 268436250 ]          31              0               31             
+[ 268436251 ]          31              0               31             
+[ 268436252 ]          31              0               31             
+[ 268436253 ]          31              0               31             
+[ 268436254 ]          31              0               31             
+[ 268436255 ]          31              0               31             
+[ 268436256 ]          31              0               31             
+[ 268436257 ]          31              0               31             
+[ 268436258 ]          31              0               31             
+[ 268436259 ]          31              0               31             
+[ 268436260 ]          31              0               31             
+[ 268436261 ]          31              0               31             
+[ 268436262 ]          31              0               31             
+[ 268436263 ]          31              0               31             
+[ 268436264 ]          31              0               31             
+[ 268436265 ]          31              0               31             
+[ 268436266 ]          31              0               31             
+[ 268436267 ]          31              0               31             
+[ 268436268 ]          31              0               31             
+[ 268436269 ]          31              0               31             
+[ 268436270 ]          31              0               31             
+[ 268436271 ]          31              0               31             
+[ 268436272 ]          31              0               31             
+[ 268436273 ]          31              0               31             
+[ 268436274 ]          31              0               31             
+[ 268436275 ]          31              0               31             
+[ 268436276 ]          31              0               31             
+[ 268436277 ]          31              0               31             
+[ 268436278 ]          31              0               31             
+[ 268436279 ]          31              0               31             
+[ 268436280 ]          31              0               31             
+[ 268436281 ]          31              0               31             
+[ 268436282 ]          31              0               31             
+[ 268436283 ]          31              0               31             
+[ 268436284 ]          31              0               31             
+[ 268436285 ]          31              0               31             
+[ 268436286 ]          31              0               31             
+[ 268436287 ]          31              0               31             
+[ 268436288 ]          31              0               31             
+[ 268436289 ]          31              0               31             
+[ 268436290 ]          31              0               31             
+[ 268436291 ]          31              0               31             
+[ 268436292 ]          31              0               31             
+[ 268436293 ]          31              0               31             
+[ 268436294 ]          31              0               31             
+[ 268436295 ]          31              0               31             
+[ 268436296 ]          31              0               31             
+[ 268436297 ]          31              0               31             
+[ 268436298 ]          31              0               31             
+[ 268436299 ]          31              0               31             
+[ 268436300 ]          31              0               31             
+[ 268436301 ]          31              0               31             
+[ 268436302 ]          31              0               31             
+[ 268436303 ]          31              0               31             
+[ 268436304 ]          31              0               31             
+[ 268436305 ]          31              0               31             
+[ 268436306 ]          31              0               31             
+[ 268436307 ]          31              0               31             
+[ 268436308 ]          31              0               31             
+[ 268436309 ]          31              0               31             
+[ 268436310 ]          31              0               31             
+[ 268436311 ]          31              0               31             
+[ 268436312 ]          31              0               31             
+[ 268436313 ]          31              0               31             
+[ 268436314 ]          31              0               31             
+[ 268436315 ]          31              0               31             
+[ 268436316 ]          31              0               31             
+[ 268436317 ]          31              0               31             
+[ 268436318 ]          31              0               31             
+[ 268436319 ]          31              0               31             
+[ 268436320 ]          31              0               31             
+[ 268436321 ]          31              0               31             
+[ 268436322 ]          31              0               31             
+[ 268436323 ]          31              0               31             
+[ 268436324 ]          31              0               31             
+[ 268436325 ]          31              0               31             
+[ 268436326 ]          31              0               31             
+[ 268436327 ]          31              0               31             
+[ 268436328 ]          31              0               31             
+[ 268436329 ]          31              0               31             
+[ 268436330 ]          31              0               31             
+[ 268436331 ]          31              0               31             
+[ 268436332 ]          31              0               31             
+[ 268436333 ]          31              0               31             
+[ 268436334 ]          31              0               31             
+[ 268436335 ]          31              0               31             
+[ 268436336 ]          31              0               31             
+[ 268436337 ]          31              0               31             
+[ 268436338 ]          31              0               31             
+[ 268436339 ]          31              0               31             
+[ 268436340 ]          31              0               31             
+[ 268436341 ]          31              0               31             
+[ 268436342 ]          31              0               31             
+[ 268436343 ]          31              0               31             
+[ 268436344 ]          31              0               31             
+[ 268436345 ]          31              0               31             
+[ 268436346 ]          31              0               31             
+[ 268436347 ]          31              0               31             
+[ 268436348 ]          31              0               31             
+[ 268436349 ]          31              0               31             
+[ 268436350 ]          31              0               31             
+[ 268436351 ]          31              0               31             
+[ 268436352 ]          31              0               31             
+[ 268436353 ]          31              0               31             
+[ 268436354 ]          31              0               31             
+[ 268436355 ]          31              0               31             
+[ 268436356 ]          31              0               31             
+[ 268436357 ]          31              0               31             
+[ 268436358 ]          31              0               31             
+[ 268436359 ]          31              0               31             
+[ 268436360 ]          31              0               31             
+[ 268436361 ]          31              0               31             
+[ 268436362 ]          31              0               31             
+[ 268436363 ]          31              0               31             
+[ 268436364 ]          31              0               31             
+[ 268436365 ]          31              0               31             
+[ 268436366 ]          31              0               31             
+[ 268436367 ]          31              0               31             
+[ 268436368 ]          31              0               31             
+[ 268436369 ]          31              0               31             
+[ 268436370 ]          31              0               31             
+[ 268436371 ]          31              0               31             
+[ 268436372 ]          31              0               31             
+[ 268436373 ]          31              0               31             
+[ 268436374 ]          31              0               31             
+[ 268436375 ]          31              0               31             
+[ 268436376 ]          31              0               31             
+[ 268436377 ]          31              0               31             
+[ 268436378 ]          31              0               31             
+[ 268436379 ]          31              0               31             
+[ 268436380 ]          31              0               31             
+[ 268436381 ]          31              0               31             
+[ 268436382 ]          31              0               31             
+[ 268436383 ]          31              0               31             
+[ 268436384 ]          31              0               31             
+[ 268436385 ]          31              0               31             
+[ 268436386 ]          31              0               31             
+[ 268436387 ]          31              0               31             
+[ 268436388 ]          31              0               31             
+[ 268436389 ]          31              0               31             
+[ 268436390 ]          31              0               31             
+[ 268436391 ]          31              0               31             
+[ 268436392 ]          31              0               31             
+[ 268436393 ]          31              0               31             
+[ 268436394 ]          31              0               31             
+[ 268436395 ]          31              0               31             
+[ 268436396 ]          31              0               31             
+[ 268436397 ]          31              0               31             
+[ 268436398 ]          31              0               31             
+[ 268436399 ]          31              0               31             
+[ 268436400 ]          31              0               31             
+[ 268436401 ]          31              0               31             
+[ 268436402 ]          31              0               31             
+[ 268436403 ]          31              0               31             
+[ 268436404 ]          31              0               31             
+[ 268436405 ]          31              0               31             
+[ 268436406 ]          31              0               31             
+[ 268436407 ]          31              0               31             
+[ 268436408 ]          31              0               31             
+[ 268436409 ]          31              0               31             
+[ 268436410 ]          31              0               31             
+[ 268436411 ]          31              0               31             
+[ 268436412 ]          31              0               31             
+[ 268436413 ]          31              0               31             
+[ 268436414 ]          31              0               31             
+[ 268436415 ]          31              0               31             
+[ 268436416 ]          31              0               31             
+[ 268436417 ]          31              0               31             
+[ 268436418 ]          31              0               31             
+[ 268436419 ]          31              0               31             
+[ 268436420 ]          31              0               31             
+[ 268436421 ]          31              0               31             
+[ 268436422 ]          31              0               31             
+[ 268436423 ]          31              0               31             
+[ 268436424 ]          31              0               31             
+[ 268436425 ]          31              0               31             
+[ 268436426 ]          31              0               31             
+[ 268436427 ]          31              0               31             
+[ 268436428 ]          31              0               31             
+[ 268436429 ]          31              0               31             
+[ 268436430 ]          31              0               31             
+[ 268436431 ]          31              0               31             
+[ 268436432 ]          31              0               31             
+[ 268436433 ]          31              0               31             
+[ 268436434 ]          31              0               31             
+[ 268436435 ]          31              0               31             
+[ 268436436 ]          31              0               31             
+[ 268436437 ]          31              0               31             
+[ 268436438 ]          31              0               31             
+[ 268436439 ]          31              0               31             
+[ 268436440 ]          31              0               31             
+[ 268436441 ]          31              0               31             
+[ 268436442 ]          31              0               31             
+[ 268436443 ]          31              0               31             
+[ 268436444 ]          31              0               31             
+[ 268436445 ]          31              0               31             
+[ 268436446 ]          31              0               31             
+[ 268436447 ]          31              0               31             
+[ 268436448 ]          31              0               31             
+[ 268436449 ]          31              0               31             
+[ 268436450 ]          31              0               31             
+[ 268436451 ]          31              0               31             
+[ 268436452 ]          31              0               31             
+[ 268436453 ]          31              0               31             
+[ 268436454 ]          31              0               31             
+[ 268436455 ]          31              0               31             
+[ 268436456 ]          31              0               31             
+[ 268436457 ]          31              0               31             
+[ 268436458 ]          31              0               31             
+[ 268436459 ]          31              0               31             
+[ 268436460 ]          31              0               31             
+[ 268436461 ]          31              0               31             
+[ 268436462 ]          31              0               31             
+[ 268436463 ]          31              0               31             
+[ 268436464 ]          31              0               31             
+[ 268436465 ]          31              0               31             
+[ 268436466 ]          31              0               31             
+[ 268436467 ]          31              0               31             
+[ 268436468 ]          31              0               31             
+[ 268436469 ]          31              0               31             
+[ 268436470 ]          31              0               31             
+[ 268436471 ]          31              0               31             
+[ 268436472 ]          31              0               31             
+[ 268436473 ]          31              0               31             
+[ 268436474 ]          31              0               31             
+[ 268436475 ]          31              0               31             
+[ 268436476 ]          31              0               31             
+[ 268436477 ]          31              0               31             
+[ 268436478 ]          31              0               31             
+[ 268436479 ]          31              0               31             
+1024 differences found
+group  : </> and </>
+0 differences found

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_101.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_101.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_101.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_101.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,12 @@
+#############################
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 /g1/d1 g1/d2 -v'
+#############################
+dataset: </g1/d1> and </g1/d2>
+size:           [3x2]           [3x2]
+position        d1              d2              difference          
+------------------------------------------------------------
+[ 0 1 ]          1e-09           2e-09           1e-09          
+[ 1 0 ]          1e-09           9e-10           1e-10          
+[ 1 1 ]          0               1e-09           1e-09          
+[ 2 0 ]          1e-09           0               1e-09          
+4 differences found

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_102.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_102.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_102.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_102.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,12 @@
+#############################
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 /g1/fp1 g1/fp2 -v'
+#############################
+dataset: </g1/fp1> and </g1/fp2>
+size:           [3x2]           [3x2]
+position        fp1             fp2             difference          
+------------------------------------------------------------
+[ 0 1 ]          1e-05           2e-05           1e-05          
+[ 1 0 ]          1e-05           9e-06           9.99999e-07    
+[ 1 1 ]          0               1e-05           1e-05          
+[ 2 0 ]          1e-05           0               1e-05          
+4 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_11.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_11.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_11.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5'
 #############################
-Dataset:     </g1/dset1> and </g1/dset1>
-4 differences found
+dataset: </g1/dset1> and </g1/dset1>
+5 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_12.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_12.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_12.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 g1/dset1 g1/dset2'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 g1/dset1 g1/dset2'
 #############################
-Dataset:     </g1/dset1> and </g1/dset2>
-4 differences found
+dataset: </g1/dset1> and </g1/dset2>
+5 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_13.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_13.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_13.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,11 +1,13 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -r'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r'
 #############################
-Dataset:     </g1/dset1> and </g1/dset1>
+dataset: </g1/dset1> and </g1/dset1>
+size:           [3x2]           [3x2]
 position        dset1           dset1           difference          
 ------------------------------------------------------------
-[ 0 1 ]          1.000000        1.100000        0.100000       
-[ 1 0 ]          1.000000        1.010000        0.010000       
-[ 1 1 ]          1.000000        1.001000        0.001000       
-[ 2 0 ]          1.000000        1.000100        0.000100       
-4 differences found
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          1               1.1             0.1            
+[ 1 0 ]          1               1.01            0.01           
+[ 1 1 ]          1               1.001           0.001          
+[ 2 1 ]          0               1               1              
+5 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_14.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_14.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_14.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,11 +1,13 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -r g1/dset1 g1/dset2'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r g1/dset1 g1/dset2'
 #############################
-Dataset:     </g1/dset1> and </g1/dset2>
+dataset: </g1/dset1> and </g1/dset2>
+size:           [3x2]           [3x2]
 position        dset1           dset2           difference          
 ------------------------------------------------------------
-[ 0 1 ]          1.000000        1.100000        0.100000       
-[ 1 0 ]          1.000000        1.010000        0.010000       
-[ 1 1 ]          1.000000        1.001000        0.001000       
-[ 2 0 ]          1.000000        1.000100        0.000100       
-4 differences found
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          1               1.1             0.1            
+[ 1 0 ]          1               1.01            0.01           
+[ 1 1 ]          1               1.001           0.001          
+[ 2 1 ]          0               1               1              
+5 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_15.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_15.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_15.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,13 +1,12 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -r -d 5 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r -d 5 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
+size:           [3x2]           [3x2]
 position        dset3           dset4           difference          
 ------------------------------------------------------------
-[ 0 0 ]          100.000000      110.000000      10.000000      
-[ 0 1 ]          110.000000      100.000000      10.000000      
-[ 1 0 ]          100.000000      90.000000       10.000000      
-[ 1 1 ]          100.000000      80.000000       20.000000      
-[ 2 0 ]          100.000000      140.000000      40.000000      
-[ 2 1 ]          100.000000      200.000000      100.000000     
-6 differences found
+[ 0 1 ]          100             120             20             
+[ 1 0 ]          100             160             60             
+[ 2 0 ]          100             80              20             
+[ 2 1 ]          100             40              60             
+4 differences found

Deleted: packages/hdf5/trunk/tools/testfiles/h5diff_16.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_16.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_16.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,13 +0,0 @@
-#############################
-Expected output for 'h5diff file1.h5 file2.h5 -r -p 0.05 g1/dset3 g1/dset4'
-#############################
-Dataset:     </g1/dset3> and </g1/dset4>
-position        dset3           dset4           difference      relative       
-------------------------------------------------------------------------
-[ 0 0 ]          100             110             10              0.1           
-[ 0 1 ]          110             100             10              0.09090909091 
-[ 1 0 ]          100             90              10              0.1           
-[ 1 1 ]          100             80              20              0.2           
-[ 2 0 ]          100             140             40              0.4           
-[ 2 1 ]          100             200             100             1             
-6 differences found

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_16_1.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16_1.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_16_1.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_16_1.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+#############################
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 -v -p 0.02 g1/dset5 g1/dset6'
+#############################
+dataset: </g1/dset5> and </g1/dset6>
+size:           [3x2]           [3x2]
+position        dset5           dset6           difference      relative       
+------------------------------------------------------------------------
+[ 0 0 ]          100             120             20              0.200000      
+[ 0 1 ]          100             80              20              0.200000      
+[ 1 0 ]          100             0               100             1.000000      
+[ 1 1 ]          0               100             100             not comparable
+[ 2 1 ]          100             50              50              0.500000      
+5 differences found
+--------------------------------
+Some objects are not comparable
+--------------------------------

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_16_2.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16_2.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_16_2.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_16_2.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,9 @@
+#############################
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 -v -p 0.02 g1/dset7 g1/dset8'
+#############################
+dataset: </g1/dset7> and </g1/dset8>
+Warning: feature not supported
+0 differences found
+--------------------------------
+Some objects are not comparable
+--------------------------------

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_16_3.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_16_3.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_16_3.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_16_3.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+#############################
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5 -v -p 0.02 g1/dset9 g1/dset10'
+#############################
+dataset: </g1/dset9> and </g1/dset10>
+size:           [3x2]           [3x2]
+position        dset9           dset10          difference      relative       
+------------------------------------------------------------------------
+[ 0 0 ]          100             120             20              0.2           
+[ 0 1 ]          100             80              20              0.2           
+[ 1 0 ]          100             0               100             1             
+[ 1 1 ]          0               100             100             not comparable
+[ 2 1 ]          100             50              50              0.5           
+5 differences found
+--------------------------------
+Some objects are not comparable
+--------------------------------

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_17.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_17.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_17.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,23 +1,37 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -v'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -v'
 #############################
 
 file1     file2
 ---------------------------------------
     x      x    /g1            
+    x           /g1/d1         
+    x           /g1/d2         
     x      x    /g1/dset1      
+    x           /g1/dset10     
            x    /g1/dset2      
     x           /g1/dset3      
            x    /g1/dset4      
+    x           /g1/dset5      
+    x           /g1/dset6      
+    x           /g1/dset7      
+    x           /g1/dset8      
+    x           /g1/dset9      
+    x           /g1/fp1        
+    x           /g1/fp2        
            x    /g2            
 
-Group:       </g1> and </g1>
-Dataset:     </g1/dset1> and </g1/dset1>
+group  : </g1> and </g1>
+0 differences found
+dataset: </g1/dset1> and </g1/dset1>
+size:           [3x2]           [3x2]
 position        dset1           dset1           difference          
 ------------------------------------------------------------
-[ 0 1 ]          1.000000        1.100000        0.100000       
-[ 1 0 ]          1.000000        1.010000        0.010000       
-[ 1 1 ]          1.000000        1.001000        0.001000       
-[ 2 0 ]          1.000000        1.000100        0.000100       
-Group:       </> and </>
-4 differences found
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          1               1.1             0.1            
+[ 1 0 ]          1               1.01            0.01           
+[ 1 1 ]          1               1.001           0.001          
+[ 2 1 ]          0               1               1              
+5 differences found
+group  : </> and </>
+0 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_18.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_18.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_18.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,3 +1,3 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -q'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -q'
 #############################

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_20.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_20.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_20.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,7 @@
 #############################
-Expected output for 'h5diff file3.h5 file3.h5 -v dset group'
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v dset g1'
 #############################
-Comparison not possible: </dset> is of type H5G_DATASET and </group> is of type H5G_GROUP
-0 differences found
+Comparison not possible: </dset> is of type H5G_DATASET and </g1> is of type H5G_GROUP
 --------------------------------
 Some objects are not comparable
 --------------------------------

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_21.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_21.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_21.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,7 @@
 #############################
-Expected output for 'h5diff file3.h5 file3.h5 -v dset link'
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v dset l1'
 #############################
-Comparison not possible: </dset> is of type H5G_DATASET and </link> is of type H5G_LINK
-0 differences found
+Comparison not possible: </dset> is of type H5G_DATASET and </l1> is of type H5G_LINK
 --------------------------------
 Some objects are not comparable
 --------------------------------

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_22.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_22.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_22.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,7 @@
 #############################
-Expected output for 'h5diff file3.h5 file3.h5 -v dset type'
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v dset t1'
 #############################
-Comparison not possible: </dset> is of type H5G_DATASET and </type> is of type H5G_TYPE
-0 differences found
+Comparison not possible: </dset> is of type H5G_DATASET and </t1> is of type H5G_TYPE
 --------------------------------
 Some objects are not comparable
 --------------------------------

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_23.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_23.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_23.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file3.h5 file3.h5 -v group group'
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v g1 g1'
 #############################
-Group:       </group> and </group>
+group  : </g1> and </g1>
 0 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_24.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_24.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_24.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file3.h5 file3.h5 -v type type'
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v t1 t1'
 #############################
-Datatype:    </type> and </type>
+datatype: </t1> and </t1>
 0 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_25.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_25.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_25.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file3.h5 file3.h5 -v link link'
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v l1 l1'
 #############################
-Link:        </link> and </link>
+link   : </l1> and </l1>
 0 differences found

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_26.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_26.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_26.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_26.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,5 @@
+#############################
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v g1 g2'
+#############################
+group  : </g1> and </g2>
+1 differences found

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_27.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_27.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_27.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_27.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,5 @@
+#############################
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v t1 t2'
+#############################
+datatype: </t1> and </t2>
+1 differences found

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_28.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_28.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_28.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_28.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,5 @@
+#############################
+Expected output for 'h5diff h5diff_types.h5 h5diff_types.h5 -v l1 l2'
+#############################
+link   : </l1> and </l2>
+1 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_50.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_50.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_50.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,13 +1,11 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset0a dset0b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset0a dset0b'
 #############################
-Dataset:     </dset0a> and </dset0b>
-Warning: Different storage datatype
+dataset: </dset0a> and </dset0b>
+Warning: different storage datatype
 </dset0a> has file datatype H5T_STD_I16LE
 </dset0b> has file datatype H5T_STD_I32LE
-Warning: Different storage datatype
-</dset0a> has file datatype H5T_STD_I16LE
-</dset0b> has file datatype H5T_STD_I32LE
+size:           [3x2]           [3x2]
 position        dset0a          dset0b          difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_51.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_51.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_51.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,8 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset1a dset1b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset1a dset1b'
 #############################
-Dataset:     </dset1a> and </dset1b>
+dataset: </dset1a> and </dset1b>
+size:           [3x2]           [3x2]
 position        dset1a          dset1b          difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_52.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_52.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_52.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,8 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset2a dset2b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset2a dset2b'
 #############################
-Dataset:     </dset2a> and </dset2b>
+dataset: </dset2a> and </dset2b>
+size:           [3x2]           [3x2]
 position        dset2a          dset2b          difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_53.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_53.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_53.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,8 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset3a dset4b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset3a dset4b'
 #############################
-Dataset:     </dset3a> and </dset4b>
+dataset: </dset3a> and </dset4b>
+size:           [3x2]           [3x2]
 position        dset3a          dset4b          difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_54.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_54.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_54.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,7 +1,8 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset4a dset4b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset4a dset4b'
 #############################
-Dataset:     </dset4a> and </dset4b>
+dataset: </dset4a> and </dset4b>
+size:           [3x2]           [3x2]
 position        dset4a          dset4b          difference          
 ------------------------------------------------------------
 [ 1 0 ]          1               3               2              

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_55.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_55.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_55.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,11 +1,12 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset5a dset5b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset5a dset5b'
 #############################
-Dataset:     </dset5a> and </dset5b>
+dataset: </dset5a> and </dset5b>
+size:           [3x2]           [3x2]
 position        dset5a          dset5b          difference          
 ------------------------------------------------------------
-[ 1 0 ]          1.000000        3.000000        2.000000       
-[ 1 1 ]          1.000000        4.000000        3.000000       
-[ 2 0 ]          1.000000        5.000000        4.000000       
-[ 2 1 ]          1.000000        6.000000        5.000000       
+[ 1 0 ]          1               3               2              
+[ 1 1 ]          1               4               3              
+[ 2 0 ]          1               5               4              
+[ 2 1 ]          1               6               5              
 4 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_56.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_56.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_56.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,11 +1,12 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset6a dset6b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset6a dset6b'
 #############################
-Dataset:     </dset6a> and </dset6b>
+dataset: </dset6a> and </dset6b>
+size:           [3x2]           [3x2]
 position        dset6a          dset6b          difference          
 ------------------------------------------------------------
-[ 1 0 ]          1.000000        3.000000        2.000000       
-[ 1 1 ]          1.000000        4.000000        3.000000       
-[ 2 0 ]          1.000000        5.000000        4.000000       
-[ 2 1 ]          1.000000        6.000000        5.000000       
+[ 1 0 ]          1               3               2              
+[ 1 1 ]          1               4               3              
+[ 2 0 ]          1               5               4              
+[ 2 1 ]          1               6               5              
 4 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_57.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_57.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_57.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,13 +1,10 @@
 #############################
-Expected output for 'h5diff file4.h5 file4.h5 -v dset7a dset7b'
+Expected output for 'h5diff h5diff_dtypes.h5 h5diff_dtypes.h5 -v dset7a dset7b'
 #############################
-Dataset:     </dset7a> and </dset7b>
-Warning: Different storage datatype
+dataset: </dset7a> and </dset7b>
+Warning: different storage datatype
 </dset7a> has file datatype H5T_STD_I8LE
 </dset7b> has file datatype H5T_STD_U8LE
-Warning: Different storage datatype
-</dset7a> has file datatype H5T_STD_I8LE
-</dset7b> has file datatype H5T_STD_U8LE
 Comparison not supported: </dset7a> has sign H5T_SGN_2 and </dset7b> has sign H5T_SGN_NONE
 0 differences found
 --------------------------------

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_58.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_58.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_58.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_58.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,13 @@
+#############################
+Expected output for 'h5diff h5diff_dset1.h5 h5diff_dset2.h5 -v refreg'
+#############################
+dataset: </refreg> and </refreg>
+Referenced dataset      6056            6056
+------------------------------------------------------------
+Region blocks
+block #0           (2,2)-(7,7)           (0,0)-(2,2)
+Region points
+point #1              (2,2)              (3,3)
+point #3              (1,6)              (2,5)
+point #4              (2,8)              (1,7)
+4 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_600.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_600.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_600.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,7 @@
 #############################
-Expected output for 'h5diff file1.h5'
+Expected output for 'h5diff h5diff_basic1.h5'
 #############################
-Number of arguments is only 2
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +9,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +48,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_601.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_601.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_601.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -x'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -x'
 #############################
 -x is an invalid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_602.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_602.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_602.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d g1/dset3 g1/dset4'
 #############################
 <-d g1/dset3> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_603.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_603.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_603.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d -4 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d -4 g1/dset3 g1/dset4'
 #############################
 Not a valid -d option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_604.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_604.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_604.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 0 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 0 g1/dset3 g1/dset4'
 #############################
 <-d 0> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_605.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_605.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_605.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d u g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d u g1/dset3 g1/dset4'
 #############################
 <-d u> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_606.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_606.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_606.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 0x1 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 0x1 g1/dset3 g1/dset4'
 #############################
 <-d 0x1> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_607.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_607.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_607.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 1 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 6 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_608.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_608.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_608.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 1 -d 2 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 1 -d 2 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 6 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_609.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_609.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_609.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,3 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 200 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 200 g1/dset3 g1/dset4'
 #############################
-0 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_610.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_610.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_610.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -d 1 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -d 1 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 6 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_611.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_611.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_611.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -r -p g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -r -p g1/dset3 g1/dset4'
 #############################
 <-p g1/dset3> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_612.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_612.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_612.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p -4 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p -4 g1/dset3 g1/dset4'
 #############################
 Not a valid -p option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_613.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_613.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_613.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 0 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0 g1/dset3 g1/dset4'
 #############################
 <-p 0> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_614.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_614.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_614.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p u g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p u g1/dset3 g1/dset4'
 #############################
 <-p u> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_615.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_615.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_615.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 0x1 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0x1 g1/dset3 g1/dset4'
 #############################
 <-p 0x1> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_616.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_616.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_616.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0.21 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 2 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_617.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_617.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_617.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0.21 -p 0.22 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 2 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_618.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_618.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_618.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,4 +1,3 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 2 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 2 g1/dset3 g1/dset4'
 #############################
-0 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_619.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_619.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_619.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -p 0.005 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -p 0.005 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 6 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_620.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_620.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_620.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n g1/dset3 g1/dset4'
 #############################
 <-n g1/dset3> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_621.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_621.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_621.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n -4 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n -4 g1/dset3 g1/dset4'
 #############################
 Not a valid -n option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_622.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_622.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_622.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 0 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 0 g1/dset3 g1/dset4'
 #############################
 <-n 0> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_623.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_623.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_623.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n u g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n u g1/dset3 g1/dset4'
 #############################
 <-n u> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_624.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_624.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_624.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,8 +1,8 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 0x1 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 0x1 g1/dset3 g1/dset4'
 #############################
 <-n 0x1> is not a valid option
-Usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
+usage: h5diff file1 file2 [OPTIONS] [obj1[obj2]] 
 
 file1             File name of the first HDF5 file
 file2             File name of the second HDF5 file
@@ -10,19 +10,19 @@
 [obj2]            Name of an HDF5 object, in absolute path
 [OPTIONS] are:
 [-h]              Print out this information
-[-r]              Report mode. Print the differences
-[-v]              Verbose mode. Print the differences, list of objects, warnings
+[-r]              Report mode. Print differences
+[-v]              Verbose mode. Print differences, list of objects, warnings
 [-q]              Quiet mode. Do not do output
 [-n count]        Print difference up to count number
 [-d delta]        Print difference when it is greater than limit delta
 [-p relative]     Print difference when it is greater than a relative limit
 
 Items in [] are optional
-[obj1] and [obj2] are HDF5 objects (datasets, groups or datatypes)
+[obj1] and [obj2] are HDF5 objects (datasets, groups, datatypes or links)
 The 'count' value must be a positive integer
 The 'delta' and 'relative' values must be positive numbers
 The -d compare criteria is |a - b| > delta
-The -p compare criteria is |1 - b/a| > relative
+The -p compare criteria is |(b-a)/a| > relative
 
 h5diff has four modes of output:
  Normal mode: print the number of differences found and where they occured
@@ -49,3 +49,5 @@
    h5diff file1 file1 /g1/dset1 /g1/dset2
 
    to compare '/g1/dset1' and '/g1/dset2' in the same file
+
+If no objects are specified, h5diff only compares objects with the same absolute path in both files. The compare criteria is: 1) datasets: numerical array differences 2) groups: name string difference 3) datatypes: the return value of H5Tequal 2) links: name string difference of the linked value

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_625.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_625.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_625.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 2 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 2 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 2 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_626.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_626.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_626.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 2 -n 3 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 2 -n 3 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 3 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_627.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_627.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_627.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 200 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 200 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 6 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_628.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_628.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_628.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file1.h5 file2.h5 -n 1 g1/dset3 g1/dset4'
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic2.h5 -n 1 g1/dset3 g1/dset4'
 #############################
-Dataset:     </g1/dset3> and </g1/dset4>
+dataset: </g1/dset3> and </g1/dset4>
 1 differences found

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_629.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_629.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_629.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,5 +2,3 @@
 Expected output for 'h5diff file1.h6 file2.h6'
 #############################
 h5diff: <file1.h6>: unable to open file
-No common objects found. Files are not comparable.
-Use -v for a list of objects.

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_70.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_70.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_70.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5diff file5.h5 file6.h5 -v'
+Expected output for 'h5diff h5diff_attr1.h5 h5diff_attr2.h5 -v'
 #############################
 
 file1     file2
@@ -7,10 +7,610 @@
     x      x    /dset          
     x      x    /g1            
 
-Dataset:     </dset> and </dset>
-</dset> and </dset> are empty datasets
-Group:       </g1> and </g1>
-Attribute:   <string of </g1>> and <string of </g1>>
+dataset: </dset> and </dset>
+</dset> or </dset> are empty datasets
+attribute: <string of </dset>> and <string of </dset>>
+size:           [2]           [2]
+position        string of </dset> string of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          a                z                
+[ 0 ]          b                z                
+[ 1 ]          d                z                
+[ 1 ]          e                z                
+4 differences found
+attribute: <bitfield of </dset>> and <bitfield of </dset>>
+size:           [2]           [2]
+position        bitfield of </dset> bitfield of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
+2 differences found
+attribute: <opaque of </dset>> and <opaque of </dset>>
+size:           [2]           [2]
+position        opaque of </dset> opaque of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
+2 differences found
+attribute: <compound of </dset>> and <compound of </dset>>
+size:           [2]           [2]
+position        compound of </dset> compound of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 0 ]          2               0               2              
+[ 1 ]          3               0               3              
+[ 1 ]          4               0               4              
+4 differences found
+attribute: <reference of </dset>> and <reference of </dset>>
+0 differences found
+attribute: <enum of </dset>> and <enum of </dset>>
+size:           [2]           [2]
+position        enum of </dset> enum of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          RED              GREEN            
+[ 1 ]          RED              GREEN            
+2 differences found
+attribute: <vlen of </dset>> and <vlen of </dset>>
+size:           [2]           [2]
+position        vlen of </dset> vlen of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
+[ 1 ]          3               0               3              
+3 differences found
+attribute: <array of </dset>> and <array of </dset>>
+size:           [2]           [2]
+position        array of </dset> array of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 0 ]          2               0               2              
+[ 0 ]          3               0               3              
+[ 1 ]          4               0               4              
+[ 1 ]          5               0               5              
+[ 1 ]          6               0               6              
+6 differences found
+attribute: <integer of </dset>> and <integer of </dset>>
+size:           [2]           [2]
+position        integer of </dset> integer of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
+2 differences found
+attribute: <float of </dset>> and <float of </dset>>
+size:           [2]           [2]
+position        float of </dset> float of </dset> difference          
+------------------------------------------------------------
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
+2 differences found
+attribute: <string2D of </dset>> and <string2D of </dset>>
+size:           [3x2]           [3x2]
+position        string2D of </dset> string2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          a                z                
+[ 0 0 ]          b                z                
+[ 0 1 ]          c                z                
+[ 0 1 ]          d                z                
+[ 1 0 ]          e                z                
+[ 1 0 ]          f                z                
+[ 1 1 ]          g                z                
+[ 1 1 ]          h                z                
+[ 2 0 ]          i                z                
+[ 2 0 ]          j                z                
+[ 2 1 ]          k                z                
+[ 2 1 ]          l                z                
+12 differences found
+attribute: <bitfield2D of </dset>> and <bitfield2D of </dset>>
+size:           [3x2]           [3x2]
+position        bitfield2D of </dset> bitfield2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
+6 differences found
+attribute: <opaque2D of </dset>> and <opaque2D of </dset>>
+size:           [3x2]           [3x2]
+position        opaque2D of </dset> opaque2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
+6 differences found
+attribute: <compound2D of </dset>> and <compound2D of </dset>>
+size:           [3x2]           [3x2]
+position        compound2D of </dset> compound2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          1               0               1              
+[ 0 0 ]          2               0               2              
+[ 0 1 ]          3               0               3              
+[ 0 1 ]          4               0               4              
+[ 1 0 ]          5               0               5              
+[ 1 0 ]          6               0               6              
+[ 1 1 ]          7               0               7              
+[ 1 1 ]          8               0               8              
+[ 2 0 ]          9               0               9              
+[ 2 0 ]          10              0               10             
+[ 2 1 ]          11              0               11             
+[ 2 1 ]          12              0               12             
+12 differences found
+attribute: <reference2D of </dset>> and <reference2D of </dset>>
+0 differences found
+attribute: <enum2D of </dset>> and <enum2D of </dset>>
+size:           [3x2]           [3x2]
+position        enum2D of </dset> enum2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          RED              GREEN            
+[ 0 1 ]          RED              GREEN            
+[ 1 0 ]          RED              GREEN            
+[ 1 1 ]          RED              GREEN            
+[ 2 0 ]          RED              GREEN            
+[ 2 1 ]          RED              GREEN            
+6 differences found
+attribute: <vlen2D of </dset>> and <vlen2D of </dset>>
+size:           [3x2]           [3x2]
+position        vlen2D of </dset> vlen2D of </dset> difference          
+------------------------------------------------------------
+[ 0 1 ]          1               0               1              
+[ 1 0 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 1 1 ]          5               0               5              
+[ 2 0 ]          6               0               6              
+[ 2 0 ]          7               0               7              
+[ 2 0 ]          8               0               8              
+[ 2 1 ]          9               0               9              
+[ 2 1 ]          10              0               10             
+[ 2 1 ]          11              0               11             
+11 differences found
+attribute: <array2D of </dset>> and <array2D of </dset>>
+size:           [3x2]           [3x2]
+position        array2D of </dset> array2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          1               0               1              
+[ 0 0 ]          2               0               2              
+[ 0 0 ]          3               0               3              
+[ 0 1 ]          4               0               4              
+[ 0 1 ]          5               0               5              
+[ 0 1 ]          6               0               6              
+[ 1 0 ]          7               0               7              
+[ 1 0 ]          8               0               8              
+[ 1 0 ]          9               0               9              
+[ 1 1 ]          10              0               10             
+[ 1 1 ]          11              0               11             
+[ 1 1 ]          12              0               12             
+[ 2 0 ]          13              0               13             
+[ 2 0 ]          14              0               14             
+[ 2 0 ]          15              0               15             
+[ 2 1 ]          16              0               16             
+[ 2 1 ]          17              0               17             
+[ 2 1 ]          18              0               18             
+18 differences found
+attribute: <integer2D of </dset>> and <integer2D of </dset>>
+size:           [3x2]           [3x2]
+position        integer2D of </dset> integer2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
+6 differences found
+attribute: <float2D of </dset>> and <float2D of </dset>>
+size:           [3x2]           [3x2]
+position        float2D of </dset> float2D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
+6 differences found
+attribute: <string3D of </dset>> and <string3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        string3D of </dset> string3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          a                z                
+[ 0 0 0 ]          b                z                
+[ 0 0 1 ]          c                z                
+[ 0 0 1 ]          d                z                
+[ 0 1 0 ]          e                z                
+[ 0 1 0 ]          f                z                
+[ 0 1 1 ]          g                z                
+[ 0 1 1 ]          h                z                
+[ 0 2 0 ]          i                z                
+[ 0 2 0 ]          j                z                
+[ 0 2 1 ]          k                z                
+[ 0 2 1 ]          l                z                
+[ 1 0 0 ]          m                z                
+[ 1 0 0 ]          n                z                
+[ 1 0 1 ]          p                z                
+[ 1 0 1 ]          q                z                
+[ 1 1 0 ]          r                z                
+[ 1 1 0 ]          s                z                
+[ 1 1 1 ]          t                z                
+[ 1 1 1 ]          u                z                
+[ 1 2 0 ]          v                z                
+[ 1 2 0 ]          w                z                
+[ 1 2 1 ]          x                z                
+[ 2 0 0 ]          A                z                
+[ 2 0 0 ]          B                z                
+[ 2 0 1 ]          C                z                
+[ 2 0 1 ]          D                z                
+[ 2 1 0 ]          E                z                
+[ 2 1 0 ]          F                z                
+[ 2 1 1 ]          G                z                
+[ 2 1 1 ]          H                z                
+[ 2 2 0 ]          I                z                
+[ 2 2 0 ]          J                z                
+[ 2 2 1 ]          K                z                
+[ 2 2 1 ]          L                z                
+[ 3 0 0 ]          M                z                
+[ 3 0 0 ]          N                z                
+[ 3 0 1 ]          P                z                
+[ 3 0 1 ]          Q                z                
+[ 3 1 0 ]          R                z                
+[ 3 1 0 ]          S                z                
+[ 3 1 1 ]          T                z                
+[ 3 1 1 ]          U                z                
+[ 3 2 0 ]          V                z                
+[ 3 2 0 ]          W                z                
+[ 3 2 1 ]          X                z                
+[ 3 2 1 ]          Z                z                
+47 differences found
+attribute: <bitfield3D of </dset>> and <bitfield3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        bitfield3D of </dset> bitfield3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
+24 differences found
+attribute: <opaque3D of </dset>> and <opaque3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        opaque3D of </dset> opaque3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
+24 differences found
+attribute: <compound3D of </dset>> and <compound3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        compound3D of </dset> compound3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1              
+[ 0 0 0 ]          2               0               2              
+[ 0 0 1 ]          3               0               3              
+[ 0 0 1 ]          4               0               4              
+[ 0 1 0 ]          5               0               5              
+[ 0 1 0 ]          6               0               6              
+[ 0 1 1 ]          7               0               7              
+[ 0 1 1 ]          8               0               8              
+[ 0 2 0 ]          9               0               9              
+[ 0 2 0 ]          10              0               10             
+[ 0 2 1 ]          11              0               11             
+[ 0 2 1 ]          12              0               12             
+[ 1 0 0 ]          13              0               13             
+[ 1 0 0 ]          14              0               14             
+[ 1 0 1 ]          15              0               15             
+[ 1 0 1 ]          16              0               16             
+[ 1 1 0 ]          17              0               17             
+[ 1 1 0 ]          18              0               18             
+[ 1 1 1 ]          19              0               19             
+[ 1 1 1 ]          20              0               20             
+[ 1 2 0 ]          21              0               21             
+[ 1 2 0 ]          22              0               22             
+[ 1 2 1 ]          23              0               23             
+[ 1 2 1 ]          24              0               24             
+[ 2 0 0 ]          25              0               25             
+[ 2 0 0 ]          26              0               26             
+[ 2 0 1 ]          27              0               27             
+[ 2 0 1 ]          28              0               28             
+[ 2 1 0 ]          29              0               29             
+[ 2 1 0 ]          30              0               30             
+[ 2 1 1 ]          31              0               31             
+[ 2 1 1 ]          32              0               32             
+[ 2 2 0 ]          33              0               33             
+[ 2 2 0 ]          34              0               34             
+[ 2 2 1 ]          35              0               35             
+[ 2 2 1 ]          36              0               36             
+[ 3 0 0 ]          37              0               37             
+[ 3 0 0 ]          38              0               38             
+[ 3 0 1 ]          39              0               39             
+[ 3 0 1 ]          40              0               40             
+[ 3 1 0 ]          41              0               41             
+[ 3 1 0 ]          42              0               42             
+[ 3 1 1 ]          43              0               43             
+[ 3 1 1 ]          44              0               44             
+[ 3 2 0 ]          45              0               45             
+[ 3 2 0 ]          46              0               46             
+[ 3 2 1 ]          47              0               47             
+[ 3 2 1 ]          48              0               48             
+48 differences found
+attribute: <reference3D of </dset>> and <reference3D of </dset>>
+0 differences found
+attribute: <enum3D of </dset>> and <enum3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        enum3D of </dset> enum3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          GREEN            RED              
+[ 0 0 1 ]          GREEN            RED              
+[ 0 1 0 ]          GREEN            RED              
+[ 0 1 1 ]          GREEN            RED              
+[ 0 2 0 ]          GREEN            RED              
+[ 0 2 1 ]          GREEN            RED              
+[ 1 0 0 ]          GREEN            RED              
+[ 1 0 1 ]          GREEN            RED              
+[ 1 1 0 ]          GREEN            RED              
+[ 1 1 1 ]          GREEN            RED              
+[ 1 2 0 ]          GREEN            RED              
+[ 1 2 1 ]          GREEN            RED              
+[ 2 0 0 ]          GREEN            RED              
+[ 2 0 1 ]          GREEN            RED              
+[ 2 1 0 ]          GREEN            RED              
+[ 2 1 1 ]          GREEN            RED              
+[ 2 2 0 ]          GREEN            RED              
+[ 2 2 1 ]          GREEN            RED              
+[ 3 0 0 ]          GREEN            RED              
+[ 3 0 1 ]          GREEN            RED              
+[ 3 1 0 ]          GREEN            RED              
+[ 3 1 1 ]          GREEN            RED              
+[ 3 2 0 ]          GREEN            RED              
+[ 3 2 1 ]          GREEN            RED              
+24 differences found
+attribute: <vlen3D of </dset>> and <vlen3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        vlen3D of </dset> vlen3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 1 ]          1               0               1              
+[ 0 1 0 ]          2               0               2              
+[ 0 1 1 ]          3               0               3              
+[ 0 2 0 ]          4               0               4              
+[ 0 2 1 ]          5               0               5              
+[ 1 0 0 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 0 1 ]          9               0               9              
+[ 1 1 0 ]          10              0               10             
+[ 1 1 0 ]          11              0               11             
+[ 1 1 1 ]          12              0               12             
+[ 1 1 1 ]          13              0               13             
+[ 1 2 0 ]          14              0               14             
+[ 1 2 0 ]          15              0               15             
+[ 1 2 1 ]          16              0               16             
+[ 1 2 1 ]          17              0               17             
+[ 2 0 0 ]          18              0               18             
+[ 2 0 0 ]          19              0               19             
+[ 2 0 0 ]          20              0               20             
+[ 2 0 1 ]          21              0               21             
+[ 2 0 1 ]          22              0               22             
+[ 2 0 1 ]          23              0               23             
+[ 2 1 0 ]          24              0               24             
+[ 2 1 0 ]          25              0               25             
+[ 2 1 0 ]          26              0               26             
+[ 2 1 1 ]          27              0               27             
+[ 2 1 1 ]          28              0               28             
+[ 2 1 1 ]          29              0               29             
+[ 2 2 0 ]          30              0               30             
+[ 2 2 0 ]          31              0               31             
+[ 2 2 0 ]          32              0               32             
+[ 2 2 1 ]          33              0               33             
+[ 2 2 1 ]          34              0               34             
+[ 2 2 1 ]          35              0               35             
+[ 3 0 0 ]          36              0               36             
+[ 3 0 0 ]          37              0               37             
+[ 3 0 0 ]          38              0               38             
+[ 3 0 0 ]          39              0               39             
+[ 3 0 1 ]          40              0               40             
+[ 3 0 1 ]          41              0               41             
+[ 3 0 1 ]          42              0               42             
+[ 3 0 1 ]          43              0               43             
+[ 3 1 0 ]          44              0               44             
+[ 3 1 0 ]          45              0               45             
+[ 3 1 0 ]          46              0               46             
+[ 3 1 0 ]          47              0               47             
+[ 3 1 1 ]          48              0               48             
+[ 3 1 1 ]          49              0               49             
+[ 3 1 1 ]          50              0               50             
+[ 3 1 1 ]          51              0               51             
+[ 3 2 0 ]          52              0               52             
+[ 3 2 0 ]          53              0               53             
+[ 3 2 0 ]          54              0               54             
+[ 3 2 0 ]          55              0               55             
+[ 3 2 1 ]          56              0               56             
+[ 3 2 1 ]          57              0               57             
+[ 3 2 1 ]          58              0               58             
+[ 3 2 1 ]          59              0               59             
+59 differences found
+attribute: <array3D of </dset>> and <array3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        array3D of </dset> array3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1              
+[ 0 0 0 ]          2               0               2              
+[ 0 0 0 ]          3               0               3              
+[ 0 0 1 ]          4               0               4              
+[ 0 0 1 ]          5               0               5              
+[ 0 0 1 ]          6               0               6              
+[ 0 1 0 ]          7               0               7              
+[ 0 1 0 ]          8               0               8              
+[ 0 1 0 ]          9               0               9              
+[ 0 1 1 ]          10              0               10             
+[ 0 1 1 ]          11              0               11             
+[ 0 1 1 ]          12              0               12             
+[ 0 2 0 ]          13              0               13             
+[ 0 2 0 ]          14              0               14             
+[ 0 2 0 ]          15              0               15             
+[ 0 2 1 ]          16              0               16             
+[ 0 2 1 ]          17              0               17             
+[ 0 2 1 ]          18              0               18             
+[ 1 0 0 ]          19              0               19             
+[ 1 0 0 ]          20              0               20             
+[ 1 0 0 ]          21              0               21             
+[ 1 0 1 ]          22              0               22             
+[ 1 0 1 ]          23              0               23             
+[ 1 0 1 ]          24              0               24             
+[ 1 1 0 ]          25              0               25             
+[ 1 1 0 ]          26              0               26             
+[ 1 1 0 ]          27              0               27             
+[ 1 1 1 ]          28              0               28             
+[ 1 1 1 ]          29              0               29             
+[ 1 1 1 ]          30              0               30             
+[ 1 2 0 ]          31              0               31             
+[ 1 2 0 ]          32              0               32             
+[ 1 2 0 ]          33              0               33             
+[ 1 2 1 ]          34              0               34             
+[ 1 2 1 ]          35              0               35             
+[ 1 2 1 ]          36              0               36             
+[ 2 0 0 ]          37              0               37             
+[ 2 0 0 ]          38              0               38             
+[ 2 0 0 ]          39              0               39             
+[ 2 0 1 ]          40              0               40             
+[ 2 0 1 ]          41              0               41             
+[ 2 0 1 ]          42              0               42             
+[ 2 1 0 ]          43              0               43             
+[ 2 1 0 ]          44              0               44             
+[ 2 1 0 ]          45              0               45             
+[ 2 1 1 ]          46              0               46             
+[ 2 1 1 ]          47              0               47             
+[ 2 1 1 ]          48              0               48             
+[ 2 2 0 ]          49              0               49             
+[ 2 2 0 ]          50              0               50             
+[ 2 2 0 ]          51              0               51             
+[ 2 2 1 ]          52              0               52             
+[ 2 2 1 ]          53              0               53             
+[ 2 2 1 ]          54              0               54             
+[ 3 0 0 ]          55              0               55             
+[ 3 0 0 ]          56              0               56             
+[ 3 0 0 ]          57              0               57             
+[ 3 0 1 ]          58              0               58             
+[ 3 0 1 ]          59              0               59             
+[ 3 0 1 ]          60              0               60             
+[ 3 1 0 ]          61              0               61             
+[ 3 1 0 ]          62              0               62             
+[ 3 1 0 ]          63              0               63             
+[ 3 1 1 ]          64              0               64             
+[ 3 1 1 ]          65              0               65             
+[ 3 1 1 ]          66              0               66             
+[ 3 2 0 ]          67              0               67             
+[ 3 2 0 ]          68              0               68             
+[ 3 2 0 ]          69              0               69             
+[ 3 2 1 ]          70              0               70             
+[ 3 2 1 ]          71              0               71             
+[ 3 2 1 ]          72              0               72             
+72 differences found
+attribute: <integer3D of </dset>> and <integer3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        integer3D of </dset> integer3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
+24 differences found
+attribute: <float3D of </dset>> and <float3D of </dset>>
+size:           [4x3x2]           [4x3x2]
+position        float3D of </dset> float3D of </dset> difference          
+------------------------------------------------------------
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
+24 differences found
+456 differences found
+group  : </g1> and </g1>
+0 differences found
+attribute: <string of </g1>> and <string of </g1>>
+size:           [2]           [2]
 position        string of </g1> string of </g1> difference          
 ------------------------------------------------------------
 [ 0 ]          a                z                
@@ -18,40 +618,46 @@
 [ 1 ]          d                z                
 [ 1 ]          e                z                
 4 differences found
-Attribute:   <bitfield of </g1>> and <bitfield of </g1>>
+attribute: <bitfield of </g1>> and <bitfield of </g1>>
+size:           [2]           [2]
 position        bitfield of </g1> bitfield of </g1> difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 2 differences found
-Attribute:   <opaque of </g1>> and <opaque of </g1>>
+attribute: <opaque of </g1>> and <opaque of </g1>>
+size:           [2]           [2]
 position        opaque of </g1> opaque of </g1> difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 2 differences found
-Attribute:   <compound of </g1>> and <compound of </g1>>
+attribute: <compound of </g1>> and <compound of </g1>>
+size:           [2]           [2]
 position        compound of </g1> compound of </g1> difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
-[ 0 ]          2.000000        0.000000        2.000000       
+[ 0 ]          2               0               2              
 [ 1 ]          3               0               3              
-[ 1 ]          4.000000        0.000000        4.000000       
+[ 1 ]          4               0               4              
 4 differences found
-Attribute:   <enum of </g1>> and <enum of </g1>>
+attribute: <enum of </g1>> and <enum of </g1>>
+size:           [2]           [2]
 position        enum of </g1>   enum of </g1>   difference          
 ------------------------------------------------------------
 [ 0 ]          RED              GREEN            
 [ 1 ]          RED              GREEN            
 2 differences found
-Attribute:   <vlen of </g1>> and <vlen of </g1>>
+attribute: <vlen of </g1>> and <vlen of </g1>>
+size:           [2]           [2]
 position        vlen of </g1>   vlen of </g1>   difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 [ 1 ]          3               0               3              
 3 differences found
-Attribute:   <array of </g1>> and <array of </g1>>
+attribute: <array of </g1>> and <array of </g1>>
+size:           [2]           [2]
 position        array of </g1>  array of </g1>  difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
@@ -61,19 +667,22 @@
 [ 1 ]          5               0               5              
 [ 1 ]          6               0               6              
 6 differences found
-Attribute:   <integer of </g1>> and <integer of </g1>>
+attribute: <integer of </g1>> and <integer of </g1>>
+size:           [2]           [2]
 position        integer of </g1> integer of </g1> difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 2 differences found
-Attribute:   <float of </g1>> and <float of </g1>>
+attribute: <float of </g1>> and <float of </g1>>
+size:           [2]           [2]
 position        float of </g1>  float of </g1>  difference          
 ------------------------------------------------------------
-[ 0 ]          1.000000        0.000000        1.000000       
-[ 1 ]          2.000000        0.000000        2.000000       
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
 2 differences found
-Attribute:   <string2D of </g1>> and <string2D of </g1>>
+attribute: <string2D of </g1>> and <string2D of </g1>>
+size:           [3x2]           [3x2]
 position        string2D of </g1> string2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          a                z                
@@ -89,7 +698,8 @@
 [ 2 1 ]          k                z                
 [ 2 1 ]          l                z                
 12 differences found
-Attribute:   <bitfield2D of </g1>> and <bitfield2D of </g1>>
+attribute: <bitfield2D of </g1>> and <bitfield2D of </g1>>
+size:           [3x2]           [3x2]
 position        bitfield2D of </g1> bitfield2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -99,7 +709,8 @@
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <opaque2D of </g1>> and <opaque2D of </g1>>
+attribute: <opaque2D of </g1>> and <opaque2D of </g1>>
+size:           [3x2]           [3x2]
 position        opaque2D of </g1> opaque2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -109,23 +720,25 @@
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <compound2D of </g1>> and <compound2D of </g1>>
+attribute: <compound2D of </g1>> and <compound2D of </g1>>
+size:           [3x2]           [3x2]
 position        compound2D of </g1> compound2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
-[ 0 0 ]          2.000000        0.000000        2.000000       
+[ 0 0 ]          2               0               2              
 [ 0 1 ]          3               0               3              
-[ 0 1 ]          4.000000        0.000000        4.000000       
+[ 0 1 ]          4               0               4              
 [ 1 0 ]          5               0               5              
-[ 1 0 ]          6.000000        0.000000        6.000000       
+[ 1 0 ]          6               0               6              
 [ 1 1 ]          7               0               7              
-[ 1 1 ]          8.000000        0.000000        8.000000       
+[ 1 1 ]          8               0               8              
 [ 2 0 ]          9               0               9              
-[ 2 0 ]          10.000000       0.000000        10.000000      
+[ 2 0 ]          10              0               10             
 [ 2 1 ]          11              0               11             
-[ 2 1 ]          12.000000       0.000000        12.000000      
+[ 2 1 ]          12              0               12             
 12 differences found
-Attribute:   <enum2D of </g1>> and <enum2D of </g1>>
+attribute: <enum2D of </g1>> and <enum2D of </g1>>
+size:           [3x2]           [3x2]
 position        enum2D of </g1> enum2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          RED              GREEN            
@@ -135,7 +748,8 @@
 [ 2 0 ]          RED              GREEN            
 [ 2 1 ]          RED              GREEN            
 6 differences found
-Attribute:   <vlen2D of </g1>> and <vlen2D of </g1>>
+attribute: <vlen2D of </g1>> and <vlen2D of </g1>>
+size:           [3x2]           [3x2]
 position        vlen2D of </g1> vlen2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 1 ]          1               0               1              
@@ -150,7 +764,8 @@
 [ 2 1 ]          10              0               10             
 [ 2 1 ]          11              0               11             
 11 differences found
-Attribute:   <array2D of </g1>> and <array2D of </g1>>
+attribute: <array2D of </g1>> and <array2D of </g1>>
+size:           [3x2]           [3x2]
 position        array2D of </g1> array2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -172,7 +787,8 @@
 [ 2 1 ]          17              0               17             
 [ 2 1 ]          18              0               18             
 18 differences found
-Attribute:   <integer2D of </g1>> and <integer2D of </g1>>
+attribute: <integer2D of </g1>> and <integer2D of </g1>>
+size:           [3x2]           [3x2]
 position        integer2D of </g1> integer2D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -182,17 +798,19 @@
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <float2D of </g1>> and <float2D of </g1>>
+attribute: <float2D of </g1>> and <float2D of </g1>>
+size:           [3x2]           [3x2]
 position        float2D of </g1> float2D of </g1> difference          
 ------------------------------------------------------------
-[ 0 0 ]          1.000000        0.000000        1.000000       
-[ 0 1 ]          2.000000        0.000000        2.000000       
-[ 1 0 ]          3.000000        0.000000        3.000000       
-[ 1 1 ]          4.000000        0.000000        4.000000       
-[ 2 0 ]          5.000000        0.000000        5.000000       
-[ 2 1 ]          6.000000        0.000000        6.000000       
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <string3D of </g1>> and <string3D of </g1>>
+attribute: <string3D of </g1>> and <string3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        string3D of </g1> string3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          a                z                
@@ -243,7 +861,8 @@
 [ 3 2 1 ]          X                z                
 [ 3 2 1 ]          Z                z                
 47 differences found
-Attribute:   <bitfield3D of </g1>> and <bitfield3D of </g1>>
+attribute: <bitfield3D of </g1>> and <bitfield3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        bitfield3D of </g1> bitfield3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -271,7 +890,8 @@
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
 24 differences found
-Attribute:   <opaque3D of </g1>> and <opaque3D of </g1>>
+attribute: <opaque3D of </g1>> and <opaque3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        opaque3D of </g1> opaque3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -299,59 +919,61 @@
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
 24 differences found
-Attribute:   <compound3D of </g1>> and <compound3D of </g1>>
+attribute: <compound3D of </g1>> and <compound3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        compound3D of </g1> compound3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
-[ 0 0 0 ]          2.000000        0.000000        2.000000       
+[ 0 0 0 ]          2               0               2              
 [ 0 0 1 ]          3               0               3              
-[ 0 0 1 ]          4.000000        0.000000        4.000000       
+[ 0 0 1 ]          4               0               4              
 [ 0 1 0 ]          5               0               5              
-[ 0 1 0 ]          6.000000        0.000000        6.000000       
+[ 0 1 0 ]          6               0               6              
 [ 0 1 1 ]          7               0               7              
-[ 0 1 1 ]          8.000000        0.000000        8.000000       
+[ 0 1 1 ]          8               0               8              
 [ 0 2 0 ]          9               0               9              
-[ 0 2 0 ]          10.000000       0.000000        10.000000      
+[ 0 2 0 ]          10              0               10             
 [ 0 2 1 ]          11              0               11             
-[ 0 2 1 ]          12.000000       0.000000        12.000000      
+[ 0 2 1 ]          12              0               12             
 [ 1 0 0 ]          13              0               13             
-[ 1 0 0 ]          14.000000       0.000000        14.000000      
+[ 1 0 0 ]          14              0               14             
 [ 1 0 1 ]          15              0               15             
-[ 1 0 1 ]          16.000000       0.000000        16.000000      
+[ 1 0 1 ]          16              0               16             
 [ 1 1 0 ]          17              0               17             
-[ 1 1 0 ]          18.000000       0.000000        18.000000      
+[ 1 1 0 ]          18              0               18             
 [ 1 1 1 ]          19              0               19             
-[ 1 1 1 ]          20.000000       0.000000        20.000000      
+[ 1 1 1 ]          20              0               20             
 [ 1 2 0 ]          21              0               21             
-[ 1 2 0 ]          22.000000       0.000000        22.000000      
+[ 1 2 0 ]          22              0               22             
 [ 1 2 1 ]          23              0               23             
-[ 1 2 1 ]          24.000000       0.000000        24.000000      
+[ 1 2 1 ]          24              0               24             
 [ 2 0 0 ]          25              0               25             
-[ 2 0 0 ]          26.000000       0.000000        26.000000      
+[ 2 0 0 ]          26              0               26             
 [ 2 0 1 ]          27              0               27             
-[ 2 0 1 ]          28.000000       0.000000        28.000000      
+[ 2 0 1 ]          28              0               28             
 [ 2 1 0 ]          29              0               29             
-[ 2 1 0 ]          30.000000       0.000000        30.000000      
+[ 2 1 0 ]          30              0               30             
 [ 2 1 1 ]          31              0               31             
-[ 2 1 1 ]          32.000000       0.000000        32.000000      
+[ 2 1 1 ]          32              0               32             
 [ 2 2 0 ]          33              0               33             
-[ 2 2 0 ]          34.000000       0.000000        34.000000      
+[ 2 2 0 ]          34              0               34             
 [ 2 2 1 ]          35              0               35             
-[ 2 2 1 ]          36.000000       0.000000        36.000000      
+[ 2 2 1 ]          36              0               36             
 [ 3 0 0 ]          37              0               37             
-[ 3 0 0 ]          38.000000       0.000000        38.000000      
+[ 3 0 0 ]          38              0               38             
 [ 3 0 1 ]          39              0               39             
-[ 3 0 1 ]          40.000000       0.000000        40.000000      
+[ 3 0 1 ]          40              0               40             
 [ 3 1 0 ]          41              0               41             
-[ 3 1 0 ]          42.000000       0.000000        42.000000      
+[ 3 1 0 ]          42              0               42             
 [ 3 1 1 ]          43              0               43             
-[ 3 1 1 ]          44.000000       0.000000        44.000000      
+[ 3 1 1 ]          44              0               44             
 [ 3 2 0 ]          45              0               45             
-[ 3 2 0 ]          46.000000       0.000000        46.000000      
+[ 3 2 0 ]          46              0               46             
 [ 3 2 1 ]          47              0               47             
-[ 3 2 1 ]          48.000000       0.000000        48.000000      
+[ 3 2 1 ]          48              0               48             
 48 differences found
-Attribute:   <enum3D of </g1>> and <enum3D of </g1>>
+attribute: <enum3D of </g1>> and <enum3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        enum3D of </g1> enum3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          GREEN            RED              
@@ -379,7 +1001,8 @@
 [ 3 2 0 ]          GREEN            RED              
 [ 3 2 1 ]          GREEN            RED              
 24 differences found
-Attribute:   <vlen3D of </g1>> and <vlen3D of </g1>>
+attribute: <vlen3D of </g1>> and <vlen3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        vlen3D of </g1> vlen3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 1 ]          1               0               1              
@@ -442,7 +1065,8 @@
 [ 3 2 1 ]          58              0               58             
 [ 3 2 1 ]          59              0               59             
 59 differences found
-Attribute:   <array3D of </g1>> and <array3D of </g1>>
+attribute: <array3D of </g1>> and <array3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        array3D of </g1> array3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -518,7 +1142,8 @@
 [ 3 2 1 ]          71              0               71             
 [ 3 2 1 ]          72              0               72             
 72 differences found
-Attribute:   <integer3D of </g1>> and <integer3D of </g1>>
+attribute: <integer3D of </g1>> and <integer3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        integer3D of </g1> integer3D of </g1> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -546,36 +1171,39 @@
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
 24 differences found
-Attribute:   <float3D of </g1>> and <float3D of </g1>>
+attribute: <float3D of </g1>> and <float3D of </g1>>
+size:           [4x3x2]           [4x3x2]
 position        float3D of </g1> float3D of </g1> difference          
 ------------------------------------------------------------
-[ 0 0 0 ]          1.000000        0.000000        1.000000       
-[ 0 0 1 ]          2.000000        0.000000        2.000000       
-[ 0 1 0 ]          3.000000        0.000000        3.000000       
-[ 0 1 1 ]          4.000000        0.000000        4.000000       
-[ 0 2 0 ]          5.000000        0.000000        5.000000       
-[ 0 2 1 ]          6.000000        0.000000        6.000000       
-[ 1 0 0 ]          7.000000        0.000000        7.000000       
-[ 1 0 1 ]          8.000000        0.000000        8.000000       
-[ 1 1 0 ]          9.000000        0.000000        9.000000       
-[ 1 1 1 ]          10.000000       0.000000        10.000000      
-[ 1 2 0 ]          11.000000       0.000000        11.000000      
-[ 1 2 1 ]          12.000000       0.000000        12.000000      
-[ 2 0 0 ]          13.000000       0.000000        13.000000      
-[ 2 0 1 ]          14.000000       0.000000        14.000000      
-[ 2 1 0 ]          15.000000       0.000000        15.000000      
-[ 2 1 1 ]          16.000000       0.000000        16.000000      
-[ 2 2 0 ]          17.000000       0.000000        17.000000      
-[ 2 2 1 ]          18.000000       0.000000        18.000000      
-[ 3 0 0 ]          19.000000       0.000000        19.000000      
-[ 3 0 1 ]          20.000000       0.000000        20.000000      
-[ 3 1 0 ]          21.000000       0.000000        21.000000      
-[ 3 1 1 ]          22.000000       0.000000        22.000000      
-[ 3 2 0 ]          23.000000       0.000000        23.000000      
-[ 3 2 1 ]          24.000000       0.000000        24.000000      
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
 24 differences found
-Group:       </> and </>
-Attribute:   <string of </>> and <string of </>>
+group  : </> and </>
+0 differences found
+attribute: <string of </>> and <string of </>>
+size:           [2]           [2]
 position        string of </>   string of </>   difference          
 ------------------------------------------------------------
 [ 0 ]          a                z                
@@ -583,40 +1211,46 @@
 [ 1 ]          d                z                
 [ 1 ]          e                z                
 4 differences found
-Attribute:   <bitfield of </>> and <bitfield of </>>
+attribute: <bitfield of </>> and <bitfield of </>>
+size:           [2]           [2]
 position        bitfield of </> bitfield of </> difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 2 differences found
-Attribute:   <opaque of </>> and <opaque of </>>
+attribute: <opaque of </>> and <opaque of </>>
+size:           [2]           [2]
 position        opaque of </>   opaque of </>   difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 2 differences found
-Attribute:   <compound of </>> and <compound of </>>
+attribute: <compound of </>> and <compound of </>>
+size:           [2]           [2]
 position        compound of </> compound of </> difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
-[ 0 ]          2.000000        0.000000        2.000000       
+[ 0 ]          2               0               2              
 [ 1 ]          3               0               3              
-[ 1 ]          4.000000        0.000000        4.000000       
+[ 1 ]          4               0               4              
 4 differences found
-Attribute:   <enum of </>> and <enum of </>>
+attribute: <enum of </>> and <enum of </>>
+size:           [2]           [2]
 position        enum of </>     enum of </>     difference          
 ------------------------------------------------------------
 [ 0 ]          RED              GREEN            
 [ 1 ]          RED              GREEN            
 2 differences found
-Attribute:   <vlen of </>> and <vlen of </>>
+attribute: <vlen of </>> and <vlen of </>>
+size:           [2]           [2]
 position        vlen of </>     vlen of </>     difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 [ 1 ]          3               0               3              
 3 differences found
-Attribute:   <array of </>> and <array of </>>
+attribute: <array of </>> and <array of </>>
+size:           [2]           [2]
 position        array of </>    array of </>    difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
@@ -626,19 +1260,22 @@
 [ 1 ]          5               0               5              
 [ 1 ]          6               0               6              
 6 differences found
-Attribute:   <integer of </>> and <integer of </>>
+attribute: <integer of </>> and <integer of </>>
+size:           [2]           [2]
 position        integer of </>  integer of </>  difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 2 differences found
-Attribute:   <float of </>> and <float of </>>
+attribute: <float of </>> and <float of </>>
+size:           [2]           [2]
 position        float of </>    float of </>    difference          
 ------------------------------------------------------------
-[ 0 ]          1.000000        0.000000        1.000000       
-[ 1 ]          2.000000        0.000000        2.000000       
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
 2 differences found
-Attribute:   <string2D of </>> and <string2D of </>>
+attribute: <string2D of </>> and <string2D of </>>
+size:           [3x2]           [3x2]
 position        string2D of </> string2D of </> difference          
 ------------------------------------------------------------
 [ 0 0 ]          a                z                
@@ -654,7 +1291,8 @@
 [ 2 1 ]          k                z                
 [ 2 1 ]          l                z                
 12 differences found
-Attribute:   <bitfield2D of </>> and <bitfield2D of </>>
+attribute: <bitfield2D of </>> and <bitfield2D of </>>
+size:           [3x2]           [3x2]
 position        bitfield2D of </> bitfield2D of </> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -664,7 +1302,8 @@
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <opaque2D of </>> and <opaque2D of </>>
+attribute: <opaque2D of </>> and <opaque2D of </>>
+size:           [3x2]           [3x2]
 position        opaque2D of </> opaque2D of </> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -674,23 +1313,25 @@
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <compound2D of </>> and <compound2D of </>>
+attribute: <compound2D of </>> and <compound2D of </>>
+size:           [3x2]           [3x2]
 position        compound2D of </> compound2D of </> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
-[ 0 0 ]          2.000000        0.000000        2.000000       
+[ 0 0 ]          2               0               2              
 [ 0 1 ]          3               0               3              
-[ 0 1 ]          4.000000        0.000000        4.000000       
+[ 0 1 ]          4               0               4              
 [ 1 0 ]          5               0               5              
-[ 1 0 ]          6.000000        0.000000        6.000000       
+[ 1 0 ]          6               0               6              
 [ 1 1 ]          7               0               7              
-[ 1 1 ]          8.000000        0.000000        8.000000       
+[ 1 1 ]          8               0               8              
 [ 2 0 ]          9               0               9              
-[ 2 0 ]          10.000000       0.000000        10.000000      
+[ 2 0 ]          10              0               10             
 [ 2 1 ]          11              0               11             
-[ 2 1 ]          12.000000       0.000000        12.000000      
+[ 2 1 ]          12              0               12             
 12 differences found
-Attribute:   <enum2D of </>> and <enum2D of </>>
+attribute: <enum2D of </>> and <enum2D of </>>
+size:           [3x2]           [3x2]
 position        enum2D of </>   enum2D of </>   difference          
 ------------------------------------------------------------
 [ 0 0 ]          RED              GREEN            
@@ -700,7 +1341,8 @@
 [ 2 0 ]          RED              GREEN            
 [ 2 1 ]          RED              GREEN            
 6 differences found
-Attribute:   <vlen2D of </>> and <vlen2D of </>>
+attribute: <vlen2D of </>> and <vlen2D of </>>
+size:           [3x2]           [3x2]
 position        vlen2D of </>   vlen2D of </>   difference          
 ------------------------------------------------------------
 [ 0 1 ]          1               0               1              
@@ -715,7 +1357,8 @@
 [ 2 1 ]          10              0               10             
 [ 2 1 ]          11              0               11             
 11 differences found
-Attribute:   <array2D of </>> and <array2D of </>>
+attribute: <array2D of </>> and <array2D of </>>
+size:           [3x2]           [3x2]
 position        array2D of </>  array2D of </>  difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -737,7 +1380,8 @@
 [ 2 1 ]          17              0               17             
 [ 2 1 ]          18              0               18             
 18 differences found
-Attribute:   <integer2D of </>> and <integer2D of </>>
+attribute: <integer2D of </>> and <integer2D of </>>
+size:           [3x2]           [3x2]
 position        integer2D of </> integer2D of </> difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -747,17 +1391,19 @@
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <float2D of </>> and <float2D of </>>
+attribute: <float2D of </>> and <float2D of </>>
+size:           [3x2]           [3x2]
 position        float2D of </>  float2D of </>  difference          
 ------------------------------------------------------------
-[ 0 0 ]          1.000000        0.000000        1.000000       
-[ 0 1 ]          2.000000        0.000000        2.000000       
-[ 1 0 ]          3.000000        0.000000        3.000000       
-[ 1 1 ]          4.000000        0.000000        4.000000       
-[ 2 0 ]          5.000000        0.000000        5.000000       
-[ 2 1 ]          6.000000        0.000000        6.000000       
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
 6 differences found
-Attribute:   <string3D of </>> and <string3D of </>>
+attribute: <string3D of </>> and <string3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        string3D of </> string3D of </> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          a                z                
@@ -808,7 +1454,8 @@
 [ 3 2 1 ]          X                z                
 [ 3 2 1 ]          Z                z                
 47 differences found
-Attribute:   <bitfield3D of </>> and <bitfield3D of </>>
+attribute: <bitfield3D of </>> and <bitfield3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        bitfield3D of </> bitfield3D of </> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -836,7 +1483,8 @@
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
 24 differences found
-Attribute:   <opaque3D of </>> and <opaque3D of </>>
+attribute: <opaque3D of </>> and <opaque3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        opaque3D of </> opaque3D of </> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -864,59 +1512,61 @@
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
 24 differences found
-Attribute:   <compound3D of </>> and <compound3D of </>>
+attribute: <compound3D of </>> and <compound3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        compound3D of </> compound3D of </> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
-[ 0 0 0 ]          2.000000        0.000000        2.000000       
+[ 0 0 0 ]          2               0               2              
 [ 0 0 1 ]          3               0               3              
-[ 0 0 1 ]          4.000000        0.000000        4.000000       
+[ 0 0 1 ]          4               0               4              
 [ 0 1 0 ]          5               0               5              
-[ 0 1 0 ]          6.000000        0.000000        6.000000       
+[ 0 1 0 ]          6               0               6              
 [ 0 1 1 ]          7               0               7              
-[ 0 1 1 ]          8.000000        0.000000        8.000000       
+[ 0 1 1 ]          8               0               8              
 [ 0 2 0 ]          9               0               9              
-[ 0 2 0 ]          10.000000       0.000000        10.000000      
+[ 0 2 0 ]          10              0               10             
 [ 0 2 1 ]          11              0               11             
-[ 0 2 1 ]          12.000000       0.000000        12.000000      
+[ 0 2 1 ]          12              0               12             
 [ 1 0 0 ]          13              0               13             
-[ 1 0 0 ]          14.000000       0.000000        14.000000      
+[ 1 0 0 ]          14              0               14             
 [ 1 0 1 ]          15              0               15             
-[ 1 0 1 ]          16.000000       0.000000        16.000000      
+[ 1 0 1 ]          16              0               16             
 [ 1 1 0 ]          17              0               17             
-[ 1 1 0 ]          18.000000       0.000000        18.000000      
+[ 1 1 0 ]          18              0               18             
 [ 1 1 1 ]          19              0               19             
-[ 1 1 1 ]          20.000000       0.000000        20.000000      
+[ 1 1 1 ]          20              0               20             
 [ 1 2 0 ]          21              0               21             
-[ 1 2 0 ]          22.000000       0.000000        22.000000      
+[ 1 2 0 ]          22              0               22             
 [ 1 2 1 ]          23              0               23             
-[ 1 2 1 ]          24.000000       0.000000        24.000000      
+[ 1 2 1 ]          24              0               24             
 [ 2 0 0 ]          25              0               25             
-[ 2 0 0 ]          26.000000       0.000000        26.000000      
+[ 2 0 0 ]          26              0               26             
 [ 2 0 1 ]          27              0               27             
-[ 2 0 1 ]          28.000000       0.000000        28.000000      
+[ 2 0 1 ]          28              0               28             
 [ 2 1 0 ]          29              0               29             
-[ 2 1 0 ]          30.000000       0.000000        30.000000      
+[ 2 1 0 ]          30              0               30             
 [ 2 1 1 ]          31              0               31             
-[ 2 1 1 ]          32.000000       0.000000        32.000000      
+[ 2 1 1 ]          32              0               32             
 [ 2 2 0 ]          33              0               33             
-[ 2 2 0 ]          34.000000       0.000000        34.000000      
+[ 2 2 0 ]          34              0               34             
 [ 2 2 1 ]          35              0               35             
-[ 2 2 1 ]          36.000000       0.000000        36.000000      
+[ 2 2 1 ]          36              0               36             
 [ 3 0 0 ]          37              0               37             
-[ 3 0 0 ]          38.000000       0.000000        38.000000      
+[ 3 0 0 ]          38              0               38             
 [ 3 0 1 ]          39              0               39             
-[ 3 0 1 ]          40.000000       0.000000        40.000000      
+[ 3 0 1 ]          40              0               40             
 [ 3 1 0 ]          41              0               41             
-[ 3 1 0 ]          42.000000       0.000000        42.000000      
+[ 3 1 0 ]          42              0               42             
 [ 3 1 1 ]          43              0               43             
-[ 3 1 1 ]          44.000000       0.000000        44.000000      
+[ 3 1 1 ]          44              0               44             
 [ 3 2 0 ]          45              0               45             
-[ 3 2 0 ]          46.000000       0.000000        46.000000      
+[ 3 2 0 ]          46              0               46             
 [ 3 2 1 ]          47              0               47             
-[ 3 2 1 ]          48.000000       0.000000        48.000000      
+[ 3 2 1 ]          48              0               48             
 48 differences found
-Attribute:   <enum3D of </>> and <enum3D of </>>
+attribute: <enum3D of </>> and <enum3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        enum3D of </>   enum3D of </>   difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          GREEN            RED              
@@ -944,7 +1594,8 @@
 [ 3 2 0 ]          GREEN            RED              
 [ 3 2 1 ]          GREEN            RED              
 24 differences found
-Attribute:   <vlen3D of </>> and <vlen3D of </>>
+attribute: <vlen3D of </>> and <vlen3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        vlen3D of </>   vlen3D of </>   difference          
 ------------------------------------------------------------
 [ 0 0 1 ]          1               0               1              
@@ -1007,7 +1658,8 @@
 [ 3 2 1 ]          58              0               58             
 [ 3 2 1 ]          59              0               59             
 59 differences found
-Attribute:   <array3D of </>> and <array3D of </>>
+attribute: <array3D of </>> and <array3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        array3D of </>  array3D of </>  difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -1083,7 +1735,8 @@
 [ 3 2 1 ]          71              0               71             
 [ 3 2 1 ]          72              0               72             
 72 differences found
-Attribute:   <integer3D of </>> and <integer3D of </>>
+attribute: <integer3D of </>> and <integer3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        integer3D of </> integer3D of </> difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -1111,35 +1764,35 @@
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
 24 differences found
-Attribute:   <float3D of </>> and <float3D of </>>
+attribute: <float3D of </>> and <float3D of </>>
+size:           [4x3x2]           [4x3x2]
 position        float3D of </>  float3D of </>  difference          
 ------------------------------------------------------------
-[ 0 0 0 ]          1.000000        0.000000        1.000000       
-[ 0 0 1 ]          2.000000        0.000000        2.000000       
-[ 0 1 0 ]          3.000000        0.000000        3.000000       
-[ 0 1 1 ]          4.000000        0.000000        4.000000       
-[ 0 2 0 ]          5.000000        0.000000        5.000000       
-[ 0 2 1 ]          6.000000        0.000000        6.000000       
-[ 1 0 0 ]          7.000000        0.000000        7.000000       
-[ 1 0 1 ]          8.000000        0.000000        8.000000       
-[ 1 1 0 ]          9.000000        0.000000        9.000000       
-[ 1 1 1 ]          10.000000       0.000000        10.000000      
-[ 1 2 0 ]          11.000000       0.000000        11.000000      
-[ 1 2 1 ]          12.000000       0.000000        12.000000      
-[ 2 0 0 ]          13.000000       0.000000        13.000000      
-[ 2 0 1 ]          14.000000       0.000000        14.000000      
-[ 2 1 0 ]          15.000000       0.000000        15.000000      
-[ 2 1 1 ]          16.000000       0.000000        16.000000      
-[ 2 2 0 ]          17.000000       0.000000        17.000000      
-[ 2 2 1 ]          18.000000       0.000000        18.000000      
-[ 3 0 0 ]          19.000000       0.000000        19.000000      
-[ 3 0 1 ]          20.000000       0.000000        20.000000      
-[ 3 1 0 ]          21.000000       0.000000        21.000000      
-[ 3 1 1 ]          22.000000       0.000000        22.000000      
-[ 3 2 0 ]          23.000000       0.000000        23.000000      
-[ 3 2 1 ]          24.000000       0.000000        24.000000      
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
 24 differences found
-0 differences found
 --------------------------------
 Some objects are not comparable
 --------------------------------

Modified: packages/hdf5/trunk/tools/testfiles/h5diff_80.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_80.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_80.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1,10 +1,11 @@
 #############################
-Expected output for 'h5diff file7.h5 file8.h5 -v'
+Expected output for 'h5diff h5diff_dset1.h5 h5diff_dset2.h5 -v'
 #############################
 
 file1     file2
 ---------------------------------------
     x      x    /dset          
+    x      x    /dsetref       
     x      x    /g1            
     x      x    /g1/array      
     x      x    /g1/array2D    
@@ -36,14 +37,21 @@
     x      x    /g1/vlen       
     x      x    /g1/vlen2D     
     x      x    /g1/vlen3D     
+    x      x    /refreg        
 
-Dataset:     </dset> and </dset>
+dataset: </dset> and </dset>
+size:           [2]           [2]
 position        dset            dset            difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Group:       </g1> and </g1>
-Dataset:     </g1/array> and </g1/array>
+2 differences found
+dataset: </dsetref> and </dsetref>
+0 differences found
+group  : </g1> and </g1>
+0 differences found
+dataset: </g1/array> and </g1/array>
+size:           [2]           [2]
 position        array           array           difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
@@ -52,7 +60,9 @@
 [ 1 ]          4               0               4              
 [ 1 ]          5               0               5              
 [ 1 ]          6               0               6              
-Dataset:     </g1/array2D> and </g1/array2D>
+6 differences found
+dataset: </g1/array2D> and </g1/array2D>
+size:           [3x2]           [3x2]
 position        array2D         array2D         difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -73,7 +83,9 @@
 [ 2 1 ]          16              0               16             
 [ 2 1 ]          17              0               17             
 [ 2 1 ]          18              0               18             
-Dataset:     </g1/array3D> and </g1/array3D>
+18 differences found
+dataset: </g1/array3D> and </g1/array3D>
+size:           [4x3x2]           [4x3x2]
 position        array3D         array3D         difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -148,12 +160,16 @@
 [ 3 2 1 ]          70              0               70             
 [ 3 2 1 ]          71              0               71             
 [ 3 2 1 ]          72              0               72             
-Dataset:     </g1/bitfield> and </g1/bitfield>
+72 differences found
+dataset: </g1/bitfield> and </g1/bitfield>
+size:           [2]           [2]
 position        bitfield        bitfield        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Dataset:     </g1/bitfield2D> and </g1/bitfield2D>
+2 differences found
+dataset: </g1/bitfield2D> and </g1/bitfield2D>
+size:           [3x2]           [3x2]
 position        bitfield2D      bitfield2D      difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -162,7 +178,9 @@
 [ 1 1 ]          4               0               4              
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
-Dataset:     </g1/bitfield3D> and </g1/bitfield3D>
+6 differences found
+dataset: </g1/bitfield3D> and </g1/bitfield3D>
+size:           [4x3x2]           [4x3x2]
 position        bitfield3D      bitfield3D      difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -189,134 +207,154 @@
 [ 3 1 1 ]          22              0               22             
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
-Dataset:     </g1/compound> and </g1/compound>
+24 differences found
+dataset: </g1/compound> and </g1/compound>
+size:           [2]           [2]
 position        compound        compound        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
-[ 0 ]          2.000000        0.000000        2.000000       
+[ 0 ]          2               0               2              
 [ 1 ]          3               0               3              
-[ 1 ]          4.000000        0.000000        4.000000       
-Dataset:     </g1/compound2D> and </g1/compound2D>
+[ 1 ]          4               0               4              
+4 differences found
+dataset: </g1/compound2D> and </g1/compound2D>
+size:           [3x2]           [3x2]
 position        compound2D      compound2D      difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
-[ 0 0 ]          2.000000        0.000000        2.000000       
+[ 0 0 ]          2               0               2              
 [ 0 1 ]          3               0               3              
-[ 0 1 ]          4.000000        0.000000        4.000000       
+[ 0 1 ]          4               0               4              
 [ 1 0 ]          5               0               5              
-[ 1 0 ]          6.000000        0.000000        6.000000       
+[ 1 0 ]          6               0               6              
 [ 1 1 ]          7               0               7              
-[ 1 1 ]          8.000000        0.000000        8.000000       
+[ 1 1 ]          8               0               8              
 [ 2 0 ]          9               0               9              
-[ 2 0 ]          10.000000       0.000000        10.000000      
+[ 2 0 ]          10              0               10             
 [ 2 1 ]          11              0               11             
-[ 2 1 ]          12.000000       0.000000        12.000000      
-Dataset:     </g1/compound3D> and </g1/compound3D>
+[ 2 1 ]          12              0               12             
+12 differences found
+dataset: </g1/compound3D> and </g1/compound3D>
+size:           [4x3x2]           [4x3x2]
 position        compound3D      compound3D      difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
-[ 0 0 0 ]          2.000000        0.000000        2.000000       
+[ 0 0 0 ]          2               0               2              
 [ 0 0 1 ]          3               0               3              
-[ 0 0 1 ]          4.000000        0.000000        4.000000       
+[ 0 0 1 ]          4               0               4              
 [ 0 1 0 ]          5               0               5              
-[ 0 1 0 ]          6.000000        0.000000        6.000000       
+[ 0 1 0 ]          6               0               6              
 [ 0 1 1 ]          7               0               7              
-[ 0 1 1 ]          8.000000        0.000000        8.000000       
+[ 0 1 1 ]          8               0               8              
 [ 0 2 0 ]          9               0               9              
-[ 0 2 0 ]          10.000000       0.000000        10.000000      
+[ 0 2 0 ]          10              0               10             
 [ 0 2 1 ]          11              0               11             
-[ 0 2 1 ]          12.000000       0.000000        12.000000      
+[ 0 2 1 ]          12              0               12             
 [ 1 0 0 ]          13              0               13             
-[ 1 0 0 ]          14.000000       0.000000        14.000000      
+[ 1 0 0 ]          14              0               14             
 [ 1 0 1 ]          15              0               15             
-[ 1 0 1 ]          16.000000       0.000000        16.000000      
+[ 1 0 1 ]          16              0               16             
 [ 1 1 0 ]          17              0               17             
-[ 1 1 0 ]          18.000000       0.000000        18.000000      
+[ 1 1 0 ]          18              0               18             
 [ 1 1 1 ]          19              0               19             
-[ 1 1 1 ]          20.000000       0.000000        20.000000      
+[ 1 1 1 ]          20              0               20             
 [ 1 2 0 ]          21              0               21             
-[ 1 2 0 ]          22.000000       0.000000        22.000000      
+[ 1 2 0 ]          22              0               22             
 [ 1 2 1 ]          23              0               23             
-[ 1 2 1 ]          24.000000       0.000000        24.000000      
+[ 1 2 1 ]          24              0               24             
 [ 2 0 0 ]          25              0               25             
-[ 2 0 0 ]          26.000000       0.000000        26.000000      
+[ 2 0 0 ]          26              0               26             
 [ 2 0 1 ]          27              0               27             
-[ 2 0 1 ]          28.000000       0.000000        28.000000      
+[ 2 0 1 ]          28              0               28             
 [ 2 1 0 ]          29              0               29             
-[ 2 1 0 ]          30.000000       0.000000        30.000000      
+[ 2 1 0 ]          30              0               30             
 [ 2 1 1 ]          31              0               31             
-[ 2 1 1 ]          32.000000       0.000000        32.000000      
+[ 2 1 1 ]          32              0               32             
 [ 2 2 0 ]          33              0               33             
-[ 2 2 0 ]          34.000000       0.000000        34.000000      
+[ 2 2 0 ]          34              0               34             
 [ 2 2 1 ]          35              0               35             
-[ 2 2 1 ]          36.000000       0.000000        36.000000      
+[ 2 2 1 ]          36              0               36             
 [ 3 0 0 ]          37              0               37             
-[ 3 0 0 ]          38.000000       0.000000        38.000000      
+[ 3 0 0 ]          38              0               38             
 [ 3 0 1 ]          39              0               39             
-[ 3 0 1 ]          40.000000       0.000000        40.000000      
+[ 3 0 1 ]          40              0               40             
 [ 3 1 0 ]          41              0               41             
-[ 3 1 0 ]          42.000000       0.000000        42.000000      
+[ 3 1 0 ]          42              0               42             
 [ 3 1 1 ]          43              0               43             
-[ 3 1 1 ]          44.000000       0.000000        44.000000      
+[ 3 1 1 ]          44              0               44             
 [ 3 2 0 ]          45              0               45             
-[ 3 2 0 ]          46.000000       0.000000        46.000000      
+[ 3 2 0 ]          46              0               46             
 [ 3 2 1 ]          47              0               47             
-[ 3 2 1 ]          48.000000       0.000000        48.000000      
-Dataset:     </g1/enum> and </g1/enum>
+[ 3 2 1 ]          48              0               48             
+48 differences found
+dataset: </g1/enum> and </g1/enum>
+size:           [2]           [2]
 position        enum            enum            difference          
 ------------------------------------------------------------
 [ 0 ]          RED              GREEN            
-Dataset:     </g1/enum2D> and </g1/enum2D>
-</g1/enum2D> and </g1/enum2D> are empty datasets
-Dataset:     </g1/enum3D> and </g1/enum3D>
-</g1/enum3D> and </g1/enum3D> are empty datasets
-Dataset:     </g1/float> and </g1/float>
+1 differences found
+dataset: </g1/enum2D> and </g1/enum2D>
+</g1/enum2D> or </g1/enum2D> are empty datasets
+0 differences found
+dataset: </g1/enum3D> and </g1/enum3D>
+</g1/enum3D> or </g1/enum3D> are empty datasets
+0 differences found
+dataset: </g1/float> and </g1/float>
+size:           [2]           [2]
 position        float           float           difference          
 ------------------------------------------------------------
-[ 0 ]          1.000000        0.000000        1.000000       
-[ 1 ]          2.000000        0.000000        2.000000       
-Dataset:     </g1/float2D> and </g1/float2D>
+[ 0 ]          1               0               1              
+[ 1 ]          2               0               2              
+2 differences found
+dataset: </g1/float2D> and </g1/float2D>
+size:           [3x2]           [3x2]
 position        float2D         float2D         difference          
 ------------------------------------------------------------
-[ 0 0 ]          1.000000        0.000000        1.000000       
-[ 0 1 ]          2.000000        0.000000        2.000000       
-[ 1 0 ]          3.000000        0.000000        3.000000       
-[ 1 1 ]          4.000000        0.000000        4.000000       
-[ 2 0 ]          5.000000        0.000000        5.000000       
-[ 2 1 ]          6.000000        0.000000        6.000000       
-Dataset:     </g1/float3D> and </g1/float3D>
+[ 0 0 ]          1               0               1              
+[ 0 1 ]          2               0               2              
+[ 1 0 ]          3               0               3              
+[ 1 1 ]          4               0               4              
+[ 2 0 ]          5               0               5              
+[ 2 1 ]          6               0               6              
+6 differences found
+dataset: </g1/float3D> and </g1/float3D>
+size:           [4x3x2]           [4x3x2]
 position        float3D         float3D         difference          
 ------------------------------------------------------------
-[ 0 0 0 ]          1.000000        0.000000        1.000000       
-[ 0 0 1 ]          2.000000        0.000000        2.000000       
-[ 0 1 0 ]          3.000000        0.000000        3.000000       
-[ 0 1 1 ]          4.000000        0.000000        4.000000       
-[ 0 2 0 ]          5.000000        0.000000        5.000000       
-[ 0 2 1 ]          6.000000        0.000000        6.000000       
-[ 1 0 0 ]          7.000000        0.000000        7.000000       
-[ 1 0 1 ]          8.000000        0.000000        8.000000       
-[ 1 1 0 ]          9.000000        0.000000        9.000000       
-[ 1 1 1 ]          10.000000       0.000000        10.000000      
-[ 1 2 0 ]          11.000000       0.000000        11.000000      
-[ 1 2 1 ]          12.000000       0.000000        12.000000      
-[ 2 0 0 ]          13.000000       0.000000        13.000000      
-[ 2 0 1 ]          14.000000       0.000000        14.000000      
-[ 2 1 0 ]          15.000000       0.000000        15.000000      
-[ 2 1 1 ]          16.000000       0.000000        16.000000      
-[ 2 2 0 ]          17.000000       0.000000        17.000000      
-[ 2 2 1 ]          18.000000       0.000000        18.000000      
-[ 3 0 0 ]          19.000000       0.000000        19.000000      
-[ 3 0 1 ]          20.000000       0.000000        20.000000      
-[ 3 1 0 ]          21.000000       0.000000        21.000000      
-[ 3 1 1 ]          22.000000       0.000000        22.000000      
-[ 3 2 0 ]          23.000000       0.000000        23.000000      
-[ 3 2 1 ]          24.000000       0.000000        24.000000      
-Dataset:     </g1/integer> and </g1/integer>
+[ 0 0 0 ]          1               0               1              
+[ 0 0 1 ]          2               0               2              
+[ 0 1 0 ]          3               0               3              
+[ 0 1 1 ]          4               0               4              
+[ 0 2 0 ]          5               0               5              
+[ 0 2 1 ]          6               0               6              
+[ 1 0 0 ]          7               0               7              
+[ 1 0 1 ]          8               0               8              
+[ 1 1 0 ]          9               0               9              
+[ 1 1 1 ]          10              0               10             
+[ 1 2 0 ]          11              0               11             
+[ 1 2 1 ]          12              0               12             
+[ 2 0 0 ]          13              0               13             
+[ 2 0 1 ]          14              0               14             
+[ 2 1 0 ]          15              0               15             
+[ 2 1 1 ]          16              0               16             
+[ 2 2 0 ]          17              0               17             
+[ 2 2 1 ]          18              0               18             
+[ 3 0 0 ]          19              0               19             
+[ 3 0 1 ]          20              0               20             
+[ 3 1 0 ]          21              0               21             
+[ 3 1 1 ]          22              0               22             
+[ 3 2 0 ]          23              0               23             
+[ 3 2 1 ]          24              0               24             
+24 differences found
+dataset: </g1/integer> and </g1/integer>
+size:           [2]           [2]
 position        integer         integer         difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Dataset:     </g1/integer2D> and </g1/integer2D>
+2 differences found
+dataset: </g1/integer2D> and </g1/integer2D>
+size:           [3x2]           [3x2]
 position        integer2D       integer2D       difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -325,7 +363,9 @@
 [ 1 1 ]          4               0               4              
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
-Dataset:     </g1/integer3D> and </g1/integer3D>
+6 differences found
+dataset: </g1/integer3D> and </g1/integer3D>
+size:           [4x3x2]           [4x3x2]
 position        integer3D       integer3D       difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -352,12 +392,16 @@
 [ 3 1 1 ]          22              0               22             
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
-Dataset:     </g1/opaque> and </g1/opaque>
+24 differences found
+dataset: </g1/opaque> and </g1/opaque>
+size:           [2]           [2]
 position        opaque          opaque          difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Dataset:     </g1/opaque2D> and </g1/opaque2D>
+2 differences found
+dataset: </g1/opaque2D> and </g1/opaque2D>
+size:           [3x2]           [3x2]
 position        opaque2D        opaque2D        difference          
 ------------------------------------------------------------
 [ 0 0 ]          1               0               1              
@@ -366,7 +410,9 @@
 [ 1 1 ]          4               0               4              
 [ 2 0 ]          5               0               5              
 [ 2 1 ]          6               0               6              
-Dataset:     </g1/opaque3D> and </g1/opaque3D>
+6 differences found
+dataset: </g1/opaque3D> and </g1/opaque3D>
+size:           [4x3x2]           [4x3x2]
 position        opaque3D        opaque3D        difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          1               0               1              
@@ -393,145 +439,184 @@
 [ 3 1 1 ]          22              0               22             
 [ 3 2 0 ]          23              0               23             
 [ 3 2 1 ]          24              0               24             
-Dataset:     </g1/reference> and </g1/reference>
+24 differences found
+dataset: </g1/reference> and </g1/reference>
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Dataset:     </g1/reference2D> and </g1/reference2D>
+4 differences found
+dataset: </g1/reference2D> and </g1/reference2D>
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Dataset:     </g1/reference3D> and </g1/reference3D>
+12 differences found
+dataset: </g1/reference3D> and </g1/reference3D>
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
+size:           [2]           [2]
 position                                        difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
-Dataset:     </g1/string> and </g1/string>
+48 differences found
+dataset: </g1/string> and </g1/string>
+size:           [2]           [2]
 position        string          string          difference          
 ------------------------------------------------------------
 [ 0 ]          a                z                
 [ 0 ]          b                z                
 [ 1 ]          d                z                
 [ 1 ]          e                z                
-Dataset:     </g1/string2D> and </g1/string2D>
+4 differences found
+dataset: </g1/string2D> and </g1/string2D>
+size:           [3x2]           [3x2]
 position        string2D        string2D        difference          
 ------------------------------------------------------------
 [ 0 0 ]          a                z                
@@ -546,7 +631,9 @@
 [ 2 0 ]          j                z                
 [ 2 1 ]          k                z                
 [ 2 1 ]          l                z                
-Dataset:     </g1/string3D> and </g1/string3D>
+12 differences found
+dataset: </g1/string3D> and </g1/string3D>
+size:           [4x3x2]           [4x3x2]
 position        string3D        string3D        difference          
 ------------------------------------------------------------
 [ 0 0 0 ]          a                z                
@@ -596,13 +683,17 @@
 [ 3 2 0 ]          W                z                
 [ 3 2 1 ]          X                z                
 [ 3 2 1 ]          Z                z                
-Dataset:     </g1/vlen> and </g1/vlen>
+47 differences found
+dataset: </g1/vlen> and </g1/vlen>
+size:           [2]           [2]
 position        vlen            vlen            difference          
 ------------------------------------------------------------
 [ 0 ]          1               0               1              
 [ 1 ]          2               0               2              
 [ 1 ]          3               0               3              
-Dataset:     </g1/vlen2D> and </g1/vlen2D>
+3 differences found
+dataset: </g1/vlen2D> and </g1/vlen2D>
+size:           [3x2]           [3x2]
 position        vlen2D          vlen2D          difference          
 ------------------------------------------------------------
 [ 0 1 ]          1               0               1              
@@ -616,7 +707,9 @@
 [ 2 1 ]          9               0               9              
 [ 2 1 ]          10              0               10             
 [ 2 1 ]          11              0               11             
-Dataset:     </g1/vlen3D> and </g1/vlen3D>
+11 differences found
+dataset: </g1/vlen3D> and </g1/vlen3D>
+size:           [4x3x2]           [4x3x2]
 position        vlen3D          vlen3D          difference          
 ------------------------------------------------------------
 [ 0 0 1 ]          1               0               1              
@@ -678,8 +771,19 @@
 [ 3 2 1 ]          57              0               57             
 [ 3 2 1 ]          58              0               58             
 [ 3 2 1 ]          59              0               59             
-Group:       </> and </>
-491 differences found
+59 differences found
+dataset: </refreg> and </refreg>
+Referenced dataset      6056            6056
+------------------------------------------------------------
+Region blocks
+block #0           (2,2)-(7,7)           (0,0)-(2,2)
+Region points
+point #1              (2,2)              (3,3)
+point #3              (1,6)              (2,5)
+point #4              (2,8)              (1,7)
+4 differences found
+group  : </> and </>
+0 differences found
 --------------------------------
 Some objects are not comparable
 --------------------------------

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_90.txt (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_90.txt)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5diff_90.txt	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/h5diff_90.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,3 @@
+#############################
+Expected output for 'h5diff h5diff_basic1.h5 h5diff_basic1.h5'
+#############################

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_attr1.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_attr1.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_attr2.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_attr2.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_basic1.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_basic1.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_basic2.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_basic2.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_dset1.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_dset1.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_dset2.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_dset2.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_dtypes.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_dtypes.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_hyper1.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_hyper1.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_hyper2.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_hyper2.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5diff_types.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5diff_types.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_attr.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_attr.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_big.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_big.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_deflate.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_deflate.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_early.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_early.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_early2.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_early2.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_ext.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_ext.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_fill.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_fill.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_filters.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_filters.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_fletcher.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_fletcher.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_hlink.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_hlink.h5)
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/h5repack_info.txt
===================================================================
--- packages/hdf5/trunk/tools/testfiles/h5repack_info.txt	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/h5repack_info.txt	2007-09-25 08:53:17 UTC (rev 1105)
@@ -1 +0,0 @@
--l dset1:CHUNK=20x20 -f dset1,dset2:GZIP=1

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_layout.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_layout.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_objs.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_objs.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_shuffle.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_shuffle.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/h5repack_szip.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/h5repack_szip.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/info.h5repack (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/info.h5repack)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/info.h5repack	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/info.h5repack	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1 @@
+-l dset1:CHUNK=20x20 -f dset1,dset2:GZIP=1

Copied: packages/hdf5/trunk/tools/testfiles/nosuchfile.ls (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/nosuchfile.ls)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/nosuchfile.ls	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/nosuchfile.ls	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,4 @@
+#############################
+ output for 'h5ls nosuchfile.h5'
+#############################
+nosuchfile.h5: unable to open file

Copied: packages/hdf5/trunk/tools/testfiles/out3.h5import (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/out3.h5import)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/out3.h5import	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/out3.h5import	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,7 @@
+PATH /integer
+RANK 1
+DIMENSION-SIZES 6
+INPUT-CLASS IN
+
+
+

Modified: packages/hdf5/trunk/tools/testfiles/taindices.h5
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/tall-2A.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tall-2A.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tall-2A.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml -A tall.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1">
       <hdf5:Dataspace>
@@ -128,7 +128,7 @@
       </hdf5:Group>
       <hdf5:Group Name="g1.2" OBJ-XID="xid_3944-0" H5Path="/g1/g1.2" Parents="xid_1344-0" H5ParentPaths="/g1" >
          <hdf5:Group Name="g1.2.1" OBJ-XID="xid_4592-0" H5Path="/g1/g1.2/g1.2.1" Parents="xid_3944-0" H5ParentPaths="/g1/g1.2" >
-            <hdf5:SoftLink LinkName="slink" OBJ-XID="xid_4294967294-4294967293" H5SourcePath="/g1/g1.2/g1.2.1/slink" TargetPath="somevalue"  Parents="xid_4592-0" H5ParentPaths="/g1/g1.2/g1.2.1" />
+            <hdf5:SoftLink LinkName="slink" OBJ-XID="xid_4294967294-4294967295" H5SourcePath="/g1/g1.2/g1.2.1/slink" TargetPath="somevalue"  Parents="xid_4592-0" H5ParentPaths="/g1/g1.2/g1.2.1" />
          </hdf5:Group>
       </hdf5:Group>
    </hdf5:Group>

Modified: packages/hdf5/trunk/tools/testfiles/tall-4s.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tall-4s.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tall-4s.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -11,7 +11,7 @@
       COUNT ( 3, 2 );
       BLOCK ( 1, 1 );
       DATA {
-      (0,0): 1, 3, 5, 4, 12, 20
+      (1,1): 1, 3, 5, 4, 12, 20
       }
    }
    ATTRIBUTE "attr1" {

Modified: packages/hdf5/trunk/tools/testfiles/tall.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tall.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tall.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tall.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1">
       <hdf5:Dataspace>
@@ -141,7 +141,7 @@
       </hdf5:Group>
       <hdf5:Group Name="g1.2" OBJ-XID="xid_3944-0" H5Path="/g1/g1.2" Parents="xid_1344-0" H5ParentPaths="/g1" >
          <hdf5:Group Name="g1.2.1" OBJ-XID="xid_4592-0" H5Path="/g1/g1.2/g1.2.1" Parents="xid_3944-0" H5ParentPaths="/g1/g1.2" >
-            <hdf5:SoftLink LinkName="slink" OBJ-XID="xid_4294967294-4294967293" H5SourcePath="/g1/g1.2/g1.2.1/slink" TargetPath="somevalue"  Parents="xid_4592-0" H5ParentPaths="/g1/g1.2/g1.2.1" />
+            <hdf5:SoftLink LinkName="slink" OBJ-XID="xid_4294967294-4294967295" H5SourcePath="/g1/g1.2/g1.2.1/slink" TargetPath="somevalue"  Parents="xid_4592-0" H5ParentPaths="/g1/g1.2/g1.2.1" />
          </hdf5:Group>
       </hdf5:Group>
    </hdf5:Group>

Modified: packages/hdf5/trunk/tools/testfiles/tarray1.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tarray1.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tarray1.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tarray1.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tarray2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tarray2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tarray2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tarray2.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tarray3.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tarray3.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tarray3.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tarray3.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tarray6.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tarray6.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tarray6.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tarray6.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tarray7.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tarray7.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tarray7.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tarray7.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tattr.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tattr.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tattr.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tattr.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1">
       <hdf5:Dataspace>

Copied: packages/hdf5/trunk/tools/testfiles/tbigdims.ddl (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbigdims.ddl)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tbigdims.ddl	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/tbigdims.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,19 @@
+#############################
+Expected output for 'h5dump -d dset4gb -s 4294967284 -c 22 tbigdims.h5'
+#############################
+HDF5 "tbigdims.h5" {
+DATASET "dset4gb" {
+   DATATYPE  H5T_STD_I8LE
+   DATASPACE  SIMPLE { ( 4294967306 ) / ( 4294967306 ) }
+   SUBSET {
+      START ( 4294967284 );
+      STRIDE ( 1 );
+      COUNT ( 22 );
+      BLOCK ( 1 );
+      DATA {
+      (4294967284): 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+      (4294967301): 15, 16, 17, 18, 19
+      }
+   }
+}
+}

Copied: packages/hdf5/trunk/tools/testfiles/tbigdims.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbigdims.h5)
===================================================================
(Binary files differ)

Copied: packages/hdf5/trunk/tools/testfiles/tbin1.ddl (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbin1.ddl)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tbin1.ddl	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/tbin1.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,12 @@
+#############################
+Expected output for 'h5dump -d array -o out1.bin -b LE tbinary.h5'
+#############################
+HDF5 "tbinary.h5" {
+DATASET "array" {
+   DATATYPE  H5T_ARRAY { [6] H5T_STD_I32LE }
+   DATASPACE  SIMPLE { ( 2 ) / ( 2 ) }
+   DATA {
+         }
+}
+}
+h5dump error: unable to print data

Copied: packages/hdf5/trunk/tools/testfiles/tbin2.ddl (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbin2.ddl)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tbin2.ddl	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/tbin2.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,11 @@
+#############################
+Expected output for 'h5dump -d float -o out2.bin -b BE tbinary.h5'
+#############################
+HDF5 "tbinary.h5" {
+DATASET "float" {
+   DATATYPE  H5T_IEEE_F32LE
+   DATASPACE  SIMPLE { ( 6 ) / ( 6 ) }
+   DATA {
+   }
+}
+}

Copied: packages/hdf5/trunk/tools/testfiles/tbin3.ddl (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbin3.ddl)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tbin3.ddl	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/tbin3.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,11 @@
+#############################
+Expected output for 'h5dump -d integer -o out3.bin -b MEMORY tbinary.h5'
+#############################
+HDF5 "tbinary.h5" {
+DATASET "integer" {
+   DATATYPE  H5T_STD_I32LE
+   DATASPACE  SIMPLE { ( 6 ) / ( 6 ) }
+   DATA {
+   }
+}
+}

Copied: packages/hdf5/trunk/tools/testfiles/tbin4.ddl (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbin4.ddl)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tbin4.ddl	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/tbin4.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,11 @@
+#############################
+Expected output for 'h5dump -d double -o out4.bin -b FILE tbinary.h5'
+#############################
+HDF5 "tbinary.h5" {
+DATASET "double" {
+   DATATYPE  H5T_IEEE_F64LE
+   DATASPACE  SIMPLE { ( 100000 ) / ( 100000 ) }
+   DATA {
+   }
+}
+}

Copied: packages/hdf5/trunk/tools/testfiles/tbinary.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tbinary.h5)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/tbitfields.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tbitfields.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tbitfields.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tbitfields.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="typetests" OBJ-XID="xid_1344-0" H5Path="/typetests" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Dataset Name="bitfield_1" OBJ-XID="xid_1720-0" H5Path= "/typetests/bitfield_1" Parents="xid_1344-0" H5ParentPaths="/typetests">

Modified: packages/hdf5/trunk/tools/testfiles/tcompound.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tcompound.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tcompound.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 Expected output for 'h5dump --xml tcompound.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
-   <hdf5:NamedDataType Name="#6632:0" OBJ-XID="xid_4294967294-4294967293" Parents="xid_696-0" H5ParentPaths="/">
+   <hdf5:NamedDataType Name="#6632:0" OBJ-XID="xid_4294967294-4294967295" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:DataType>
          <hdf5:CompoundType>
             <hdf5:Field FieldName="int">

Modified: packages/hdf5/trunk/tools/testfiles/tcompound2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tcompound2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tcompound2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 Expected output for 'h5dump --xml tcompound2.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
-   <hdf5:NamedDataType Name="#9560:0" OBJ-XID="xid_4294967294-4294967293" Parents="xid_696-0" H5ParentPaths="/">
+   <hdf5:NamedDataType Name="#9560:0" OBJ-XID="xid_4294967294-4294967295" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:DataType>
          <hdf5:CompoundType>
             <hdf5:Field FieldName="int">

Modified: packages/hdf5/trunk/tools/testfiles/tcompound_complex.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tcompound_complex.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tcompound_complex.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tcompound_complex.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="CompoundComplex" OBJ-XID="xid_976-0" H5Path= "/CompoundComplex" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tdatareg.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tdatareg.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tdatareg.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tdatareg.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_1284-0" H5Path= "/Dataset1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tdset-3s.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tdset-3s.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tdset-3s.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -11,17 +11,17 @@
       COUNT ( 9, 19 );
       BLOCK ( 1, 1 );
       DATA {
-      (0,0): 2, 3, 4, 5, 6, 7, 8, 9, 10, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4, 5,
-      (0,2): 6, 7, 8, 9, 10, 11, 12, 5, 6, 7, 8, 9, 10, 11, 12, 13, 6, 7, 8,
-      (0,3): 9, 10, 11, 12, 13, 14, 7, 8, 9, 10, 11, 12, 13, 14, 15, 8, 9,
-      (0,2): 10, 11, 12, 13, 14, 15, 16, 9, 10, 11, 12, 13, 14, 15, 16, 17,
-      (0,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 11, 12, 13, 14, 15, 16, 17,
-      (0,7): 18, 19, 12, 13, 14, 15, 16, 17, 18, 19, 20, 13, 14, 15, 16, 17,
-      (0,5): 18, 19, 20, 21, 14, 15, 16, 17, 18, 19, 20, 21, 22, 15, 16, 17,
-      (0,3): 18, 19, 20, 21, 22, 23, 16, 17, 18, 19, 20, 21, 22, 23, 24, 17,
-      (0,1): 18, 19, 20, 21, 22, 23, 24, 25, 18, 19, 20, 21, 22, 23, 24, 25,
-      (0,8): 26, 19, 20, 21, 22, 23, 24, 25, 26, 27, 20, 21, 22, 23, 24, 25,
-      (0,6): 26, 27, 28
+      (1,1): 2, 3, 4, 5, 6, 7, 8, 9, 10, 3, 4, 5, 6, 7, 8, 9, 10, 11, 4, 5,
+      (1,5): 6, 7, 8, 9, 10, 11, 12, 5, 6, 7, 8, 9, 10, 11, 12, 13, 6, 7, 8,
+      (1,8): 9, 10, 11, 12, 13, 14, 7, 8, 9, 10, 11, 12, 13, 14, 15, 8, 9,
+      (1,9): 10, 11, 12, 13, 14, 15, 16, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+      (1,9): 10, 11, 12, 13, 14, 15, 16, 17, 18, 11, 12, 13, 14, 15, 16, 17,
+      (1,17): 18, 19, 12, 13, 14, 15, 16, 17, 18, 19, 20, 13, 14, 15, 16, 17,
+      (1,17): 18, 19, 20, 21, 14, 15, 16, 17, 18, 19, 20, 21, 22, 15, 16, 17,
+      (1,17): 18, 19, 20, 21, 22, 23, 16, 17, 18, 19, 20, 21, 22, 23, 24, 17,
+      (1,17): 18, 19, 20, 21, 22, 23, 24, 25, 18, 19, 20, 21, 22, 23, 24, 25,
+      (2,5): 26, 19, 20, 21, 22, 23, 24, 25, 26, 27, 20, 21, 22, 23, 24, 25,
+      (2,5): 26, 27, 28
       }
    }
 }

Modified: packages/hdf5/trunk/tools/testfiles/tdset.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tdset.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tdset.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tdset.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="dset1" OBJ-XID="xid_744-0" H5Path= "/dset1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tdset2-1s.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tdset2-1s.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tdset2-1s.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -12,9 +12,9 @@
       BLOCK ( 1, 4 );
       DATA {
       (0,0): 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 2, 3, 4, 5,
-      (0,4): 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 4, 5, 6, 7, 4, 5, 6, 7,
-      (0,8): 4, 5, 6, 7, 4, 5, 6, 7, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9,
-      (0,12): 6, 7, 8, 9
+      (0,6): 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 4, 5, 6, 7, 4, 5, 6, 7,
+      (0,12): 4, 5, 6, 7, 4, 5, 6, 7, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9,
+      (0,18): 6, 7, 8, 9
       }
    }
 }

Modified: packages/hdf5/trunk/tools/testfiles/tdset2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tdset2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tdset2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tdset2.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="dset1" OBJ-XID="xid_744-0" H5Path= "/dset1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tempty-dtd-2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty-dtd-2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty-dtd-2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml -u tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE HDF5-File PUBLIC "HDF5-File.dtd" "http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd">
+<!DOCTYPE HDF5-File PUBLIC "HDF5-File.dtd" "http://hdfgroup.org/DTDs/HDF5-File.dtd">
 <HDF5-File>
 <RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">

Modified: packages/hdf5/trunk/tools/testfiles/tempty-dtd.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty-dtd.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty-dtd.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml --use-dtd tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE HDF5-File PUBLIC "HDF5-File.dtd" "http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd">
+<!DOCTYPE HDF5-File PUBLIC "HDF5-File.dtd" "http://hdfgroup.org/DTDs/HDF5-File.dtd">
 <HDF5-File>
 <RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">

Modified: packages/hdf5/trunk/tools/testfiles/tempty-nons-2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty-nons-2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty-nons-2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml --xml-ns=: tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<HDF5-File xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<HDF5-File xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">
       <StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tempty-nons.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty-nons.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty-nons.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml -X : tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<HDF5-File xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<HDF5-File xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">
       <StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tempty-ns-2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty-ns-2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty-ns-2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml --xml-ns=thing: tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<thing:HDF5-File xmlns:thing="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<thing:HDF5-File xmlns:thing="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <thing:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <thing:Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">
       <thing:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tempty-ns.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty-ns.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty-ns.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml -X thing: tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<thing:HDF5-File xmlns:thing="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<thing:HDF5-File xmlns:thing="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <thing:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <thing:Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">
       <thing:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tempty.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tempty.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tempty.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tempty.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tenum.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tenum.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tenum.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tenum.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:NamedDataType Name="enum normal" OBJ-XID="xid_976-0" H5Path="/enum normal" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:DataType>

Deleted: packages/hdf5/trunk/tools/testfiles/test0.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/test1.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/test3.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/test4.h5
===================================================================
(Binary files differ)

Deleted: packages/hdf5/trunk/tools/testfiles/test5.h5
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/tgroup.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tgroup.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tgroup.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tgroup.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="g1" OBJ-XID="xid_1344-0" H5Path="/g1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Group Name="g1.1" OBJ-XID="xid_3616-0" H5Path="/g1/g1.1" Parents="xid_1344-0" H5ParentPaths="/g1" >

Modified: packages/hdf5/trunk/tools/testfiles/thlink-1.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/thlink-1.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/thlink-1.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -23,5 +23,8 @@
    GROUP "g2" {
       HARDLINK "/g1/g1.1"
    }
+   GROUP "g3" {
+      HARDLINK "/"
+   }
 }
 }

Modified: packages/hdf5/trunk/tools/testfiles/thlink-1.ls
===================================================================
--- packages/hdf5/trunk/tools/testfiles/thlink-1.ls	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/thlink-1.ls	2007-09-25 08:53:17 UTC (rev 1105)
@@ -4,3 +4,4 @@
 dset1                    Dataset {5}
 g1                       Group
 g2                       Group
+g3                       Group, same as /

Modified: packages/hdf5/trunk/tools/testfiles/thlink.h5
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/thlink.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/thlink.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/thlink.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml thlink.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="dset1" OBJ-XID="xid_744-0" H5Path= "/dset1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Copied: packages/hdf5/trunk/tools/testfiles/thyperslab.ddl (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/thyperslab.ddl)
===================================================================
--- packages/hdf5/trunk/tools/testfiles/thyperslab.ddl	                        (rev 0)
+++ packages/hdf5/trunk/tools/testfiles/thyperslab.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,6553 @@
+#############################
+Expected output for 'h5dump thyperslab.h5'
+#############################
+HDF5 "thyperslab.h5" {
+GROUP "/" {
+   DATASET "stripmine" {
+      DATATYPE  H5T_IEEE_F64LE
+      DATASPACE  SIMPLE { ( 32, 4097 ) / ( 32, 4097 ) }
+      DATA {
+      (0,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (0,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (1,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (2,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (3,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (4,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (5,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (6,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (7,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (8,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,126): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,147): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,189): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,210): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,231): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,252): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,294): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,315): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,336): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,357): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,378): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,399): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,420): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,441): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,462): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,483): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,504): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,546): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,567): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,609): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,630): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,651): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,672): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,714): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,735): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,756): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,777): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,798): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,819): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,840): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,861): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,882): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,903): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,924): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,966): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,987): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,1988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,2988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3088): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3108): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3128): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3148): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3168): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3188): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3208): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3228): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3248): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3268): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3288): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3308): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3328): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3348): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3368): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3388): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3408): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3428): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3448): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3468): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3488): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3508): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3528): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3548): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3568): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3588): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3608): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3628): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3648): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3668): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3688): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3708): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3728): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3748): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3768): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3788): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3808): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3828): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3848): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3868): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3888): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3908): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3928): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3948): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3968): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,3988): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,4008): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,4028): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,4048): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,4068): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (9,4088): 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (10,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (11,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (12,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (13,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (14,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (15,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (16,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (17,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (18,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (19,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (20,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (21,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (22,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (23,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (24,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (25,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (26,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (27,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (28,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (29,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,0): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,21): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,42): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,63): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,84): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,1985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,2985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3105): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3125): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3145): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3165): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3185): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3205): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3225): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3245): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3265): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3285): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3305): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3325): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3345): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3365): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3385): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3405): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3425): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3445): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3465): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3485): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3505): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3525): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3545): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3565): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3585): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3605): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3625): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3645): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3665): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3685): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3705): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3725): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3745): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3765): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3785): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3805): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3825): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3845): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3865): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3885): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3905): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3925): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3945): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3965): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,3985): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,4005): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,4025): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,4045): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,4065): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (30,4085): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,8): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,29): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,50): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,71): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,92): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,113): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,133): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,153): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,173): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,193): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,213): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,233): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,253): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,293): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,313): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,333): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,353): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,373): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,393): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,413): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,433): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,453): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,473): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,493): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,513): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,533): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,553): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,573): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,593): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,613): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,633): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,653): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,673): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,713): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,733): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,753): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,773): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,793): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,813): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,833): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,853): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,873): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,893): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,913): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,933): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,953): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,973): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,993): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1013): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1033): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1053): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1073): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1093): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1113): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1133): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1153): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1173): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1193): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1213): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1233): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1253): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1293): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1313): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1333): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1353): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1373): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1393): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1413): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1433): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1453): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1473): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1493): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1513): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1533): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1553): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1573): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1593): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1613): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1633): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1653): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1673): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1713): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1733): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1753): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1773): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1793): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1813): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1833): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1853): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1873): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1893): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1913): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1933): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1953): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1973): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,1993): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2013): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2033): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2053): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2073): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2093): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2113): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2133): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2153): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2173): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2193): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2213): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2233): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2253): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2293): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2313): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2333): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2353): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2373): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2393): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2413): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2433): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2453): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2473): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2493): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2513): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2533): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2553): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2573): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2593): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2613): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2633): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2653): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2673): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2713): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2733): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2753): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2773): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2793): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2813): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2833): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2853): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2873): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2893): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2913): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2933): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2953): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2973): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,2993): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3013): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3033): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3053): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3073): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3093): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3113): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3133): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3153): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3173): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3193): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3213): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3233): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3253): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3273): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3293): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3313): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3333): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3353): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3373): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3393): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3413): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3433): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3453): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3473): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3493): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3513): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3533): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3553): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3573): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3593): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3613): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3633): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3653): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3673): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3693): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3713): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3733): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3753): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3773): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3793): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3813): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3833): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3853): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3873): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3893): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3913): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3933): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3953): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3973): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,3993): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,4013): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,4033): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,4053): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,4073): 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+      (31,4093): 1, 1, 1, 1
+      }
+   }
+}
+}

Copied: packages/hdf5/trunk/tools/testfiles/thyperslab.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/thyperslab.h5)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/tindicesno.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tindicesno.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tindicesno.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -17,88 +17,90 @@
    }
    DATASET "2d" {
       DATATYPE  H5T_STD_I32LE
-      DATASPACE  SIMPLE { ( 2, 100 ) / ( 2, 100 ) }
+      DATASPACE  SIMPLE { ( 10, 10 ) / ( 10, 10 ) }
       DATA {
-         0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
-         20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
-         38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
-         56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-         74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
-         92, 93, 94, 95, 96, 97, 98, 99,
-         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
-         128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
-         142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-         156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
-         170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
-         184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
-         198, 199
+         0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+         10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+         20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+         30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+         40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+         50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+         60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+         70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+         80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+         90, 91, 92, 93, 94, 95, 96, 97, 98, 99
       }
    }
    DATASET "3d" {
       DATATYPE  H5T_STD_I32LE
-      DATASPACE  SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) }
+      DATASPACE  SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) }
       DATA {
-         0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
-         20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
-         38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
-         56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-         74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
-         92, 93, 94, 95, 96, 97, 98, 99,
-         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
-         128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
-         142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-         156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
-         170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
-         184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
-         198, 199,
-         200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
-         214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
-         228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
-         242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
-         256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
-         270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
-         284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
-         298, 299,
-         300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
-         314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-         328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
-         342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
-         356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
-         370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
-         384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-         398, 399
+         0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+         10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+         20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+         30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+         40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+         50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+         60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+         70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+         80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+         90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+         100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+         110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+         120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+         130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+         140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+         150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+         160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+         170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+         180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+         190, 191, 192, 193, 194, 195, 196, 197, 198, 199
       }
    }
    DATASET "4d" {
       DATATYPE  H5T_STD_I32LE
-      DATASPACE  SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) }
+      DATASPACE  SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) }
       DATA {
-         0, 1, 2, 3, 4,
-         5, 6, 7, 8, 9,
-         10, 11, 12, 13, 14,
-         15, 16, 17, 18, 19,
-         20, 21, 22, 23, 24,
-         25, 26, 27, 28, 29,
-         30, 31, 32, 33, 34,
-         35, 36, 37, 38, 39,
-         40, 41, 42, 43, 44,
-         45, 46, 47, 48, 49,
-         50, 51, 52, 53, 54,
-         55, 56, 57, 58, 59,
-         60, 61, 62, 63, 64,
-         65, 66, 67, 68, 69,
-         70, 71, 72, 73, 74,
-         75, 76, 77, 78, 79,
-         80, 81, 82, 83, 84,
-         85, 86, 87, 88, 89,
-         90, 91, 92, 93, 94,
-         95, 96, 97, 98, 99,
-         100, 101, 102, 103, 104,
-         105, 106, 107, 108, 109,
-         110, 111, 112, 113, 114,
-         115, 116, 117, 118, 119
+         0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+         10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+         20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+         30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+         40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+         50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+         60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+         70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+         80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+         90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+         100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+         110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+         120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+         130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+         140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+         150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+         160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+         170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+         180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+         190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+         200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+         210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+         220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+         230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+         240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+         250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+         260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+         270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+         280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+         290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+         300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+         310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+         320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+         330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+         340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
+         350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+         360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+         370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+         380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+         390, 391, 392, 393, 394, 395, 396, 397, 398, 399
       }
    }
    GROUP "g1" {
@@ -123,16 +125,34 @@
                      }
                      DATASET "2d" {
                         DATATYPE  H5T_STD_I32LE
-                        DATASPACE  SIMPLE { ( 2, 100 ) / ( 2, 100 ) }
+                        DATASPACE  SIMPLE { ( 10, 10 ) / ( 10, 10 ) }
                         DATA {
-                           0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-                           16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
-                           29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
-                           42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
-                           55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
-                           68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
-                           81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-                           94, 95, 96, 97, 98, 99,
+                           0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                           10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+                           20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+                           30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+                           40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+                           50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+                           60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+                           70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+                           80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+                           90, 91, 92, 93, 94, 95, 96, 97, 98, 99
+                        }
+                     }
+                     DATASET "3d" {
+                        DATATYPE  H5T_STD_I32LE
+                        DATASPACE  SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) }
+                        DATA {
+                           0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                           10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+                           20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+                           30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+                           40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+                           50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+                           60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+                           70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+                           80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+                           90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
                            100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
                            110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
                            120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
@@ -145,18 +165,20 @@
                            190, 191, 192, 193, 194, 195, 196, 197, 198, 199
                         }
                      }
-                     DATASET "3d" {
+                     DATASET "4d" {
                         DATATYPE  H5T_STD_I32LE
-                        DATASPACE  SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) }
+                        DATASPACE  SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) }
                         DATA {
-                           0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
-                           16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
-                           29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
-                           42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
-                           55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
-                           68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
-                           81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-                           94, 95, 96, 97, 98, 99,
+                           0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                           10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+                           20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+                           30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+                           40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+                           50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+                           60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+                           70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+                           80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+                           90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
                            100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
                            110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
                            120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
@@ -189,36 +211,6 @@
                            390, 391, 392, 393, 394, 395, 396, 397, 398, 399
                         }
                      }
-                     DATASET "4d" {
-                        DATATYPE  H5T_STD_I32LE
-                        DATASPACE  SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) }
-                        DATA {
-                           0, 1, 2, 3, 4,
-                           5, 6, 7, 8, 9,
-                           10, 11, 12, 13, 14,
-                           15, 16, 17, 18, 19,
-                           20, 21, 22, 23, 24,
-                           25, 26, 27, 28, 29,
-                           30, 31, 32, 33, 34,
-                           35, 36, 37, 38, 39,
-                           40, 41, 42, 43, 44,
-                           45, 46, 47, 48, 49,
-                           50, 51, 52, 53, 54,
-                           55, 56, 57, 58, 59,
-                           60, 61, 62, 63, 64,
-                           65, 66, 67, 68, 69,
-                           70, 71, 72, 73, 74,
-                           75, 76, 77, 78, 79,
-                           80, 81, 82, 83, 84,
-                           85, 86, 87, 88, 89,
-                           90, 91, 92, 93, 94,
-                           95, 96, 97, 98, 99,
-                           100, 101, 102, 103, 104,
-                           105, 106, 107, 108, 109,
-                           110, 111, 112, 113, 114,
-                           115, 116, 117, 118, 119
-                        }
-                     }
                   }
                }
             }

Modified: packages/hdf5/trunk/tools/testfiles/tindicesyes.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tindicesyes.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tindicesyes.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -18,94 +18,90 @@
    }
    DATASET "2d" {
       DATATYPE  H5T_STD_I32LE
-      DATASPACE  SIMPLE { ( 2, 100 ) / ( 2, 100 ) }
+      DATASPACE  SIMPLE { ( 10, 10 ) / ( 10, 10 ) }
       DATA {
-      (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
-      (0,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
-      (0,34): 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
-      (0,50): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
-      (0,66): 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
-      (0,82): 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
-      (0,98): 98, 99,
-      (1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
-      (1,13): 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
-      (1,25): 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
-      (1,37): 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
-      (1,49): 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
-      (1,61): 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
-      (1,73): 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
-      (1,85): 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
-      (1,97): 197, 198, 199
+      (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+      (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+      (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+      (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+      (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+      (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+      (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+      (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+      (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+      (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
       }
    }
    DATASET "3d" {
       DATATYPE  H5T_STD_I32LE
-      DATASPACE  SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) }
+      DATASPACE  SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) }
       DATA {
-      (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
-      (0,0,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
-      (0,0,33): 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
-      (0,0,48): 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
-      (0,0,63): 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
-      (0,0,78): 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
-      (0,0,93): 93, 94, 95, 96, 97, 98, 99,
-      (0,1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-      (0,1,12): 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
-      (0,1,24): 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
-      (0,1,36): 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
-      (0,1,48): 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
-      (0,1,60): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
-      (0,1,72): 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
-      (0,1,84): 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
-      (0,1,96): 196, 197, 198, 199,
-      (1,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
-      (1,0,12): 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
-      (1,0,24): 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
-      (1,0,36): 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-      (1,0,48): 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
-      (1,0,60): 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
-      (1,0,72): 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
-      (1,0,84): 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
-      (1,0,96): 296, 297, 298, 299,
-      (1,1,0): 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
-      (1,1,12): 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
-      (1,1,24): 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
-      (1,1,36): 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-      (1,1,48): 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-      (1,1,60): 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
-      (1,1,72): 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
-      (1,1,84): 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
-      (1,1,96): 396, 397, 398, 399
+      (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+      (0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+      (0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+      (0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+      (0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+      (0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+      (0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+      (0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+      (0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+      (0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+      (1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+      (1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+      (1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+      (1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+      (1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+      (1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+      (1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+      (1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+      (1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+      (1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199
       }
    }
    DATASET "4d" {
       DATATYPE  H5T_STD_I32LE
-      DATASPACE  SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) }
+      DATASPACE  SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) }
       DATA {
-      (0,0,0,0): 0, 1, 2, 3, 4,
-      (0,0,1,0): 5, 6, 7, 8, 9,
-      (0,0,2,0): 10, 11, 12, 13, 14,
-      (0,0,3,0): 15, 16, 17, 18, 19,
-      (0,1,0,0): 20, 21, 22, 23, 24,
-      (0,1,1,0): 25, 26, 27, 28, 29,
-      (0,1,2,0): 30, 31, 32, 33, 34,
-      (0,1,3,0): 35, 36, 37, 38, 39,
-      (0,2,0,0): 40, 41, 42, 43, 44,
-      (0,2,1,0): 45, 46, 47, 48, 49,
-      (0,2,2,0): 50, 51, 52, 53, 54,
-      (0,2,3,0): 55, 56, 57, 58, 59,
-      (1,0,0,0): 60, 61, 62, 63, 64,
-      (1,0,1,0): 65, 66, 67, 68, 69,
-      (1,0,2,0): 70, 71, 72, 73, 74,
-      (1,0,3,0): 75, 76, 77, 78, 79,
-      (1,1,0,0): 80, 81, 82, 83, 84,
-      (1,1,1,0): 85, 86, 87, 88, 89,
-      (1,1,2,0): 90, 91, 92, 93, 94,
-      (1,1,3,0): 95, 96, 97, 98, 99,
-      (1,2,0,0): 100, 101, 102, 103, 104,
-      (1,2,1,0): 105, 106, 107, 108, 109,
-      (1,2,2,0): 110, 111, 112, 113, 114,
-      (1,2,3,0): 115, 116, 117, 118, 119
+      (0,0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+      (0,0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+      (0,0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+      (0,0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+      (0,0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+      (0,0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+      (0,0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+      (0,0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+      (0,0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+      (0,0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+      (0,1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+      (0,1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+      (0,1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+      (0,1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+      (0,1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+      (0,1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+      (0,1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+      (0,1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+      (0,1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+      (0,1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+      (1,0,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+      (1,0,1,0): 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+      (1,0,2,0): 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+      (1,0,3,0): 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+      (1,0,4,0): 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+      (1,0,5,0): 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+      (1,0,6,0): 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+      (1,0,7,0): 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+      (1,0,8,0): 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+      (1,0,9,0): 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+      (1,1,0,0): 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+      (1,1,1,0): 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+      (1,1,2,0): 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
+      (1,1,3,0): 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+      (1,1,4,0): 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
+      (1,1,5,0): 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+      (1,1,6,0): 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+      (1,1,7,0): 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
+      (1,1,8,0): 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+      (1,1,9,0): 390, 391, 392, 393, 394, 395, 396, 397, 398, 399
       }
    }
    GROUP "g1" {
@@ -131,113 +127,130 @@
                      }
                      DATASET "2d" {
                         DATATYPE  H5T_STD_I32LE
-                        DATASPACE  SIMPLE { ( 2, 100 ) / ( 2, 100 ) }
+                        DATASPACE  SIMPLE { ( 10, 10 ) / ( 10, 10 ) }
                         DATA {
-                        (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
-                        (0,14): 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
-                        (0,25): 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
-                        (0,36): 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
-                        (0,47): 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
-                        (0,58): 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
-                        (0,69): 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
-                        (0,80): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
-                        (0,91): 91, 92, 93, 94, 95, 96, 97, 98, 99,
-                        (1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108,
-                        (1,9): 109, 110, 111, 112, 113, 114, 115, 116, 117,
-                        (1,18): 118, 119, 120, 121, 122, 123, 124, 125, 126,
-                        (1,27): 127, 128, 129, 130, 131, 132, 133, 134, 135,
-                        (1,36): 136, 137, 138, 139, 140, 141, 142, 143, 144,
-                        (1,45): 145, 146, 147, 148, 149, 150, 151, 152, 153,
-                        (1,54): 154, 155, 156, 157, 158, 159, 160, 161, 162,
-                        (1,63): 163, 164, 165, 166, 167, 168, 169, 170, 171,
-                        (1,72): 172, 173, 174, 175, 176, 177, 178, 179, 180,
-                        (1,81): 181, 182, 183, 184, 185, 186, 187, 188, 189,
-                        (1,90): 190, 191, 192, 193, 194, 195, 196, 197, 198,
-                        (1,99): 199
+                        (0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                        (1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+                        (2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+                        (3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+                        (4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+                        (5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+                        (6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+                        (7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+                        (8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+                        (9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
                         }
                      }
                      DATASET "3d" {
                         DATATYPE  H5T_STD_I32LE
-                        DATASPACE  SIMPLE { ( 2, 2, 100 ) / ( 2, 2, 100 ) }
+                        DATASPACE  SIMPLE { ( 2, 10, 10 ) / ( 2, 10, 10 ) }
                         DATA {
-                        (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-                        (0,0,13): 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
-                        (0,0,24): 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
-                        (0,0,35): 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
-                        (0,0,46): 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
-                        (0,0,57): 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
-                        (0,0,68): 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
-                        (0,0,79): 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
-                        (0,0,90): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
-                        (0,1,0): 100, 101, 102, 103, 104, 105, 106, 107, 108,
-                        (0,1,9): 109, 110, 111, 112, 113, 114, 115, 116, 117,
-                        (0,1,18): 118, 119, 120, 121, 122, 123, 124, 125,
-                        (0,1,26): 126, 127, 128, 129, 130, 131, 132, 133,
-                        (0,1,34): 134, 135, 136, 137, 138, 139, 140, 141,
-                        (0,1,42): 142, 143, 144, 145, 146, 147, 148, 149,
-                        (0,1,50): 150, 151, 152, 153, 154, 155, 156, 157,
-                        (0,1,58): 158, 159, 160, 161, 162, 163, 164, 165,
-                        (0,1,66): 166, 167, 168, 169, 170, 171, 172, 173,
-                        (0,1,74): 174, 175, 176, 177, 178, 179, 180, 181,
-                        (0,1,82): 182, 183, 184, 185, 186, 187, 188, 189,
-                        (0,1,90): 190, 191, 192, 193, 194, 195, 196, 197,
-                        (0,1,98): 198, 199,
-                        (1,0,0): 200, 201, 202, 203, 204, 205, 206, 207, 208,
-                        (1,0,9): 209, 210, 211, 212, 213, 214, 215, 216, 217,
-                        (1,0,18): 218, 219, 220, 221, 222, 223, 224, 225,
-                        (1,0,26): 226, 227, 228, 229, 230, 231, 232, 233,
-                        (1,0,34): 234, 235, 236, 237, 238, 239, 240, 241,
-                        (1,0,42): 242, 243, 244, 245, 246, 247, 248, 249,
-                        (1,0,50): 250, 251, 252, 253, 254, 255, 256, 257,
-                        (1,0,58): 258, 259, 260, 261, 262, 263, 264, 265,
-                        (1,0,66): 266, 267, 268, 269, 270, 271, 272, 273,
-                        (1,0,74): 274, 275, 276, 277, 278, 279, 280, 281,
-                        (1,0,82): 282, 283, 284, 285, 286, 287, 288, 289,
-                        (1,0,90): 290, 291, 292, 293, 294, 295, 296, 297,
-                        (1,0,98): 298, 299,
-                        (1,1,0): 300, 301, 302, 303, 304, 305, 306, 307, 308,
-                        (1,1,9): 309, 310, 311, 312, 313, 314, 315, 316, 317,
-                        (1,1,18): 318, 319, 320, 321, 322, 323, 324, 325,
-                        (1,1,26): 326, 327, 328, 329, 330, 331, 332, 333,
-                        (1,1,34): 334, 335, 336, 337, 338, 339, 340, 341,
-                        (1,1,42): 342, 343, 344, 345, 346, 347, 348, 349,
-                        (1,1,50): 350, 351, 352, 353, 354, 355, 356, 357,
-                        (1,1,58): 358, 359, 360, 361, 362, 363, 364, 365,
-                        (1,1,66): 366, 367, 368, 369, 370, 371, 372, 373,
-                        (1,1,74): 374, 375, 376, 377, 378, 379, 380, 381,
-                        (1,1,82): 382, 383, 384, 385, 386, 387, 388, 389,
-                        (1,1,90): 390, 391, 392, 393, 394, 395, 396, 397,
-                        (1,1,98): 398, 399
+                        (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                        (0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+                        (0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+                        (0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+                        (0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+                        (0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+                        (0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+                        (0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+                        (0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+                        (0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+                        (1,0,0): 100, 101, 102, 103, 104, 105, 106, 107, 108,
+                        (1,0,9): 109,
+                        (1,1,0): 110, 111, 112, 113, 114, 115, 116, 117, 118,
+                        (1,1,9): 119,
+                        (1,2,0): 120, 121, 122, 123, 124, 125, 126, 127, 128,
+                        (1,2,9): 129,
+                        (1,3,0): 130, 131, 132, 133, 134, 135, 136, 137, 138,
+                        (1,3,9): 139,
+                        (1,4,0): 140, 141, 142, 143, 144, 145, 146, 147, 148,
+                        (1,4,9): 149,
+                        (1,5,0): 150, 151, 152, 153, 154, 155, 156, 157, 158,
+                        (1,5,9): 159,
+                        (1,6,0): 160, 161, 162, 163, 164, 165, 166, 167, 168,
+                        (1,6,9): 169,
+                        (1,7,0): 170, 171, 172, 173, 174, 175, 176, 177, 178,
+                        (1,7,9): 179,
+                        (1,8,0): 180, 181, 182, 183, 184, 185, 186, 187, 188,
+                        (1,8,9): 189,
+                        (1,9,0): 190, 191, 192, 193, 194, 195, 196, 197, 198,
+                        (1,9,9): 199
                         }
                      }
                      DATASET "4d" {
                         DATATYPE  H5T_STD_I32LE
-                        DATASPACE  SIMPLE { ( 2, 3, 4, 5 ) / ( 2, 3, 4, 5 ) }
+                        DATASPACE  SIMPLE { ( 2, 2, 10, 10 ) / ( 2, 2, 10, 10 ) }
                         DATA {
-                        (0,0,0,0): 0, 1, 2, 3, 4,
-                        (0,0,1,0): 5, 6, 7, 8, 9,
-                        (0,0,2,0): 10, 11, 12, 13, 14,
-                        (0,0,3,0): 15, 16, 17, 18, 19,
-                        (0,1,0,0): 20, 21, 22, 23, 24,
-                        (0,1,1,0): 25, 26, 27, 28, 29,
-                        (0,1,2,0): 30, 31, 32, 33, 34,
-                        (0,1,3,0): 35, 36, 37, 38, 39,
-                        (0,2,0,0): 40, 41, 42, 43, 44,
-                        (0,2,1,0): 45, 46, 47, 48, 49,
-                        (0,2,2,0): 50, 51, 52, 53, 54,
-                        (0,2,3,0): 55, 56, 57, 58, 59,
-                        (1,0,0,0): 60, 61, 62, 63, 64,
-                        (1,0,1,0): 65, 66, 67, 68, 69,
-                        (1,0,2,0): 70, 71, 72, 73, 74,
-                        (1,0,3,0): 75, 76, 77, 78, 79,
-                        (1,1,0,0): 80, 81, 82, 83, 84,
-                        (1,1,1,0): 85, 86, 87, 88, 89,
-                        (1,1,2,0): 90, 91, 92, 93, 94,
-                        (1,1,3,0): 95, 96, 97, 98, 99,
-                        (1,2,0,0): 100, 101, 102, 103, 104,
-                        (1,2,1,0): 105, 106, 107, 108, 109,
-                        (1,2,2,0): 110, 111, 112, 113, 114,
-                        (1,2,3,0): 115, 116, 117, 118, 119
+                        (0,0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+                        (0,0,1,0): 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+                        (0,0,2,0): 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+                        (0,0,3,0): 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+                        (0,0,4,0): 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+                        (0,0,5,0): 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+                        (0,0,6,0): 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+                        (0,0,7,0): 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+                        (0,0,8,0): 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+                        (0,0,9,0): 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+                        (0,1,0,0): 100, 101, 102, 103, 104, 105, 106, 107,
+                        (0,1,0,8): 108, 109,
+                        (0,1,1,0): 110, 111, 112, 113, 114, 115, 116, 117,
+                        (0,1,1,8): 118, 119,
+                        (0,1,2,0): 120, 121, 122, 123, 124, 125, 126, 127,
+                        (0,1,2,8): 128, 129,
+                        (0,1,3,0): 130, 131, 132, 133, 134, 135, 136, 137,
+                        (0,1,3,8): 138, 139,
+                        (0,1,4,0): 140, 141, 142, 143, 144, 145, 146, 147,
+                        (0,1,4,8): 148, 149,
+                        (0,1,5,0): 150, 151, 152, 153, 154, 155, 156, 157,
+                        (0,1,5,8): 158, 159,
+                        (0,1,6,0): 160, 161, 162, 163, 164, 165, 166, 167,
+                        (0,1,6,8): 168, 169,
+                        (0,1,7,0): 170, 171, 172, 173, 174, 175, 176, 177,
+                        (0,1,7,8): 178, 179,
+                        (0,1,8,0): 180, 181, 182, 183, 184, 185, 186, 187,
+                        (0,1,8,8): 188, 189,
+                        (0,1,9,0): 190, 191, 192, 193, 194, 195, 196, 197,
+                        (0,1,9,8): 198, 199,
+                        (1,0,0,0): 200, 201, 202, 203, 204, 205, 206, 207,
+                        (1,0,0,8): 208, 209,
+                        (1,0,1,0): 210, 211, 212, 213, 214, 215, 216, 217,
+                        (1,0,1,8): 218, 219,
+                        (1,0,2,0): 220, 221, 222, 223, 224, 225, 226, 227,
+                        (1,0,2,8): 228, 229,
+                        (1,0,3,0): 230, 231, 232, 233, 234, 235, 236, 237,
+                        (1,0,3,8): 238, 239,
+                        (1,0,4,0): 240, 241, 242, 243, 244, 245, 246, 247,
+                        (1,0,4,8): 248, 249,
+                        (1,0,5,0): 250, 251, 252, 253, 254, 255, 256, 257,
+                        (1,0,5,8): 258, 259,
+                        (1,0,6,0): 260, 261, 262, 263, 264, 265, 266, 267,
+                        (1,0,6,8): 268, 269,
+                        (1,0,7,0): 270, 271, 272, 273, 274, 275, 276, 277,
+                        (1,0,7,8): 278, 279,
+                        (1,0,8,0): 280, 281, 282, 283, 284, 285, 286, 287,
+                        (1,0,8,8): 288, 289,
+                        (1,0,9,0): 290, 291, 292, 293, 294, 295, 296, 297,
+                        (1,0,9,8): 298, 299,
+                        (1,1,0,0): 300, 301, 302, 303, 304, 305, 306, 307,
+                        (1,1,0,8): 308, 309,
+                        (1,1,1,0): 310, 311, 312, 313, 314, 315, 316, 317,
+                        (1,1,1,8): 318, 319,
+                        (1,1,2,0): 320, 321, 322, 323, 324, 325, 326, 327,
+                        (1,1,2,8): 328, 329,
+                        (1,1,3,0): 330, 331, 332, 333, 334, 335, 336, 337,
+                        (1,1,3,8): 338, 339,
+                        (1,1,4,0): 340, 341, 342, 343, 344, 345, 346, 347,
+                        (1,1,4,8): 348, 349,
+                        (1,1,5,0): 350, 351, 352, 353, 354, 355, 356, 357,
+                        (1,1,5,8): 358, 359,
+                        (1,1,6,0): 360, 361, 362, 363, 364, 365, 366, 367,
+                        (1,1,6,8): 368, 369,
+                        (1,1,7,0): 370, 371, 372, 373, 374, 375, 376, 377,
+                        (1,1,7,8): 378, 379,
+                        (1,1,8,0): 380, 381, 382, 383, 384, 385, 386, 387,
+                        (1,1,8,8): 388, 389,
+                        (1,1,9,0): 390, 391, 392, 393, 394, 395, 396, 397,
+                        (1,1,9,8): 398, 399
                         }
                      }
                   }

Copied: packages/hdf5/trunk/tools/testfiles/tldouble.h5 (from rev 1094, packages/hdf5/branches/upstream/current/tools/testfiles/tldouble.h5)
===================================================================
(Binary files differ)

Modified: packages/hdf5/trunk/tools/testfiles/tloop.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tloop.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tloop.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tloop.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="g1" OBJ-XID="xid_1344-0" H5Path="/g1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Group Name="g1.1" OBJ-XID="xid_2320-0" H5Path="/g1/g1.1" Parents="xid_1344-0" H5ParentPaths="/g1" >

Modified: packages/hdf5/trunk/tools/testfiles/tloop2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tloop2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tloop2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,11 +2,11 @@
 Expected output for 'h5dump --xml tloop2.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="g1" OBJ-XID="xid_1344-0" H5Path="/g1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Group Name="g1.1" OBJ-XID="xid_2320-0" H5Path="/g1/g1.1" Parents="xid_1344-0" H5ParentPaths="/g1" >
-         <hdf5:SoftLink LinkName="g2.1" OBJ-XID="xid_4294967294-4294967293" H5SourcePath="/g1/g1.1/g2.1" TargetPath="/g1" TargetObj="xid_1344-0" Parents="xid_2320-0" H5ParentPaths="/g1/g1.1" />
+         <hdf5:SoftLink LinkName="g2.1" OBJ-XID="xid_1344-0" H5SourcePath="/g1/g1.1/g2.1" TargetPath="/g1" TargetObj="xid_1344-0" Parents="xid_2320-0" H5ParentPaths="/g1/g1.1" />
       </hdf5:Group>
    </hdf5:Group>
    <hdf5:Group Name="g2" OBJ-XID="xid_2320-0-1" H5Path="/g1/g1.1" Parents="xid_696-0" H5ParentPaths="/">

Modified: packages/hdf5/trunk/tools/testfiles/tmany.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tmany.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tmany.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tmany.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="g1" OBJ-XID="xid_1344-0" H5Path="/g1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Group Name="g1.1" OBJ-XID="xid_2320-0" H5Path="/g1/g1.1" Parents="xid_1344-0" H5ParentPaths="/g1" >
@@ -272,7 +272,7 @@
       </hdf5:Group>
    </hdf5:Group>
    <hdf5:Group Name="g2" OBJ-XID="xid_6808-0" H5Path="/g2" Parents="xid_696-0" H5ParentPaths="/" >
-      <hdf5:SoftLink LinkName="slink2" OBJ-XID="xid_4294967294-4294967293" H5SourcePath="/g2/slink2" TargetPath="/g1" TargetObj="xid_1344-0" Parents="xid_6808-0" H5ParentPaths="/g2" />
+      <hdf5:SoftLink LinkName="slink2" OBJ-XID="xid_1344-0" H5SourcePath="/g2/slink2" TargetPath="/g1" TargetObj="xid_1344-0" Parents="xid_6808-0" H5ParentPaths="/g2" />
    </hdf5:Group>
    <hdf5:Group Name="g3" OBJ-XID="xid_7784-0" H5Path="/g3" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Dataset Name="link3" OBJ-XID="xid_8480-0" H5Path= "/g3/link3" Parents="xid_7784-0" H5ParentPaths="/g3">
@@ -317,7 +317,7 @@
       </hdf5:Dataset>
    </hdf5:Group>
    <hdf5:Group Name="g5" OBJ-XID="xid_10248-0" H5Path="/g5" Parents="xid_696-0" H5ParentPaths="/" >
-      <hdf5:SoftLink LinkName="slink4" OBJ-XID="xid_4294967292-4294967291" H5SourcePath="/g5/slink4" TargetPath="/g6/dset3" TargetObj="xid_10944-0" Parents="xid_10248-0" H5ParentPaths="/g5" />
+      <hdf5:SoftLink LinkName="slink4" OBJ-XID="xid_10944-0" H5SourcePath="/g5/slink4" TargetPath="/g6/dset3" TargetObj="xid_10944-0" Parents="xid_10248-0" H5ParentPaths="/g5" />
    </hdf5:Group>
    <hdf5:Group Name="g6" OBJ-XID="xid_10896-0" H5Path="/g6" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Dataset Name="dset3" OBJ-XID="xid_10944-0" H5Path= "/g6/dset3" Parents="xid_10896-0" H5ParentPaths="/g6">

Modified: packages/hdf5/trunk/tools/testfiles/tname-amp.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tname-amp.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tname-amp.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tname-amp.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1&amp;withamp">
       <hdf5:Dataspace>

Modified: packages/hdf5/trunk/tools/testfiles/tname-apos.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tname-apos.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tname-apos.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tname-apos.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1&apos;withapos">
       <hdf5:Dataspace>

Modified: packages/hdf5/trunk/tools/testfiles/tname-gt.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tname-gt.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tname-gt.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tname-gt.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1&gt;withgt">
       <hdf5:Dataspace>

Modified: packages/hdf5/trunk/tools/testfiles/tname-lt.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tname-lt.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tname-lt.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tname-lt.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1&lt;withlt">
       <hdf5:Dataspace>

Modified: packages/hdf5/trunk/tools/testfiles/tname-quot.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tname-quot.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tname-quot.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tname-quot.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1&quot;withquot">
       <hdf5:Dataspace>

Modified: packages/hdf5/trunk/tools/testfiles/tname-sp.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tname-sp.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tname-sp.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tname-sp.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Attribute Name="attr1 withspace">
       <hdf5:Dataspace>

Modified: packages/hdf5/trunk/tools/testfiles/tnamed_dtype_attr.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tnamed_dtype_attr.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tnamed_dtype_attr.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tnamed_dtype_attr.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:NamedDataType Name="Datatype" OBJ-XID="xid_976-0" H5Path="/Datatype" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:DataType>

Modified: packages/hdf5/trunk/tools/testfiles/tnestedcomp.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tnestedcomp.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tnestedcomp.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tnestedcomp.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="ArrayOfStructures" OBJ-XID="xid_744-0" H5Path= "/ArrayOfStructures" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tnodata.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tnodata.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tnodata.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tnodata.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="dset1" OBJ-XID="xid_744-0" H5Path= "/dset1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tnofilename.ddl
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tnofilename.ddl	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tnofilename.ddl	2007-09-25 08:53:17 UTC (rev 1105)
@@ -7,19 +7,24 @@
      -n, --contents       Print a list of the file contents and exit
      -B, --bootblock      Print the content of the boot block
      -H, --header         Print the header only; no data is displayed
-     -A                   Print the header and value of attributes; data of datasets is not displayed
+     -A, --onlyattr       Print the header and value of attributes; data 
+                          of datasets is not displayed
      -i, --object-ids     Print the object ids
      -r, --string         Print 1-byte integer datasets as ASCII
-     -e,                  Escape non printing characters
+     -e, --escape         Escape non printing characters
      -V, --version        Print version number and exit
      -a P, --attribute=P  Print the specified attribute
      -d P, --dataset=P    Print the specified dataset
-     -y                   Do not print array indices with the data
+     -y, --noindex        Do not print array indices with the data
      -p,   --properties   Print dataset filters, storage layout and fill value
      -f D, --filedriver=D Specify which driver to open the file with
      -g P, --group=P      Print the specified group and all members
      -l P, --soft-link=P  Print the value(s) of the specified soft link
      -o F, --output=F     Output raw data into file F
+     -b B, --binary=B     Binary file output, of form B. Recommended usage is
+                          with -o (output file) and -d (dataset). B can be:
+                          MEMORY for a memory type, FILE for the file type,
+                          LE or BE for pre-existing little or big endian types
      -t P, --datatype=P   Print the specified named data type
      -w N, --width=N      Set the number of columns of output
      -x, --xml            Output in XML using Schema
@@ -64,4 +69,7 @@
 
       h5dump -d /foo -s "0,1" -S "1,1" -c "2,3" -k "2,2" quux.h5
 
-h5dump error: missing file name
+  3) Saving dataset 'dset' in file quux.h5 to binary file 'out.bin' using a little-endian type 
+
+      h5dump -d /dset -b LE -o out.bin quux.h5
+

Modified: packages/hdf5/trunk/tools/testfiles/tobjref.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tobjref.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tobjref.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tobjref.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="Dataset3" OBJ-XID="xid_2348-0" H5Path= "/Dataset3" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/topaque.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/topaque.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/topaque.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml topaque.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="opaque test" OBJ-XID="xid_744-0" H5Path= "/opaque test" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tref-escapes-at.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tref-escapes-at.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tref-escapes-at.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tref-escapes-at.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="Group1" OBJ-XID="xid_1344-0" H5Path="/Group1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Dataset Name="Dataset space" OBJ-XID="xid_3716-0" H5Path= "/Group1/Dataset space" Parents="xid_1344-0" H5ParentPaths="/Group1">

Modified: packages/hdf5/trunk/tools/testfiles/tref-escapes.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tref-escapes.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tref-escapes.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tref-escapes.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="Group1" OBJ-XID="xid_1344-0" H5Path="/Group1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Dataset Name="Dataset space" OBJ-XID="xid_1720-0" H5Path= "/Group1/Dataset space" Parents="xid_1344-0" H5ParentPaths="/Group1">

Modified: packages/hdf5/trunk/tools/testfiles/tref.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tref.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tref.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tref.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="ZZZDataset3" OBJ-XID="xid_2612-0" H5Path= "/ZZZDataset3" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tsaf.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tsaf.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tsaf.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tsaf.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name=".DSL_METADATA" OBJ-XID="xid_744-0" H5Path= "/.DSL_METADATA" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tslink.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tslink.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tslink.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,9 +2,9 @@
 Expected output for 'h5dump --xml tslink.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
-   <hdf5:SoftLink LinkName="slink1" OBJ-XID="xid_4294967294-4294967293" H5SourcePath="/slink1" TargetPath="somevalue"  Parents="xid_696-0" H5ParentPaths="/" />
-   <hdf5:SoftLink LinkName="slink2" OBJ-XID="xid_4294967292-4294967291" H5SourcePath="/slink2" TargetPath="linkvalue"  Parents="xid_696-0" H5ParentPaths="/" />
+   <hdf5:SoftLink LinkName="slink1" OBJ-XID="xid_4294967294-4294967295" H5SourcePath="/slink1" TargetPath="somevalue"  Parents="xid_696-0" H5ParentPaths="/" />
+   <hdf5:SoftLink LinkName="slink2" OBJ-XID="xid_4294967293-4294967295" H5SourcePath="/slink2" TargetPath="linkvalue"  Parents="xid_696-0" H5ParentPaths="/" />
 </hdf5:RootGroup>
 </hdf5:HDF5-File>

Modified: packages/hdf5/trunk/tools/testfiles/tstr.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tstr.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tstr.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tstr.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="comp1" OBJ-XID="xid_2520-0" H5Path= "/comp1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tstr2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tstr2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tstr2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tstr2.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Group Name="g1" OBJ-XID="xid_1344-0" H5Path="/g1" Parents="xid_696-0" H5ParentPaths="/" >
       <hdf5:Dataset Name="dset1" OBJ-XID="xid_1720-0" H5Path= "/g1/dset1" Parents="xid_1344-0" H5ParentPaths="/g1">

Modified: packages/hdf5/trunk/tools/testfiles/tstring-at.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tstring-at.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tstring-at.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tstring-at.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_696-0" H5Path="/">
    <hdf5:Dataset Name="dset1" OBJ-XID="xid_744-0" H5Path= "/dset1" Parents="xid_696-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tstring.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tstring.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tstring.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tstring.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="dset1" OBJ-XID="xid_976-0" H5Path= "/dset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tvldtypes1.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tvldtypes1.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tvldtypes1.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tvldtypes1.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1.0" OBJ-XID="xid_976-0" H5Path= "/Dataset1.0" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tvldtypes2.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tvldtypes2.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tvldtypes2.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tvldtypes2.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tvldtypes3.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tvldtypes3.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tvldtypes3.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tvldtypes3.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tvldtypes4.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tvldtypes4.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tvldtypes4.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tvldtypes4.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset1" OBJ-XID="xid_976-0" H5Path= "/Dataset1" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tvldtypes5.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tvldtypes5.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tvldtypes5.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tvldtypes5.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Dataset Name="Dataset" OBJ-XID="xid_976-0" H5Path= "/Dataset" Parents="xid_928-0" H5ParentPaths="/">
       <hdf5:StorageLayout>

Modified: packages/hdf5/trunk/tools/testfiles/tvlstr.h5.xml
===================================================================
--- packages/hdf5/trunk/tools/testfiles/tvlstr.h5.xml	2007-09-24 20:30:00 UTC (rev 1104)
+++ packages/hdf5/trunk/tools/testfiles/tvlstr.h5.xml	2007-09-25 08:53:17 UTC (rev 1105)
@@ -2,7 +2,7 @@
 Expected output for 'h5dump --xml tvlstr.h5'
 #############################
 <?xml version="1.0" encoding="UTF-8"?>
-<hdf5:HDF5-File xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdf.ncsa.uiuc.edu/DTDs/HDF5File http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.xsd">
+<hdf5:HDF5-File xmlns:hdf5="http://hdfgroup.org/DTDs/HDF5-File" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hdfgroup.org/DTDs/HDF5File http://hdfgroup.org/DTDs/HDF5-File.xsd">
 <hdf5:RootGroup OBJ-XID="xid_928-0" H5Path="/">
    <hdf5:Attribute Name="test_scalar">
       <hdf5:Dataspace>

Copied: packages/hdf5/trunk/windows/COPYING (from rev 1094, packages/hdf5/branches/upstream/current/windows/COPYING)
===================================================================
--- packages/hdf5/trunk/windows/COPYING	                        (rev 0)
+++ packages/hdf5/trunk/windows/COPYING	2007-09-25 08:53:17 UTC (rev 1105)
@@ -0,0 +1,16 @@
+
+  Copyright by  The HDF Group (THG) and 
+                The Board of Trustees of the University of Illinois. 
+  All rights reserved. 
+
+  The files and subdirectories in this directory are part of HDF5.  
+  The full HDF5 copyright notice, including terms governing use, 
+  modification, and redistribution, is contained in the files COPYING 
+  and Copyright.html.  COPYING can be found at the root of the source 
+  code distribution tree; Copyright.html can be found at the root 
+  level of an installed copy of the electronic HDF5 document set and 
+  is linked from the top-level documents page.  It can also be found 
+  at http://www.hdfgroup.org/HDF5/doc/Copyright.html.  If you do not 
+  have access to either file, you may request a copy from 
+  help at hdfgroup.org. 
+

Modified: packages/hdf5/trunk/windows/all.zip
===================================================================
(Binary files differ)




More information about the Pkg-grass-devel mailing list